LuaLS / LuaLS/lua-language-server
`--doc` CLI argument does not work
Open
Nobody has claimed this yet.
bug
- Dominant language
- Lua
- Stars
- 4.4k
- Forks
- 442
- PR merge metrics
- No merged PRs in 30d
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
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 <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 ?
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
- Create a new folder
- Add any documented lua file, I used this:
---@param x number
function foo(x) end
- 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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
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.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100