-
Notifications
You must be signed in to change notification settings - Fork 75
fix tree-sitter-cli dynamic library directory #212
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
fix tree-sitter-cli dynamic library directory #212
Conversation
b298d55
to
92e3f16
Compare
I've added a check for the tree-sitter version that should cover pre and post 0.19 versions. This should resolve emacs-tree-sitter/tree-sitter-langs#80
ethan-leba
commented
Mar 3, 2022
I’ve added a check for the tree-sitter version that should cover pre
and post 0.19 versions. This should resolve
emacs-tree-sitter/tree-sitter-langs#80
I don’t think this would resolve that issue, tree-sitter-langs-build doesn’t reference these TS functions for finding the dylibs (it’s hardcoded to look in the repo’s bin/ directory)
92e3f16
to
28f4347
Compare
I don’t think this would resolve that issue, tree-sitter-langs-build doesn’t reference these TS functions for finding the dylibs (it’s hardcoded to look in the repo’s bin/ directory)
I was able to compile the languages using that script and they do, in fact, show up in my standard tree-sitter build directory within $XDG_CACHE_HOME
. If we are also make these changes to tree-sitter-load-path
then it will load them from there.
The main issue i see with this would be that tree-sitter-langs
seems to run tree-sitter generate
and tree-sitter test
as well as running custom build commands. I'm not sure if this is entirely necessary because tree-sitter builds libraries when necessary when running tree-sitter test
. I think there should be an option like the ability to build tsc locally that would check if the dynamic libraries are present in tree-sitter-load-path
.
lisp/tree-sitter-cli.el
Outdated
@ethan-leba
ethan-leba
Mar 4, 2022
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.
IIRC tree-sitter
is not a required dependency of tree-sitter (for users who are downloading precompiled shared libs), so i think we should not error here.
@ethan-leba
ethan-leba
Mar 4, 2022
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.
style nit: it feels like there's enough logic going on here that it might be better to convert this into a function
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've updated this now and have it returning zero so it will defaut to the tree-sitter-cli-cache-directory
.
ethan-leba
commented
Mar 4, 2022
I don’t think this would resolve that issue, tree-sitter-langs-build
doesn’t reference these TS functions for finding the dylibs (it’s
hardcoded to look in the repo’s bin/ directory)I was able to compile the languages using that script and they do, in
fact, show up in my standard tree-sitter build directory within
$XDG_CACHE_HOME
. If we are also make these changes to
tree-sitter-load-path
then it will load them from there.
Ah, you’re right – theres this bit of logic I thought might be problematic but it looks like the loading logic looks for either name.
28f4347
to
ed83d98
Compare
ed83d98
to
2a6c46a
Compare
leotrs
commented
Dec 6, 2022
Bump :)
Uh oh!
There was an error while loading. Please reload this page.
This is to fix the incorrect path for where the
tree-sitter
cli storesdynamically-loadale libraries.
Rust Dirs
Tree-Sitter Cli Loader
https://github.com/tree-sitter/tree-sitter/blob/master/cli/loader/src/lib.rs#L110-L115
Function
load_language_from_sources()
https://github.com/tree-sitter/tree-sitter/blob/master/cli/loader/src/lib.rs#L355
https://github.com/tree-sitter/tree-sitter/blob/master/cli/loader/src/lib.rs#L391-L399