-
Notifications
You must be signed in to change notification settings - Fork 286
Conversation
I'm currently poking at the |
Tree sitter related PRs landed this weekend. Once new releases are cut with prebuilt binaries I'll update this branch and prep a release! |
Nice job! |
a34710a
to
1754907
Compare
oldEndPosition: this.computeEndPosition(startIndex, oldEndIndex, tree), // position in old doc change ended. | ||
newEndPosition: Position.FROM_VS_POSITION(range.end).toTSPosition(), // position in new doc change ended | ||
}); | ||
tree = this.parser.parse(text, tree); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that you could move this parse
call out of the for loop and just parse once with the final text.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ya that’s on my refactor list. I’m planning on building out a more robust object tree on my second pass here. Also need to figure out how to support incremental updates with the API VSCode exposes. I don’t think this is quite right
We need this to take advantage of the code folding support
This is to support the folding provider
This includes implementation updates for the new tree-sitter API
These are the minimum versions when prebuild support is available
This is to support the built-in FoldingProvider protocol + DocumentSymbol support
This now supports the FoldingProvider
b0d263d
to
99f6f63
Compare
Planning to merge this and cut a release this weekend |
This is a proof of concept internal language server. The server itself is opt-in and will gradually replace features in the core extension. This means if you don't like the server's features you can turn it off and go back to the current feature set.
This may not look like much but
tree-sitter
was a bit of a moving target. I also did a ton of research on how to implement some of the other features/problems that are currently in the extension.Features
node-tree-sitter
. This is the same experimental syntax highlighter Atom is using. This positions us quite well to support things like semantic syntax highlighting!Merge Blockers
node-tree-sitter
andtree-sitter-ruby
against the version of Electron VSCode is running on