AnycodeA Tree-sitter-based language extension that inaccurately implements popular features like "Outline & Breadcrumbs", "Go to Symbol in Workspace", "Document Highlights" and more. This extension should be used when running in enviroments that don't allow for running actual language services, like https://github.dev or https://vscode.dev. The features provided by this extension are meant to be better than full-text search, but fall short when compared to real language services. We refer to this as "partial mode" and anycode will show a language status item when inaccurate language support is active. The table below shows what features have been implemented for what language. The following paragraph outlines how things are implemented.
Anycode can be thought of as being full text search along Tree-sitter parse trees. All features are based on parse trees and there is no semantic information - that means there is no guarantee for correctness. Parse trees allow to identify declarations and usages, like "these lines define a function named
Last, there is the DevelopmentTo compile tree-sitter languages you need docker or emscripten, follow these steps:
There is a watch task to build TS, either Push a tag to publish a new version to the marketplace:
ContributingThis project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com. When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments. |