-
Notifications
You must be signed in to change notification settings - Fork 587
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What do you think about Tree-sitter? #3858
Comments
Parsing is not sufficient for new languages, it needs semantics as well. For example inferred types need semantics like type evaluation of expressions, for example C++ Type evaluation of expressions requires full knowledge of visibility, what parts of the system libraries and user code is visible at the point of It needs more than a parser to perform these computations. The current technology solving it is the Language Server Protocol which is a way for the IDE to send the work to a separate process that contains most of the compiler except the code generation so the workload of a compiler does not interrupt the UI. Many language projects are providing LSP compliant servers, like clangd from the clang C/C++ compiler project or gopls from the Go language project. There is work in progress to integrate such servers with Geany. Edit: Just to be clear, while some of the ctags parsers could be improved, the effort of changing all the support infrastructure to a different set of parsers isn't worth it. Until the proper solution is available spend the effort improving ctags parsers (within its limitations) and a bunch of other projects will benefit as well. |
It's a more modern and advanced parser than ctags:
https://tree-sitter.github.io/tree-sitter/
The text was updated successfully, but these errors were encountered: