Fixing drop bar
This commit is contained in:
125
lua/cargdev/plugins/codetyper.lua
Normal file
125
lua/cargdev/plugins/codetyper.lua
Normal file
@@ -0,0 +1,125 @@
|
||||
-- ============================================================================
|
||||
-- CODETYPER.NVIM: AI-powered coding assistant plugin
|
||||
-- ============================================================================
|
||||
-- A local development plugin that provides AI-assisted coding capabilities
|
||||
-- using various LLM providers (Ollama, Claude, OpenAI, Gemini, Copilot).
|
||||
-- Features include: inline code transformation with /@ @/ tags, Ask panel
|
||||
-- for interactive queries, Agent panel for autonomous coding tasks,
|
||||
-- Tree-sitter integration for scope detection, and diff review.
|
||||
--
|
||||
-- Key keymaps:
|
||||
-- <leader>co - Open Coder view <leader>ca - Open Ask panel
|
||||
-- <leader>ct - Toggle Coder view <leader>cg - Open Agent panel
|
||||
-- <leader>cp - Process prompt <leader>cd - Open Diff Review
|
||||
-- <leader>ctt - Transform tag at cursor (also works in visual mode)
|
||||
-- ============================================================================
|
||||
|
||||
-- Get local config (loaded in core/init.lua)
|
||||
local local_cfg = vim.g.cargdev_local or {}
|
||||
|
||||
-- Skip plugin if local config is missing required values
|
||||
if not local_cfg.CODE_TYPER_DIR then
|
||||
return {}
|
||||
end
|
||||
|
||||
return {
|
||||
-- Codetyper.nvim - AI-powered coding partner
|
||||
-- Local development version
|
||||
dir = local_cfg.CODE_TYPER_DIR,
|
||||
name = "codetyper.nvim",
|
||||
lazy = false, -- Load on startup to create .coder folder
|
||||
priority = 100, -- Load early
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim", -- Required: async utilities
|
||||
-- "nvim-treesitter/nvim-treesitter", -- Required: scope detection via Tree-sitter
|
||||
-- "nvim-treesitter/nvim-treesitter-textobjects", -- Optional: better text object support
|
||||
"MunifTanjim/nui.nvim", -- Optional: UI components
|
||||
},
|
||||
event = {
|
||||
"BufReadPre *.coder.*",
|
||||
"BufNewFile *.coder.*",
|
||||
},
|
||||
cmd = {
|
||||
"Coder",
|
||||
"CoderOpen",
|
||||
"CoderClose",
|
||||
"CoderToggle",
|
||||
"CoderProcess",
|
||||
"CoderTree",
|
||||
"CoderTreeView",
|
||||
-- Ask commands
|
||||
"CoderAsk",
|
||||
"CoderAskToggle",
|
||||
"CoderAskClear",
|
||||
-- Agent commands
|
||||
"CoderAgent",
|
||||
"CoderAgentToggle",
|
||||
"CoderAgentStop",
|
||||
"CoderMode",
|
||||
},
|
||||
keys = {
|
||||
-- Coder view commands
|
||||
{ "<leader>co", "<cmd>Coder open<cr>", desc = "Coder: Open view" },
|
||||
{ "<leader>cC", "<cmd>Coder close<cr>", desc = "Coder: Close view" },
|
||||
{ "<leader>ct", "<cmd>Coder toggle<cr>", desc = "Coder: Toggle view" },
|
||||
{ "<leader>cp", "<cmd>Coder process<cr>", desc = "Coder: Process prompt" },
|
||||
{ "<leader>cs", "<cmd>Coder status<cr>", desc = "Coder: Show status" },
|
||||
{ "<leader>cf", "<cmd>Coder focus<cr>", desc = "Coder: Switch focus" },
|
||||
{ "<leader>cv", "<cmd>Coder tree-view<cr>", desc = "Coder: View tree" },
|
||||
{ "<leader>cr", "<cmd>Coder tree<cr>", desc = "Coder: Refresh tree" },
|
||||
-- Ask panel commands
|
||||
{ "<leader>ca", "<cmd>Coder ask<cr>", desc = "Coder: Open Ask panel" },
|
||||
{ "<leader>cA", "<cmd>Coder ask-toggle<cr>", desc = "Coder: Toggle Ask panel" },
|
||||
{ "<leader>cx", "<cmd>Coder ask-clear<cr>", desc = "Coder: Clear Ask history" },
|
||||
-- Agent panel commands
|
||||
{ "<leader>cg", "<cmd>Coder agent<cr>", desc = "Coder: Open Agent panel" },
|
||||
{ "<leader>cG", "<cmd>Coder agent-toggle<cr>", desc = "Coder: Toggle Agent panel" },
|
||||
{ "<leader>cS", "<cmd>Coder agent-stop<cr>", desc = "Coder: Stop Agent" },
|
||||
{ "<leader>cd", "<cmd>CoderDiffReview<cr>", desc = "Coder: Open Diff Review" },
|
||||
-- Transform commands (inline /@ @/ replacement)
|
||||
{ "<leader>ctt", mode = "n", desc = "Coder: Transform tag at cursor" },
|
||||
{ "<leader>ctt", mode = "v", desc = "Coder: Transform selected tags" },
|
||||
{ "<leader>ctT", "<cmd>Coder transform<cr>", desc = "Coder: Transform all tags" },
|
||||
},
|
||||
config = function()
|
||||
require("codetyper").setup({
|
||||
llm = {
|
||||
-- Available providers: "ollama", "claude", "openai", "gemini", "copilot"
|
||||
provider = "copilot", -- Using GitHub Copilot
|
||||
|
||||
-- Ollama (local LLM)
|
||||
ollama = {
|
||||
host = "http://localhost:11434",
|
||||
model = "deepseek-coder:6.7b",
|
||||
-- model = "codellama:7b",
|
||||
-- model = "qwen2.5-coder:7b",
|
||||
},
|
||||
|
||||
-- GitHub Copilot (uses OAuth from copilot.vim/copilot.lua)
|
||||
copilot = {
|
||||
model = "gpt-4o", -- or "gpt-4", "gpt-3.5-turbo"
|
||||
},
|
||||
},
|
||||
window = {
|
||||
width = 0.25, -- 1/4 of window
|
||||
position = "left",
|
||||
border = "rounded",
|
||||
},
|
||||
patterns = {
|
||||
open_tag = "/@",
|
||||
close_tag = "@/",
|
||||
file_pattern = "*.coder.*",
|
||||
},
|
||||
auto_gitignore = true,
|
||||
auto_open_ask = false, -- Don't auto-open Ask panel on startup
|
||||
scheduler = {
|
||||
enabled = true,
|
||||
ollama_scout = false, -- Disabled since using Copilot directly
|
||||
escalation_threshold = 0.7,
|
||||
max_concurrent = 2,
|
||||
completion_delay_ms = 100, -- Delay before checking completion visibility
|
||||
apply_delay_ms = 2000, -- Wait 2 seconds before applying code
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -28,7 +28,7 @@ return {
|
||||
},
|
||||
suggestion = {
|
||||
enabled = true,
|
||||
auto_trigger = true,
|
||||
auto_trigger = false,
|
||||
debounce = 75,
|
||||
keymap = {
|
||||
accept = "<C-l>",
|
||||
@@ -98,18 +98,22 @@ return {
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>cc", "<cmd>CopilotChatToggle<cr>", desc = "CopilotChat: Toggle chat window" },
|
||||
{ "<leader>cq", function()
|
||||
{
|
||||
"<leader>cq",
|
||||
function()
|
||||
local input = vim.fn.input("Quick Chat: ")
|
||||
if input ~= "" then
|
||||
require("CopilotChat").ask(input, { selection = require("CopilotChat.select").buffer })
|
||||
end
|
||||
end, desc = "CopilotChat: Quick chat (whole buffer)" },
|
||||
end,
|
||||
desc = "CopilotChat: Quick chat (whole buffer)",
|
||||
},
|
||||
{ "<leader>ce", "<cmd>CopilotChatExplain<cr>", mode = { "n", "v" }, desc = "CopilotChat: Explain code" },
|
||||
{ "<leader>cr", "<cmd>CopilotChatReview<cr>", mode = { "n", "v" }, desc = "CopilotChat: Review code" },
|
||||
{ "<leader>cf", "<cmd>CopilotChatFix<cr>", mode = { "n", "v" }, desc = "CopilotChat: Fix code" },
|
||||
{ "<leader>co", "<cmd>CopilotChatOptimize<cr>", mode = { "n", "v" }, desc = "CopilotChat: Optimize code" },
|
||||
{ "<leader>cd", "<cmd>CopilotChatDocs<cr>", mode = { "n", "v" }, desc = "CopilotChat: Generate docs" },
|
||||
{ "<leader>ct", "<cmd>CopilotChatTests<cr>", mode = { "n", "v" }, desc = "CopilotChat: Generate tests" },
|
||||
{ "<leader>ctg", "<cmd>CopilotChatTests<cr>", mode = { "n", "v" }, desc = "CopilotChat: Generate tests" },
|
||||
{ "<leader>cm", "<cmd>CopilotChatModels<cr>", desc = "CopilotChat: Select model" },
|
||||
},
|
||||
config = function()
|
||||
|
||||
49
lua/cargdev/plugins/fzf-lua.lua
Normal file
49
lua/cargdev/plugins/fzf-lua.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
-- ============================================================================
|
||||
-- FZF-LUA: Fuzzy finder with LSP integration
|
||||
-- ============================================================================
|
||||
-- High-performance fuzzy finder written in Lua. Provides fast file search,
|
||||
-- grep, LSP navigation (definitions, references, implementations), git operations,
|
||||
-- and more. Replaces Telescope for better performance and native fzf feel.
|
||||
-- ============================================================================
|
||||
return {
|
||||
"ibhagwan/fzf-lua",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
cmd = "FzfLua",
|
||||
keys = {
|
||||
{ "<leader>ff", "<cmd>FzfLua files<cr>", desc = "Find files" },
|
||||
{ "<leader>fg", "<cmd>FzfLua live_grep<cr>", desc = "Live grep" },
|
||||
{ "<leader>fb", "<cmd>FzfLua buffers<cr>", desc = "Find buffers" },
|
||||
{ "<leader>fh", "<cmd>FzfLua helptags<cr>", desc = "Find help" },
|
||||
{ "<leader>fr", "<cmd>FzfLua oldfiles<cr>", desc = "Recent files" },
|
||||
{ "<leader>fc", "<cmd>FzfLua commands<cr>", desc = "Find commands" },
|
||||
{ "<leader>fk", "<cmd>FzfLua keymaps<cr>", desc = "Find keymaps" },
|
||||
},
|
||||
opts = {
|
||||
"default",
|
||||
winopts = {
|
||||
height = 0.85,
|
||||
width = 0.80,
|
||||
preview = {
|
||||
horizontal = "right:50%",
|
||||
},
|
||||
},
|
||||
keymap = {
|
||||
builtin = {
|
||||
["<C-f>"] = "toggle-fullscreen",
|
||||
["<C-r>"] = "toggle-preview-wrap",
|
||||
["<C-p>"] = "toggle-preview",
|
||||
["<C-d>"] = "preview-page-down",
|
||||
["<C-u>"] = "preview-page-up",
|
||||
},
|
||||
fzf = {
|
||||
["ctrl-a"] = "toggle-all",
|
||||
["ctrl-d"] = "preview-page-down",
|
||||
["ctrl-u"] = "preview-page-up",
|
||||
},
|
||||
},
|
||||
fzf_opts = {
|
||||
["--layout"] = "reverse",
|
||||
["--info"] = "inline",
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
-- ============================================================================
|
||||
-- Powerful find and replace plugin with live preview and regex support.
|
||||
-- Provides project-wide search/replace with ripgrep backend.
|
||||
-- Keymaps: <leader>sr for search, <leader>sR for current word search.
|
||||
-- Keymaps: <leader>sr for search, <leader>[sR for current word search.
|
||||
-- ============================================================================
|
||||
|
||||
return {
|
||||
@@ -47,17 +47,17 @@ return {
|
||||
windowCreationCommand = "vsplit",
|
||||
transitionDuration = 80,
|
||||
keymaps = {
|
||||
replace = { n = "<localleader>r" },
|
||||
qflist = { n = "<localleader>q" },
|
||||
syncLocations = { n = "<localleader>s" },
|
||||
syncLine = { n = "<localleader>l" },
|
||||
replace = { n = "<leader>[r" },
|
||||
qflist = { n = "<leader>[q" },
|
||||
syncLocations = { n = "<leader>[s" },
|
||||
syncLine = { n = "<leader>[l" },
|
||||
close = { n = "q" },
|
||||
historyOpen = { n = "<localleader>t" },
|
||||
historyAdd = { n = "<localleader>a" },
|
||||
refresh = { n = "<localleader>f" },
|
||||
gotoLocation = { n = "<enter>" },
|
||||
pickHistoryEntry = { n = "<enter>" },
|
||||
abort = { n = "<localleader>b" },
|
||||
historyOpen = { n = "<leader>[t" },
|
||||
historyAdd = { n = "<leader>[a" },
|
||||
refresh = { n = "<leader>[f" },
|
||||
gotoLocation = { n = "<enter>[" },
|
||||
pickHistoryEntry = { n = "<enter>[" },
|
||||
Abort = { n = "<leader>[b" },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ return {
|
||||
"graphql",
|
||||
"html",
|
||||
"lua_ls",
|
||||
"php",
|
||||
"prismals",
|
||||
"pyright",
|
||||
"svelte",
|
||||
@@ -156,6 +157,7 @@ return {
|
||||
prismals = {
|
||||
filetypes = { "prisma" },
|
||||
},
|
||||
php_ls = {},
|
||||
pyright = {
|
||||
settings = {
|
||||
python = {
|
||||
|
||||
@@ -45,6 +45,7 @@ return {
|
||||
"html",
|
||||
"jdtls",
|
||||
"lua_ls",
|
||||
"php",
|
||||
"prismals",
|
||||
"pyright",
|
||||
"svelte",
|
||||
|
||||
Reference in New Issue
Block a user