#circom #lsp #protocols #language #language-server

circom-lsp-type-analysis

Support crate for circom-lsp

1 stable release

2.1.5 May 24, 2023

#392 in Text editors


Used in circom-lsp

GPL-3.0 license

275KB
7K SLoC

circom-lsp

A language server protocol implementation for Circom

Installation

Installation through Cargo:

cargo install circom-lsp

There is also an accommodating VSCode extension under the name: circom-lsp

Code for neovim + https://github.com/VonHeikemen/lsp-zero.nvim setup:

local lsp = require('lsp-zero').preset('recommended')

lsp.new_server({
    name = 'circom-lsp',
    cmd = { 'circom-lsp' },
    filetypes = { 'circom' },
    root_dir = function()
        return lsp.dir.find_first({ 'package.json' }) or vim.api.nvim_buf_get_name(0)
    end,
})

Features

  • Diagnostics
  • Hover
  • Go To Definition

Dependencies

~4–6MB
~111K SLoC