Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 479c3bebdb | |||
| 46ad0970a2 | |||
| 734d4a095a | |||
| dabb2e0e7e | |||
| 0a6d787342 | |||
| 5f1c9f74e4 | |||
| 59c5f7d269 | |||
| b55da4ba64 | |||
| baedcfd5f9 | |||
| 1ff46341cf |
+21
-17
@@ -1,23 +1,27 @@
|
|||||||
{
|
{
|
||||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||||
"LuaSnip": { "branch": "master", "commit": "dae4f5aaa3574bd0c2b9dd20fb9542a02c10471c" },
|
"LuaSnip": { "branch": "master", "commit": "a62e1083a3cfe8b6b206e7d3d33a51091df25357" },
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "c2526f1cde528a66e086ab1668e996d162c75f4f" },
|
"conform.nvim": { "branch": "master", "commit": "dca1a190aa85f9065979ef35802fb77131911106" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "abf82a65f185bd54adc0679f74b7d6e1ada690c9" },
|
"gitsigns.nvim": { "branch": "main", "commit": "6d808f99bd63303646794406e270bd553ad7792e" },
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
"indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
|
"lualine.nvim": { "branch": "master", "commit": "131a558e13f9f28b15cd235557150ccb23f89286" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "4823a251e7578a835bb979c37df390fca692ba39" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "0c2823e0418f3d9230ff8b201c976e84de1cb401" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
|
"mason.nvim": { "branch": "main", "commit": "cb8445f8ce85d957416c106b780efd51c6298f89" },
|
||||||
"nvim": { "branch": "main", "commit": "beaf41a30c26fd7d6c386d383155cbd65dd554cd" },
|
"mini.tabline": { "branch": "main", "commit": "169af955ad2ed0ffcc3d2c83e850bcc7eaac2f0e" },
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "c2a0dd0d931d0fb07665e1fedb1ea688da3b80b4" },
|
"moonfly": { "branch": "master", "commit": "4ed07bc0c6083cdd547c63f5c245e02c068b0c45" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "85bbfad83f804f11688d1ab9486b459e699292d6" },
|
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "419b082102fa813739588dd82e19a8b6b2442855" },
|
"nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" },
|
||||||
"nvim-treesitter": { "branch": "main", "commit": "ec034813775d7e2974c7551c8c34499a828963f8" },
|
"nvim-jdtls": { "branch": "master", "commit": "77ccaeb422f8c81b647605da5ddb4a7f725cda90" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "803353450c374192393f5387b6a0176d0972b848" },
|
"nvim-lspconfig": { "branch": "master", "commit": "bf5abe69c1874531f359a822d0cff4d73e26113f" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
"nvim-tree.lua": { "branch": "master", "commit": "85d1145ac71c1b8e1423862c78165a1f609faf60" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "0d8b6eaa0b5ae6bb3d9785f7a3ba4a4c6c1b1af2" },
|
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
"nvim-web-devicons": { "branch": "master", "commit": "4fc505ac7bd7692824a142e96e5f529c133862f8" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
|
||||||
|
"telescope.nvim": { "branch": "master", "commit": "506338434fec5ad19cb1f8d45bf92d66c4917393" },
|
||||||
|
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" },
|
||||||
|
"zeavim.vim": { "branch": "master", "commit": "298e52ad683680b4aa19b53d009cf0e6b9197664" }
|
||||||
}
|
}
|
||||||
|
|||||||
+30
-1
@@ -14,7 +14,7 @@ map("n", "<leader>h", "<cmd>nohlsearch<cr>", { desc = "No highlight" })
|
|||||||
-- Diagnostics
|
-- Diagnostics
|
||||||
map("n", "[d", vim.diagnostic.goto_prev, { desc = "Prev diagnostic" })
|
map("n", "[d", vim.diagnostic.goto_prev, { desc = "Prev diagnostic" })
|
||||||
map("n", "]d", vim.diagnostic.goto_next, { desc = "Next diagnostic" })
|
map("n", "]d", vim.diagnostic.goto_next, { desc = "Next diagnostic" })
|
||||||
map("n", "<leader>e", vim.diagnostic.open_float, { desc = "Diagnostic float" })
|
map("n", "<leader>y", vim.diagnostic.open_float, { desc = "Diagnostic float" })
|
||||||
|
|
||||||
-- Window navigation
|
-- Window navigation
|
||||||
map("n", "<C-h>", "<C-w>h", { desc = "Left window" })
|
map("n", "<C-h>", "<C-w>h", { desc = "Left window" })
|
||||||
@@ -24,9 +24,38 @@ map("n", "<C-l>", "<C-w>l", { desc = "Right window" })
|
|||||||
|
|
||||||
local diagnostics_visible = true
|
local diagnostics_visible = true
|
||||||
|
|
||||||
|
-- Enable inline diagnostics on startup
|
||||||
|
vim.diagnostic.config({
|
||||||
|
virtual_text = true,
|
||||||
|
})
|
||||||
|
|
||||||
map("n", "<leader>td", function()
|
map("n", "<leader>td", function()
|
||||||
diagnostics_visible = not diagnostics_visible
|
diagnostics_visible = not diagnostics_visible
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
virtual_text = diagnostics_visible,
|
virtual_text = diagnostics_visible,
|
||||||
})
|
})
|
||||||
end, { desc = "Toggle inline diagnostics" })
|
end, { desc = "Toggle inline diagnostics" })
|
||||||
|
|
||||||
|
vim.keymap.set("n", "]b", "<cmd>bnext<cr>", { desc = "Next buffer" })
|
||||||
|
vim.keymap.set("n", "[b", "<cmd>bprevious<cr>", { desc = "Previous buffer" })
|
||||||
|
|
||||||
|
-- Go to buffer controlls 1-9
|
||||||
|
for i = 1, 9 do
|
||||||
|
vim.keymap.set("n", "<leader>" .. i, function()
|
||||||
|
local bufs = vim.fn.getbufinfo({ buflisted = 1 })
|
||||||
|
if bufs[i] then
|
||||||
|
vim.api.nvim_set_current_buf(bufs[i].bufnr)
|
||||||
|
end
|
||||||
|
end, { desc = "Go to buffer " .. i })
|
||||||
|
end
|
||||||
|
-- Delete current buffer (without closing window)
|
||||||
|
vim.keymap.set("n", "<leader>bd", function()
|
||||||
|
local current = vim.api.nvim_get_current_buf()
|
||||||
|
vim.cmd("bnext")
|
||||||
|
vim.cmd("bdelete " .. current)
|
||||||
|
end, { desc = "Delete buffer" })
|
||||||
|
|
||||||
|
-- Toggle terminal in a bottom split
|
||||||
|
vim.keymap.set("n", "<leader>tt", function()
|
||||||
|
vim.cmd("botright split | resize 15 | terminal")
|
||||||
|
end, { desc = "Open terminal (bottom split)" })
|
||||||
|
|||||||
+8
-1
@@ -29,7 +29,14 @@ require("lazy").setup({
|
|||||||
},
|
},
|
||||||
-- Configure any other settings here. See the documentation for more details.
|
-- Configure any other settings here. See the documentation for more details.
|
||||||
-- colorscheme that will be used when installing plugins.
|
-- colorscheme that will be used when installing plugins.
|
||||||
install = { colorscheme = { "habamax" } },
|
install = { colorscheme = { "habamax" }, missing = true },
|
||||||
-- automatically check for plugin updates
|
-- automatically check for plugin updates
|
||||||
checker = { enabled = true },
|
checker = { enabled = true },
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- Auto sync plugins on startup
|
||||||
|
vim.api.nvim_create_autocmd("VimEnter", {
|
||||||
|
callback = function()
|
||||||
|
vim.cmd("Lazy sync")
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ vim.g.mapleader = " "
|
|||||||
vim.g.maplocalleader = " "
|
vim.g.maplocalleader = " "
|
||||||
|
|
||||||
local opt = vim.opt
|
local opt = vim.opt
|
||||||
|
|
||||||
opt.number = true
|
opt.number = true
|
||||||
opt.relativenumber = true
|
opt.relativenumber = true
|
||||||
opt.signcolumn = "yes"
|
opt.signcolumn = "yes"
|
||||||
@@ -28,3 +27,4 @@ opt.mouse = "a"
|
|||||||
|
|
||||||
opt.updatetime = 250
|
opt.updatetime = 250
|
||||||
opt.timeoutlen = 400
|
opt.timeoutlen = 400
|
||||||
|
vim.wo.fillchars = 'eob: '
|
||||||
|
|||||||
+11
-3
@@ -5,13 +5,12 @@ return {
|
|||||||
build = ":TSUpdate",
|
build = ":TSUpdate",
|
||||||
config = function()
|
config = function()
|
||||||
require("nvim-treesitter.config").setup({
|
require("nvim-treesitter.config").setup({
|
||||||
highlight = { enabled = true },
|
highlight = { enable = true },
|
||||||
additional_vim_regex_highlighting = false,
|
additional_vim_regex_highlighting = false,
|
||||||
indent = { enabled = true },
|
indent = { enable = true },
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
"go",
|
"go",
|
||||||
"gomod",
|
"gomod",
|
||||||
"gosum",
|
|
||||||
"gowork",
|
"gowork",
|
||||||
"typescript",
|
"typescript",
|
||||||
"tsx",
|
"tsx",
|
||||||
@@ -22,6 +21,15 @@ return {
|
|||||||
"markdown",
|
"markdown",
|
||||||
"yaml",
|
"yaml",
|
||||||
"bash",
|
"bash",
|
||||||
|
"c_sharp",
|
||||||
|
"java",
|
||||||
|
"c",
|
||||||
|
"cpp",
|
||||||
|
"julia",
|
||||||
|
"python",
|
||||||
|
"zig",
|
||||||
|
"asm",
|
||||||
|
"html-lsp",
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
|
|||||||
+138
-4
@@ -10,7 +10,7 @@ return {
|
|||||||
dependencies = { "williamboman/mason.nvim" },
|
dependencies = { "williamboman/mason.nvim" },
|
||||||
opts = {
|
opts = {
|
||||||
-- installs these via Mason (so you don't have to)
|
-- installs these via Mason (so you don't have to)
|
||||||
ensure_installed = { "gopls", "ts_ls", "lua_ls" },
|
ensure_installed = { "gopls", "ts_ls", "lua_ls", "clangd", "rust_analyzer", "omnisharp", "jdtls", "julials", "pyright", "ruff", "zls", "asm_lsp" },
|
||||||
|
|
||||||
-- optional: automatically call vim.lsp.enable() for installed servers
|
-- optional: automatically call vim.lsp.enable() for installed servers
|
||||||
automatic_enable = true,
|
automatic_enable = true,
|
||||||
@@ -22,6 +22,16 @@ return {
|
|||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
dependencies = { "mason-org/mason-lspconfig.nvim" },
|
dependencies = { "mason-org/mason-lspconfig.nvim" },
|
||||||
config = function()
|
config = function()
|
||||||
|
-- Disable hover for ruff (Pyright provides better documentation)
|
||||||
|
vim.api.nvim_create_autocmd("LspAttach", {
|
||||||
|
callback = function(args)
|
||||||
|
local client = vim.lsp.get_client_by_id(args.data.client_id)
|
||||||
|
if client and client.name == "ruff" then
|
||||||
|
client.server_capabilities.hoverProvider = false
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
-- LSP keymaps when a server attaches
|
-- LSP keymaps when a server attaches
|
||||||
vim.api.nvim_create_autocmd("LspAttach", {
|
vim.api.nvim_create_autocmd("LspAttach", {
|
||||||
callback = function(args)
|
callback = function(args)
|
||||||
@@ -34,6 +44,7 @@ return {
|
|||||||
map("n", "K", vim.lsp.buf.hover, "Hover")
|
map("n", "K", vim.lsp.buf.hover, "Hover")
|
||||||
map("n", "<leader>rn", vim.lsp.buf.rename, "Rename")
|
map("n", "<leader>rn", vim.lsp.buf.rename, "Rename")
|
||||||
map("n", "<leader>ca", vim.lsp.buf.code_action, "Code action")
|
map("n", "<leader>ca", vim.lsp.buf.code_action, "Code action")
|
||||||
|
map("i", "<C-k>", vim.lsp.buf.signature_help, "Signature help")
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -71,9 +82,71 @@ return {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
-- If you did NOT set mason-lspconfig automatic_enable=true,
|
vim.lsp.config("clangd", {
|
||||||
-- enable explicitly:
|
capabilities = capabilities,
|
||||||
-- vim.lsp.enable({ "gopls", "ts_ls", "lua_ls" })
|
cmd = {
|
||||||
|
"clangd",
|
||||||
|
"--background-index",
|
||||||
|
"--query-driver=/usr/bin/g++,/usr/bin/gcc",
|
||||||
|
"--completion-style=detailed",
|
||||||
|
"--header-insertion=iwyu",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
vim.lsp.config("rust_analyzer", {
|
||||||
|
capabilities = capabilities,
|
||||||
|
settings = {
|
||||||
|
["rust-analyzer"] = {
|
||||||
|
cargo = { allFeatures = true },
|
||||||
|
checkOnSave = {
|
||||||
|
command = "clippy",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("julials", {
|
||||||
|
capabilities = capabilities,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("pyright", {
|
||||||
|
capabilities = capabilities,
|
||||||
|
settings = {
|
||||||
|
python = {
|
||||||
|
analysis = {
|
||||||
|
typeCheckingMode = "standard",
|
||||||
|
autoSearchPaths = true,
|
||||||
|
useLibraryCodeForTypes = true,
|
||||||
|
diagnosticMode = "workspace",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("ruff", {
|
||||||
|
capabilities = capabilities,
|
||||||
|
init_options = {
|
||||||
|
settings = {
|
||||||
|
lint = {
|
||||||
|
ignore = { "E701", "E702", "E703" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("zls", {
|
||||||
|
capabilities = capabilities,
|
||||||
|
settings = {
|
||||||
|
zls = {
|
||||||
|
enable_snippets = true,
|
||||||
|
enable_semantic_tokens = true,
|
||||||
|
enable_inlay_hints = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("asm_lsp", {
|
||||||
|
capabilities = capabilities,
|
||||||
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -125,6 +198,59 @@ return {
|
|||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
-- Java LSP (requires special handling)
|
||||||
|
{
|
||||||
|
"mfussenegger/nvim-jdtls",
|
||||||
|
ft = "java",
|
||||||
|
config = function()
|
||||||
|
local jdtls_path = vim.fn.stdpath("data") .. "/mason/packages/jdtls"
|
||||||
|
local launcher = vim.fn.glob(jdtls_path .. "/plugins/org.eclipse.equinox.launcher_*.jar")
|
||||||
|
local config_dir = jdtls_path .. "/config_linux"
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
pattern = "java",
|
||||||
|
callback = function()
|
||||||
|
local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ":p:h:t")
|
||||||
|
local workspace_dir = vim.fn.stdpath("data") .. "/jdtls-workspace/" .. project_name
|
||||||
|
|
||||||
|
local config = {
|
||||||
|
cmd = {
|
||||||
|
"java",
|
||||||
|
"-Declipse.application=org.eclipse.jdt.ls.core.id1",
|
||||||
|
"-Dosgi.bundles.defaultStartLevel=4",
|
||||||
|
"-Declipse.product=org.eclipse.jdt.ls.core.product",
|
||||||
|
"-Xmx1g",
|
||||||
|
"--add-modules=ALL-SYSTEM",
|
||||||
|
"--add-opens", "java.base/java.util=ALL-UNNAMED",
|
||||||
|
"--add-opens", "java.base/java.lang=ALL-UNNAMED",
|
||||||
|
"-jar", launcher,
|
||||||
|
"-configuration", config_dir,
|
||||||
|
"-data", workspace_dir,
|
||||||
|
},
|
||||||
|
root_dir = require("jdtls.setup").find_root({ ".git", "mvnw", "gradlew", "pom.xml", "build.gradle" }),
|
||||||
|
settings = {
|
||||||
|
java = {
|
||||||
|
signatureHelp = { enabled = true },
|
||||||
|
completion = {
|
||||||
|
favoriteStaticMembers = {},
|
||||||
|
filteredTypes = { "com.sun.*", "io.micrometer.shaded.*" },
|
||||||
|
},
|
||||||
|
sources = {
|
||||||
|
organizeImports = { starThreshold = 9999, staticStarThreshold = 9999 },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
init_options = {
|
||||||
|
bundles = {},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
require("jdtls").start_or_attach(config)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
-- Formatting (format-on-save)
|
-- Formatting (format-on-save)
|
||||||
{
|
{
|
||||||
"stevearc/conform.nvim",
|
"stevearc/conform.nvim",
|
||||||
@@ -141,6 +267,13 @@ return {
|
|||||||
javascriptreact = { "prettierd", "prettier" },
|
javascriptreact = { "prettierd", "prettier" },
|
||||||
json = { "prettierd", "prettier" },
|
json = { "prettierd", "prettier" },
|
||||||
lua = { "stylua" },
|
lua = { "stylua" },
|
||||||
|
c = { "clang-format" },
|
||||||
|
cpp = { "clang-format" },
|
||||||
|
rust = { "rustfmt" },
|
||||||
|
cs = { "csharpier" },
|
||||||
|
java = { "google-java-format" },
|
||||||
|
python = { "ruff_fix" },
|
||||||
|
zig = { "zigfmt" },
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -149,4 +282,5 @@ return {
|
|||||||
end, { desc = "Format" })
|
end, { desc = "Format" })
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
-- ~/.config/nvim/lua/plugins/nvim-tree.lua
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"nvim-tree/nvim-tree.lua",
|
||||||
|
version = "*", -- use latest stable tag
|
||||||
|
dependencies = {
|
||||||
|
-- optional, but recommended for file icons
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
},
|
||||||
|
cmd = { "NvimTreeToggle", "NvimTreeFocus", "NvimTreeFindFile", "NvimTreeOpen" },
|
||||||
|
keys = {
|
||||||
|
{ "<leader>e", "<cmd>NvimTreeToggle<cr>", desc = "Explorer (toggle)" },
|
||||||
|
{ "<leader>E", "<cmd>NvimTreeFindFile<cr>", desc = "Explorer (reveal file)" },
|
||||||
|
},
|
||||||
|
init = function()
|
||||||
|
-- recommended: disable netrw to avoid conflicts
|
||||||
|
vim.g.loaded_netrw = 1
|
||||||
|
vim.g.loaded_netrwPlugin = 1
|
||||||
|
|
||||||
|
-- you already set this elsewhere, but it's fine to keep it here too
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
end,
|
||||||
|
opts = {
|
||||||
|
sort = { sorter = "case_sensitive" },
|
||||||
|
view = { width = 32 },
|
||||||
|
renderer = { group_empty = true },
|
||||||
|
filters = { dotfiles = false },
|
||||||
|
|
||||||
|
-- Quality-of-life
|
||||||
|
update_focused_file = {
|
||||||
|
enable = true,
|
||||||
|
update_root = false,
|
||||||
|
},
|
||||||
|
git = { enable = true },
|
||||||
|
diagnostics = { enable = true },
|
||||||
|
|
||||||
|
-- Close tree when opening a file (optional: set to false if you prefer it pinned)
|
||||||
|
actions = {
|
||||||
|
open_file = { quit_on_open = false },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
+12
-14
@@ -1,24 +1,14 @@
|
|||||||
return {
|
return {
|
||||||
{ "nvim-tree/nvim-web-devicons", lazy = true },
|
{ "nvim-tree/nvim-web-devicons", lazy = true },
|
||||||
|
|
||||||
-- Theme: pick ONE. TokyoNight is a safe default.
|
|
||||||
{
|
{
|
||||||
"catppuccin/nvim",
|
"bluz71/vim-moonfly-colors",
|
||||||
|
name = "moonfly",
|
||||||
|
lazy = false,
|
||||||
priority = 1000,
|
priority = 1000,
|
||||||
config = function()
|
config = function()
|
||||||
require("catppuccin").setup({
|
vim.cmd.colorscheme("moonfly")
|
||||||
integrations = {
|
|
||||||
treesitter = true,
|
|
||||||
native_lsp = {
|
|
||||||
enabled = true,
|
|
||||||
semantic_tokens = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
vim.cmd.colorscheme("catppuccin-mocha")
|
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Statusline
|
-- Statusline
|
||||||
{
|
{
|
||||||
"nvim-lualine/lualine.nvim",
|
"nvim-lualine/lualine.nvim",
|
||||||
@@ -29,4 +19,12 @@ return {
|
|||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"echasnovski/mini.tabline",
|
||||||
|
version = false,
|
||||||
|
config = function()
|
||||||
|
require("mini.tabline").setup()
|
||||||
|
end,
|
||||||
|
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
-- ~/.config/nvim/lua/plugins/zeal.lua
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"KabbAmine/zeavim.vim",
|
||||||
|
cmd = { "Zeavim", "ZeavimV", "Zeal" },
|
||||||
|
keys = {
|
||||||
|
{ "<leader>z", "<cmd>Zeavim<cr>", desc = "Zeal (word under cursor)" },
|
||||||
|
{ "<leader>z", "<cmd>ZeavimV<cr>", mode = "v", desc = "Zeal (selection)" },
|
||||||
|
{ "<leader>Z", "<cmd>Zeal<cr>", desc = "Zeal (input)" },
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
vim.g.zv_file_types = {
|
||||||
|
c = "c",
|
||||||
|
cpp = "cpp",
|
||||||
|
rust = "rust",
|
||||||
|
go = "go",
|
||||||
|
lua = "lua",
|
||||||
|
python = "python",
|
||||||
|
javascript = "javascript",
|
||||||
|
typescript = "typescript",
|
||||||
|
java = "java",
|
||||||
|
cs = "csharp",
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user