Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
cd5c89d
support arbitrary installation dir of conda
daler Jun 20, 2025
4db6888
replace vim-sleuth with indent-o-matic
daler Jun 20, 2025
0851a2c
repleace nvim-tree with neotree
daler Jun 20, 2025
ea44410
replace nvim-cmp with blink
daler Jun 20, 2025
da00f79
add check icon for render-markdown
daler Jun 20, 2025
e768af5
add nvim-aider
daler Jun 21, 2025
7f1a01b
update changelog
daler Jun 21, 2025
20a2eee
dockerfile mamba --> conda
daler Jun 22, 2025
7cf0ae7
fix fallback
daler Jun 22, 2025
808120b
add zenfade
daler Jun 23, 2025
ba701ed
clean up blink comments
daler Jun 24, 2025
6857842
add docs for nvim-aider
daler Jun 24, 2025
b7d122e
update lazy-lock file
daler Jun 24, 2025
de403d5
docs: add indent-o-matic plugin and deprecate vim-sleuth
daler Jun 24, 2025
7c22636
simplify blink.cmp config
daler Jul 2, 2025
547a9b1
open aider on bottom rather than on right
daler Jul 2, 2025
3da1044
update plugins table & typos
daler Jul 2, 2025
499ef30
docs update
daler Jul 2, 2025
e32dc04
readme updates
daler Jul 2, 2025
f086832
mv zenburn.lua -> colorschemes.lua
daler Jul 2, 2025
3f5b337
update changelog
daler Jul 2, 2025
c8b851e
include lush plugin as dependency
daler Jul 3, 2025
f82cc47
make diffs easier on the eyes
daler Jul 3, 2025
52ebae3
update comments in plugins
daler Aug 2, 2025
f67ccdf
move lsp-related to single file; support 0.11+
daler Aug 2, 2025
27b5089
rm rarely-used keymap for beacon
daler Aug 2, 2025
c8f86f1
add vim-matchup
daler Aug 2, 2025
ac60e07
add lush
daler Aug 2, 2025
1b9b674
much-improved blink.cmp config
daler Aug 2, 2025
0d2b9f8
nvim 0.11
daler Aug 2, 2025
193706a
update lockfile
daler Aug 2, 2025
b8846ab
change url format for nvim release
daler Aug 4, 2025
d21f525
fix tarball dir
daler Aug 4, 2025
4c0883a
fix tarball dir
daler Aug 4, 2025
4ad25cc
fix links
daler Aug 8, 2025
24886e8
docs: split out nvim plugins into separate docs
daler Aug 8, 2025
606db02
add plugin-metadata as new directive
daler Aug 10, 2025
43fe5a3
add treesj
daler Aug 10, 2025
8ec6afd
move fenced block for rmarkdown to autocmds
daler Aug 10, 2025
36bf16c
switch order of cursor line coloring
daler Aug 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 35 additions & 31 deletions .config/nvim/lazy-lock.json
Original file line number Diff line number Diff line change
@@ -1,49 +1,53 @@
{
"LuaSnip": { "branch": "master", "commit": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d" },
"accelerated-jk": { "branch": "master", "commit": "156c5158b72059404f6b8aaf15b59f87dd0aaa88" },
"aerial.nvim": { "branch": "master", "commit": "fd7fbe36772d7a955815c90ff9b58523bfdb410d" },
"aerial.nvim": { "branch": "master", "commit": "5c0df1679bf7c814c924dc6646cc5291daca8363" },
"beacon.nvim": { "branch": "master", "commit": "5ab668c4123bc51269bf6f0a34828e68c142e764" },
"browsher.nvim": { "branch": "main", "commit": "4c0e5e37dd6ab9040a491acb3592ca38476a9a14" },
"bufferline.nvim": { "branch": "main", "commit": "261a72b90d6db4ed8014f7bda976bcdc9dd7ce76" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"conform.nvim": { "branch": "master", "commit": "f4e8837878fc5712d053ba3091a73d27d96a09e2" },
"blink-cmp-dictionary": { "branch": "master", "commit": "43b701fe9728a704bc63e4667c5d8b398bf129b2" },
"blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" },
"browsher.nvim": { "branch": "main", "commit": "79aa87bd24ea6b2e79b82a32fcc332e78adee07b" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"flash.nvim": { "branch": "main", "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" },
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
"gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" },
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gitsigns.nvim": { "branch": "main", "commit": "8270378ab83540b03d09c0194ba3e208f9d0cb72" },
"gv.vim": { "branch": "master", "commit": "b6bb6664e2c95aa584059f195eb3a9f3cb133994" },
"indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" },
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"indent-o-matic": { "branch": "master", "commit": "4d11e98f523d3c4500b1dc33f0d1a248a4f69719" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lsp-progress.nvim": { "branch": "main", "commit": "f3df1df8f5ea33d082db047b5d2d2b83cc01cd8a" },
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"nightfox.nvim": { "branch": "main", "commit": "7557f26defd093c4e9bc17f28b08403f706f5a44" },
"nvim-cmp": { "branch": "main", "commit": "98e8b9d593a5547c126a39212d6f5e954a2d85dd" },
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
"lush.nvim": { "branch": "main", "commit": "1be16d9002f8b2e8973a19ceac199ad394dea76a" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "844d247d998c2f9a6a3baad8bb9748edc55ce69f" },
"mason.nvim": { "branch": "main", "commit": "9e25c98d4826998460926f8c5c2284848d80ae89" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "f481de16a0eb59c985abac8985e3f2e2f75b4875" },
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-aider": { "branch": "main", "commit": "e15ea121074e774e436eb2223929fde7a01d4f52" },
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
"nvim-lspconfig": { "branch": "master", "commit": "040001d85e9190a904d0e35ef5774633e14d8475" },
"nvim-tree.lua": { "branch": "master", "commit": "f7b76cd1a75615c8d6254fc58bedd2a7304eb7d8" },
"nvim-treesitter": { "branch": "master", "commit": "fa915a30c5cdf1d18129e9ef6ac2ee0fa799904f" },
"nvim-web-devicons": { "branch": "master", "commit": "0eb18da56e2ba6ba24de7130a12bcc4e31ad11cb" },
"nvim-lspconfig": { "branch": "master", "commit": "d0dbf489a8810672fa9a61f4a86e5cf89214b772" },
"nvim-tree.lua": { "branch": "master", "commit": "65bae449224b8a3bc149471b96587b23b13a9946" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-web-devicons": { "branch": "master", "commit": "3362099de3368aa620a8105b19ed04c2053e38c0" },
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
"onedark.vim": { "branch": "main", "commit": "390b893d361c356ac1b00778d849815f2aa44ae4" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
"render-markdown.nvim": { "branch": "main", "commit": "0022a579ac7355966be5ade77699b88c76b6a549" },
"stickybuf.nvim": { "branch": "master", "commit": "183b9569bef78f44b17c078214f7d731f19cbefe" },
"telescope.nvim": { "branch": "master", "commit": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"render-markdown.nvim": { "branch": "main", "commit": "eec00fbfd7273cdfa0a1154dbef0bb983641eaf8" },
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
"stickybuf.nvim": { "branch": "master", "commit": "0c1e5f1a3eb36eea2cea57083828269cc62c58e4" },
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
"toggleterm.nvim": { "branch": "main", "commit": "c80844fd52ba76f48fabf83e2b9f9b93273f418d" },
"trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" },
"treesj": { "branch": "main", "commit": "3b4a2bc42738a63de17e7485d4cc5e49970ddbcc" },
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
"vim-commentary": { "branch": "master", "commit": "64a654ef4a20db1727938338310209b6a63f60c9" },
"vim-diff-enhanced": { "branch": "master", "commit": "8d161f1e97a5f5e64ea4219e6663f98a109df7b1" },
"vim-fugitive": { "branch": "master", "commit": "fcb4db52e7f65b95705aa58f0f2df1312c1f2df2" },
"vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" },
"vim-matchup": { "branch": "master", "commit": "81313f17443df6974cafa094de52df32b860e1b7" },
"vim-mergetool": { "branch": "master", "commit": "0275a85256ad173e3cde586d54f66566c01b607f" },
"vim-python-pep8-indent": { "branch": "master", "commit": "baa647a70f1d6280a282a6cab425ef4094c9633d" },
"vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" },
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
"vim-table-mode": { "branch": "master", "commit": "e4365bde024f73e205eefa2fb78e3029ddb92ea9" },
"vis": { "branch": "master", "commit": "6a87efbfbd97238716b602c2b53564aa6329b5de" },
"which-key.nvim": { "branch": "main", "commit": "0539da005b98b02cf730c1d9da82b8e8edb1c2d2" },
"zenburn.nvim": { "branch": "master", "commit": "821a84a57f0d87b553b563191239840d47052302" }
"zenburn.nvim": { "branch": "master", "commit": "0860da40c6f666dfff3381a8b0ee98e16e08ca66" },
"zenfade": { "branch": "main", "commit": "75284b99d9941bfee16ff5372f4b8205dd16f456" }
}
4 changes: 4 additions & 0 deletions .config/nvim/lua/config/autocmds.lua
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,10 @@ vim.api.nvim_create_autocmd("FileType", {
end,
{ desc = "Toggle render-markdown on an RMarkdown file" }
)
vim.keymap.set({
"n",
"i",
}, "<leader>`", "<Esc>i```{r}<CR>```<Esc>O", { desc = "New fenced RMarkdown code block" })
end,
})

