-
Notifications
You must be signed in to change notification settings - Fork 6.1k
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
[tree-sitter] add multiple ports #26272
Conversation
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.
You have modified or added at least one vcpkg.json where you should check the license
field.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/tree-sitter-common/vcpkg.json
Valid values for the license field can be found in the documentation
3d6c7f3
to
002f303
Compare
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.
You have modified or added at least one vcpkg.json where you should check the license
field.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/tree-sitter-common/vcpkg.json
Valid values for the license field can be found in the documentation
How are these related to the port |
I think these will have two major use-cases
My original plan was introducing these as features, but I decided that they needed dedicated ports instead of trying to lump them all in one. However, now I'm unsure if I should expose them through the main library or not. Note: it's useful that we'd be able to install parsers regardless! I've also planned to build the tree-sitter-cli tool (used as a code-generator) internally, but it requires cargo and it turned out to be a lot of work, see #20619, so for now it's vendored through npm |
Use npm to install the dependencies automaticly is a bad idea.
|
If your project is too large, we should split it into several separate PRs. |
This comment was marked as outdated.
This comment was marked as outdated.
Pinging @kylo252 for response. Is work still being done for this PR? |
@Adela0814, this is already complete if we keep going with installing I've been hoping to be able to build it from source, but bootstrapping rust is the blocker, see #20619 An alternative would be to install |
Yes, I think it's a good idea. |
002f303
to
3d72a2f
Compare
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.
You have modified or added at least one vcpkg.json where you should check the license
field.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/tree-sitter-common/vcpkg.json
Valid values for the license field can be found in the documentation
3d72a2f
to
752b478
Compare
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.
You have modified or added at least one vcpkg.json where you should check the license
field.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/tree-sitter-common/vcpkg.json
Valid values for the license field can be found in the documentation
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.
You have modified or added at least one vcpkg.json where you should check the license
field.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/tree-sitter-common/vcpkg.json
Valid values for the license field can be found in the documentation
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.
You have modified or added at least one vcpkg.json where you should check the license
field.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/tree-sitter-common/vcpkg.json
Valid values for the license field can be found in the documentation
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.
You have modified or added at least one vcpkg.json where you should check the license
field.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/tree-sitter-common/vcpkg.json
Valid values for the license field can be found in the documentation
(Of course you don't have to include the CMake output and stuff, I just included that to show that those 3 files together build something that works) |
8037d79
9012c1e
to
21d0226
Compare
* feat: add tree-sitter-common provides `vcpkg_ts_parser_add` helper functions for installing parsers * feat: add tree-sitter-bash * feat: add tree-sitter-c * feat: add tree-sitter-cpp * feat: add tree-sitter-css * feat: add tree-sitter-javascript * feat: add tree-sitter-json * feat: add tree-sitter-lua * feat: add tree-sitter-python * feat: add tree-sitter-rust * feat: add tree-sitter-typescript * feat: add tree-sitter-yaml
21d0226
to
962a6c2
Compare
962a6c2
to
621d05f
Compare
@BillyONeal, I've added a basic integration with pkg-config, along with usage instructions. here's an example of how to use it: https://github.com/kylo252/tree-sitter-registry/tree/master/example |
Convert this PR to draft since there is no progress. Please ping us if this PR is ready for review again. |
Closing this PR since it seems that no progress is being made. Please ping us to reopen if work is still being done. |
Description
This PR aims to provide support for building tree-sitter parsers across platforms
tree-sitter-common
provides
vcpkg_ts_parser_add
helper functions for installing tree-sitter parserstree-sitter-{bash,c,cpp,css,javascript,json,lua,python,rust,typescript,yaml}
Background about parsers
parser.c
and sometimes ascanner.{c,cc}
libtree-sitter
List of some popular consumers of tree-sitter parsers