Configure

(Neo)Vim

coc.nvim

{
  "languageserver": {
    "xilinx": {
      "command": "xilinx-language-server",
      "filetypes": [
        "xdc",
        "xsct"
      ],
      "initializationOptions": {
        "method": "builtin"
      }
    }
  }
}

vim-lsp

if executable('xilinx-language-server')
  augroup lsp
    autocmd!
    autocmd User lsp_setup call lsp#register_server({
          \ 'name': 'xilinx',
          \ 'cmd': {server_info->['xilinx-language-server']},
          \ 'whitelist': ['xdc', 'xsct'],
          \ 'initialization_options': {
          \   'method': 'builtin',
          \ },
          \ })
  augroup END
endif

Neovim

vim.api.nvim_create_autocmd({ "BufEnter" }, {
  pattern = { "*.xdc" },
  callback = function()
    vim.lsp.start({
      name = "xilinx",
      cmd = { "xilinx-language-server" }
    })
  end,
})

Emacs

(make-lsp-client :new-connection
(lsp-stdio-connection
  `(,(executable-find "xilinx-language-server")))
  :activation-fn (lsp-activate-on "xdc")
  :server-id "xilinx")))

Sublime

{
  "clients": {
    "xilinx": {
      "command": [
        "xilinx-language-server"
      ],
      "enabled": true,
      "selector": "source.xilinx"
    }
  }
}

Visual Studio Code

An official support of generic LSP client is pending.

vscode-glspc

~/.config/Code/User/settings.json:

{
  "glspc.serverPath": "xilinx-language-server",
  "glspc.languageId": "xdc"
}