64 lines
1.3 KiB
Markdown
64 lines
1.3 KiB
Markdown
**⚠ This language server is still in it infancy. It only partially supports the SKILL language and can break quite easily during usage. ⚠**
|
|
|
|
# SKILL Rust Language Server - SRLS
|
|
|
|
a language server for [Cadence SKILL](https://en.wikipedia.org/wiki/Cadence_SKILL),
|
|
|
|
## Features
|
|
|
|
### Variable completion
|
|
|
|

|
|
|
|
variables assigned to using the infix `=` operator can be completed anywhere
|
|
|
|
#### Custom docstrings
|
|
|
|
```lisp
|
|
;;; this is a custom docstring supported for variable definitions
|
|
variable = "some content"
|
|
```
|
|
|
|
this allows for the docstring to show during completion
|
|
|
|
## Installation
|
|
|
|
### neovim (lua)
|
|
|
|
using [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig)
|
|
|
|
install `srls` into your path or give the `cmd` table entry the absolute path:
|
|
|
|
```lua
|
|
|
|
local nvim_lsp = require('lspconfig')
|
|
|
|
nvim_lsp.srls.setup({
|
|
cmd = {"srls"},
|
|
filetypes = {"skill"},
|
|
root_dir = root_pattern(".git")
|
|
})
|
|
```
|
|
|
|
#### astronvim
|
|
|
|
```lua
|
|
return {
|
|
lsp = {
|
|
servers = {
|
|
"skill_ls"
|
|
},
|
|
config = {
|
|
skill_ls = function()
|
|
return {
|
|
cmd = { "srls" },
|
|
filetypes = { "skill" },
|
|
root_dir = require('lspconfig.util').root_pattern(".git"),
|
|
}
|
|
end,
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|