Skip to content

Use tree-sitter for CST, add more features - #3

Open
divarvel wants to merge 13 commits into
mainfrom
ts-based
Open

Use tree-sitter for CST, add more features#3
divarvel wants to merge 13 commits into
mainfrom
ts-based

Conversation

@divarvel

Copy link
Copy Markdown
Contributor

The core idea of the PR is to leverage biscuit’s tree-sitter grammar, since it’s suited for a language server (it’s made for incremental parsing and is fault tolerant).

  • the first commit updates dependencies
  • the second one introduces tree-sitter and switches to incremental document store updates
  • the third one adds support for autocompleting method names
  • the fourth one surfaces TS parsing errors in addition to what biscuit-rust returns
  • the fifth and sixth commits add autocompletion for more tokens
  • the seventh adds support for goto definiton (variables and predicates)
  • the eighth adds support for references (goto reference and highlight reference)
  • the ninth adds support for renaming variables and predicates

Predicates are identified both by their name and arity.

Note: claude code has been used to deliver those features

TODO

use a proper tree-sitter-biscuit release

divarvel added 9 commits July 14, 2026 12:10
for predicates, this only goes to the last occurrence. this could be improved by:

- cycling between occurrences in a stateful manner
- add `trusting` annotation
- convert check types
- replace literals with parameters
- suggest replacing parameters with the current date
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant