Compare commits
2 commits
14452344b4
...
4116644979
| Author | SHA1 | Date | |
|---|---|---|---|
| 4116644979 | |||
| 61eca53e06 |
14 changed files with 159 additions and 135 deletions
22
.gitmodules
vendored
22
.gitmodules
vendored
|
|
@ -1,11 +1,13 @@
|
|||
[submodule "pack/general/start/gruvbox.nvim"]
|
||||
path = pack/general/start/gruvbox.nvim
|
||||
url = https://github.com/npxbr/gruvbox.nvim
|
||||
branch = main
|
||||
[submodule "pack/general/start/lush.nvim"]
|
||||
path = pack/general/start/lush.nvim
|
||||
url = https://github.com/rktjmp/lush.nvim
|
||||
branch = main
|
||||
[submodule "pack/general/start/nvim-lspconfig"]
|
||||
path = pack/general/start/nvim-lspconfig
|
||||
path = pack/general/opt/nvim-lspconfig
|
||||
url = https://github.com/neovim/nvim-lspconfig
|
||||
branch = master
|
||||
[submodule "pack/general/start/nvim-treesitter"]
|
||||
|
|
@ -66,12 +68,14 @@
|
|||
[submodule "nvim-dap"]
|
||||
path = pack/general/opt/nvim-dap
|
||||
url = https://github.com/mfussenegger/nvim-dap
|
||||
branch = master
|
||||
[submodule "pack/general/start/nvim-dap-go"]
|
||||
path = pack/general/opt/nvim-dap-go
|
||||
url = https://github.com/leoluz/nvim-dap-go
|
||||
[submodule "pack/general/start/nvim-dap-ui"]
|
||||
path = pack/general/opt/nvim-dap-ui
|
||||
url = https://github.com/rcarriga/nvim-dap-ui
|
||||
branch = master
|
||||
[submodule "pack/general/start/vim-helm"]
|
||||
path = pack/general/start/vim-helm
|
||||
url = https://github.com/towolf/vim-helm
|
||||
|
|
@ -105,26 +109,21 @@
|
|||
[submodule "pack/general/start/crates.nvim"]
|
||||
path = pack/general/start/crates.nvim
|
||||
url = https://github.com/Saecki/crates.nvim
|
||||
branch = main
|
||||
[submodule "pack/general/start/neotest"]
|
||||
path = pack/general/start/neotest
|
||||
path = pack/general/opt/neotest
|
||||
url = https://github.com/nvim-neotest/neotest
|
||||
branch = master
|
||||
[submodule "pack/general/start/neotest-rust"]
|
||||
path = pack/general/start/neotest-rust
|
||||
path = pack/general/opt/neotest-rust
|
||||
url = https://github.com/rouge8/neotest-rust
|
||||
branch = main
|
||||
[submodule "pack/general/start/lsp_lines.nvim"]
|
||||
path = pack/general/start/lsp_lines.nvim
|
||||
path = pack/general/opt/lsp_lines.nvim
|
||||
url = https://git.sr.ht/~whynothugo/lsp_lines.nvim
|
||||
[submodule "pack/general/opt/crates.nvim"]
|
||||
path = pack/general/opt/crates.nvim
|
||||
url = https://github.com/Saecki/crates.nvim
|
||||
[submodule "pack/general/start/gruvbox"]
|
||||
branch = main
|
||||
[submodule "pack/general/opt/nvim-dap"]
|
||||
branch = master
|
||||
[submodule "pack/general/opt/nvim-dap-ui"]
|
||||
branch = master
|
||||
[submodule "pack/general/start/nvim-surround"]
|
||||
path = pack/general/start/nvim-surround
|
||||
url = https://github.com/kylechui/nvim-surround
|
||||
|
|
@ -133,3 +132,6 @@
|
|||
path = pack/general/start/nvim-spider
|
||||
url = https://github.com/chrisgrieser/nvim-spider
|
||||
branch = main
|
||||
[submodule "pack/general/opt/lsp_lines.nvim"]
|
||||
path = pack/general/opt/lsp_lines.nvim
|
||||
url = https://git.sr.ht/~whynothugo/lsp_lines.nvim
|
||||
|
|
|
|||
256
init.lua
256
init.lua
|
|
@ -1,47 +1,41 @@
|
|||
vim.loader.enable()
|
||||
---- Aliases ----
|
||||
local cmd = vim.cmd
|
||||
local g = vim.g
|
||||
local opt = vim.opt
|
||||
local opt_local = vim.opt_local
|
||||
|
||||
---- General Config ----
|
||||
opt.mouse = "a"
|
||||
opt.tabstop = 2
|
||||
opt.shiftwidth = 2
|
||||
opt.number = true
|
||||
opt.breakindent = true
|
||||
opt.showmatch = true
|
||||
opt.ignorecase = true
|
||||
opt.smartcase = true
|
||||
opt.joinspaces = false
|
||||
opt.showmode = false
|
||||
opt.hidden = true
|
||||
opt.backup = false
|
||||
opt.writebackup = false
|
||||
opt.swapfile = false
|
||||
opt.shortmess:append({ I = true })
|
||||
vim.opt.mouse = "a"
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.number = true
|
||||
vim.opt.breakindent = true
|
||||
vim.opt.showmatch = true
|
||||
vim.opt.ignorecase = true
|
||||
vim.opt.smartcase = true
|
||||
vim.opt.joinspaces = false
|
||||
vim.opt.showmode = false
|
||||
vim.opt.hidden = true
|
||||
vim.opt.backup = false
|
||||
vim.opt.writebackup = false
|
||||
vim.opt.swapfile = false
|
||||
vim.opt.shortmess:append({ I = true })
|
||||
-- whichwrap -- left/right keys can traverse up/down
|
||||
opt.whichwrap:append("<,>,[,]")
|
||||
opt.cmdheight = 2
|
||||
opt.showcmd = true
|
||||
opt.splitright = true
|
||||
opt.splitbelow = true
|
||||
g.mapleader = " "
|
||||
vim.opt.whichwrap:append("<,>,[,]")
|
||||
vim.opt.cmdheight = 2
|
||||
vim.opt.showcmd = true
|
||||
vim.opt.splitright = true
|
||||
vim.opt.splitbelow = true
|
||||
vim.g.mapleader = " "
|
||||
|
||||
---- Terminal ----
|
||||
vim.api.nvim_create_autocmd({ "TermOpen" }, {
|
||||
callback = function()
|
||||
opt_local.number = false
|
||||
vim.opt_local.number = false
|
||||
end,
|
||||
})
|
||||
|
||||
---- Theming ----
|
||||
opt.termguicolors = true
|
||||
opt.background = "dark"
|
||||
g.gruvbox_italic = true
|
||||
cmd.colorscheme("gruvbox")
|
||||
opt.listchars = {
|
||||
vim.opt.termguicolors = true
|
||||
vim.opt.background = "dark"
|
||||
vim.g.gruvbox_italic = true
|
||||
vim.cmd.colorscheme("gruvbox")
|
||||
vim.opt.listchars = {
|
||||
eol = "↲",
|
||||
tab = "▶▹",
|
||||
nbsp = "␣",
|
||||
|
|
@ -188,17 +182,17 @@ vim.filetype.add({ extension = { kdl = "kdl" } })
|
|||
vim.api.nvim_create_autocmd({ "FileType" }, {
|
||||
pattern = "markdown",
|
||||
callback = function()
|
||||
opt_local.textwidth = 85
|
||||
opt_local.spell = true
|
||||
vim.opt_local.textwidth = 85
|
||||
vim.opt_local.spell = true
|
||||
end,
|
||||
})
|
||||
-- YAML --
|
||||
vim.api.nvim_create_autocmd({ "FileType" }, {
|
||||
pattern = "yaml",
|
||||
callback = function()
|
||||
opt_local.softtabstop = 2
|
||||
opt_local.expandtab = true
|
||||
opt_local.foldmethod = "indent"
|
||||
vim.opt_local.softtabstop = 2
|
||||
vim.opt_local.expandtab = true
|
||||
vim.opt_local.foldmethod = "indent"
|
||||
end,
|
||||
})
|
||||
|
||||
|
|
@ -271,77 +265,112 @@ cmp.setup({
|
|||
}),
|
||||
})
|
||||
---- LSP ----
|
||||
local lsp = require("lspconfig")
|
||||
|
||||
-- Use an on_attach function to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
local on_lsp_attach = function(_client, _bufnr)
|
||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration)
|
||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition)
|
||||
vim.keymap.set("n", "K", vim.lsp.buf.hover)
|
||||
vim.keymap.set("n", "gi", vim.lsp.buf.implementation)
|
||||
vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help)
|
||||
vim.keymap.set("n", "<Leader>D", vim.lsp.buf.type_definition)
|
||||
vim.keymap.set("n", "<Leader>rn", vim.lsp.buf.rename)
|
||||
vim.keymap.set("n", "<Leader>ca", vim.lsp.buf.code_action)
|
||||
vim.keymap.set("n", "gr", vim.lsp.buf.references)
|
||||
vim.keymap.set("n", "<Leader>e", vim.diagnostic.open_float)
|
||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
|
||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
|
||||
vim.keymap.set("n", "<Leader>q", vim.diagnostic.setloclist)
|
||||
vim.keymap.set("n", "<F3>", function()
|
||||
vim.lsp.buf.format({ async = true })
|
||||
end)
|
||||
end
|
||||
|
||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||
-- map buffer local keybindings when the language server attaches
|
||||
local servers = {
|
||||
clangd = {},
|
||||
dotls = {},
|
||||
eslint = {},
|
||||
gopls = {},
|
||||
jsonls = {},
|
||||
kotlin_language_server = {},
|
||||
lua_ls = {
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = { version = "LuaJIT" },
|
||||
diagnostics = {
|
||||
globals = { "vim" },
|
||||
unusedLocalExclude = { "_*" },
|
||||
},
|
||||
workspace = {
|
||||
checkThirdParty = false,
|
||||
library = vim.api.nvim_get_runtime_file("", true),
|
||||
},
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
},
|
||||
vim.g.lsp_loaded = false
|
||||
vim.api.nvim_create_autocmd({ "FileType" }, {
|
||||
pattern = {
|
||||
"c",
|
||||
"cpp",
|
||||
"dot",
|
||||
"go",
|
||||
"javascript",
|
||||
"json",
|
||||
"latex",
|
||||
"lua",
|
||||
"markdown",
|
||||
"python",
|
||||
"rust",
|
||||
"terraform",
|
||||
"tex",
|
||||
"toml",
|
||||
"typescript",
|
||||
},
|
||||
marksman = {},
|
||||
pylsp = {},
|
||||
rust_analyzer = {},
|
||||
taplo = {},
|
||||
texlab = {},
|
||||
tflint = {},
|
||||
tsserver = {},
|
||||
}
|
||||
callback = function()
|
||||
if vim.g.lsp_loaded == true then
|
||||
return
|
||||
end
|
||||
vim.g.lsp_loaded = true
|
||||
vim.cmd("packadd nvim-lspconfig")
|
||||
vim.cmd("packadd lsp_lines.nvim")
|
||||
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
lsp.util.default_config = vim.tbl_deep_extend("force", lsp.util.default_config, { capabilities = capabilities })
|
||||
for server, add_to_config in pairs(servers) do
|
||||
local config = {
|
||||
on_attach = on_lsp_attach,
|
||||
flags = {
|
||||
debounce_text_changes = 150,
|
||||
},
|
||||
}
|
||||
for k, v in pairs(add_to_config) do
|
||||
config[k] = v
|
||||
local lsp = require("lspconfig")
|
||||
-- Use an on_attach function to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
local on_lsp_attach = function(_client, _bufnr)
|
||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration)
|
||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition)
|
||||
vim.keymap.set("n", "K", vim.lsp.buf.hover)
|
||||
vim.keymap.set("n", "gi", vim.lsp.buf.implementation)
|
||||
vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help)
|
||||
vim.keymap.set("n", "<Leader>D", vim.lsp.buf.type_definition)
|
||||
vim.keymap.set("n", "<Leader>rn", vim.lsp.buf.rename)
|
||||
vim.keymap.set("n", "<Leader>ca", vim.lsp.buf.code_action)
|
||||
vim.keymap.set("n", "gr", vim.lsp.buf.references)
|
||||
vim.keymap.set("n", "<Leader>e", vim.diagnostic.open_float)
|
||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
|
||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
|
||||
vim.keymap.set("n", "<Leader>q", vim.diagnostic.setloclist)
|
||||
vim.keymap.set("n", "<F3>", function()
|
||||
vim.lsp.buf.format({ async = true })
|
||||
end)
|
||||
end
|
||||
|
||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||
-- map buffer local keybindings when the language server attaches
|
||||
local servers = {
|
||||
clangd = {},
|
||||
dotls = {},
|
||||
eslint = {},
|
||||
gopls = {},
|
||||
jsonls = {},
|
||||
kotlin_language_server = {},
|
||||
lua_ls = {
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = { version = "LuaJIT" },
|
||||
diagnostics = {
|
||||
globals = { "vim" },
|
||||
unusedLocalExclude = { "_*" },
|
||||
},
|
||||
workspace = {
|
||||
checkThirdParty = false,
|
||||
library = vim.api.nvim_get_runtime_file("", true),
|
||||
},
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
},
|
||||
},
|
||||
marksman = {},
|
||||
pylsp = {},
|
||||
rust_analyzer = {},
|
||||
taplo = {},
|
||||
texlab = {},
|
||||
tflint = {},
|
||||
tsserver = {},
|
||||
}
|
||||
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
lsp.util.default_config = vim.tbl_deep_extend("force", lsp.util.default_config, { capabilities = capabilities })
|
||||
for server, add_to_config in pairs(servers) do
|
||||
local config = {
|
||||
on_attach = on_lsp_attach,
|
||||
flags = {
|
||||
debounce_text_changes = 150,
|
||||
},
|
||||
}
|
||||
for k, v in pairs(add_to_config) do
|
||||
config[k] = v
|
||||
end
|
||||
lsp[server].setup(config)
|
||||
end
|
||||
|
||||
---- lsp_lines
|
||||
require("lsp_lines").setup()
|
||||
-- Disable virtual_text since it's redundant due to lsp_lines.
|
||||
vim.diagnostic.config({
|
||||
virtual_text = false,
|
||||
})
|
||||
end
|
||||
lsp[server].setup(config)
|
||||
end
|
||||
})
|
||||
|
||||
-- Auto format on save
|
||||
vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
||||
|
|
@ -356,7 +385,7 @@ vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
|||
if lsp_format then
|
||||
vim.lsp.buf.format({ async = false })
|
||||
else
|
||||
cmd("Format")
|
||||
vim.cmd("Format")
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
|
@ -485,9 +514,9 @@ require("gitsigns").setup({
|
|||
---- Comment.nvim
|
||||
require("Comment").setup()
|
||||
---- vim-markdown
|
||||
g.vim_markdown_no_default_key_mappings = 1
|
||||
g.vim_markdown_folding_disabled = 1
|
||||
g.vim_markdown_toml_frontmatter = 1
|
||||
vim.g.vim_markdown_no_default_key_mappings = 1
|
||||
vim.g.vim_markdown_folding_disabled = 1
|
||||
vim.g.vim_markdown_toml_frontmatter = 1
|
||||
---- Telescope
|
||||
local telescope = require("telescope")
|
||||
telescope.setup({
|
||||
|
|
@ -603,13 +632,6 @@ vim.api.nvim_create_autocmd({ "FileType" }, {
|
|||
end
|
||||
})
|
||||
|
||||
---- lsp_lines
|
||||
require("lsp_lines").setup()
|
||||
-- Disable virtual_text since it's redundant due to lsp_lines.
|
||||
vim.diagnostic.config({
|
||||
virtual_text = false,
|
||||
})
|
||||
|
||||
---- nvim-surround
|
||||
require("nvim-surround").setup()
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit db629b5cfb2aa8de9e44efb795657297ee95ca91
|
||||
Subproject commit 04a06cee3fb9c584de4f5481eb4080bd6c759336
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit c5fb16a934892086d4ba01bac48b77c65435025e
|
||||
Subproject commit 1fd22fa96c11573248f9fdd09f25e724c7bb3dd4
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit f0e9f5dd3218774fa725e55965b40ca78c2104eb
|
||||
Subproject commit bdeba1cec3faddd89146690c10b9a87949c0ee66
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit fc2b7df3d8384e1ba32d0c5d515931f5ea366eb1
|
||||
Subproject commit 08a551cc8140e6ca41b5de6cabf75d02a246c330
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit a8f0f7b9f837887f13a61d67b40ae26188fe4d62
|
||||
Subproject commit 966aad1accd47fa11fbe2539234f81f678fef2de
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit fc93fa5c07df7cd578a3ea82d7c075c0460a6884
|
||||
Subproject commit 0960322686bfa38afd4f1e0b9660473cf77e24b6
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 973ab742f143a796a779af4d786ec409116a0d87
|
||||
Subproject commit 45d0237c427baba8cd05e0ab26d30e2ee58c2c82
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 40c8d2fc2b729dd442eda093cf8c9496d6e23732
|
||||
Subproject commit ed9574dd6dde143d009b2528ea6d79bd34bbe6c8
|
||||
Loading…
Add table
Reference in a new issue