Expand Down
1 change: 0 additions & 1 deletion .config/nvim/lua/config/keymaps.lua
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ vim.keymap.set("t", "<Esc>", "<C-\\><C-n>") -- Fix <Esc> in terminal buffer
vim.keymap.set("n", "<Leader>H", ":set hlsearch!<CR>", { desc = "Toggle search highlight" })
vim.keymap.set("n", "<leader>W", ":%s/\\s\\+$//<cr>:let @/=''<CR>", { desc = "Clean trailing whitespace" })
vim.keymap.set({ "n", "i" }, "<leader>R", "<Esc>:syntax sync fromstart<CR>", { desc = "Refresh syntax highlighting" })
vim.keymap.set({ "n", "i" }, "<leader>`", "<Esc>i```{r}<CR>```<Esc>O", { desc = "New fenced RMarkdown code block" })
vim.keymap.set(
{ "n", "i" },
"<leader>ts",
Expand Down
6 changes: 3 additions & 3 deletions .config/nvim/lua/config/options.lua
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@ vim.opt.wildmenu = true -- Make tab completion for files/buffers act like bash
vim.opt.wildmode="list:full" -- Show a list when pressing tab; complete first full match
vim.opt.wildignore:append("*.swp,*.bak,*.pyc,*.class") -- Ignore these when autocompleting
vim.opt.cursorline = true -- Highlight line where the cursor is
vim.opt.fillchars:append { diff = "" } -- in diffs, show deleted lines with slashes rather than dashes
vim.opt.fillchars:append { diff = "·" } -- in diffs, show deleted lines with dots rather than dashes
vim.opt.signcolumn = "yes" -- always show the signcolumn to minimize distraction of appearing and disappearing

-- vim.cmd(":autocmd InsertEnter * set cul") -- Color the current line in upon entering insert mode
-- vim.cmd(":autocmd InsertLeave * set nocul") -- Remove color upon existing insert mode
-- vim.cmd(":autocmd InsertEnter * set nocul") -- Remove color when entering insert mode
-- vim.cmd(":autocmd InsertLeave * set cul") -- Turn color back on when exiting insert mode
-- vim.cmd("set guicursor=i:block") -- Always use block cursor. In some terminals and fonts (like iTerm), it can be hard to see the cursor when it changes to a line.

-- Copy all yanked/deleted lines to the "+" buffer. Useful when you want to use
Expand Down
1 change: 0 additions & 1 deletion .config/nvim/lua/plugins/beacon.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ return {

end,
keys = {
{ "<S-k><S-j>", ":Beacon<CR>", desc = "Flash beacon" },
{ "N", "N:Beacon<CR>", desc = "Prev search hit and flash beacon" },
{ "n", "n:Beacon<CR>", desc = "Next search hit and flash beacon" },
{ "%", "%:Beacon<CR>", desc = "Go to matching bracket and flash beacon" },
Expand Down
76 changes: 76 additions & 0 deletions .config/nvim/lua/plugins/blink.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
-- blink.cmp provides autocompletion

-- Used below to detect if we're in a word or not
local has_words_before = function()
local col = vim.api.nvim_win_get_cursor(0)[2]
if col == 0 then
return false
end
local line = vim.api.nvim_get_current_line()
return line:sub(col, col):match("%s") == nil
end
return {
"saghen/blink.cmp",
dependencies = {
"rafamadriz/friendly-snippets",
'Kaiser-Yang/blink-cmp-dictionary',
dependencies = { 'nvim-lua/plenary.nvim' }
},

-- using a release tag downloads pre-built binaries
version = "v1.*",

opts = {
keymap = {
-- At any time, <C-Space> to show menu, arrows to select, Enter to accept.
preset = 'default',

-- Additionally, this configures tab-completion to mimic what happens in bash:
-- * Tab shows selections if cursor is in or immediately after a word, and immediately fills in the first item
-- * Enter to select.
-- * Tab scrolls thru suggestions (or Shift-Tab to go back)
--
['<Tab>'] = {
function(cmp)
if has_words_before() then
return cmp.show_and_insert()
end
end,
'snippet_forward',
'select_next',
'fallback',
},
-- Navigate to the previous suggestion or cancel completion if currently on the first one.
['<S-Tab>'] = { 'snippet_backward', 'insert_prev' },
['<CR>'] = { 'accept', 'fallback' },
},
sources = {
default = function()
local result = { 'lsp', 'path', 'snippets', 'buffer' }

-- turn on dictionary completion in non-code files
if vim.tbl_contains({ 'markdown', 'text', 'rst' }, vim.bo.filetype) then
table.insert(result, 'dictionary')
end
return result
end,
providers = {
dictionary = {
module = 'blink-cmp-dictionary',
name = 'Dict',
min_keyword_length = 3,
opts = {
-- This is the location of the word list on macOS and many Linux distributions
dictionary_files = { '/usr/share/dict/words' }
}
}
},
},
fuzzy = { implementation = "prefer_rust_with_warning" },
completion = {
menu = { auto_show = false },
trigger = { show_in_snippet = false },
},
},
opts_extend = { "sources.default" },
}
1 change: 1 addition & 0 deletions .config/nvim/lua/plugins/browsher.lua
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
-- browsher will copy a link to github/gitlab based on where you are in the code
return {
'claydugo/browsher.nvim',
event = "VeryLazy",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,5 @@ return {
lazy = false,
priority = 1000,
},
{ "daler/zenfade", dependencies = { "rktjmp/lush.nvim" }, lazy = false, priority = 1000 },
}
4 changes: 4 additions & 0 deletions .config/nvim/lua/plugins/indent-o-matic.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
-- indent-o-matic provides automatic detection of indentation settings
return {
'Darazaki/indent-o-matic'
}
157 changes: 157 additions & 0 deletions .config/nvim/lua/plugins/lsp.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
-- language server protocol support.
--
-- nvim 0.11 has lots of built-in support, so use that if we can
if vim.fn.has('nvim-0.11') == 1 then
return {
{
"williamboman/mason.nvim",
dependencies = {
"williamboman/mason-lspconfig.nvim",
"neovim/nvim-lspconfig",
},
keys = {
{
"<leader>cl",
function()
local running_lsp_config = vim.lsp.get_clients()
if next(running_lsp_config) == nil then
vim.cmd("LspStart")
else
vim.cmd("LspStop")
end
end,
desc = "Toggle LSP"
},
},
opts = {
servers = {
lua_ls = {
settings = {
Lua = {
runtime = { version = 'LuaJIT' },
diagnostics = {
globals = { 'vim', 'require' },
},
workspace = {
-- Make the server aware of Neovim runtime files
library = vim.api.nvim_get_runtime_file("", true),
},
},
},
},

pyright = {},
bashls = {},
},
},
config = function(_, opts)
require("mason").setup()
require("mason-lspconfig").setup({
ensure_installed = { "lua_ls", "pyright", "bashls" },
})
for server, config in pairs(opts.servers) do
vim.lsp.config(server, config)
-- By default, we need to intentionally start the LSP with <leader>cl, but if you want to run it as soon as a file is opened, then uncomment this line.
-- vim.lsp.enable(server, true)
end

-- Set up an autocmd to only set the following keymaps if we have attached an LSP (LspAttach event)
vim.api.nvim_create_autocmd(
"LspAttach",
{
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc" -- Enable completion triggered by <c-x><c-o>
local opts2 = { buffer = ev.buf }

-- Run code thru formatter
vim.keymap.set("n", "<leader>cf", function() vim.lsp.buf.format({ async = true }) end, opts2)

-- Open the diagnostic under the cursor in a float window
vim.keymap.set("n", "<leader>d", function()
vim.diagnostic.open_float({ border = "rounded", })

-- Toggle virtual lines for diagnostics everywhere in buffer
vim.keymap.set('n', 'gK', function()
local new_config = not vim.diagnostic.config().virtual_lines
vim.diagnostic.config({ virtual_lines = new_config })
end, { desc = 'Toggle diagnostic virtual_lines' })
end, opts2)
end,
}
)
end,
},
}
else
-- nvim <0.11 support (will be removed eventually)
return {
{
"neovim/nvim-lspconfig",
dependencies = { "saghen/blink.cmp" },
cmd = "LspStart",
init = function()
local lspconfig = require("lspconfig")

-- Below, autostart = false means that you need to explicity call :LspStart (<leader>cl)
--
-- ----------------------------------------------------------------------
-- CONFIGURE ADDITIONAL LANGUAGE SERVERS HERE
opts = {
servers = {
pyright = { autostart = false },
bashls = { autostart = false },
lua_ls = {
autostart = false,
-- These are the recommended options when mainly using Lua for
-- Neovim
on_init = function(client)
local path = client.workspace_folders[1].name
if not vim.loop.fs_stat(path .. "/.luarc.json") and not vim.loop.fs_stat(path .. "/.luarc.jsonc") then
client.config.settings = vim.tbl_deep_extend("force", client.config.settings, {
Lua = {
runtime = { version = "LuaJIT" },
workspace = {
checkThirdParty = false,
library = {
vim.env.VIMRUNTIME,
},
},
},
})

client.notify("workspace/didChangeConfiguration", { settings = client.config.settings })
end
end,
},
},
}

for server, config in pairs(opts.servers) do
config.capabilities = require("blink.cmp").get_lsp_capabilities(config.capabilities)
lspconfig[server].setup(config)
end

-- Use LspAttach autocommand to only map the following keys after
-- the language server attaches to the current buffer
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
vim.keymap.set("n", "<leader>cgd", vim.lsp.buf.definition, { buffer = ev.buf, desc = "Goto definition" })
vim.keymap.set("n", "<leader>cK", vim.lsp.buf.hover, { buffer = ev.buf, desc = "Hover help" })
vim.keymap.set("n", "<leader>crn", vim.lsp.buf.rename, { buffer = ev.buf, desc = "Rename" })
vim.keymap.set("n", "<leader>cgr", vim.lsp.buf.references, { buffer = ev.buf, desc = "Goto references" })
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, { buffer = ev.buf, desc = "Code action" })
end,
})
end,
keys = {
-- Because autostart=false above, need to manually start the language server.
{ "<leader>cl", "<cmd>LspStart<CR>", desc = "Start LSP" },
{ "<leader>ce", vim.diagnostic.open_float, desc = "Open diagnostics/errors" },
{ "]d", vim.diagnostic.goto_next, desc = "Next diagnostic/error" },
{ "[d", vim.diagnostic.goto_prev, desc = "Prev diagnostic/error" },
},
},
}
end
Loading