Beaglefoot / awk-language-server

Language Server for AWK and associated VSCode client extension
https://marketplace.visualstudio.com/items?itemName=beaglefoot.awk-ide-vscode
MIT License
91 stars 5 forks source link

Language server won't start due to invalid url #33

Closed LGFae closed 1 year ago

LGFae commented 2 years ago

I've installed the server with:

$ doas npm install --global awk-language-server

I wanted to use it with neovim. However, it exits immediately when opening an awk script. Trying to execute it directly from the command line yields:

$ awk-language-server test.awk                                                                                                                                                                     13:50
Language Server is started.
(node:16701) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
node:internal/deps/undici/undici:4813
            throw new TypeError("Failed to parse URL from " + input, { cause: err });
                  ^

TypeError: Failed to parse URL from /usr/lib/node_modules/awk-language-server/node_modules/web-tree-sitter/tree-sitter.wasm
    at new Request (node:internal/deps/undici/undici:4813:19)
    at Agent.fetch2 (node:internal/deps/undici/undici:5505:29)
    ... 4 lines matching cause stack trace ...
    at /usr/lib/node_modules/awk-language-server/node_modules/web-tree-sitter/tree-sitter.js:1:144
    at Object.<anonymous> (/usr/lib/node_modules/awk-language-server/node_modules/web-tree-sitter/tree-sitter.js:1:170)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1159:10) {
  [cause]: TypeError [ERR_INVALID_URL]: Invalid URL
      at new NodeError (node:internal/errors:377:5)
      at URL.onParseError (node:internal/url:563:9)
      at new URL (node:internal/url:643:5)
      at new Request (node:internal/deps/undici/undici:4811:25)
      at Agent.fetch2 (node:internal/deps/undici/undici:5505:29)
      at Object.fetch (node:internal/deps/undici/undici:6332:20)
      at fetch (node:internal/bootstrap/pre_execution:196:25)
      at /usr/lib/node_modules/awk-language-server/node_modules/web-tree-sitter/tree-sitter.js:1:15041
      at /usr/lib/node_modules/awk-language-server/node_modules/web-tree-sitter/tree-sitter.js:1:15262
      at /usr/lib/node_modules/awk-language-server/node_modules/web-tree-sitter/tree-sitter.js:1:144 {
    input: '/usr/lib/node_modules/awk-language-server/node_modules/web-tree-sitter/tree-sitter.wasm',
    code: 'ERR_INVALID_URL'
  }
}

Node.js v18.3.0

The file, however, does exist:

$ ls /usr/lib/node_modules/awk-language-server/node_modules/web-tree-sitter -l                                                                                                                     
.rw-r--r--  783 root 16 Jun 13:47  package.json
.rw-r--r-- 4.1k root 16 Jun 13:47  README.md
.rw-r--r-- 5.0k root 16 Jun 13:47  tree-sitter-web.d.ts
.rw-r--r--  51k root 16 Jun 13:47  tree-sitter.js
.rwxr-xr-x 171k root 16 Jun 13:47  tree-sitter.wasm

Not sure what I am doing wrong.

Beaglefoot commented 2 years ago

I can replicate this but with nodejs v18 only. You can switch to v16 if it's acceptable.

Beaglefoot commented 2 years ago

Probably connected with https://github.com/tree-sitter/tree-sitter/issues/1765