diff --git a/lazy-lock.json b/lazy-lock.json index 49d8b80..2bc285b 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,56 +1,63 @@ { "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, - "LuaSnip": { "branch": "master", "commit": "b3104910bb5ebf40492aadffae18f2528fa757d9" }, + "LuaSnip": { "branch": "master", "commit": "ccf25a5452b8697a823de3e5ecda63ed3d723b79" }, "adwaita.nvim": { "branch": "main", "commit": "334d918d5241262816624e8c80410574ccdb25dc" }, + "avante.nvim": { "branch": "main", "commit": "164a86db6e5da78bc42310691a26b22d0763ceca" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, "cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" }, + "conform.nvim": { "branch": "master", "commit": "9fd3d5e0b689ec1bf400c53cbbec72c6fdf24081" }, + "copilot.lua": { "branch": "master", "commit": "7fe314ffa6c7bbf1b7d1dc6836d9603fd9623f07" }, "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, "format-ts-errors.nvim": { "branch": "main", "commit": "4b7418d6689bc0fd3c1db0500c67133422522384" }, + "fzf-lua": { "branch": "main", "commit": "3ec1ffb25365a6b3d87e510b1175342a61bf91a2" }, "github-nvim-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" }, - "gitsigns.nvim": { "branch": "main", "commit": "f780609807eca1f783a36a8a31c30a48fbe150c5" }, - "go.nvim": { "branch": "master", "commit": "bfd135469297f7eec50b444c8a10e098ae170f00" }, + "gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" }, + "go.nvim": { "branch": "master", "commit": "db20146ef63322949af69b0955f80ee7d98145bd" }, "gruvbox": { "branch": "master", "commit": "697c00291db857ca0af00ec154e5bd514a79191f" }, "hybrid.nvim": { "branch": "master", "commit": "74dfee0d5084a3db5e2ad0a78a67ee45e93a64bf" }, + "img-clip.nvim": { "branch": "main", "commit": "e7e29f0d07110405adecd576b602306a7edd507a" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, - "kanagawa-paper.nvim": { "branch": "master", "commit": "ec8af01c782e4d2664bea953b2d14ba5b7d34b6b" }, - "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "lazydev.nvim": { "branch": "main", "commit": "258d2a5ef4a3e3d6d9ba9da72c9725c53e9afcbd" }, + "kanagawa-paper.nvim": { "branch": "master", "commit": "6bdf6ae3e4d51560f8a08c232003526c08e4af95" }, + "lazy.nvim": { "branch": "main", "commit": "db067881fff0fd4be8c00e5bde7492e0e1c77a2f" }, + "lazydev.nvim": { "branch": "main", "commit": "01bc2aacd51cf9021eb19d048e70ce3dd09f7f93" }, "lsp-zero.nvim": { "branch": "v4.x", "commit": "d388e2b71834c826e61a3eba48caec53d7602510" }, "lsp_signature.nvim": { "branch": "master", "commit": "62cadce83aaceed677ffe7a2d6a57141af7131ea" }, "lspkind.nvim": { "branch": "master", "commit": "3ddd1b4edefa425fda5a9f95a4f25578727c0bb3" }, - "lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" }, + "lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" }, "lush.nvim": { "branch": "main", "commit": "9c60ec2279d62487d942ce095e49006af28eed6e" }, - "luvit-meta": { "branch": "main", "commit": "1df30b60b1b4aecfebc785aa98943db6c6989716" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a1067cf84b4ff81b66d2bf4d01f4cbdb5de40bd0" }, - "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" }, + "luvit-meta": { "branch": "main", "commit": "0ea4ff636c5bb559ffa78108561d0976f4de9682" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "83db0174efbac2d69fd45afef269b47dfedadbe1" }, + "mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" }, "mellow.nvim": { "branch": "main", "commit": "5cd188489bcc7eb512f0a30581ad972070f8e5cd" }, + "mini.pick": { "branch": "main", "commit": "bb764a57b349ad3e8d5e7d8855b0c6104e2cc17c" }, "neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" }, - "neovim-ayu": { "branch": "master", "commit": "cc78e880cce5dfc1187d144ed7251c746feff259" }, + "neovim-ayu": { "branch": "master", "commit": "38caa8b5b969010b1dcae8ab1a569d7669a643d5" }, "nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" }, "nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" }, "nordic.nvim": { "branch": "main", "commit": "6afe957722fb1b0ec7ca5fbea5a651bcca55f3e1" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, + "nvim-cmp": { "branch": "main", "commit": "a7bcf1d88069fc67c9ace8a62ba480b8fe879025" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, - "nvim-lint": { "branch": "master", "commit": "0864f81c681e15d9bdc1156fe3a17bd07db5a3ed" }, - "nvim-lspconfig": { "branch": "master", "commit": "ef73a4f2a1ddf0439eb97b46de2aab265ddba1cd" }, - "nvim-tree.lua": { "branch": "master", "commit": "e179ad2f83b5955ab0af653069a493a1828c2697" }, - "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-treesitter-context": { "branch": "master", "commit": "41847d3dafb5004464708a3db06b14f12bde548a" }, + "nvim-lint": { "branch": "master", "commit": "9da1fb942dd0668d5182f9c8dee801b9c190e2bb" }, + "nvim-lspconfig": { "branch": "master", "commit": "a9b2fb560c4ab22c10728fd5149dbd7b62aa4f69" }, + "nvim-treesitter": { "branch": "main", "commit": "4a9f57971ae455f07922800973f2d0eccc818e3a" }, + "nvim-treesitter-context": { "branch": "master", "commit": "ec308c7827b5f8cb2dd0ad303a059c945dd21969" }, "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" }, - "nvim-web-devicons": { "branch": "master", "commit": "6e51ca170563330e063720449c21f43e27ca0bc1" }, - "oil.nvim": { "branch": "master", "commit": "07f80ad645895af849a597d1cac897059d89b686" }, + "nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" }, + "oil.nvim": { "branch": "master", "commit": "7e1cd7703ff2924d7038476dcbc04b950203b902" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "render-markdown.nvim": { "branch": "main", "commit": "475d3ad8cae486b0df6fc6050cf5b5ea1de42db8" }, + "snacks.nvim": { "branch": "main", "commit": "a2c1e69245b4c9cc513f78af31c517e5535dad30" }, "supermaven-nvim": { "branch": "main", "commit": "07d20fce48a5629686aefb0a7cd4b25e33947d50" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" }, "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, - "trouble.nvim": { "branch": "main", "commit": "f176232e7759c4f8abd923c21e3e5a5c76cd6837" }, + "transparent.nvim": { "branch": "main", "commit": "8ac59883de84e9cd1850ea25cf087031c5ba7d54" }, + "trouble.nvim": { "branch": "main", "commit": "76030c5542c5d132aeeb467ca0ab370f3f79a697" }, "typescript-tools.nvim": { "branch": "master", "commit": "bf11d98ad5736e1cbc1082ca9a03196d45c701f1" }, - "vague.nvim": { "branch": "main", "commit": "e3d316dc1b84bc759b4cf31619595a9ed7b3ee19" }, + "vague.nvim": { "branch": "main", "commit": "5689afda42d60c8db12ff93dd6e1322f59e46a93" }, "vim-bujo": { "branch": "master", "commit": "ee3fecb5b3206b8073ac3fe4153391f320c99197" }, "vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" }, "zenbones.nvim": { "branch": "main", "commit": "a934bc07d2ed4a98b74526c172d7f043736d8935" } diff --git a/lua/config/autocmds.lua b/lua/config/autocmds.lua index d2a98c8..f1006bf 100644 --- a/lua/config/autocmds.lua +++ b/lua/config/autocmds.lua @@ -1,3 +1,28 @@ +-- Enable Tree-Sitter +vim.api.nvim_create_autocmd("FileType", { + pattern = { + "c", + "html", + "javascript", + "jsx", + "lua", + "markdown", + "python", + "toml", + "tsx", + "typescript", + "vim", + "xml", + "yaml", + "go", + "gomod", + "gosum", + }, + callback = function() + vim.treesitter.start() + end, +}) + -- Auto insert mode on TermOpen vim.api.nvim_create_autocmd({ "TermOpen", "BufEnter" }, { pattern = { "*" }, @@ -5,7 +30,7 @@ vim.api.nvim_create_autocmd({ "TermOpen", "BufEnter" }, { if vim.opt.buftype:get() == "terminal" then vim.cmd(":startinsert") end - end + end, }) -- vim-bujo auto commit & push on save @@ -17,7 +42,9 @@ vim.api.nvim_create_autocmd("BufWritePost", { local filepath = vim.api.nvim_buf_get_name(0) if filepath:match(vim.fn.expand("~/.cache/bujo/")) then vim.fn.jobstart({ - "sh", "-c", "cd ~/.cache/bujo && git add . && git commit -m 'Auto-update bujo files' && git push" + "sh", + "-c", + "cd ~/.cache/bujo && git add . && git commit -m 'Auto-update bujo files' && git push", }, { on_exit = function(_, code) if code == 0 then @@ -29,7 +56,7 @@ vim.api.nvim_create_autocmd("BufWritePost", { vim.notify("Error syncing bujo files", vim.log.levels.ERROR) end) end - end + end, }) end end, diff --git a/lua/custom/plugins/avante.lua b/lua/custom/plugins/avante.lua new file mode 100644 index 0000000..ddb500d --- /dev/null +++ b/lua/custom/plugins/avante.lua @@ -0,0 +1,81 @@ +return { + "yetone/avante.nvim", + -- if you want to build from source then do `make BUILD_FROM_SOURCE=true` + -- ⚠️ must add this setting! ! ! + build = vim.fn.has("win32") ~= 0 + and "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" + or "make", + event = "VeryLazy", + version = false, -- Never set this value to "*"! Never! + ---@module 'avante' + ---@type avante.Config + opts = { + -- add any opts here + -- this file can contain specific instructions for your project + instructions_file = "avante.md", + selection = { + enabled = true, + hint_display = "none", + }, + -- for example + provider = "claude", + 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, + }, + }, + moonshot = { + endpoint = "https://api.moonshot.ai/v1", + model = "kimi-k2-0711-preview", + timeout = 30000, -- Timeout in milliseconds + extra_request_body = { + temperature = 0.75, + max_tokens = 32768, + }, + }, + }, + }, + dependencies = { + "nvim-lua/plenary.nvim", + "MunifTanjim/nui.nvim", + --- The below dependencies are optional, + "nvim-mini/mini.pick", -- for file_selector provider mini.pick + "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' + { + -- support for image pasting + "HakonHarnes/img-clip.nvim", + event = "VeryLazy", + opts = { + -- recommended settings + default = { + embed_image_as_base64 = false, + prompt_for_file_name = false, + drag_and_drop = { + insert_mode = true, + }, + -- required for Windows users + use_absolute_path = true, + }, + }, + }, + { + -- Make sure to set this up properly if you have lazy=true + 'MeanderingProgrammer/render-markdown.nvim', + opts = { + file_types = { "markdown", "Avante" }, + }, + ft = { "markdown", "Avante" }, + }, + }, +} diff --git a/lua/custom/plugins/indent-blankline.lua b/lua/custom/plugins/indent-blankline.lua index 2b083d1..58e8a52 100644 --- a/lua/custom/plugins/indent-blankline.lua +++ b/lua/custom/plugins/indent-blankline.lua @@ -2,19 +2,19 @@ return { "lukas-reineke/indent-blankline.nvim", main = "ibl", config = function() - require("ibl").setup({ - debounce = 100, - indent = { - char = "▏", - tab_char = "▏", - highlight = { "IblIndent" }, - }, - scope = { - enabled = true, - show_start = false, - show_end = false, - highlight = { "IblScope" }, - }, - }) + -- require("ibl").setup({ + -- debounce = 100, + -- indent = { + -- char = "▏", + -- tab_char = "▏", + -- highlight = { "IblIndent" }, + -- }, + -- scope = { + -- enabled = true, + -- show_start = false, + -- show_end = false, + -- highlight = { "IblScope" }, + -- }, + -- }) end, } diff --git a/lua/custom/plugins/nvim-tree.lua b/lua/custom/plugins/nvim-tree.lua deleted file mode 100644 index 1dfc771..0000000 --- a/lua/custom/plugins/nvim-tree.lua +++ /dev/null @@ -1,18 +0,0 @@ -return { - "nvim-tree/nvim-tree.lua", - cmd = { "NvimTreeToggle" }, - dependencies = { - "nvim-lua/plenary.nvim", - "MunifTanjim/nui.nvim", - "nvim-tree/nvim-web-devicons", - }, - opts = { - view = { - side = "right", - width = 45, - }, - }, - keys = { - { "E", "NvimTreeToggle", desc = "Toggle Explorer" }, - }, -} diff --git a/lua/custom/plugins/nvim-treesitter.lua b/lua/custom/plugins/nvim-treesitter.lua new file mode 100644 index 0000000..97db976 --- /dev/null +++ b/lua/custom/plugins/nvim-treesitter.lua @@ -0,0 +1,69 @@ +return { + { + "nvim-treesitter/nvim-treesitter", + branch = "main", + lazy = false, + build = ":TSUpdate", + config = function() + require("nvim-treesitter").setup({ + indent = { enable = true }, + highlight = { enable = true }, + ensure_installed = { + "bash", + "c", + "diff", + "html", + "javascript", + "jsx", + "jsdoc", + "json", + "jsonc", + "lua", + "luadoc", + "luap", + "markdown", + "markdown_inline", + "printf", + "python", + "query", + "regex", + "toml", + "tsx", + "typescript", + "vim", + "vimdoc", + "xml", + "yaml", + "go", + "gomod", + "gosum", + }, + }) + end, + }, + + -- Show context of the current function + { + "nvim-treesitter/nvim-treesitter-context", + event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + enabled = true, + opts = { mode = "cursor", max_lines = 3 }, + config = function(_, opts) + require("treesitter-context").setup(opts) + + -- Set transparent background for TreesitterContext highlight groups + vim.api.nvim_create_autocmd("ColorScheme", { + callback = function() + vim.cmd("hi TreesitterContext guibg=none") + vim.cmd("hi TreesitterContextLineNumber guibg=none") + vim.cmd("hi TreesitterContextBottom guibg=none") + end, + }) + + -- Apply immediately + vim.cmd("hi TreesitterContext guibg=none") + vim.cmd("hi TreesitterContextLineNumber guibg=none") + vim.cmd("hi TreesitterContextBottom guibg=none") + end, + }, +} diff --git a/lua/custom/plugins/nvim-ts-autotag.lua b/lua/custom/plugins/nvim-ts-autotag.lua new file mode 100644 index 0000000..3b3e968 --- /dev/null +++ b/lua/custom/plugins/nvim-ts-autotag.lua @@ -0,0 +1,6 @@ +-- Automatically add closing tags for HTML and JSX +return { + "windwp/nvim-ts-autotag", + event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + opts = {}, +} diff --git a/lua/custom/plugins/transparent.lua b/lua/custom/plugins/transparent.lua new file mode 100644 index 0000000..8879428 --- /dev/null +++ b/lua/custom/plugins/transparent.lua @@ -0,0 +1,7 @@ +return { + "xiyaowong/transparent.nvim", + lazy = false, + config = function() + vim.cmd([[TransparentEnable]]) + end +} diff --git a/lua/custom/plugins/treesitter.lua b/lua/custom/plugins/treesitter.lua deleted file mode 100644 index 5d01749..0000000 --- a/lua/custom/plugins/treesitter.lua +++ /dev/null @@ -1,79 +0,0 @@ -return { - { - "nvim-treesitter/nvim-treesitter", - version = false, - build = ":TSUpdate", - event = { "BufReadPost", "BufWritePost", "BufNewFile", "VeryLazy" }, - init = function(plugin) - require("lazy.core.loader").add_to_rtp(plugin) - require("nvim-treesitter.query_predicates") - end, - cmd = { "TSUpdateSync", "TSUpdate", "TSInstall" }, - keys = { - { "", desc = "Increment selection" }, - { "", desc = "Decrement selection", mode = "x" }, - }, - opts = { - highlight = { - enable = true, - additional_vim_regex_highlighting = false, - }, - auto_install = true, - indent = { enable = true }, - incremental_selection = { - enable = true, - keymaps = { - init_selection = "", - node_incremental = "", - scope_incremental = false, - node_decremental = "", - }, - }, - }, - config = function(_, opts) - require("nvim-treesitter.configs").setup(opts) - end, - }, - - -- Show context of the current function - { - "nvim-treesitter/nvim-treesitter-context", - event = { "BufReadPost", "BufWritePost", "BufNewFile" }, - enabled = true, - opts = { mode = "cursor", max_lines = 3 }, - keys = { - { - "ut", - function() - local tsc = require("treesitter-context") - tsc.toggle() - end, - desc = "Toggle Treesitter Context", - }, - }, - config = function(_, opts) - require("treesitter-context").setup(opts) - - -- Set transparent background for TreesitterContext highlight groups - vim.api.nvim_create_autocmd("ColorScheme", { - callback = function() - vim.cmd("hi TreesitterContext guibg=none") - vim.cmd("hi TreesitterContextLineNumber guibg=none") - vim.cmd("hi TreesitterContextBottom guibg=none") - end, - }) - - -- Apply immediately - vim.cmd("hi TreesitterContext guibg=none") - vim.cmd("hi TreesitterContextLineNumber guibg=none") - vim.cmd("hi TreesitterContextBottom guibg=none") - end, - }, - - -- Automatically add closing tags for HTML and JSX - { - "windwp/nvim-ts-autotag", - event = { "BufReadPost", "BufWritePost", "BufNewFile" }, - opts = {}, - }, -}