Freed-Wu / autotools-language-server

🛠️ Autotools language server, support configure.ac, Makefile.am, Makefile.
https://autotools-language-server.readthedocs.io
GNU General Public License v3.0
20 stars 1 forks source link

servers does not run #11

Open mattn opened 2 weeks ago

mattn commented 2 weeks ago
Traceback (most recent call last):
  File "/home/mattn/.local/share/vim-lsp-settings/servers/autotools-language-server/./venv/bin/make-language-server", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/mattn/.local/share/vim-lsp-settings/servers/autotools-language-server/venv/lib/python3.12/site-packages/make_language_server/__main__.py", line 93, in main
    MakeLanguageServer(NAME, __version__).start_io()
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mattn/.local/share/vim-lsp-settings/servers/autotools-language-server/venv/lib/python3.12/site-packages/make_language_server/server.py", line 55, in __init__
    self.parser = get_parser("make")
                  ^^^^^^^^^^^^^^^^^^
  File "tree_sitter_languages/core.pyx", line 19, in tree_sitter_languages.core.get_parser
  File "tree_sitter_languages/core.pyx", line 14, in tree_sitter_languages.core.get_language
TypeError: __init__() takes exactly 1 argument (2 given)
Freed-Wu commented 1 week ago

What is the version? latest version shouldn't have this code.

mattn commented 1 week ago

i installed it via npm.

Freed-Wu commented 1 week ago

Can you try 0.0.19? https://github.com/Freed-Wu/autotools-language-server/issues/8 use the wheel of tree-sitter-make

mattn commented 1 week ago
ERROR: Ignored the following yanked versions: 0.0.1
ERROR: Could not find a version that satisfies the requirement tree-sitter-make (from autotools-language-server) (from versions: none)
WARNING: Ignoring invalid distribution ~umpy (/home/mattn/.local/lib/python3.10/site-packages)
WARNING: Ignoring invalid distribution ~umpy (/home/mattn/.local/lib/python3.10/site-packages)
ERROR: No matching distribution found for tree-sitter-make
Freed-Wu commented 1 week ago

Try

pip install tree_sitter_make-0.0.1-cp38-abi3-linux_x86_64.whl

The wheel comes from https://github.com/Freed-Wu/autotools-language-server/issues/8#issuecomment-2178750984

mattn commented 1 week ago

Same result.

Traceback (most recent call last):
  File "/home/mattn/.local/share/vim-lsp-settings/servers/autotools-language-server/./autotools-language-server", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/mattn/.local/share/vim-lsp-settings/servers/autotools-language-server/venv/lib/python3.12/site-packages/make_language_server/__main__.py", line 93, in main
    MakeLanguageServer(NAME, __version__).start_io()
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mattn/.local/share/vim-lsp-settings/servers/autotools-language-server/venv/lib/python3.12/site-packages/make_language_server/server.py", line 55, in __init__
    self.parser = get_parser("make")
                  ^^^^^^^^^^^^^^^^^^
  File "tree_sitter_languages/core.pyx", line 19, in tree_sitter_languages.core.get_parser
  File "tree_sitter_languages/core.pyx", line 14, in tree_sitter_languages.core.get_language
TypeError: __init__() takes exactly 1 argument (2 given)
Freed-Wu commented 1 week ago

Then

pip install autotools-language-server==0.0.19
mattn commented 1 week ago

Another error.

Traceback (most recent call last):
  File "/home/mattn/.local/share/vim-lsp-settings/servers/autotools-language-server/./autotools-language-server", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/mattn/.local/share/vim-lsp-settings/servers/autotools-language-server/venv/lib/python3.12/site-packages/make_language_server/__main__.py", line 90, in main
    from .server import MakeLanguageServer
  File "/home/mattn/.local/share/vim-lsp-settings/servers/autotools-language-server/venv/lib/python3.12/site-packages/make_language_server/server.py", line 32, in <module>
    from .finders import (
  File "/home/mattn/.local/share/vim-lsp-settings/servers/autotools-language-server/venv/lib/python3.12/site-packages/make_language_server/finders.py", line 17, in <module>
    from .utils import get_query, parser
  File "/home/mattn/.local/share/vim-lsp-settings/servers/autotools-language-server/venv/lib/python3.12/site-packages/make_language_server/utils.py", line 18, in <module>
    parser.set_language(language)
    ^^^^^^^^^^^^^^^^^^^
AttributeError: 'tree_sitter.Parser' object has no attribute 'set_language'
Freed-Wu commented 1 week ago

I think tree-sitter version is old. Try pip install -U tree-sitter?

mattn commented 1 week ago

I could fix wrong behavior.

diff --git a/src/make_language_server/utils.py b/src/make_language_server/utils.py
index cd11e91..8195516 100644
--- a/src/make_language_server/utils.py
+++ b/src/make_language_server/utils.py
@@ -15,7 +15,7 @@ SCHEMAS = {}
 QUERIES = {}
 language = Language(get_language_ptr())
 parser = Parser()
-parser.set_language(language)
+parser.language = language

 def get_query(name: str, filetype: FILETYPE = "make") -> Query:
Freed-Wu commented 3 days ago

What is:

pip list | grep tree-sitter