From 0bb949fed4e10c5f8b775b738f707eee5f052686 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Wed, 23 Apr 2025 22:32:36 +0200 Subject: [PATCH 1/2] devlog: mini git status --- content/devlog/2025.smd | 7 +++++++ content/devlog/2025/2025-04-23.png | Bin 0 -> 9956 bytes 2 files changed, 7 insertions(+) create mode 100644 content/devlog/2025/2025-04-23.png diff --git a/content/devlog/2025.smd b/content/devlog/2025.smd index 5f301dc..9a23ff3 100644 --- a/content/devlog/2025.smd +++ b/content/devlog/2025.smd @@ -16,6 +16,13 @@ You can [subscribe to this page via RSS]($link.page('devlog').alternative('rss') devlog entries in the [archive](/devlog/). +## [mini git status]($section.id("2025-04-23T22:31:00")) + +The branch widget now displays a mini git status along with the branch name. + +[]($image.asset('2025-04-23.png')) + + ## [Ignore files ignored by git]($section.id("2025-04-22T21:36:00")) Flow now loads the project file list from git if the project is contained in a git repository. This diff --git a/content/devlog/2025/2025-04-23.png b/content/devlog/2025/2025-04-23.png new file mode 100644 index 0000000000000000000000000000000000000000..5f65f1c6f7e46740ab457f037ddebf961d776e4f GIT binary patch literal 9956 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 fA Date: Thu, 24 Apr 2025 21:39:10 +0200 Subject: [PATCH 2/2] devlog: tree-sitter error checking --- content/devlog/2025.smd | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/content/devlog/2025.smd b/content/devlog/2025.smd index 9a23ff3..04d0380 100644 --- a/content/devlog/2025.smd +++ b/content/devlog/2025.smd @@ -16,6 +16,15 @@ You can [subscribe to this page via RSS]($link.page('devlog').alternative('rss') devlog entries in the [archive](/devlog/). +## [tree-sitter parse error detection]($section.id("2025-04-24T21:39:00")) + +Today I added error queries and they are used to check for tree-sitter parsing errors. If +tree-sitter reports a syntax error it may be because of an error in the file, or just because +the tree-sitter partial reparse has become confused due to over complicated edits. Either way we +now trigger a full reparse to be safe and make sure that the syntax tree doesn't get stuck in a +bad state. + + ## [mini git status]($section.id("2025-04-23T22:31:00")) The branch widget now displays a mini git status along with the branch name.