Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1a00736e35 | |||
| b9f7601210 | |||
| 42c0ee17ab | |||
| a29e798b3a | |||
| 448bb7a748 | |||
| fccfac8e73 | |||
| 2fb9f3f9e6 | |||
| 6f1910c323 | |||
| 2fd4ea36cc | |||
| b433bf4f67 | |||
| 2dbc45f106 | |||
| c8a8f61a9f | |||
| d95aefb166 | |||
| 17b700c910 |
@ -1,16 +1,19 @@
|
||||
require("set")
|
||||
require("remap")
|
||||
require("lsp")
|
||||
|
||||
-- Set up lazy
|
||||
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
|
||||
@ -1,58 +1,48 @@
|
||||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "a35468cd72645dbd52c0624ceead5f301c566dff" },
|
||||
"auto-session": { "branch": "main", "commit": "fffb13dcbe8731b8650e5bf1caa749a485d20556" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "2b3cbcdd980cae1e022409289245053f62fb50f6" },
|
||||
"auto-session": { "branch": "main", "commit": "f0eb3d69848389869572b82b336d7a6887e88e43" },
|
||||
"cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
|
||||
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
|
||||
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"copilot.lua": { "branch": "master", "commit": "c1bb86abbed1a52a11ab3944ef00c8410520543d" },
|
||||
"copilot.lua": { "branch": "master", "commit": "93adf9844dcbe09a37e7a72eaa286d33d38bf628" },
|
||||
"csvview.nvim": { "branch": "main", "commit": "bbab4c2f808fd8e11ec8dfdd128251aadba566a1" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "00e38a379bab3389e187b3953566d67d494dfddd" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
|
||||
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
|
||||
"image.nvim": { "branch": "master", "commit": "4c51d6202628b3b51e368152c053c3fb5c5f76f2" },
|
||||
"image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
|
||||
"jupytext.nvim": { "branch": "main", "commit": "c8baf3ad344c59b3abd461ecc17fc16ec44d0f7b" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "db067881fff0fd4be8c00e5bde7492e0e1c77a2f" },
|
||||
"lsp-colors.nvim": { "branch": "main", "commit": "2bbe7541747fd339bdd8923fc45631a09bb4f1e5" },
|
||||
"lsp-zero.nvim": { "branch": "v3.x", "commit": "77550f2f6cbf0959ef1583d845661af075f3442b" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"markdown-toc.nvim": { "branch": "main", "commit": "5f51c86a416d7da6c0708d4ea354722fec7bb2b0" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "bb30c422329e86fcaa4e4920181f6715d634e516" },
|
||||
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
|
||||
"markdown-toc.nvim": { "branch": "main", "commit": "869af35bce0c27e2006f410fa3f706808db4843d" },
|
||||
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
||||
"molten-nvim": { "branch": "main", "commit": "a286aa914d9a154bc359131aab788b5a077a5a99" },
|
||||
"neoformat": { "branch": "master", "commit": "9d2e28993e06e86b88c364b6176612b917468f3e" },
|
||||
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
|
||||
"noice.nvim": { "branch": "main", "commit": "d14d02cb709e3bb2da88363c32f8b4250bced52d" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||
"nvim-dap": { "branch": "master", "commit": "2edd6375692d9ac1053d50acfe415c1eb2ba92d0" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "73a26abf4941aa27da59820fd6b028ebcdbcf932" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "99d3a0f26bfe402f45257c1398287aef252cbe2d" },
|
||||
"nvim-dap": { "branch": "master", "commit": "6782b097af2417a4c3e33849b0a26ae2188bd7ea" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
|
||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
|
||||
"oil.nvim": { "branch": "master", "commit": "08c2bce8b00fd780fb7999dbffdf7cd174e896fb" },
|
||||
"otter.nvim": { "branch": "main", "commit": "f3a401851c25c64220dcf2470252a1adc28308d5" },
|
||||
"overseer.nvim": { "branch": "master", "commit": "72c68aab0358c92f451168b704c411c4a3e3410e" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
|
||||
"oil.nvim": { "branch": "master", "commit": "7e1cd7703ff2924d7038476dcbc04b950203b902" },
|
||||
"otter.nvim": { "branch": "main", "commit": "fc0aa35b1985077d11a20ddf4006bf40f2cd7397" },
|
||||
"overseer.nvim": { "branch": "master", "commit": "c77c78b35d0b4d244e1cd77c25ec93a16fbbfc94" },
|
||||
"pastify.nvim": { "branch": "main", "commit": "4a1d1e03c3ae725ee4af796deca8c7c169ef626e" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"quarto-nvim": { "branch": "main", "commit": "5325af3731ac9840b308791f08ad660958d76163" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"quarto-nvim": { "branch": "main", "commit": "0e9491509b38efbd83d3f41dbfacc7fc4bd40191" },
|
||||
"session-lens": { "branch": "main", "commit": "eae46b472b3150f5ec0f977556e8085683d49eb0" },
|
||||
"sqlite.nvim": { "branch": "master", "commit": "a8466c830a89794c2eafa41b41dd11fdf4a0d7ca" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
||||
"time-tracker.nvim": { "branch": "master", "commit": "c84998bbadb1afca8e09943b1c14bafe1711bb9a" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||
"time-tracker.nvim": { "branch": "master", "commit": "4127c4b5fecaf5f5cb3aa840707e58bb88eb9bf0" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "19d461ddd543e938eb22505fb03fa878800270b6" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "3609bb9a82bbab1ef95cf2c27ce7e52267a7d40d" },
|
||||
"undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" },
|
||||
"undotree": { "branch": "master", "commit": "0f1c9816975b5d7f87d5003a19c53c6fd2ff6f7f" },
|
||||
"vim-doge": { "branch": "master", "commit": "03a84072ef21b205237c77986c78914395d646c3" },
|
||||
"vim-flog": { "branch": "master", "commit": "665b16ac8915f746bc43c9572b4581a5e9047216" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" },
|
||||
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
|
||||
"vimtex": { "branch": "master", "commit": "e10525a5aa65e2544f11e680dd81c77fba800248" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
|
||||
"vimtex": { "branch": "master", "commit": "be9deac3a23eeb145ccf11dd09080795838496ce" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" }
|
||||
}
|
||||
|
||||
13
nvim/.config/nvim/lsp/clangd.lua
Normal file
13
nvim/.config/nvim/lsp/clangd.lua
Normal file
@ -0,0 +1,13 @@
|
||||
return {
|
||||
cmd = {
|
||||
'clangd'
|
||||
},
|
||||
root_markers = {
|
||||
'.clangd',
|
||||
'compile_commands.json'
|
||||
},
|
||||
filetypes = {
|
||||
'c',
|
||||
'cpp'
|
||||
}
|
||||
}
|
||||
9
nvim/.config/nvim/lsp/dockerls.lua
Normal file
9
nvim/.config/nvim/lsp/dockerls.lua
Normal file
@ -0,0 +1,9 @@
|
||||
return {
|
||||
cmd = { 'docker-langserver', '--stdio' },
|
||||
filetypes = {
|
||||
'dockerfile'
|
||||
},
|
||||
root_markers = {
|
||||
'Dockerfile',
|
||||
},
|
||||
}
|
||||
20
nvim/.config/nvim/lsp/luals.lua
Normal file
20
nvim/.config/nvim/lsp/luals.lua
Normal file
@ -0,0 +1,20 @@
|
||||
return {
|
||||
cmd = {
|
||||
'lua-language-server'
|
||||
},
|
||||
filetypes = {
|
||||
'lua'
|
||||
},
|
||||
root_markers = {
|
||||
'.luarc.json',
|
||||
'.luarc.jsonc',
|
||||
'.git'
|
||||
},
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
version = 'LuaJIT'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
0
nvim/.config/nvim/lsp/mdformat-myst.lua
Normal file
0
nvim/.config/nvim/lsp/mdformat-myst.lua
Normal file
5
nvim/.config/nvim/lsp/neocmakelsp.lua
Normal file
5
nvim/.config/nvim/lsp/neocmakelsp.lua
Normal file
@ -0,0 +1,5 @@
|
||||
return {
|
||||
cmd = { "neocmakelsp", "--stdio" },
|
||||
filetypes = { "cmake" },
|
||||
root_markers = { ".git", "README.md" }
|
||||
}
|
||||
20
nvim/.config/nvim/lsp/pyright.lua
Normal file
20
nvim/.config/nvim/lsp/pyright.lua
Normal file
@ -0,0 +1,20 @@
|
||||
return {
|
||||
cmd = {
|
||||
'pyright-langserver', '--stdio'
|
||||
},
|
||||
settings = {
|
||||
python = {
|
||||
analysis = {
|
||||
typeCheckingMode = "basic", -- or "strict", "off"
|
||||
autoSearchPaths = true,
|
||||
useLibraryCodeForTypes = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
root_markers = {
|
||||
'pyproject.toml', 'setup.py', 'setup.cfg', 'requirements.txt', '.git'
|
||||
},
|
||||
filetypes = {
|
||||
'python'
|
||||
},
|
||||
}
|
||||
11
nvim/.config/nvim/lsp/ruff.lua
Normal file
11
nvim/.config/nvim/lsp/ruff.lua
Normal file
@ -0,0 +1,11 @@
|
||||
return {
|
||||
cmd = {
|
||||
'ruff', 'server'
|
||||
},
|
||||
filetypes = {
|
||||
'python'
|
||||
},
|
||||
root_markers = {
|
||||
'setup.py', 'setup.cfg', 'requirements.txt', '.git', 'ruff.toml'
|
||||
}
|
||||
}
|
||||
19
nvim/.config/nvim/lsp/rust-analyzer.lua
Normal file
19
nvim/.config/nvim/lsp/rust-analyzer.lua
Normal file
@ -0,0 +1,19 @@
|
||||
return {
|
||||
cmd = { 'rust-analyzer' },
|
||||
filetypes = { 'rust' },
|
||||
root_markers = { "Cargo.toml", ".git" },
|
||||
-- single_file_support = true,
|
||||
-- settings = {
|
||||
-- ['rust-analyzer'] = {
|
||||
-- diagnostics = {
|
||||
-- enable = false,
|
||||
-- }
|
||||
-- }
|
||||
-- },
|
||||
before_init = function(init_params, config)
|
||||
-- See https://github.com/rust-lang/rust-analyzer/blob/eb5da56d839ae0a9e9f50774fa3eb78eb0964550/docs/dev/lsp-extensions.md?plain=1#L26
|
||||
if config.settings and config.settings['rust-analyzer'] then
|
||||
init_params.initializationOptions = config.settings['rust-analyzer']
|
||||
end
|
||||
end,
|
||||
}
|
||||
27
nvim/.config/nvim/lsp/texlab.lua
Normal file
27
nvim/.config/nvim/lsp/texlab.lua
Normal file
@ -0,0 +1,27 @@
|
||||
return {
|
||||
cmd = { 'texlab' },
|
||||
filetypes = { 'tex' },
|
||||
root_markers = { '.git', '.latexmkrc' },
|
||||
settings = {
|
||||
texlab = {
|
||||
rootDirectory = nil,
|
||||
build = {
|
||||
executable = 'latexmk',
|
||||
args = { '-pdf', '-interaction=nonstopmode', '-synctex=1', '%f' },
|
||||
onSave = false,
|
||||
forwardSearchAfter = false,
|
||||
},
|
||||
forwardSearch = {
|
||||
executable = nil,
|
||||
args = {},
|
||||
},
|
||||
chktex = {
|
||||
onOpenAndSave = false,
|
||||
onEdit = false,
|
||||
},
|
||||
diagnosticsDelay = 300,
|
||||
latexFormatter = 'tex-fmt',
|
||||
bibtexFormatter = 'tex-fmt',
|
||||
},
|
||||
},
|
||||
}
|
||||
90
nvim/.config/nvim/lua/lsp.lua
Normal file
90
nvim/.config/nvim/lua/lsp.lua
Normal file
@ -0,0 +1,90 @@
|
||||
-- Set up LSP
|
||||
|
||||
local lsp_configs = {}
|
||||
|
||||
for _, f in pairs(vim.api.nvim_get_runtime_file('lsp/*.lua', true)) do
|
||||
local server_name = vim.fn.fnamemodify(f, ':t:r')
|
||||
table.insert(lsp_configs, server_name)
|
||||
end
|
||||
|
||||
vim.lsp.enable(lsp_configs)
|
||||
|
||||
|
||||
vim.o.completeopt = "menu,menuone,noinsert"
|
||||
vim.api.nvim_set_keymap("i", "<C-Space>", "<C-x><C-o>", { noremap = true })
|
||||
|
||||
|
||||
-- TODO: Put this somewhere sensible
|
||||
vim.api.nvim_create_autocmd('LspAttach', {
|
||||
group = vim.api.nvim_create_augroup('my.lsp', {}),
|
||||
callback = function(args)
|
||||
local client = assert(vim.lsp.get_client_by_id(args.data.client_id))
|
||||
|
||||
-- Make Tab accept the selected completion
|
||||
vim.keymap.set('i', '<Tab>', function()
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
return '<C-y>'
|
||||
else
|
||||
return '<Tab>'
|
||||
end
|
||||
end, { expr = true })
|
||||
|
||||
-- Make Enter just insert a newline (don't accept completion)
|
||||
vim.keymap.set('i', '<CR>', function()
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
return '<C-e><CR>'
|
||||
else
|
||||
return '<CR>'
|
||||
end
|
||||
end, { expr = true })
|
||||
|
||||
-- Enable auto-completion. Note: Use CTRL-Y to select an item. |complete_CTRL-Y|
|
||||
if client:supports_method('textDocument/completion') then
|
||||
-- Trigger autocompletion on EVERY keypress. May be slow!
|
||||
local chars = {}; for i = 32, 126 do table.insert(chars, string.char(i)) end
|
||||
client.server_capabilities.completionProvider.triggerCharacters = chars
|
||||
|
||||
vim.lsp.completion.enable(true, client.id, args.buf, { autotrigger = true })
|
||||
end
|
||||
|
||||
vim.keymap.set('n', '<M-L>',
|
||||
function() vim.lsp.buf.format() end,
|
||||
{
|
||||
desc = "Format",
|
||||
noremap = true,
|
||||
silent = true
|
||||
})
|
||||
vim.keymap.set('i', '<M-L>',
|
||||
function() vim.lsp.buf.format() end,
|
||||
{
|
||||
desc = "Format",
|
||||
noremap = true,
|
||||
silent = true
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, {
|
||||
desc = "Go to definition"
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "grr", ":Trouble lsp_references<CR>", {
|
||||
desc = "Show references"
|
||||
})
|
||||
|
||||
-- if client:supports_method('textDocument/implementation') then
|
||||
-- -- Create a keymap for vim.lsp.buf.implementation ...
|
||||
-- end
|
||||
|
||||
-- -- Auto-format ("lint") on save.
|
||||
-- -- Usually not needed if server supports "textDocument/willSaveWaitUntil".
|
||||
-- if not client:supports_method('textDocument/willSaveWaitUntil')
|
||||
-- and client:supports_method('textDocument/formatting') then
|
||||
-- vim.api.nvim_create_autocmd('BufWritePre', {
|
||||
-- group = vim.api.nvim_create_augroup('my.lsp', { clear = false }),
|
||||
-- buffer = args.buf,
|
||||
-- callback = function()
|
||||
-- vim.lsp.buf.format({ bufnr = args.buf, id = client.id, timeout_ms = 1000 })
|
||||
-- end,
|
||||
-- })
|
||||
-- end
|
||||
end,
|
||||
})
|
||||
26
nvim/.config/nvim/lua/plugins/csvview.lua
Normal file
26
nvim/.config/nvim/lua/plugins/csvview.lua
Normal file
@ -0,0 +1,26 @@
|
||||
return {
|
||||
"hat0uma/csvview.nvim",
|
||||
---@module "csvview"
|
||||
---@type CsvView.Options
|
||||
opts = {
|
||||
parser = { comments = { "#", "//" } },
|
||||
keymaps = {
|
||||
-- Text objects for selecting fields
|
||||
textobject_field_inner = { "if", mode = { "o", "x" } },
|
||||
textobject_field_outer = { "af", mode = { "o", "x" } },
|
||||
-- Excel-like navigation:
|
||||
-- Use <Tab> and <S-Tab> to move horizontally between fields.
|
||||
-- Use <Enter> and <S-Enter> to move vertically between rows and place the cursor at the end of the field.
|
||||
-- Note: In terminals, you may need to enable CSI-u mode to use <S-Tab> and <S-Enter>.
|
||||
jump_next_field_end = { "<Tab>", mode = { "n", "v" } },
|
||||
jump_prev_field_end = { "<S-Tab>", mode = { "n", "v" } },
|
||||
jump_next_row = { "<Enter>", mode = { "n", "v" } },
|
||||
jump_prev_row = { "<S-Enter>", mode = { "n", "v" } },
|
||||
},
|
||||
},
|
||||
cmd = { "CsvViewEnable", "CsvViewDisable", "CsvViewToggle" },
|
||||
init = function()
|
||||
vim.keymap.set("n", "<leader>ce", ":CsvViewEnable display_mode=border header_lnum=1<CR>")
|
||||
vim.keymap.set("n", "<leader>cd", ":CsvViewDisable<CR>")
|
||||
end
|
||||
}
|
||||
@ -1,193 +0,0 @@
|
||||
return {
|
||||
{
|
||||
{
|
||||
'VonHeikemen/lsp-zero.nvim',
|
||||
branch = 'v3.x',
|
||||
lazy = true,
|
||||
config = false,
|
||||
init = function()
|
||||
-- Disable automatic setup, we are doing it manually
|
||||
vim.g.lsp_zero_extend_cmp = 0
|
||||
vim.g.lsp_zero_extend_lspconfig = 0
|
||||
end
|
||||
},
|
||||
{
|
||||
'williamboman/mason.nvim',
|
||||
lazy = false,
|
||||
opts = {
|
||||
registries = {
|
||||
"github:antsouchlos/mason-registry",
|
||||
"github:mason-org/mason-registry"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
-- Autocompletion
|
||||
{
|
||||
'hrsh7th/nvim-cmp',
|
||||
event = 'InsertEnter',
|
||||
dependencies = {
|
||||
'L3MON4D3/LuaSnip',
|
||||
'hrsh7th/cmp-buffer',
|
||||
'hrsh7th/cmp-path',
|
||||
'hrsh7th/cmp-cmdline',
|
||||
'hrsh7th/cmp-nvim-lsp-signature-help',
|
||||
'saadparwaiz1/cmp_luasnip'
|
||||
},
|
||||
config = function()
|
||||
local lsp_zero = require('lsp-zero')
|
||||
lsp_zero.extend_cmp()
|
||||
|
||||
local cmp = require('cmp')
|
||||
|
||||
cmp.setup({
|
||||
sources = {
|
||||
-- LuaFormatter off
|
||||
{ name = 'path' },
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'nvim_lua' },
|
||||
{ name = 'luasnip', keyword_length = 2 },
|
||||
{ name = 'buffer', keyword_length = 3 },
|
||||
{ name = 'nvim_lsp_signature_help' }
|
||||
-- LuaFormatter on
|
||||
},
|
||||
formatting = lsp_zero.cmp_format(),
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
|
||||
['<Tab>'] = cmp.mapping.confirm({
|
||||
select = true
|
||||
}),
|
||||
['<C-Space>'] = cmp.mapping.complete()
|
||||
}),
|
||||
snippet = {
|
||||
expand = function(args) require('luasnip').lsp_expand(args.body) end
|
||||
}
|
||||
})
|
||||
|
||||
cmp.setup.filetype('gitcommit', {
|
||||
-- LuaFormatter off
|
||||
sources = cmp.config.sources(
|
||||
{ { name = 'git' } },
|
||||
{ { name = 'buffer' } }
|
||||
)
|
||||
-- LuaFormatter on
|
||||
})
|
||||
|
||||
cmp.setup.cmdline({
|
||||
'/',
|
||||
'?'
|
||||
}, {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = {
|
||||
{
|
||||
name = 'buffer'
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
cmp.setup.cmdline(':', {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({
|
||||
{
|
||||
name = 'path'
|
||||
}
|
||||
}, {
|
||||
{
|
||||
name = 'cmdline'
|
||||
}
|
||||
})
|
||||
})
|
||||
end
|
||||
},
|
||||
|
||||
-- LSP
|
||||
{
|
||||
'neovim/nvim-lspconfig',
|
||||
cmd = {
|
||||
'LspInfo',
|
||||
'LspInstall',
|
||||
'LspStart'
|
||||
},
|
||||
event = {
|
||||
'BufReadPre',
|
||||
'BufNewFile'
|
||||
},
|
||||
dependencies = {
|
||||
'hrsh7th/cmp-nvim-lsp',
|
||||
'williamboman/mason-lspconfig.nvim',
|
||||
"folke/trouble.nvim"
|
||||
},
|
||||
config = function()
|
||||
local lsp_zero = require('lsp-zero')
|
||||
lsp_zero.extend_lspconfig()
|
||||
|
||||
lsp_zero.on_attach(function(client, bufnr)
|
||||
vim.keymap.set("n", "<leader>ld", function() vim.lsp.buf.definition() end, {
|
||||
desc = "Go to definition"
|
||||
})
|
||||
vim.keymap.set("n", "<leader>lh", function() vim.lsp.buf.hover() end, {
|
||||
desc = "Hover"
|
||||
})
|
||||
vim.keymap.set("n", "<leader>lr", ":Trouble lsp_references<CR>", {
|
||||
desc = "Show references"
|
||||
})
|
||||
vim.keymap.set("n", "<leader>ln", function() vim.lsp.buf.rename() end, {
|
||||
desc = "Rename"
|
||||
})
|
||||
vim.keymap.set("n", "<leader>ls", function() vim.lsp.buf.signature_help() end, {
|
||||
desc = "Signature help"
|
||||
})
|
||||
vim.keymap.set("n", "<leader>la", function() vim.lsp.buf.code_action() end, {
|
||||
desc = "Code actions"
|
||||
})
|
||||
end)
|
||||
|
||||
require('mason-lspconfig').setup({
|
||||
ensure_installed = {
|
||||
'clangd',
|
||||
'pyright',
|
||||
'cmake',
|
||||
'texlab'
|
||||
},
|
||||
handlers = {
|
||||
lsp_zero.default_setup,
|
||||
lua_ls = function()
|
||||
local lua_opts = lsp_zero.nvim_lua_ls()
|
||||
require('lspconfig').lua_ls.setup(lua_opts)
|
||||
end
|
||||
}
|
||||
})
|
||||
|
||||
require('lspconfig')['clangd'].setup {
|
||||
cmd = {
|
||||
"clangd",
|
||||
"--background-index",
|
||||
"--clang-tidy",
|
||||
"--completion-style=bundled",
|
||||
"--cross-file-rename",
|
||||
"--header-insertion=iwyu",
|
||||
-- Required for embedded system compilers
|
||||
"--query-driver=/**/*g++",
|
||||
"--offset-encoding=utf-16"
|
||||
-- "-j=8",
|
||||
-- "--malloc-trim",
|
||||
-- "--pch-storage=memory"
|
||||
}
|
||||
}
|
||||
|
||||
-- require('lspconfig').matlab_ls.setup({
|
||||
-- settings = {
|
||||
-- filetypes = {
|
||||
-- "matlab"
|
||||
-- },
|
||||
-- matlab = {
|
||||
-- installPath = "/opt/matlab/R2023a/"
|
||||
-- }
|
||||
-- },
|
||||
-- single_file_support = true
|
||||
-- })
|
||||
end
|
||||
}
|
||||
}
|
||||
}
|
||||
10
nvim/.config/nvim/lua/plugins/mason.lua
Normal file
10
nvim/.config/nvim/lua/plugins/mason.lua
Normal file
@ -0,0 +1,10 @@
|
||||
return {
|
||||
'williamboman/mason.nvim',
|
||||
lazy = false,
|
||||
opts = {
|
||||
registries = {
|
||||
"github:antsouchlos/mason-registry",
|
||||
"github:mason-org/mason-registry"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,124 +0,0 @@
|
||||
return {
|
||||
{
|
||||
'sbdchd/neoformat',
|
||||
event = {
|
||||
"BufReadPost",
|
||||
"BufNewFile"
|
||||
},
|
||||
init = function()
|
||||
----------------
|
||||
-- Formatters
|
||||
----------------
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "python",
|
||||
callback = function()
|
||||
vim.g.neoformat_python_autopep8 = {
|
||||
exe = 'autopep8',
|
||||
args = {'--max-line-length', '79', '--experimental'},
|
||||
-- replace = 1
|
||||
}
|
||||
vim.g.neoformat_enabled_python = {
|
||||
'autopep8'
|
||||
}
|
||||
end
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = {
|
||||
"cpp",
|
||||
"c"
|
||||
},
|
||||
callback = function()
|
||||
vim.g.neoformat_enabled_cpp = {
|
||||
'clangformat'
|
||||
}
|
||||
vim.g.neoformat_enabled_c = {
|
||||
'clangformat'
|
||||
}
|
||||
end
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "lua",
|
||||
callback = function()
|
||||
vim.g.neoformat_enable_lua = {
|
||||
'luaformatter'
|
||||
}
|
||||
end
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "cmake",
|
||||
callback = function()
|
||||
vim.g.neoformat_enabled_cmake = {
|
||||
'cmake-format'
|
||||
}
|
||||
end
|
||||
})
|
||||
|
||||
-- Commented out rust formatter
|
||||
-- vim.api.nvim_create_autocmd("FileType", {
|
||||
-- pattern = "rust",
|
||||
-- callback = function()
|
||||
-- vim.g.neoformat_enabled_rust = {'rustfmt'}
|
||||
-- end
|
||||
-- })
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "markdown",
|
||||
callback = function()
|
||||
vim.g.neoformat_markdown_mdformat = {
|
||||
exe = 'mdformat',
|
||||
args = {
|
||||
'--wrap=79',
|
||||
'--number'
|
||||
},
|
||||
replace = 1
|
||||
}
|
||||
vim.g.neoformat_enabled_markdown = {
|
||||
'mdformat'
|
||||
}
|
||||
end
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "tex",
|
||||
callback = function()
|
||||
vim.g.neoformat_tex_texfmt = {
|
||||
exe = "tex-fmt",
|
||||
args = {
|
||||
"--stdin",
|
||||
"--tabsize",
|
||||
"4"
|
||||
},
|
||||
stdin = 1
|
||||
}
|
||||
vim.g.neoformat_enabled_tex = {
|
||||
"texfmt"
|
||||
}
|
||||
end
|
||||
})
|
||||
|
||||
----------------
|
||||
-- Other
|
||||
----------------
|
||||
|
||||
-- vim.cmd([[
|
||||
-- augroup Neoformat
|
||||
-- autocmd!
|
||||
-- autocmd BufWritePre * undojoin | Neoformat
|
||||
-- augroup END
|
||||
-- ]])
|
||||
|
||||
vim.api.nvim_set_keymap('n', '<M-L>', '<cmd>Neoformat<cr>', {
|
||||
noremap = true,
|
||||
silent = true
|
||||
})
|
||||
vim.api.nvim_set_keymap('i', '<M-L>', '<cmd>Neoformat<cr>', {
|
||||
noremap = true,
|
||||
silent = true
|
||||
})
|
||||
end
|
||||
}
|
||||
}
|
||||
@ -6,19 +6,19 @@
|
||||
-- local function execute_in_repo_root(func)
|
||||
-- local function is_git_repo()
|
||||
-- vim.fn.system("git rev-parse --is-inside-work-tree")
|
||||
--
|
||||
--
|
||||
-- return vim.v.shell_error == 0
|
||||
-- end
|
||||
--
|
||||
--
|
||||
-- local function get_git_root()
|
||||
-- local dot_git_path = vim.fn.finddir(".git", ".;")
|
||||
-- return vim.fn.fnamemodify(dot_git_path, ":h")
|
||||
-- end
|
||||
--
|
||||
--
|
||||
-- local opts = {}
|
||||
--
|
||||
--
|
||||
-- if is_git_repo() then opts = {cwd = get_git_root()} end
|
||||
--
|
||||
--
|
||||
-- func(opts)
|
||||
-- end
|
||||
-----------------------
|
||||
@ -30,21 +30,38 @@ return {
|
||||
version = '0.1.5',
|
||||
dependencies = {
|
||||
{
|
||||
'nvim-lua/plenary.nvim'
|
||||
'nvim-lua/plenary.nvim',
|
||||
'folke/trouble.nvim',
|
||||
}
|
||||
},
|
||||
cmd = "Telescope",
|
||||
init = function()
|
||||
-- LuaFormatter off
|
||||
vim.keymap.set('n', '<leader>ff', function() require("telescope.builtin").find_files() end,{desc = "Files"})
|
||||
vim.keymap.set('n', '<leader>fg', function() require("telescope.builtin").live_grep() end,{desc = "grep"})
|
||||
vim.keymap.set('n', '<leader>fa', function()
|
||||
require("telescope.builtin").find_files({hidden = true})
|
||||
end, {desc = "All files"})
|
||||
-- Set up keymaps
|
||||
|
||||
vim.keymap.set('n', '<leader>fb', function() require("telescope.builtin").buffers() end, {desc = "Buffers"})
|
||||
vim.keymap.set('n', '<leader>fh', function() require("telescope.builtin").help_tags() end, {desc = "Help tags"})
|
||||
-- LuaFormatter on
|
||||
vim.keymap.set('n', '<leader>ff', function() require("telescope.builtin").find_files() end,
|
||||
{ desc = "Files" })
|
||||
vim.keymap.set('n', '<leader>fg', function() require("telescope.builtin").live_grep() end, { desc = "grep" })
|
||||
vim.keymap.set('n', '<leader>fa', function()
|
||||
require("telescope.builtin").find_files({ hidden = true })
|
||||
end, { desc = "All files" })
|
||||
|
||||
vim.keymap.set('n', '<leader>fb', function() require("telescope.builtin").buffers() end, { desc = "Buffers" })
|
||||
vim.keymap.set('n', '<leader>fh', function() require("telescope.builtin").help_tags() end,
|
||||
{ desc = "Help tags" })
|
||||
|
||||
-- Set up trouble
|
||||
|
||||
local open_with_trouble = require("trouble.sources.telescope").open
|
||||
local telescope = require("telescope")
|
||||
|
||||
telescope.setup({
|
||||
defaults = {
|
||||
mappings = {
|
||||
i = { ["<c-t>"] = open_with_trouble },
|
||||
n = { ["<c-t>"] = open_with_trouble },
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
}
|
||||
}
|
||||
|
||||
@ -39,6 +39,11 @@ return {
|
||||
"<cmd>Trouble symbols toggle focus=false<cr>",
|
||||
desc = "Symbols (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xt",
|
||||
"<cmd>Trouble todo toggle focus=true<cr>",
|
||||
desc = "Symbols (Trouble)",
|
||||
},
|
||||
-- {
|
||||
-- "<leader>cl",
|
||||
-- "<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
||||
|
||||
@ -18,7 +18,7 @@ bindsym Control+Mod1+l exec $lock
|
||||
|
||||
bindsym Print exec grim -g "$(slurp -d)" - | wl-copy
|
||||
|
||||
bindsym $mod+p exec kitty -e /usr/bin/expect -c "spawn python; expect \\"*>>> \\"; send \\"import numpy as np\n\\"; send \\"import sympy as sp\n\\"; interact"
|
||||
bindsym $mod+p exec kitty -e /usr/bin/expect -c "spawn python; expect \\"*>>> \\"; send \\"import numpy as np\n\\"; send \\"import sympy as sp\n\\"; send \\"import torch\n\\"; interact"
|
||||
bindsym $mod+Return exec $term
|
||||
bindsym $mod+Shift+q kill
|
||||
bindsym $mod+d exec $menu
|
||||
|
||||
@ -10,7 +10,7 @@ input "type:touchpad" {
|
||||
}
|
||||
|
||||
input type:keyboard {
|
||||
xkb_layout de(nodeadkeys),gr,de(neo)
|
||||
xkb_layout de(nodeadkeys),us,gr
|
||||
xkb_options grp:ctrls_toggle,caps:escape
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user