Compare commits

..

10 Commits

Author SHA1 Message Date
marius 479c3bebdb wip 2026-04-28 11:49:00 +03:00
mariuscozma11 46ad0970a2 moonfly color scheme 2026-03-24 22:04:39 +02:00
mariuscozma11 734d4a095a Changed form catpuccin theme, not a vscode soy dev 2026-03-24 19:50:51 +02:00
mariuscozma11 dabb2e0e7e Removed harpoon 2026-02-11 22:35:07 +02:00
mariuscozma11 0a6d787342 Removed unecessary close terminal keymap 2026-02-11 19:10:00 +02:00
mariuscozma11 5f1c9f74e4 quick terminal keymap 2026-02-11 19:09:24 +02:00
mariuscozma11 59c5f7d269 mini-tabline for buffer tabs 2026-02-11 19:08:12 +02:00
mariuscozma11 b55da4ba64 added harpoon 2026-02-11 18:59:57 +02:00
mariuscozma11 baedcfd5f9 Added folder tree 2026-02-11 18:45:43 +02:00
mariuscozma11 1ff46341cf WIP 2026-01-28 11:19:47 +02:00
9 changed files with 290 additions and 41 deletions
+21 -17
View File
@@ -1,23 +1,27 @@
{
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"LuaSnip": { "branch": "master", "commit": "dae4f5aaa3574bd0c2b9dd20fb9542a02c10471c" },
"LuaSnip": { "branch": "master", "commit": "a62e1083a3cfe8b6b206e7d3d33a51091df25357" },
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"conform.nvim": { "branch": "master", "commit": "c2526f1cde528a66e086ab1668e996d162c75f4f" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gitsigns.nvim": { "branch": "main", "commit": "abf82a65f185bd54adc0679f74b7d6e1ada690c9" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"conform.nvim": { "branch": "master", "commit": "dca1a190aa85f9065979ef35802fb77131911106" },
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
"gitsigns.nvim": { "branch": "main", "commit": "6d808f99bd63303646794406e270bd553ad7792e" },
"indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "4823a251e7578a835bb979c37df390fca692ba39" },
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
"nvim": { "branch": "main", "commit": "beaf41a30c26fd7d6c386d383155cbd65dd554cd" },
"nvim-autopairs": { "branch": "master", "commit": "c2a0dd0d931d0fb07665e1fedb1ea688da3b80b4" },
"nvim-cmp": { "branch": "main", "commit": "85bbfad83f804f11688d1ab9486b459e699292d6" },
"nvim-lspconfig": { "branch": "master", "commit": "419b082102fa813739588dd82e19a8b6b2442855" },
"nvim-treesitter": { "branch": "main", "commit": "ec034813775d7e2974c7551c8c34499a828963f8" },
"nvim-web-devicons": { "branch": "master", "commit": "803353450c374192393f5387b6a0176d0972b848" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"telescope.nvim": { "branch": "master", "commit": "0d8b6eaa0b5ae6bb3d9785f7a3ba4a4c6c1b1af2" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
"lualine.nvim": { "branch": "master", "commit": "131a558e13f9f28b15cd235557150ccb23f89286" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "0c2823e0418f3d9230ff8b201c976e84de1cb401" },
"mason.nvim": { "branch": "main", "commit": "cb8445f8ce85d957416c106b780efd51c6298f89" },
"mini.tabline": { "branch": "main", "commit": "169af955ad2ed0ffcc3d2c83e850bcc7eaac2f0e" },
"moonfly": { "branch": "master", "commit": "4ed07bc0c6083cdd547c63f5c245e02c068b0c45" },
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
"nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" },
"nvim-jdtls": { "branch": "master", "commit": "77ccaeb422f8c81b647605da5ddb4a7f725cda90" },
"nvim-lspconfig": { "branch": "master", "commit": "bf5abe69c1874531f359a822d0cff4d73e26113f" },
"nvim-tree.lua": { "branch": "master", "commit": "85d1145ac71c1b8e1423862c78165a1f609faf60" },
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
"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
View File
@@ -14,7 +14,7 @@ map("n", "<leader>h", "<cmd>nohlsearch<cr>", { desc = "No highlight" })
-- Diagnostics
map("n", "[d", vim.diagnostic.goto_prev, { desc = "Prev 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
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
-- Enable inline diagnostics on startup
vim.diagnostic.config({
virtual_text = true,
})
map("n", "<leader>td", function()
diagnostics_visible = not diagnostics_visible
vim.diagnostic.config({
virtual_text = diagnostics_visible,
})
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
View File
@@ -29,7 +29,14 @@ require("lazy").setup({
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
install = { colorscheme = { "habamax" } },
install = { colorscheme = { "habamax" }, missing = true },
-- automatically check for plugin updates
checker = { enabled = true },
})
-- Auto sync plugins on startup
vim.api.nvim_create_autocmd("VimEnter", {
callback = function()
vim.cmd("Lazy sync")
end,
})
+1 -1
View File
@@ -2,7 +2,6 @@ vim.g.mapleader = " "
vim.g.maplocalleader = " "
local opt = vim.opt
opt.number = true
opt.relativenumber = true
opt.signcolumn = "yes"
@@ -28,3 +27,4 @@ opt.mouse = "a"
opt.updatetime = 250
opt.timeoutlen = 400
vim.wo.fillchars = 'eob: '
+11 -3
View File
@@ -5,13 +5,12 @@ return {
build = ":TSUpdate",
config = function()
require("nvim-treesitter.config").setup({
highlight = { enabled = true },
highlight = { enable = true },
additional_vim_regex_highlighting = false,
indent = { enabled = true },
indent = { enable = true },
ensure_installed = {
"go",
"gomod",
"gosum",
"gowork",
"typescript",
"tsx",
@@ -22,6 +21,15 @@ return {
"markdown",
"yaml",
"bash",
"c_sharp",
"java",
"c",
"cpp",
"julia",
"python",
"zig",
"asm",
"html-lsp",
},
})
end,
+138 -4
View File
@@ -10,7 +10,7 @@ return {
dependencies = { "williamboman/mason.nvim" },
opts = {
-- 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
automatic_enable = true,
@@ -22,6 +22,16 @@ return {
"neovim/nvim-lspconfig",
dependencies = { "mason-org/mason-lspconfig.nvim" },
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
vim.api.nvim_create_autocmd("LspAttach", {
callback = function(args)
@@ -34,6 +44,7 @@ return {
map("n", "K", vim.lsp.buf.hover, "Hover")
map("n", "<leader>rn", vim.lsp.buf.rename, "Rename")
map("n", "<leader>ca", vim.lsp.buf.code_action, "Code action")
map("i", "<C-k>", vim.lsp.buf.signature_help, "Signature help")
end,
})
@@ -71,9 +82,71 @@ return {
},
})
-- If you did NOT set mason-lspconfig automatic_enable=true,
-- enable explicitly:
-- vim.lsp.enable({ "gopls", "ts_ls", "lua_ls" })
vim.lsp.config("clangd", {
capabilities = capabilities,
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,
},
@@ -125,6 +198,59 @@ return {
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)
{
"stevearc/conform.nvim",
@@ -141,6 +267,13 @@ return {
javascriptreact = { "prettierd", "prettier" },
json = { "prettierd", "prettier" },
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,
},
}
+43
View File
@@ -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
View File
@@ -1,24 +1,14 @@
return {
{ "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,
config = function()
require("catppuccin").setup({
integrations = {
treesitter = true,
native_lsp = {
enabled = true,
semantic_tokens = true,
},
},
})
vim.cmd.colorscheme("catppuccin-mocha")
vim.cmd.colorscheme("moonfly")
end,
},
-- Statusline
{
"nvim-lualine/lualine.nvim",
@@ -29,4 +19,12 @@ return {
})
end,
},
{
"echasnovski/mini.tabline",
version = false,
config = function()
require("mini.tabline").setup()
end,
},
}
+26
View File
@@ -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,
},
}