lsp.lua

Branches > main > b1583df > files / nvim / lua / lsp.lua

local lsp = vim.lsp
local keymap = vim.keymap.set

local function on_attach(client, bufnr)
  keymap("n", "gd", lsp.buf.definition)
  keymap("n", "gr", lsp.buf.references)
  keymap("n", "gi", lsp.buf.implementation)
  keymap("n", "<Space>r", lsp.buf.rename)
  keymap("n", "<Space>c", lsp.buf.code_action)
end

lsp.config("clojure-lsp", {filetypes = {"clojure"},
                           cmd = {"clojure-lsp"},
                           on_attach = on_attach,
                           root_markers = {"project.clj", "deps.edn", "build.boot", "shadow-cljs.edn", ".git", "bb.edn"}})
lsp.enable("clojure-lsp")