From 04c9854f5bcd509da75c8f533df78459dc63a576 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Tue, 29 Jul 2025 17:33:21 +0200 Subject: [PATCH] New Neovim configuration --- lazyvim/.config/nvim/README.md | 4 -- lazyvim/.config/nvim/lazy-lock.json | 29 ++++++--- lazyvim/.config/nvim/lazyvim.json | 8 ++- lazyvim/.config/nvim/lua/config/keymaps.lua | 8 --- lazyvim/.config/nvim/lua/config/lazy.lua | 1 - lazyvim/.config/nvim/lua/config/options.lua | 9 ++- .../.config/nvim/lua/config/treesitter.lua | 26 ++++++++ .../.config/nvim/lua/plugins/file-browser.lua | 13 ---- .../.config/nvim/lua/plugins/lsp-config.lua | 61 +++++++++++++++++++ .../nvim/lua/plugins/meson-lpconfig.lua | 10 +++ lazyvim/.config/nvim/lua/plugins/meson.lua | 12 ++++ .../.config/nvim/lua/plugins/telescope.lua | 5 ++ lazyvim/.config/nvim/stylua.toml | 3 +- 13 files changed, 149 insertions(+), 40 deletions(-) delete mode 100644 lazyvim/.config/nvim/README.md create mode 100644 lazyvim/.config/nvim/lua/config/treesitter.lua delete mode 100644 lazyvim/.config/nvim/lua/plugins/file-browser.lua create mode 100644 lazyvim/.config/nvim/lua/plugins/lsp-config.lua create mode 100644 lazyvim/.config/nvim/lua/plugins/meson-lpconfig.lua create mode 100644 lazyvim/.config/nvim/lua/plugins/meson.lua create mode 100644 lazyvim/.config/nvim/lua/plugins/telescope.lua diff --git a/lazyvim/.config/nvim/README.md b/lazyvim/.config/nvim/README.md deleted file mode 100644 index 185280b..0000000 --- a/lazyvim/.config/nvim/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# 💤 LazyVim - -A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). -Refer to the [documentation](https://lazyvim.github.io/installation) to get started. diff --git a/lazyvim/.config/nvim/lazy-lock.json b/lazyvim/.config/nvim/lazy-lock.json index 2c34cbd..99d75dc 100644 --- a/lazyvim/.config/nvim/lazy-lock.json +++ b/lazyvim/.config/nvim/lazy-lock.json @@ -1,46 +1,55 @@ { "LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" }, - "SchemaStore.nvim": { "branch": "main", "commit": "67d6c391e9a372d2d8701b5b8c9ae89455561fbf" }, + "SchemaStore.nvim": { "branch": "main", "commit": "3cd1c7267282b4d89618674de36a6d866981347e" }, "alpha-nvim": { "branch": "main", "commit": "2b3cbcdd980cae1e022409289245053f62fb50f6" }, "blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, - "catppuccin": { "branch": "main", "commit": "84336e08415858f6d835835e81a4f79e585463c6" }, + "catppuccin": { "branch": "main", "commit": "94f6e8a06b6bb7b8e5529cf9f93adb4654534241" }, + "clangd_extensions.nvim": { "branch": "main", "commit": "db28f29be928d18cbfb86fbfb9f83f584f658feb" }, "conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" }, - "crates.nvim": { "branch": "main", "commit": "c915ab5334a46178f64ce17ab606a79454bcd14f" }, + "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "fzf-lua": { "branch": "main", "commit": "c9a2deb7bf2d8deaf56a229ff9c7bfeffa8d7d53" }, "gitsigns.nvim": { "branch": "main", "commit": "b01433169be710d6c69f7b4ee264d9670698b831" }, "glow.nvim": { "branch": "main", "commit": "5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2" }, - "grug-far.nvim": { "branch": "main", "commit": "45981a9af7f4e666a3cdaedb1d21d2ab926727a2" }, + "grug-far.nvim": { "branch": "main", "commit": "482517700eef8579b289a20995f017a0775a6ec4" }, "hydra.nvim": { "branch": "main", "commit": "8c4a9f621ec7cdc30411a1f3b6d5eebb12b469dc" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, "lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "86389a3dd687cfaa647b6f44731e492970034baa" }, "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, "mini.ai": { "branch": "main", "commit": "1cd4f021a05c29acd4ab511c0981da14217daf38" }, "mini.icons": { "branch": "main", "commit": "b8f6fa6f5a3fd0c56936252edcd691184e5aac0c" }, "mini.pairs": { "branch": "main", "commit": "1e1ca3f60f58d4050bf814902b472eec9963a5dd" }, "multicursors.nvim": { "branch": "main", "commit": "72225ea9e4443c3f4b9df91d0193e07c4ee8d382" }, - "neo-tree.nvim": { "branch": "main", "commit": "e858a443813097cba43524a6321e3976b14ec75d" }, + "neo-tree.nvim": { "branch": "main", "commit": "46fa0c22ca39e05fe15744102d21feb07fe9a94a" }, "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, + "nvim-dap": { "branch": "master", "commit": "5dd4d50f2e6a2eaf9e57fad023d294ef371bda35" }, + "nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" }, + "nvim-dap-python": { "branch": "master", "commit": "261ce649d05bc455a29f9636dc03f8cdaa7e0e2c" }, + "nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" }, "nvim-lint": { "branch": "master", "commit": "9c6207559297b24f0b7c32829f8e45f7d65b991f" }, - "nvim-lspconfig": { "branch": "master", "commit": "4d3b3bb8815fbe37bcaf3dbdb12a22382bc11ebe" }, + "nvim-lspconfig": { "branch": "master", "commit": "3db16ceeea947517f0dc1404c24dcb5ab0c91d26" }, + "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" }, "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, "persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "refactoring.nvim": { "branch": "master", "commit": "74b608dfee827c2372250519d433cc21cb083407" }, - "rustaceanvim": { "branch": "master", "commit": "f845bb055397019c4bc70f9c76376ca490f4c783" }, + "render-markdown.nvim": { "branch": "main", "commit": "9e51b7711c6159511e966dc42fafd58a9db9ad1d" }, "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" }, - "telescope-file-browser.nvim": { "branch": "master", "commit": "7bf55ed0ff5be182ad3301cff266581fc1c56cce" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" }, + "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, "tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" }, "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, "ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" }, + "venv-selector.nvim": { "branch": "regexp", "commit": "80071a83611befbf25ac24d9f707efa1586e4d66" }, "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" } } diff --git a/lazyvim/.config/nvim/lazyvim.json b/lazyvim/.config/nvim/lazyvim.json index 8ab2d8e..b65078c 100644 --- a/lazyvim/.config/nvim/lazyvim.json +++ b/lazyvim/.config/nvim/lazyvim.json @@ -1,13 +1,17 @@ { "extras": [ + "lazyvim.plugins.extras.dap.core", "lazyvim.plugins.extras.editor.refactoring", - "lazyvim.plugins.extras.lang.docker", + "lazyvim.plugins.extras.editor.telescope", + "lazyvim.plugins.extras.lang.clangd", "lazyvim.plugins.extras.lang.git", "lazyvim.plugins.extras.lang.go", + "lazyvim.plugins.extras.lang.json", + "lazyvim.plugins.extras.lang.markdown", "lazyvim.plugins.extras.lang.python", - "lazyvim.plugins.extras.lang.rust", "lazyvim.plugins.extras.lang.toml", "lazyvim.plugins.extras.lang.yaml", + "lazyvim.plugins.extras.lang.zig", "lazyvim.plugins.extras.ui.alpha" ], "install_version": 7, diff --git a/lazyvim/.config/nvim/lua/config/keymaps.lua b/lazyvim/.config/nvim/lua/config/keymaps.lua index 01e96c1..1c1a170 100644 --- a/lazyvim/.config/nvim/lua/config/keymaps.lua +++ b/lazyvim/.config/nvim/lua/config/keymaps.lua @@ -4,14 +4,6 @@ local map = vim.keymap.set --- Resume last Telescope search --- map( --- "n", --- "sx", --- require("telescope.builtin").resume, --- { noremap = true, silent = true, desc = "Resume Telescope" } --- ) - -- Buffer management map("n", "bn", ":bnext", { noremap = true, silent = true, desc = "Next buffer" }) map("n", "bp", ":bprevious", { noremap = true, silent = true, desc = "Previous buffer" }) diff --git a/lazyvim/.config/nvim/lua/config/lazy.lua b/lazyvim/.config/nvim/lua/config/lazy.lua index 11482ef..617924b 100644 --- a/lazyvim/.config/nvim/lua/config/lazy.lua +++ b/lazyvim/.config/nvim/lua/config/lazy.lua @@ -30,7 +30,6 @@ require("lazy").setup({ version = false, -- always use the latest git commit -- version = "*", -- try installing the latest stable version for plugins that support semver }, - install = { colorscheme = { "tokyonight", "habamax", "catppuccin" } }, checker = { enabled = true }, -- automatically check for plugin updates performance = { rtp = { diff --git a/lazyvim/.config/nvim/lua/config/options.lua b/lazyvim/.config/nvim/lua/config/options.lua index caf549f..5290600 100644 --- a/lazyvim/.config/nvim/lua/config/options.lua +++ b/lazyvim/.config/nvim/lua/config/options.lua @@ -1,6 +1,7 @@ -- Options are automatically loaded before lazy.nvim startup -- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua -- Add any additional options here + local opt = vim.opt -- Line numbers @@ -16,6 +17,7 @@ opt.smartcase = true -- Highlight current line opt.cursorline = true +opt.cursorlineopt = "number" -- Enable true color support opt.termguicolors = true @@ -24,9 +26,10 @@ opt.termguicolors = true opt.clipboard = "unnamedplus" -- Indentation -opt.expandtab = false +opt.softtabstop = 8 opt.shiftwidth = 8 opt.tabstop = 8 +opt.expandtab = true opt.smartindent = true -- Split behavior @@ -49,3 +52,7 @@ opt.foldlevel = 99 -- open all folds by default -- Show file name and modified flag in the window bar opt.winbar = "%=%m %f" + +-- Backup files +opt.swapfile = false +opt.backup = false diff --git a/lazyvim/.config/nvim/lua/config/treesitter.lua b/lazyvim/.config/nvim/lua/config/treesitter.lua new file mode 100644 index 0000000..e6b3065 --- /dev/null +++ b/lazyvim/.config/nvim/lua/config/treesitter.lua @@ -0,0 +1,26 @@ +require("nvim-treesitter.configs").setup({ + ensure_installed = { + "c", + "go", + "gomod", + "gowork", + "gosum", + "json", + "lua", + "markdown", + "python", + "zig", + }, + highlight = { + enabled = true, + }, + incremental_selection = { + enabled = true, + keymaps = { + init_selection = "gnn", + node_incremental = "grn", + scope_incremental = "grc", + node_decremental = "grm", + }, + }, +}) diff --git a/lazyvim/.config/nvim/lua/plugins/file-browser.lua b/lazyvim/.config/nvim/lua/plugins/file-browser.lua deleted file mode 100644 index ce3abcb..0000000 --- a/lazyvim/.config/nvim/lua/plugins/file-browser.lua +++ /dev/null @@ -1,13 +0,0 @@ -return { - "nvim-telescope/telescope-file-browser.nvim", - keys = { - { - "sB", - ":Telescope file_browser path=%:p:h=%:p:h", - desc = "Browser Files", - }, - }, - config = function() - require("telescope").load_extension("file_browser") - end, -} diff --git a/lazyvim/.config/nvim/lua/plugins/lsp-config.lua b/lazyvim/.config/nvim/lua/plugins/lsp-config.lua new file mode 100644 index 0000000..d78c1fe --- /dev/null +++ b/lazyvim/.config/nvim/lua/plugins/lsp-config.lua @@ -0,0 +1,61 @@ +return { + "neovim/nvim-lspconfig", + + -- How to add an LSP for a specific programming language? + -- 1. Use `:Mason` to install the corresponding LSP. + -- 2. Add the configuration below. The syntax is `lspconfig..setup(...)` + -- Hint (find here): https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md + config = function() + -- Set different settings for different languages' LSP. + -- Support List: https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md + local lspconfig = require("lspconfig") + + -- Case 1. For CMake Users + -- $ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON . + -- Case 2. For Bazel Users, use https://github.com/hedronvision/bazel-compile-commands-extractor + -- Case 3. If you don't use any build tool and all files in a project use the same build flags + -- Place your compiler flags in the compile_flags.txt file, located in the root directory + -- of your project. Each line in the file should contain a single compiler flag. + -- src: https://clangd.llvm.org/installation#compile_commandsjson + lspconfig.clangd.setup({}) + lspconfig.gopls.setup({}) + lspconfig.bashls.setup({}) + lspconfig.zls.setup({}) + -- src: https://docs.astral.sh/ruff/editors/setup/#neovim + lspconfig.ruff.setup({}) + lspconfig.pylsp.setup({ + settings = { + -- configure plugins in pylsp + pylsp = { + plugins = { + pyflakes = { enabled = false }, + pylint = { enabled = false }, + pycodestyle = { enabled = false }, + }, + }, + }, + }) + lspconfig.lua_ls.setup({ + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim). + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global. + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files. + library = vim.api.nvim_get_runtime_file("", true), + }, + -- Do not send telemetry data containing a randomized but unique identifier. + telemetry = { + enable = false, + }, + }, + }, + }) + end, +} diff --git a/lazyvim/.config/nvim/lua/plugins/meson-lpconfig.lua b/lazyvim/.config/nvim/lua/plugins/meson-lpconfig.lua new file mode 100644 index 0000000..7c35238 --- /dev/null +++ b/lazyvim/.config/nvim/lua/plugins/meson-lpconfig.lua @@ -0,0 +1,10 @@ +return { + "mason-org/mason-lspconfig.nvim", + dependencies = { + "mason-org/mason.nvim", + "neovim/nvim-lspconfig", + }, + opts = { + ensure_installed = { "pylsp", "lua_ls", "bash-language-server", "gopls", "clangd", "zls" }, + }, +} diff --git a/lazyvim/.config/nvim/lua/plugins/meson.lua b/lazyvim/.config/nvim/lua/plugins/meson.lua new file mode 100644 index 0000000..72ad293 --- /dev/null +++ b/lazyvim/.config/nvim/lua/plugins/meson.lua @@ -0,0 +1,12 @@ +return { + "mason-org/mason.nvim", + opts = { + ui = { + icons = { + package_installed = "✓", + package_pending = "➜", + package_uninstalled = "✗", + }, + }, + }, +} diff --git a/lazyvim/.config/nvim/lua/plugins/telescope.lua b/lazyvim/.config/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..5ca85ed --- /dev/null +++ b/lazyvim/.config/nvim/lua/plugins/telescope.lua @@ -0,0 +1,5 @@ +return { + "nvim-telescope/telescope.nvim", + tag = "0.1.8", + dependencies = { "nvim-lua/plenary.nvim" }, +} diff --git a/lazyvim/.config/nvim/stylua.toml b/lazyvim/.config/nvim/stylua.toml index 5d6c50d..4524aeb 100644 --- a/lazyvim/.config/nvim/stylua.toml +++ b/lazyvim/.config/nvim/stylua.toml @@ -1,3 +1,4 @@ indent_type = "Spaces" indent_width = 2 -column_width = 120 \ No newline at end of file +column_width = 120 +