LuaLS / LuaLS/lua-language-server

`--doc` CLI argument does not work

Abierto
#2,954 12 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

bug
Lenguaje dominante
Lua
Estrellas
4.4k
Forks
442
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### 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_

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
lua
Área
cli
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.