LuaLS / LuaLS/lua-language-server
Support generating SCIP/LSIF index
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 4.4k
- Forks
- 442
- PR merge metrics
- No merged PRs in 30d
Description
The [Language Server Index Format](https://lsif.dev) and its (kind of) successor [SCIP](https://github.com/sourcegraph/scip) define language-independent formats for information dumps of a language server. It allows tools like code editors and online repositories (eg. supported by GitHub, GitLab) to provide some LSP features without requiring an entire language server instance running in the background.
The [LSIF specification](https://microsoft.github.io/language-server-protocol/specifications/lsif/0.6.0/specification/) has currently not reached 1.0.0 status yet.
In its most recent specification, LSIF would allow for the following language features in offline situations:
- `textDocument/definition`
- `textDocument/declaration`
- `textDocument/hover`
- `textDocument/references`
- `textDocument/implementation`
- `textDocument/typeDefinition`
- `textDocument/foldingRange`
- `textDocument/documentLink`
- `textDocument/documentSymbol`
- `textDocument/semanticTokens/full`
I'm not entirely sure whether this topic has been discussed in this community before, I wasn't able to find any mentions here in the older issues. In my opinion it could be a great feature to have a way of extracting project information out of the LuaLS into LSIF files.
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
No source file, test, or entry point is named. Start by comparing the LSIF and SCIP specifications with the information LuaLS already exposes, then determine the scope of generating project indexes. Done means LuaLS can extract project information into a supported index format and the behavior is covered by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100