diff --git a/init.lua b/init.lua index d5acef4..e29a85d 100755 --- a/init.lua +++ b/init.lua @@ -54,7 +54,5 @@ vim.schedule(function() require("mappings") end) - require('configs.lspconfig') require('configs.neoscroll') - diff --git a/lazy-lock.json b/lazy-lock.json index 2b3e263..979c0be 100755 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,51 +1,29 @@ { - "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, - "CopilotChat.nvim": { "branch": "main", "commit": "a89f5f1162b04a0962e5f4c3cdf248a81e7e53cb" }, - "LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" }, - "NvChad": { "branch": "v2.5", "commit": "46b15ef1b9d10a83ab7df26b14f474d15c01e770" }, - "base46": { "branch": "v2.5", "commit": "fde7a2cd54599e148d376f82980407c2d24b0fa2" }, - "black": { "branch": "main", "commit": "d0ff3bd6cb82e35b1529155d29fca2c13442e68d" }, + "LuaSnip": { "branch": "master", "commit": "3d5bced1b9ae69fa3f9b1942e28af5dbc537f946" }, + "NvChad": { "branch": "v2.5", "commit": "29ebe31ea6a4edf351968c76a93285e6e108ea08" }, + "base46": { "branch": "v3.0", "commit": "cee12a263602cc97652d3dd55f0fc5e171012967" }, + "cmp-async-path": { "branch": "main", "commit": "0ed1492f59e730c366d261a5ad822fa37e44c325" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, - "cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "conform.nvim": { "branch": "master", "commit": "eebc724d12c5579d733d1f801386e0ceb909d001" }, - "copilot-cmp": { "branch": "master", "commit": "15fc12af3d0109fa76b60b5cffa1373697e261d1" }, - "copilot.lua": { "branch": "master", "commit": "c62a2a7616a9789a7676b6b7a8d9263b1082cdc8" }, - "crates.nvim": { "branch": "main", "commit": "73d2c590c74a0c582144987a4decb4a642755859" }, - "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" }, - "gitsigns.nvim": { "branch": "main", "commit": "fcfa7a989cd6fed10abf02d9880dc76d7a38167d" }, + "conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" }, + "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, + "gitsigns.nvim": { "branch": "main", "commit": "b01433169be710d6c69f7b4ee264d9670698b831" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "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" }, - "menu": { "branch": "main", "commit": "ce1d8b5fc980edc388cd0da0884cacea25dcc6c5" }, + "mason.nvim": { "branch": "main", "commit": "3671ab0d40aa5bd24b1686562bd0a23391ecf76a" }, + "menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" }, "minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" }, - "neocord": { "branch": "main", "commit": "2ebf3792a8100376bb65fd66d5dbf60f50af7529" }, - "neoscroll.nvim": { "branch": "master", "commit": "f957373912e88579e26fdaea4735450ff2ef5c9c" }, - "nvim-autopairs": { "branch": "master", "commit": "2a406cdd8c373ae7fe378a9e062a5424472bd8d8" }, - "nvim-cmp": { "branch": "main", "commit": "059e89495b3ec09395262f16b1ad441a38081d04" }, - "nvim-dap": { "branch": "master", "commit": "7aade9e99bef5f0735cf966e715b3ce45515d786" }, - "nvim-dap-ui": { "branch": "master", "commit": "bc81f8d3440aede116f821114547a476b082b319" }, - "nvim-lspconfig": { "branch": "master", "commit": "81a570f58b2113cc2d538efae743ad38d6ab564f" }, - "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, - "nvim-tree.lua": { "branch": "master", "commit": "5bea2b37523a31288e0fcab42f3be5c1bd4516bb" }, - "nvim-treesitter": { "branch": "master", "commit": "0e21ee8df6235511c02bab4a5b391d18e165a58d" }, - "nvim-web-devicons": { "branch": "master", "commit": "c90dee4e930ab9f49fa6d77f289bff335b49e972" }, - "persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" }, - "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, - "rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" }, - "rustaceanvim": { "branch": "master", "commit": "e9c5aaba16fead831379d5f44617547a90b913c7" }, - "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" }, - "suda.vim": { "branch": "master", "commit": "9adda7d195222d4e2854efb2a88005a120296c47" }, - "telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" }, - "transparent.nvim": { "branch": "main", "commit": "8a2749a2fa74f97fe6557f61b89ac7fd873f3c21" }, - "ui": { "branch": "v3.0", "commit": "9201de37eb4992bef5fec974618a9a14082765fe" }, - "vim-fugitive": { "branch": "master", "commit": "593f831d6f6d779cbabb70a4d1e6b1b1936a88af" }, - "vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" }, - "volt": { "branch": "main", "commit": "c45d5f48da8e802e608b5c6da471ca4d84276dfb" }, + "nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" }, + "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, + "nvim-lspconfig": { "branch": "master", "commit": "177be29e7b9c084c9200ee4033eb66e04ac536ec" }, + "nvim-tree.lua": { "branch": "master", "commit": "65bae449224b8a3bc149471b96587b23b13a9946" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "nvim-web-devicons": { "branch": "master", "commit": "4a8369f4c78ef6f6f895f0cec349e48f74330574" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, + "ui": { "branch": "v3.0", "commit": "dc4950f5bd4117e2da108b681506c908b93d4a62" }, + "volt": { "branch": "main", "commit": "7b8c5e790120d9f08c8487dcb80692db6d2087a1" }, "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" } } diff --git a/lua/mappings.lua b/lua/mappings.lua index 1528c1e..d1f34e9 100755 --- a/lua/mappings.lua +++ b/lua/mappings.lua @@ -1,35 +1,14 @@ require "nvchad.mappings" --- add yours here - local map = vim.keymap.set --- map("n", ";", ":", { desc = "CMD enter command mode" }) -vim.opt.mouse = "" - map("i", "jk", "") --- vim.keymap.set('n', '', ':NvimTreeToggle', { noremap = true, silent = true }) vim.api.nvim_del_keymap('n', '') --- Define the function globally -function open_snacks_explorer(opts) - require('snacks').explorer.open(opts or {}) -end - --- Set the keybinding to call the function -vim.api.nvim_set_keymap('n', 'e', ':lua open_snacks_explorer()', { noremap = true, silent = true }) - - vim.g.VM_maps = vim.g.VM_maps or {} vim.g.VM_maps[''] = '(VM-Find-Subword-Under)' vim.g.mapleader = " " vim.keymap.set("n", "", ':CopilotChatOpen', { noremap = true, silent = true }) -vim.keymap.set("i", "", function() - require("copilot.suggestion").accept() -end, { noremap = true, silent = true }) - -vim.api.nvim_set_keymap('', '', '', { noremap = true, silent = true }) -vim.api.nvim_set_keymap('', '', '', { noremap = true, silent = true }) vim.keymap.set("n", "t", function() local word = vim.fn.expand("") @@ -56,3 +35,5 @@ vim.keymap.set("n", "dd", '"_dd', { noremap = true }) vim.keymap.set("v", "d", '"_d', { noremap = true }) -- map({ "n", "i", "v" }, "", " w ") + +map("n", "rg", "Telescope live_grep", { desc = "telescope live grep" }) diff --git a/lua/options.lua b/lua/options.lua index f833333..52071bf 100755 --- a/lua/options.lua +++ b/lua/options.lua @@ -1,22 +1,7 @@ +require "nvchad.mappings" require "nvchad.options" local Snacks = require ("snacks") - -Snacks.setup({ - bigfile = { enabled = true }, - dashboard = { enabled = true }, - explorer = { enabled = true}, - -- indent = { enabled = true }, - input = { enabled = true }, - picker = { enabled = true }, - notifier = { enabled = true }, - quickfile = { enabled = true }, - scope = { enabled = true }, - -- scroll = { enabled = true }, - statuscolumn = { enabled = true }, - words = { enabled = true }, - keys = { - { "e", function() Snacks.explorer() end, desc = "File Explorer" }, - } - }) - +-- +vim.keymap.del("n", "e") +vim.keymap.set("n", "e", function() Snacks.explorer.open() end, { desc = "File Explorer" }) diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua index e955e8f..37ec60d 100755 --- a/lua/plugins/init.lua +++ b/lua/plugins/init.lua @@ -1,4 +1,6 @@ return { + + -- LSP / Mason { "williamboman/mason.nvim", opts = {} }, { "williamboman/mason-lspconfig.nvim", opts = {} }, { "WhoIsSethDaniel/mason-tool-installer.nvim"}, @@ -7,6 +9,8 @@ return { -- event = 'BufWritePre', -- uncomment for format on save opts = require "configs.conform", }, + + -- Misc { "IogaMaster/neocord", opts = { @@ -20,19 +24,45 @@ return { -- Basic plugins { "nvim-lualine/lualine.nvim", lazy = false }, { "nvim-tree/nvim-tree.lua", enabled = false }, - { "karb94/neoscroll.nvim", lazy = false }, - { "lambdalisue/suda.vim", lazy = false }, - { "numToStr/Comment.nvim", lazy = false}, - { "mg979/vim-visual-multi", lazy = false}, + { "lambdalisue/suda.vim", lazy = true }, + { "numToStr/Comment.nvim", lazy = true}, + -- { "mg979/vim-visual-multi", lazy = false}, { "tpope/vim-fugitive", lazy = false}, { "folke/persistence.nvim", event = "BufReadPre", config = true, }, { + "karb94/neoscroll.nvim", + lazy = true, + opts = { + hide_cursor = true, + stop_eof = true, + respect_scrolloff = true, + cursor_scrolls_alone = true, + }, + }, + { "folke/snacks.nvim", priority = 1000, lazy = false, + opts = { + bigfile = { enabled = true }, + dashboard = { enabled = true }, + explorer = { + enabled = true, + auto_close = true, + }, + indent = { enabled = false }, + input = { enabled = true }, + picker = {enabled = true }, + notifier = { enabled = true }, + quickfile = { enabled = true }, + scope = { enabled = true }, + -- scroll = { enabled = true }, + statuscolumn = { enabled = true }, + words = { enabled = true }, + }, }, { "nvim-treesitter/nvim-treesitter", @@ -53,134 +83,33 @@ return { configs.setup(opts) end }, - { "nvim-telescope/telescope.nvim", lazy = false }, ---{ --- 'fisadev/vim-isort', --- ft = 'python', --- config = function() --- -- Ensure Python support is available --- local python_support = vim.fn.has('python3') --- if python_support == 1 then --- vim.g.vim_isort_map = '' --- vim.api.nvim_create_autocmd({"BufWritePre"}, { --- pattern = "*.py", --- callback = function() --- vim.cmd("Isort") --- end, --- }) --- else --- print("Python3 support is missing, vim-isort will be disabled.") --- end --- end ---}, - { - 'psf/black', - ft = 'python', - config = function () - vim.api.nvim_create_autocmd({"BufWritePre"}, { - pattern = "*.py", - callback = function() - vim.cmd("Black") - end, - }) - end + + { "nvim-telescope/telescope.nvim", + lazy = true, + dependencies = { + { "BurntSushi/ripgrep" }, + { "nvim-lua/plenary.nvim" }, + { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, + config = function() + -- vim.keymap.set("n", "ff", require ('telescope.builtin').find_files) + -- vim.keymap.set("n", "fw", require ('telescope.builtin').live_grep) + require('telescope.builtin').find_files() + end + } }, + { "xiyaowong/transparent.nvim", lazy = false, -- Disable lazy-loading priority = 1000, -- High priority to ensure it loads before other plugins config = function() require("transparent").setup({ - extra_groups = { -- Example groups to clear - "NormalFloat", -- Add more highlight groups as needed - "NvimTreeNormal", - }, exclude = {}, -- Groups you want to keep intact }) end, }, - { - "zbirenbaum/copilot.lua", - cmd = "Copilot", -- Makes `:Copilot` available - event = "InsertEnter", -- Load when entering Insert mode - config = function() - require("copilot").setup({ - suggestion = { - enabled = true, - auto_trigger = true, - keymap = { - accept = "", - dismiss = "", - }, - }, - }) - end, - }, - { - "zbirenbaum/copilot-cmp", - after = { "copilot.lua", "nvim-cmp" }, -- Ensure it loads after copilot and nvim-cmp - config = function() - require("copilot_cmp").setup() - end, - }, - - -- Rust vim Plugin - { - 'mrcjkb/rustaceanvim', - version = '^5', -- Recommended - lazy = false, -- This plugin is already lazy - config = function () - local mason_registry = require('mason-registry') - local codelldb = mason_registry.get_package("codelldb") - local extension_path = codelldb:get_install_path() .. "/extension" - local codelldb_path = extension_path .. "adapter/codelldb" - local liblldb_path = extension_path.. "lldb/lib/liblldb.dylib" - local cfg = require('rustaceanvim.config') - - vim.g.rustaceanvim = { - dap = { - adapter = cfg.get_codelldb_adapter(codelldb_path, liblldb_path) - }, - } - end - }, - - -- CopilotChat - { - "CopilotC-Nvim/CopilotChat.nvim", - branch = "main", - dependencies = { - { "zbirenbaum/copilot.lua" }, - { "nvim-lua/plenary.nvim" }, - }, - show_diff = { - full_diff = true - }, - opts = { - model = "claude-3.7-sonnet", - context = "buffer", - border = "rounded", - auto_insert_mode = true, - show_help = false, - mappings = { - submit_prompt = { - insert = '', - }, - }, - }, - build = nil, -- Disable the build step - }, - - { - 'rust-lang/rust.vim', - ft = "rust", - init = function () - vim.g.rustfmt_autosave = 1 - end - }, - { 'mfussenegger/nvim-dap', config = function () @@ -207,6 +136,96 @@ return { require("dapui").setup() end, }, + + -- AI + + { + "zbirenbaum/copilot.lua", + cmd = "Copilot", -- Makes `:Copilot` available + event = "InsertEnter", -- Load when entering Insert mode + config = function() + require("copilot").setup({ + suggestion = { + enabled = true, + auto_trigger = true, + keymap = { + accept = "", + dismiss = "", + }, + }, + }) + end, + }, + + + { + "zbirenbaum/copilot-cmp", + after = { "copilot.lua", "nvim-cmp" }, -- Ensure it loads after copilot and nvim-cmp + config = function() + require("copilot_cmp").setup() + end, + }, + + + { + "CopilotC-Nvim/CopilotChat.nvim", + branch = "main", + dependencies = { + { "zbirenbaum/copilot.lua" }, + { "nvim-lua/plenary.nvim" }, + }, + show_diff = { + full_diff = true + }, + opts = { + model = "claude-3.7-sonnet", + context = "buffer", + border = "rounded", + auto_insert_mode = true, + show_help = false, + mappings = { + submit_prompt = { + insert = '', + }, + }, + }, + build = nil, -- Disable the build step + }, + + + -- PYTHON + + + -- RUST + + { + 'mrcjkb/rustaceanvim', + lazy = false, + version = '^6', + config = function() + local extension_path = vim.fn.expand("$HOME/.local/share/nvim/mason/packages/codelldb/extension") + local codelldb_path = extension_path .. "adapter/codelldb" + local liblldb_path = extension_path.. "lldb/lib/liblldb.dylib" + local cfg = require('rustaceanvim.config') + + vim.g.rustaceanvim = { + dap = { + adapter = cfg.get_codelldb_adapter(codelldb_path, liblldb_path) + }, + } + end + }, + + + { + 'rust-lang/rust.vim', + ft = "rust", + init = function () + vim.g.rustfmt_autosave = 1 + end + }, + + { 'saecki/crates.nvim', ft = {"toml"},