updating packages
This commit is contained in:
@@ -4,6 +4,15 @@
|
||||
-- Main core initialization for cargdev Neovim config
|
||||
-- =============================================================================
|
||||
|
||||
-- 0. Setup LuaRocks path for rest.nvim dependencies (Lua 5.1 - Neovim uses LuaJIT)
|
||||
local function setup_luarocks_path()
|
||||
local luarocks_path = vim.fn.system("luarocks path --lr-path --lua-version=5.1 --local"):gsub("\n", "")
|
||||
if luarocks_path and luarocks_path ~= "" then
|
||||
package.path = package.path .. ";" .. luarocks_path
|
||||
end
|
||||
end
|
||||
setup_luarocks_path()
|
||||
|
||||
-- 1. Compatibility Layer
|
||||
require("cargdev.core.compatibility").setup()
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
-- Copilot Chat keymaps
|
||||
local keymap = vim.keymap
|
||||
|
||||
keymap.set("v", "<leader>zn", ":CopilotChatRename<CR>", { desc = "Rename variable (Copilot Chat)" })
|
||||
keymap.set("n", "<leader>zc", ":CopilotChat<CR>", { desc = "Open Copilot Chat" })
|
||||
keymap.set("v", "<leader>ze", ":CopilotChatExplain<CR>", { desc = "Explain code (Copilot Chat)" })
|
||||
keymap.set("v", "<leader>zr", ":CopilotChatReview<CR>", { desc = "Review code (Copilot Chat)" })
|
||||
keymap.set("v", "<leader>zf", ":CopilotChatFix<CR>", { desc = "Fix code issues (Copilot Chat)" })
|
||||
keymap.set("v", "<leader>zo", ":CopilotChatOptimize<CR>", { desc = "Optimize code (Copilot Chat)" })
|
||||
keymap.set("v", "<leader>zd", ":CopilotChatDocs<CR>", { desc = "Generate docs (Copilot Chat)" })
|
||||
keymap.set("n", "<leader>cp", ":Copilot panel<CR>", { desc = "Copilot: Open copilot panel" })
|
||||
keymap.set("n", "<leader>cd", ":Copilot disable<CR>", { desc = "Copilot: Disabled" })
|
||||
keymap.set("n", "<leader>cs", ":Copilot status<CR>", { desc = "Copilot: Status" })
|
||||
-- -- Copilot Chat keymaps
|
||||
-- local keymap = vim.keymap
|
||||
--
|
||||
-- keymap.set("v", "<leader>zn", ":CopilotChatRename<CR>", { desc = "Rename variable (Copilot Chat)" })
|
||||
-- keymap.set("n", "<leader>zc", ":CopilotChat<CR>", { desc = "Open Copilot Chat" })
|
||||
-- keymap.set("v", "<leader>ze", ":CopilotChatExplain<CR>", { desc = "Explain code (Copilot Chat)" })
|
||||
-- keymap.set("v", "<leader>zr", ":CopilotChatReview<CR>", { desc = "Review code (Copilot Chat)" })
|
||||
-- keymap.set("v", "<leader>zf", ":CopilotChatFix<CR>", { desc = "Fix code issues (Copilot Chat)" })
|
||||
-- keymap.set("v", "<leader>zo", ":CopilotChatOptimize<CR>", { desc = "Optimize code (Copilot Chat)" })
|
||||
-- keymap.set("v", "<leader>zd", ":CopilotChatDocs<CR>", { desc = "Generate docs (Copilot Chat)" })
|
||||
-- keymap.set("n", "<leader>cp", ":Copilot panel<CR>", { desc = "Copilot: Open copilot panel" })
|
||||
-- keymap.set("n", "<leader>cd", ":Copilot disable<CR>", { desc = "Copilot: Disabled" })
|
||||
-- keymap.set("n", "<leader>cs", ":Copilot status<CR>", { desc = "Copilot: Status" })
|
||||
|
||||
@@ -6,7 +6,7 @@ local fn = vim.fn
|
||||
local keymap = vim.keymap.set
|
||||
|
||||
if ok_dap and ok_dapui then
|
||||
keymap("n", "<leader>dc", dap.continue, { desc = "▶ Start Debugging" })
|
||||
keymap("n", "<leader>dcr", dap.continue, { desc = "▶ Start Debugging" })
|
||||
keymap("n", "<leader>do", dap.step_over, { desc = "⏭ Step Over" })
|
||||
keymap("n", "<leader>di", dap.step_into, { desc = "⤵ Step Into" })
|
||||
keymap("n", "<leader>dot", dap.step_out, { desc = "⤴ Step Out" })
|
||||
|
||||
@@ -6,10 +6,6 @@ local opts = { noremap = true, silent = true }
|
||||
-- GENERAL KEYMAPS
|
||||
-- =============================================================================
|
||||
|
||||
-- Set leader key
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = " "
|
||||
|
||||
-- General keymaps
|
||||
keymap.set("i", "jk", "<ESC>", opts) -- Exit insert mode with jk
|
||||
keymap.set("n", "<leader>nh", ":nohl<CR>", opts) -- Clear search highlights
|
||||
|
||||
@@ -3,7 +3,7 @@ local keymap = vim.keymap
|
||||
|
||||
keymap.set("n", "]x", "<Plug>(git-conflict-next-conflict)", { desc = "Go to next git conflict" })
|
||||
keymap.set("n", "[x", "<Plug>(git-conflict-prev-conflict)", { desc = "Go to previous git conflict" })
|
||||
keymap.set("n", "<leader>co", "<Plug>(git-conflict-ours)", { desc = "Choose ours (git conflict)" })
|
||||
keymap.set("n", "<leader>coo", "<Plug>(git-conflict-ours)", { desc = "Choose ours (git conflict)" })
|
||||
keymap.set("n", "<leader>ct", "<Plug>(git-conflict-theirs)", { desc = "Choose theirs (git conflict)" })
|
||||
keymap.set("n", "<leader>cb", "<Plug>(git-conflict-both)", { desc = "Choose both (git conflict)" })
|
||||
keymap.set("n", "<leader>c0", "<Plug>(git-conflict-none)", { desc = "Choose none (git conflict)" })
|
||||
|
||||
@@ -5,8 +5,14 @@ local keymap = vim.keymap
|
||||
-- PERSONAL KEYMAPS (ORIGINAL WORKFLOW)
|
||||
-- =============================================================================
|
||||
|
||||
keymap.set("n", "<leader>u", "gg0vG$$", { desc = "Select the whole file open" })
|
||||
keymap.set("n", "<leader>4", "0v$hy<Esc>0o<Esc>0p0kw<CR>", { desc = "Copy the entire line and paste just below" })
|
||||
keymap.set("n", "<leader>u", function()
|
||||
vim.cmd("normal! ggVG")
|
||||
end, { desc = "Select the whole file" })
|
||||
keymap.set("n", "<leader>4", function()
|
||||
-- Copy current line and paste below
|
||||
vim.cmd("normal! yy")
|
||||
vim.cmd("normal! p")
|
||||
end, { desc = "Copy the entire line and paste just below" })
|
||||
|
||||
-- file management
|
||||
keymap.set("n", "<leader>w", ":w<CR>", { desc = "Save the current file" })
|
||||
|
||||
@@ -21,7 +21,7 @@ keymap.set("n", "<leader>gg", "<cmd>LazyGit<CR>", { desc = "LazyGit" })
|
||||
|
||||
-- DAP
|
||||
keymap.set("n", "<leader>db", "<cmd>lua require'dap'.toggle_breakpoint()<cr>", { desc = "Toggle breakpoint" })
|
||||
keymap.set("n", "<leader>dc", "<cmd>lua require'dap'.continue()<cr>", { desc = "Continue" })
|
||||
keymap.set("n", "<leader>dcc", "<cmd>lua require'dap'.continue()<cr>", { desc = "Continue" })
|
||||
keymap.set("n", "<leader>di", "<cmd>lua require'dap'.step_into()<cr>", { desc = "Step into" })
|
||||
keymap.set("n", "<leader>do", "<cmd>lua require'dap'.step_over()<cr>", { desc = "Step over" })
|
||||
keymap.set("n", "<leader>dO", "<cmd>lua require'dap'.step_out()<cr>", { desc = "Step out" })
|
||||
@@ -49,8 +49,8 @@ keymap.set("n", "<leader>sr", "<cmd>SessionRestore<cr>", { desc = "Restore sessi
|
||||
-- Formatting
|
||||
keymap.set("n", "<leader>f", "<cmd>lua vim.lsp.buf.format()<cr>", { desc = "Format buffer" })
|
||||
|
||||
-- Substitute
|
||||
keymap.set("n", "<leader>s", "<cmd>lua require('substitute').operator()<cr>", { desc = "Substitute with motion" })
|
||||
-- Substitute (changed from <leader>s to <leader>sub to avoid conflicts)
|
||||
keymap.set("n", "<leader>sub", "<cmd>lua require('substitute').operator()<cr>", { desc = "Substitute with motion" })
|
||||
keymap.set("n", "<leader>ss", "<cmd>lua require('substitute').line()<cr>", { desc = "Substitute line" })
|
||||
keymap.set("n", "<leader>S", "<cmd>lua require('substitute').eol()<cr>", { desc = "Substitute to end of line" })
|
||||
|
||||
@@ -205,4 +205,4 @@ keymap.set("n", "<leader>tC", "<cmd>set formatoptions-=c<cr>", { desc = "Disable
|
||||
-- Indent and wrap
|
||||
keymap.set("n", "<leader>ti", "<cmd>set breakindent!<cr>", { desc = "Toggle break indent" })
|
||||
keymap.set("n", "<leader>ts", "<cmd>set showbreak=↪ <cr>", { desc = "Show break indicator" })
|
||||
keymap.set("n", "<leader>tS", "<cmd>set showbreak=<cr>", { desc = "Hide break indicator" })
|
||||
keymap.set("n", "<leader>tS", "<cmd>set showbreak=<cr>", { desc = "Hide break indicator" })
|
||||
|
||||
@@ -42,6 +42,23 @@ opt.scrolljump = 1 -- Minimal number of screen lines to scroll
|
||||
opt.scrolloff = 3 -- Keep 3 lines above/below cursor (reduced from 8)
|
||||
opt.sidescrolloff = 3 -- Keep 3 columns left/right of cursor (reduced from 8)
|
||||
|
||||
-- Syntax loading optimizations
|
||||
opt.syntax = "on" -- Enable syntax highlighting
|
||||
opt.synmaxcol = 200 -- Reduce syntax highlighting column limit
|
||||
opt.lazyredraw = false -- Don't use lazy redraw (can cause issues)
|
||||
opt.foldmethod = "syntax" -- Use syntax-based folding for better performance
|
||||
opt.foldlevel = 99 -- Don't fold by default
|
||||
|
||||
-- Filetype plugin optimizations
|
||||
opt.filetype = "on" -- Enable filetype detection
|
||||
opt.modeline = false -- Disable modeline for security and performance
|
||||
opt.modelines = 0 -- Disable modelines
|
||||
|
||||
-- Matchparen optimizations
|
||||
g.matchparen_timeout = 100 -- Reduce from default 300ms
|
||||
g.matchparen_insert_timeout = 50 -- Reduce from default 100ms
|
||||
g.matchparen_disable_cursor_hl = 0 -- Keep cursor highlighting but optimize
|
||||
|
||||
-- UI settings
|
||||
opt.number = true -- Show line numbers
|
||||
opt.relativenumber = true -- Show relative line numbers
|
||||
@@ -108,10 +125,27 @@ opt.splitright = true -- Split right when creating vertical splits
|
||||
-- Conceal
|
||||
opt.conceallevel = 2 -- Conceal certain characters
|
||||
|
||||
-- Disable providers that cause warnings
|
||||
-- Provider configurations
|
||||
g.loaded_perl_provider = 0 -- Disable Perl provider
|
||||
g.loaded_ruby_provider = 0 -- Disable Ruby provider (optional)
|
||||
|
||||
-- Python provider configuration
|
||||
g.python3_host_prog = "/opt/homebrew/bin/python3.12" -- Explicit Python path
|
||||
|
||||
-- Clipboard provider optimization (macOS)
|
||||
g.clipboard = {
|
||||
name = 'pbcopy',
|
||||
copy = {
|
||||
['+'] = 'pbcopy',
|
||||
['*'] = 'pbcopy',
|
||||
},
|
||||
paste = {
|
||||
['+'] = 'pbpaste',
|
||||
['*'] = 'pbpaste',
|
||||
},
|
||||
cache_enabled = 1,
|
||||
}
|
||||
|
||||
-- Lua specific settings
|
||||
opt.runtimepath:append(vim.fn.stdpath("config") .. "/lua")
|
||||
|
||||
@@ -171,48 +205,37 @@ for _, plugin in pairs(disabled_built_ins) do
|
||||
end
|
||||
|
||||
-- =============================================================================
|
||||
-- AUTO WRAPPER AUTOCMDS
|
||||
-- OPTIMIZED AUTO WRAPPER AUTOCMDS
|
||||
-- =============================================================================
|
||||
|
||||
-- Set up auto-wrapping for different file types
|
||||
-- Consolidated auto-wrapping configuration
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = { "text", "markdown", "gitcommit", "mail" },
|
||||
pattern = "*",
|
||||
callback = function()
|
||||
vim.opt_local.textwidth = 80
|
||||
vim.opt_local.wrap = true
|
||||
vim.opt_local.linebreak = true
|
||||
vim.opt_local.formatoptions:append("t") -- Auto-wrap text
|
||||
end,
|
||||
})
|
||||
|
||||
-- Set up auto-wrapping for code files
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = { "lua", "javascript", "typescript", "python", "java", "cpp", "c", "rust", "go" },
|
||||
callback = function()
|
||||
vim.opt_local.textwidth = 100 -- Longer lines for code
|
||||
vim.opt_local.formatoptions:append("c") -- Auto-wrap comments
|
||||
vim.opt_local.formatoptions:append("r") -- Auto-wrap comments with leader
|
||||
vim.opt_local.formatoptions:append("o") -- Auto-wrap comments with 'o'
|
||||
vim.opt_local.formatoptions:append("q") -- Allow formatting of comments with 'gq'
|
||||
end,
|
||||
})
|
||||
|
||||
-- Set up auto-wrapping for documentation files
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = { "help", "man" },
|
||||
callback = function()
|
||||
vim.opt_local.textwidth = 78
|
||||
vim.opt_local.wrap = true
|
||||
vim.opt_local.linebreak = true
|
||||
vim.opt_local.formatoptions:append("t") -- Auto-wrap text
|
||||
end,
|
||||
})
|
||||
|
||||
-- Set up auto-wrapping for configuration files
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = { "conf", "config", "ini", "toml", "yaml", "json" },
|
||||
callback = function()
|
||||
vim.opt_local.textwidth = 80
|
||||
vim.opt_local.formatoptions:append("c") -- Auto-wrap comments
|
||||
local filetype = vim.bo.filetype
|
||||
local opt = vim.opt_local
|
||||
|
||||
-- Text/documentation files
|
||||
if vim.tbl_contains({ "text", "markdown", "gitcommit", "mail", "help", "man" }, filetype) then
|
||||
opt.textwidth = filetype == "help" or filetype == "man" and 78 or 80
|
||||
opt.wrap = true
|
||||
opt.linebreak = true
|
||||
opt.formatoptions:append("t") -- Auto-wrap text
|
||||
end
|
||||
|
||||
-- Code files
|
||||
if vim.tbl_contains({ "lua", "javascript", "typescript", "python", "java", "cpp", "c", "rust", "go" }, filetype) then
|
||||
opt.textwidth = 100 -- Longer lines for code
|
||||
opt.formatoptions:append("c") -- Auto-wrap comments
|
||||
opt.formatoptions:append("r") -- Auto-wrap comments with leader
|
||||
opt.formatoptions:append("o") -- Auto-wrap comments with 'o'
|
||||
opt.formatoptions:append("q") -- Allow formatting of comments with 'gq'
|
||||
end
|
||||
|
||||
-- Configuration files
|
||||
if vim.tbl_contains({ "conf", "config", "ini", "toml", "yaml", "json" }, filetype) then
|
||||
opt.textwidth = 80
|
||||
opt.formatoptions:append("c") -- Auto-wrap comments
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
return {
|
||||
{
|
||||
-- Main Copilot plugin
|
||||
"zbirenbaum/copilot.lua",
|
||||
lazy = false, -- Load at startup
|
||||
enabled = true,
|
||||
config = function()
|
||||
require("copilot").setup({
|
||||
-- General settings
|
||||
panel = {
|
||||
enabled = true,
|
||||
auto_refresh = false,
|
||||
keymap = {
|
||||
jump_prev = "[[",
|
||||
jump_next = "]]",
|
||||
accept = "<CR>",
|
||||
refresh = "gr",
|
||||
},
|
||||
layout = {
|
||||
position = "bottom", -- | top | left | right | horizontal | vertical
|
||||
ratio = 0.4,
|
||||
},
|
||||
},
|
||||
suggestion = {
|
||||
enabled = true,
|
||||
auto_trigger = true,
|
||||
debounce = 75,
|
||||
trigger_on_accept = false,
|
||||
keymap = {
|
||||
accept = "<C-l>", -- Accept suggestion
|
||||
next = "<C-j>", -- Next suggestion
|
||||
prev = "<C-k>", -- Previous suggestion
|
||||
dismiss = "<C-x>", -- Dismiss suggestion
|
||||
},
|
||||
},
|
||||
filetypes = {
|
||||
markdown = true,
|
||||
["*"] = true, -- Enable for all filetypes
|
||||
},
|
||||
copilot_node_command = "node", -- Ensure your system's Node.js is v20+
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
-- Copilot Chat plugin
|
||||
"CopilotC-Nvim/CopilotChat.nvim",
|
||||
dependencies = {
|
||||
{ "zbirenbaum/copilot.lua" },
|
||||
{ "nvim-lua/plenary.nvim", branch = "master" }, -- For curl, log and async functions
|
||||
},
|
||||
build = "make tiktoken", -- Only on MacOS or Linux
|
||||
opts = {
|
||||
layout = {
|
||||
position = "right", -- Position of the chat window
|
||||
ratio = 0.5,
|
||||
},
|
||||
tiktoken = {
|
||||
enabled = false, -- Enable token counting
|
||||
},
|
||||
floating = {
|
||||
enabled = true,
|
||||
border = "rounded",
|
||||
},
|
||||
prompts = {
|
||||
Rename = {
|
||||
prompt = "Please rename the variable correctly in given selection based on context",
|
||||
selection = function(source)
|
||||
local select = require("CopilotChat.select")
|
||||
return select.visual(source)
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
75
lua/cargdev/plugins/copilot.lua.bak
Normal file
75
lua/cargdev/plugins/copilot.lua.bak
Normal file
@@ -0,0 +1,75 @@
|
||||
-- return {
|
||||
-- {
|
||||
-- -- Main Copilot plugin
|
||||
-- "zbirenbaum/copilot.lua",
|
||||
-- lazy = false, -- Load at startup
|
||||
-- enabled = true,
|
||||
-- config = function()
|
||||
-- require("copilot").setup({
|
||||
-- -- General settings
|
||||
-- panel = {
|
||||
-- enabled = true,
|
||||
-- auto_refresh = false,
|
||||
-- keymap = {
|
||||
-- jump_prev = "[[",
|
||||
-- jump_next = "]]",
|
||||
-- accept = "<CR>",
|
||||
-- refresh = "gr",
|
||||
-- },
|
||||
-- layout = {
|
||||
-- position = "bottom", -- | top | left | right | horizontal | vertical
|
||||
-- ratio = 0.4,
|
||||
-- },
|
||||
-- },
|
||||
-- suggestion = {
|
||||
-- enabled = true,
|
||||
-- auto_trigger = true,
|
||||
-- debounce = 75,
|
||||
-- trigger_on_accept = false,
|
||||
-- keymap = {
|
||||
-- accept = "<C-l>", -- Accept suggestion
|
||||
-- next = "<C-j>", -- Next suggestion
|
||||
-- prev = "<C-k>", -- Previous suggestion
|
||||
-- dismiss = "<C-x>", -- Dismiss suggestion
|
||||
-- },
|
||||
-- },
|
||||
-- filetypes = {
|
||||
-- markdown = true,
|
||||
-- ["*"] = true, -- Enable for all filetypes
|
||||
-- },
|
||||
-- copilot_node_command = "node", -- Ensure your system's Node.js is v20+
|
||||
-- })
|
||||
-- end,
|
||||
-- },
|
||||
-- {
|
||||
-- -- Copilot Chat plugin
|
||||
-- "CopilotC-Nvim/CopilotChat.nvim",
|
||||
-- dependencies = {
|
||||
-- { "zbirenbaum/copilot.lua" },
|
||||
-- { "nvim-lua/plenary.nvim", branch = "master" }, -- For curl, log and async functions
|
||||
-- },
|
||||
-- build = "make tiktoken", -- Only on MacOS or Linux
|
||||
-- opts = {
|
||||
-- layout = {
|
||||
-- position = "right", -- Position of the chat window
|
||||
-- ratio = 0.5,
|
||||
-- },
|
||||
-- tiktoken = {
|
||||
-- enabled = false, -- Enable token counting
|
||||
-- },
|
||||
-- floating = {
|
||||
-- enabled = true,
|
||||
-- border = "rounded",
|
||||
-- },
|
||||
-- prompts = {
|
||||
-- Rename = {
|
||||
-- prompt = "Please rename the variable correctly in given selection based on context",
|
||||
-- selection = function(source)
|
||||
-- local select = require("CopilotChat.select")
|
||||
-- return select.visual(source)
|
||||
-- end,
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- }
|
||||
44
lua/cargdev/plugins/curls.lua
Normal file
44
lua/cargdev/plugins/curls.lua
Normal file
@@ -0,0 +1,44 @@
|
||||
return {
|
||||
"CarGDev/rest.nvim",
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
table.insert(opts.ensure_installed, "http")
|
||||
end,
|
||||
},
|
||||
config = function()
|
||||
-- Basic configuration for rest.nvim
|
||||
vim.g.rest_nvim = {
|
||||
-- Enable request highlighting
|
||||
highlight = {
|
||||
enable = true,
|
||||
timeout = 750,
|
||||
},
|
||||
-- Enable response formatting
|
||||
response = {
|
||||
hooks = {
|
||||
format = true,
|
||||
decode_url = true,
|
||||
},
|
||||
},
|
||||
-- Enable cookies
|
||||
cookies = {
|
||||
enable = true,
|
||||
},
|
||||
-- Enable environment variables
|
||||
env = {
|
||||
enable = true,
|
||||
pattern = ".*%.env.*",
|
||||
},
|
||||
-- UI configuration
|
||||
ui = {
|
||||
winbar = true,
|
||||
keybinds = {
|
||||
prev = "H",
|
||||
next = "L",
|
||||
},
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
||||
@@ -1 +1,11 @@
|
||||
return { "wakatime/vim-wakatime", lazy = false }
|
||||
return {
|
||||
"wakatime/vim-wakatime",
|
||||
lazy = false,
|
||||
config = function()
|
||||
-- WakaTime performance optimizations
|
||||
vim.g.wakatime_HeartbeatFrequency = 2 -- Increase from default 1 minute to 2 minutes
|
||||
vim.g.wakatime_buffering_heartbeats_enabled = 1 -- Enable buffering
|
||||
vim.g.wakatime_debug = 0 -- Disable debug mode for performance
|
||||
vim.g.wakatime_redraw_setting = 'auto' -- Auto redraw setting
|
||||
end,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user