neuron-language-server icon indicating copy to clipboard operation
neuron-language-server copied to clipboard

Language server implementation for neuron

neuron-language-server

Language server for neuron.

Neuron will embed language server in neuron. Check sric/neuron#213 for updates.
This is just an personal experiment.

Supports

  • textDocument/completion(search by title/id)
    completion
  • textDocument/definition
  • textDocument/hover
    definition
  • textDocument/publishDiagnostics
    diagnostic
    Virtual text is available with nvim-lsp

TODO

  • Renaming tag

  • improve completion

  • LSP snippets

    • header snippets?
  • textDocument/codeAction
    https://github.com/felko/neuron-mode has some awesome features that might be converted to code actions.

Prerequisites

  • neuron

Installation

go get -u github.com/aca/neuron-language-server

LSP client settings

  • vim/neovim, coc.nvim
    "languageserver": {
      "neuron": {
        "command": "neuron-language-server",
        "filetypes": ["markdown"]
      },
    
  • neovim, nvim-lspconfig
    local nvim_lsp = require'lspconfig'
    local configs = require'lspconfig/configs'
    
    configs.neuron_ls = {
      default_config = {
        cmd = {'neuron-language-server'};
        filetypes = {'markdown'};
        root_dir = function()
          return vim.loop.cwd()
        end;
        settings = {};
      };
    }
    
    nvim_lsp.neuron_ls.setup{}