LuaLS / LuaLS/lua-language-server
`--doc` CLI argument does not work
Personne n'a encore pris cette issue.
- Langage dominant
- Lua
- Étoiles
- 4.4k
- Forks
- 442
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
### 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_
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- lua
- Domaine
- cli
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 48/100