Cadence SKILL Rust Language Server
Go to file
acereca 263147edc7 define default target to be static libc (musl) 2023-04-17 16:18:28 +02:00
assets add readme and gif 2023-04-16 15:14:25 +02:00
src get global token parsing and docstrings working 2023-04-16 14:39:18 +02:00
test/data add readme and gif 2023-04-16 15:14:25 +02:00
.gitignore initial commit 2023-03-10 20:29:10 +01:00
Cargo.lock replace logging with file logging 2023-04-16 14:39:18 +02:00
Cargo.toml define default target to be static libc (musl) 2023-04-17 16:18:28 +02:00
LICENSE.txt iadd LICENSE 2023-04-17 08:47:53 +02:00
README.md add install instructions 2023-04-16 15:26:33 +02:00

README.md

⚠ 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,

Features

Variable completion

variables assigned to using the infix = operator can be completed anywhere

Custom docstrings

;;; 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

install srls into your path or give the cmd table entry the absolute path:


local nvim_lsp = require('lspconfig')

nvim_lsp.srls.setup({
    cmd = {"srls"},
    filetypes = {"skill"},
    root_dir = root_pattern(".git")
})

astronvim

return {
  lsp = {
    servers = {
      "skill_ls"
    },
    config = {
      skill_ls = function()
        return {
          cmd = { "srls" },
          filetypes = { "skill" },
          root_dir = require('lspconfig.util').root_pattern(".git"),
        }
      end,
    }
  }
}