LuaLS / LuaLS/lua-language-server
`--doc` CLI argument does not work
Nessuno ha ancora preso questa issue.
- Lingua principale
- Lua
- Stelle
- 4.4k
- Fork
- 442
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
### How are you using the lua-language-server?
Command Line
### Which OS are you using?
Windows WSL
### What is the issue affecting?
Other
### Expected Behaviour
Document generation, as documented here:
https://luals.github.io/wiki/usage/#--doc
### Actual Behaviour
```sh
rhys@RhysDesktop:~/example-lua$ ~/lua-language-server/bin/lua-language-server --doc ~/example-lua/
root uri = file:///home/rhys/example-lua/
script/cli/doc/export.lua:304: attempt to concatenate a nil value (local 'outputDir')
stack traceback:
script/cli/doc/export.lua:304: in field 'serializeAndExport'
script/cli/doc/init.lua:235: in upvalue 'callback'
script/lclient.lua:129: in function
stack traceback:
script/lclient.lua:123: in function 'await.errorHandle'
script/await.lua:35: in function 'await.checkResult'
(...tail calls...)
[C]: in function 'xpcall'
script/timer.lua:52: in upvalue 'mWakeup'
script/timer.lua:93: in upvalue 'onTick'
script/timer.lua:236: in function 'timer.update'
script/lclient.lua:139: in method 'start'
script/cli/doc/init.lua:201: in function 'cli.doc.runCLI'
script/cli/init.lua:22: in main chunk
[C]: in function 'require'
/home/rhys/lua-language-server/main.lua:78: in main chunk
(bootstrap.lua):85: in main chunk
[C]: in ?
script/lclient.lua:124: [19:48:24.474][error][#0:script/lclient.lua:123]: script/cli/doc/export.lua:304: attempt to concatenate a nil value (local 'outputDir')
stack traceback:
script/cli/doc/export.lua:304: in field 'serializeAndExport'
script/cli/doc/init.lua:235: in upvalue 'callback'
script/lclient.lua:129: in function <script/lclient.lua:128>
stack traceback:
script/lclient.lua:123: in function 'await.errorHandle'
script/await.lua:35: in function 'await.checkResult'
(...tail calls...)
[C]: in function 'xpcall'
script/timer.lua:52: in upvalue 'mWakeup'
script/timer.lua:93: in upvalue 'onTick'
script/timer.lua:236: in function 'timer.update'
script/lclient.lua:139: in method 'start'
script/cli/doc/init.lua:201: in function 'cli.doc.runCLI'
script/cli/init.lua:22: in main chunk
[C]: in function 'require'
/home/rhys/lua-language-server/main.lua:78: in main chunk
(bootstrap.lua):85: in main chunk
[C]: in ?
stack traceback:
[C]: in function 'error'
script/lclient.lua:124: in function 'await.errorHandle'
script/await.lua:35: in function 'await.checkResult'
(...tail calls...)
[C]: in function 'xpcall'
script/timer.lua:52: in upvalue 'mWakeup'
script/timer.lua:93: in upvalue 'onTick'
script/timer.lua:236: in function 'timer.update'
script/lclient.lua:139: in method 'start'
script/cli/doc/init.lua:201: in function 'cli.doc.runCLI'
script/cli/init.lua:22: in main chunk
[C]: in function 'require'
/home/rhys/lua-language-server/main.lua:78: in main chunk
(bootstrap.lua):85: in main chunk
[C]: in ?
/home/rhys/lua-language-server/bin/lua-language-server: script/lclient.lua:149: two hours later ...
====== C -> S ======
====== S -> C ======
====================
stack traceback:
[C]: in function 'error'
script/lclient.lua:149: in method 'start'
script/cli/doc/init.lua:201: in function 'cli.doc.runCLI'
script/cli/init.lua:22: in main chunk
[C]: in function 'require'
/home/rhys/lua-language-server/main.lua:78: in main chunk
(bootstrap.lua):85: in main chunk
[C]: in ?
```
### Reproduction steps
1. Create a new folder
2. Add any documented lua file, I used this:
```lua
---@param x number
function foo(x) end
```
3. Run `lua-language-server --doc <path-to-folder>`
### Additional Notes
I tried this on both Windows and WSL with the same result.
### Log File
_No response_
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Start with script/cli/doc/export.lua at the serializeAndExport failure on line 304, then trace how script/cli/doc/init.lua invokes it for `--doc`. Reproduce the command against a folder containing the documented Lua file. Done means the command completes without the nil `outputDir` error and generates the expected documentation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- lua
- Ambito
- cli
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 48/100