From 4119e1d801ddfcdd257355a0b97aa75b853f0d15 Mon Sep 17 00:00:00 2001 From: Dinesh Salunke Date: Tue, 15 Jul 2025 15:49:36 +0530 Subject: [PATCH] refactor: nvim comp supermaven etc --- lazy-lock.json | 62 +++++++++--------- lua/plugins/avante.lua | 75 +++++++++------------- lua/plugins/colorscheme.lua | 3 +- lua/plugins/conform.lua | 15 +++++ lua/plugins/lspconfig.lua | 10 +++ lua/plugins/nvim-cmp.lua | 1 + lua/plugins/supermaven.lua | 9 +++ lua/plugins/treesitter.lua | 104 ++++++++++++++++++------------- lua/plugins/typescript-tools.lua | 7 +-- 9 files changed, 153 insertions(+), 133 deletions(-) create mode 100644 lua/plugins/supermaven.lua diff --git a/lazy-lock.json b/lazy-lock.json index a149f51..b7a4686 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,61 +1,57 @@ { "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, - "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, - "alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" }, - "avante.nvim": { "branch": "main", "commit": "0d26590389ff7ab892bf67a411961e43d94f4e6a" }, + "LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" }, + "alpha-nvim": { "branch": "main", "commit": "2b3cbcdd980cae1e022409289245053f62fb50f6" }, + "avante.nvim": { "branch": "main", "commit": "935234981b01da1bbfc03de963eb5132e58fc805" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, - "catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" }, + "catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" }, "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" }, - "cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" }, + "cmp-path": { "branch": "main", "commit": "e52e640b7befd8113b3350f46e8cfcfe98fcf730" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "codecompanion.nvim": { "branch": "main", "commit": "d71d8b96c0b1ec8c047fb938552035864d530bb1" }, - "conform.nvim": { "branch": "master", "commit": "eebc724d12c5579d733d1f801386e0ceb909d001" }, - "copilot.lua": { "branch": "master", "commit": "cf6cb4f3d7f2729263fc2130de609ff5af22702a" }, + "conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" }, "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, "fidget.nvim": { "branch": "main", "commit": "d9ba6b7bfe29b3119a610892af67602641da778e" }, "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" }, - "fzf-lua": { "branch": "main", "commit": "970fc983b887cead7d630e062fed01337e41b25d" }, - "gitsigns.nvim": { "branch": "main", "commit": "fcfa7a989cd6fed10abf02d9880dc76d7a38167d" }, + "gitsigns.nvim": { "branch": "main", "commit": "bbee149e00c404aa9f7a7c248b981cde953b252a" }, "glow.nvim": { "branch": "main", "commit": "5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2" }, - "img-clip.nvim": { "branch": "main", "commit": "08a02e14c8c0d42fa7a92c30a98fd04d6993b35d" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, - "lazygit.nvim": { "branch": "main", "commit": "b9eae3badab982e71abab96d3ee1d258f0c07961" }, - "lualine.nvim": { "branch": "master", "commit": "86fe39534b7da729a1ac56c0466e76f2c663dc42" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, - "mason-tool-installer.nvim": { "branch": "main", "commit": "1255518cb067e038a4755f5cb3e980f79b6ab89c" }, - "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, + "lazygit.nvim": { "branch": "main", "commit": "4839ab642962cc76bb1bf278427dc4c59be15072" }, + "lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "acb2d97a5c5e3f58156cb387fdf6035c34cd2768" }, + "mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" }, + "mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" }, + "mcphub.nvim": { "branch": "main", "commit": "bb6741391f19ac93e335a72bd67a602ccdae0af7" }, "mdx.nvim": { "branch": "main", "commit": "464a74be368dce212cff02f6305845dc7f209ab3" }, - "mini.bufremove": { "branch": "main", "commit": "66019ecebdc5bc0759e04747586994e2e3f98416" }, - "mini.indentscope": { "branch": "main", "commit": "8af2569a7d7fd37300dfa760e44e71efbbf322fd" }, - "mini.pairs": { "branch": "main", "commit": "69864a2efb36c030877421634487fd90db1e4298" }, - "mini.pick": { "branch": "main", "commit": "6cad781797f3a9b0e69f2e9a2d63de8b1c1824f5" }, - "mini.surround": { "branch": "main", "commit": "5aab42fcdcf31fa010f012771eda5631c077840a" }, + "mini.bufremove": { "branch": "main", "commit": "aaee5c281c5ca26c78d6c103ffb51dc93507e211" }, + "mini.indentscope": { "branch": "main", "commit": "5fdc3edf7bb1b6365980c2c47dac2f19ec93c97b" }, + "mini.pairs": { "branch": "main", "commit": "42407ccb80ec59c84e7c91d815f42ed90a8cc093" }, + "mini.surround": { "branch": "main", "commit": "1a2b59c77a0c4713a5bd8972da322f842f4821b1" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "80dc74d081823649809f78370fa5b204aa9a853a" }, "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, - "nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, - "nvim-lspconfig": { "branch": "master", "commit": "e39da6a820d2a700904117d29f0dd476d64262cf" }, - "nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" }, - "nvim-spectre": { "branch": "master", "commit": "ddd7383e856a7c939cb4f5143278fe041bbb8cb9" }, - "nvim-treesitter": { "branch": "master", "commit": "b6492f41c46d9c3bc3550ecfb10c3f261e73cba6" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "205e3369bc83d8cb83f7409c36120e24611f8c5c" }, + "nvim-lspconfig": { "branch": "master", "commit": "d005da998edad401524504d03c7a88a56d125224" }, + "nvim-notify": { "branch": "master", "commit": "a22f5d7ac511c2df2fd3290a9f04c48d5a822e2e" }, + "nvim-spectre": { "branch": "master", "commit": "72f56f7585903cd7bf92c665351aa585e150af0f" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" }, "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, - "nvim-web-devicons": { "branch": "master", "commit": "c90dee4e930ab9f49fa6d77f289bff335b49e972" }, + "nvim-web-devicons": { "branch": "master", "commit": "0422a19d9aa3aad2c7e5cca167e5407b13407a9d" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, - "render-markdown.nvim": { "branch": "main", "commit": "8bb0d4725cc4909a603158d44ff28b6158ad9278" }, - "smart-splits.nvim": { "branch": "master", "commit": "ddb23c1a1cf1507bda487cda7f6e4690965ef9f5" }, + "smart-splits.nvim": { "branch": "master", "commit": "30d645ed1eab77df9a5d9e98515316165b7d9ab9" }, + "supermaven-nvim": { "branch": "main", "commit": "07d20fce48a5629686aefb0a7cd4b25e33947d50" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, - "telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" }, + "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, "twilight.nvim": { "branch": "main", "commit": "1584c0b0a979b71fd86b18d302ba84e9aba85b1b" }, - "typescript-tools.nvim": { "branch": "master", "commit": "a4109c70e7d6a3a86f971cefea04ab6720582ba9" }, - "vim-illuminate": { "branch": "master", "commit": "08aa184f1bd508f6a59371b52cba26be07bc016d" }, + "typescript-tools.nvim": { "branch": "master", "commit": "3c501d7c7f79457932a8750a2a1476a004c5c1a9" }, + "vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" }, "vim-smoothie": { "branch": "master", "commit": "df1e324e9f3395c630c1c523d0555a01d2eb1b7e" }, "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }, "zen-mode.nvim": { "branch": "main", "commit": "863f150ca321b3dd8aa1a2b69b5f411a220e144f" } diff --git a/lua/plugins/avante.lua b/lua/plugins/avante.lua index b56b0d5..4dce75c 100644 --- a/lua/plugins/avante.lua +++ b/lua/plugins/avante.lua @@ -1,59 +1,38 @@ return { { + enabled = false, "yetone/avante.nvim", + -- if you want to build from source then do `make BUILD_FROM_SOURCE=true` + -- ⚠️ must add this setting! ! ! + -- build = function() + -- -- conditionally use the correct build system for the current OS + -- if vim.fn.has("win32") == 1 then + -- return "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" + -- else + -- return "make BUILD_FROM_SOURCE=true" + -- end + -- end, event = "VeryLazy", version = false, -- Never set this value to "*"! Never! - enabled = true, + ---@module 'avante' + ---@type avante.Config opts = { + -- add any opts here -- for example - provider = "openai", - openai = { - endpoint = "https://api.openai.com/v1", - model = "gpt-4o-mini", -- your desired model (or use gpt-4o, etc.) - timeout = 30000, -- Timeout in milliseconds, increase this for reasoning models - temperature = 0, - max_completion_tokens = 8192, -- Increase this to include reasoning tokens (for reasoning models) - --reasoning_effort = "medium", -- low|medium|high, only used for reasoning models - }, - ollama = { - model = "codellama", - endpoint = "http://127.0.0.1:11434", - }, - vendors = { - mistral = { - __inherited_from = "openai", - endpoint = "https://agent-mql2w66kzgoopio7n6mt5n4x-h8fzy.ondigitalocean.app/api/v1/", - api_key_name = "DO_GEN_AI_API_KEY", - model = "mistral-nemo", - }, - deepseek = { - __inherited_from = "openai", - endpoint = "https://agent-mql2w66kzgoopio7n6mt5n4x-h8fzy.ondigitalocean.app/api/v1/", - api_key_name = "DO_GEN_AI_API_KEY", - model = "deepseek-r1-distill-llama-70b", - temperature = 0.5, - }, - llama31 = { - __inherited_from = "openai", - endpoint = "https://agent-mql2w66kzgoopio7n6mt5n4x-h8fzy.ondigitalocean.app/api/v1/", - api_key_name = "DO_GEN_AI_API_KEY", - model = "llama3.3-instruct", - temperature = 0.5, - }, - }, - mappings = { - diff = { - ours = "co", - theirs = "ct", - }, - }, + provider = "copilot", + -- providers = { + -- claude = { + -- endpoint = "https://api.anthropic.com", + -- model = "claude-sonnet-4-20250514", + -- timeout = 30000, -- Timeout in milliseconds + -- extra_request_body = { + -- temperature = 0.75, + -- max_tokens = 20480, + -- }, + -- }, + -- }, }, - -- if you want to build from source then do `make BUILD_FROM_SOURCE=true` - build = "make", - -- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows dependencies = { - "nvim-treesitter/nvim-treesitter", - "stevearc/dressing.nvim", "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim", --- The below dependencies are optional, @@ -61,6 +40,8 @@ return { "nvim-telescope/telescope.nvim", -- for file_selector provider telescope "hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions "ibhagwan/fzf-lua", -- for file_selector provider fzf + "stevearc/dressing.nvim", -- for input provider dressing + "folke/snacks.nvim", -- for input provider snacks "nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons "zbirenbaum/copilot.lua", -- for providers='copilot' { diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index 098fbdd..48cf49d 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -1,5 +1,4 @@ return { - { "catppuccin/nvim", name = "catppuccin", @@ -20,7 +19,7 @@ return { gitsigns = true, nvimtree = true, treesitter = true, - notify = false, + notify = true, mini = { enabled = true, indentscope_color = "", diff --git a/lua/plugins/conform.lua b/lua/plugins/conform.lua index 0d4eedf..119ebe7 100644 --- a/lua/plugins/conform.lua +++ b/lua/plugins/conform.lua @@ -4,8 +4,23 @@ return { opts = {}, config = function() local confrom = require("conform") + local util = require("conform.util") confrom.setup({ log_level = vim.log.levels.DEBUG, + formatters = { + eslint_d = { + meta = { + url = "https://github.com/mantoni/eslint_d.js/", + description = "Like ESLint, but faster.", + }, + command = util.from_node_modules("eslint_d"), + args = { "--fix-to-stdout", "--stdin", "--stdin-filename", "$FILENAME" }, + stdin = true, + cwd = util.root_file({ + "package.json", + }), + }, + }, formatters_by_ft = { lua = { "stylua" }, javascript = { "prettierd", "eslint_d" }, diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua index 74dfd60..db8e542 100644 --- a/lua/plugins/lspconfig.lua +++ b/lua/plugins/lspconfig.lua @@ -194,6 +194,15 @@ return { "gotmpl", }, root_dir = util.root_pattern("go.work", "go.mod", ".git"), + settings = { + gopls = { + completeUnimported = true, + usePlaceholders = true, + analyses = { + unusedparams = true, + }, + }, + }, }, } @@ -215,6 +224,7 @@ return { "stylua", -- Used to format Lua code "prettierd", "eslint_d", + "gopls", }) require("mason-tool-installer").setup({ ensure_installed = ensure_installed }) diff --git a/lua/plugins/nvim-cmp.lua b/lua/plugins/nvim-cmp.lua index 4639de7..d7c6c35 100644 --- a/lua/plugins/nvim-cmp.lua +++ b/lua/plugins/nvim-cmp.lua @@ -102,6 +102,7 @@ return { -- Autocompletion -- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps }), sources = { + { name = "supermaven" }, { name = "lazydev", -- set group index to 0 to skip loading LuaLS completions as lazydev recommends it diff --git a/lua/plugins/supermaven.lua b/lua/plugins/supermaven.lua new file mode 100644 index 0000000..9401486 --- /dev/null +++ b/lua/plugins/supermaven.lua @@ -0,0 +1,9 @@ +return { + { + enabled = true, + "supermaven-inc/supermaven-nvim", + config = function() + require("supermaven-nvim").setup({}) + end, + }, +} diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua index 4fbe1cc..645b1f8 100644 --- a/lua/plugins/treesitter.lua +++ b/lua/plugins/treesitter.lua @@ -1,9 +1,9 @@ return { { "nvim-treesitter/nvim-treesitter", - commit = "b6492f41c46d9c3bc3550ecfb10c3f261e73cba6", + branch = "master", build = ":TSUpdate", - version = false, + lazy = false, event = { "BufReadPost", "BufNewFile", @@ -16,50 +16,64 @@ return { { "", desc = "Decrement selection", mode = "x" }, }, cmd = { "TSUpdateSync" }, - opts = { - sync_install = false, - auto_install = true, - highlight = { - enable = true, - additional_vim_regex_highlighting = false, - }, - indent = { - enable = true, - }, - ensure_installed = { - "bash", - "fish", - "c", - "html", - "fish", - "javascript", - "json", - "lua", - "luadoc", - "luap", - "markdown", - "markdown_inline", - "query", - "regex", - "tsx", - "typescript", - "vim", - "vimdoc", - "yaml", - "dockerfile", - "http", - "go", - }, - incremental_selection = { - enable = true, - keymaps = { - init_selection = "", - node_incremental = "", - scope_incremental = false, - node_decremental = "", + config = function() + require("nvim-treesitter.configs").setup({ + sync_install = false, + auto_install = true, + ensure_installed = { + "bash", + "fish", + "c", + "html", + "fish", + "javascript", + "json", + "lua", + "luadoc", + "luap", + "markdown", + "markdown_inline", + "query", + "regex", + "tsx", + "typescript", + "vim", + "vimdoc", + "yaml", + "dockerfile", + "http", + "go", }, - }, - }, + incremental_selection = { + enable = true, + keymaps = { + init_selection = "", + node_incremental = "", + scope_incremental = false, + node_decremental = "", + }, + }, + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, + indent = { + enable = true, + }, + textobjects = { + select = { + enable = true, + lookahead = true, + keymaps = { + ["af"] = "@function.outer", + ["if"] = "@function.inner", + ["ac"] = "@class.outer", + ["ic"] = "@class.inner", + }, + }, + }, + }) + end, }, { "nvim-treesitter/playground", diff --git a/lua/plugins/typescript-tools.lua b/lua/plugins/typescript-tools.lua index 1f45617..49bfaaf 100644 --- a/lua/plugins/typescript-tools.lua +++ b/lua/plugins/typescript-tools.lua @@ -4,12 +4,7 @@ return { dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig" }, config = function() local tstools = require("typescript-tools") - tstools.setup({ - single_file_support = true, - settings = { - single_file_support = true, - }, - }) + tstools.setup({}) vim.keymap.set( "n", "toi",