updating files

This commit is contained in:
2026-01-11 17:38:25 -05:00
parent d75196b4f9
commit 86504eec55
13 changed files with 764 additions and 224 deletions

View File

@@ -1,121 +1,137 @@
-- Codetyper.nvim - AI-powered coding partner for Neovim
-- Plugin loader
local g = vim.g
local fn = vim.fn
local api = vim.api
local cmd = vim.cmd
-- Prevent loading twice
if vim.g.loaded_codetyper then
return
if g.loaded_codetyper then
return
end
vim.g.loaded_codetyper = true
g.loaded_codetyper = true
-- Minimum Neovim version check
if vim.fn.has("nvim-0.8.0") == 0 then
vim.api.nvim_err_writeln("Codetyper.nvim requires Neovim 0.8.0 or higher")
return
if fn.has("nvim-0.8.0") == 0 then
api.nvim_err_writeln("Codetyper.nvim requires Neovim 0.8.0 or higher")
return
end
-- Initialize .coder folder and tree.log on project open
vim.api.nvim_create_autocmd("VimEnter", {
callback = function()
-- Delay slightly to ensure cwd is set
vim.defer_fn(function()
local tree = require("codetyper.tree")
tree.setup()
-- Also ensure gitignore is updated
local gitignore = require("codetyper.gitignore")
gitignore.ensure_ignored()
end, 100)
end,
desc = "Initialize Codetyper .coder folder on startup",
api.nvim_create_autocmd("VimEnter", {
callback = function()
-- Delay slightly to ensure cwd is set
vim.defer_fn(function()
local tree = require("codetyper.tree")
tree.setup()
-- Also ensure gitignore is updated
local gitignore = require("codetyper.gitignore")
gitignore.ensure_ignored()
end, 100)
end,
desc = "Initialize Codetyper .coder folder on startup",
})
-- Also initialize on directory change
vim.api.nvim_create_autocmd("DirChanged", {
callback = function()
vim.defer_fn(function()
local tree = require("codetyper.tree")
tree.setup()
local gitignore = require("codetyper.gitignore")
gitignore.ensure_ignored()
end, 100)
end,
desc = "Initialize Codetyper .coder folder on directory change",
api.nvim_create_autocmd("DirChanged", {
callback = function()
vim.defer_fn(function()
local tree = require("codetyper.tree")
tree.setup()
local gitignore = require("codetyper.gitignore")
gitignore.ensure_ignored()
end, 100)
end,
desc = "Initialize Codetyper .coder folder on directory change",
})
-- Auto-initialize when opening a coder file (for nvim-tree, telescope, etc.)
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile", "BufEnter" }, {
pattern = "*.coder.*",
callback = function()
-- Initialize plugin if not already done
local codetyper = require("codetyper")
if not codetyper.is_initialized() then
codetyper.setup()
end
end,
desc = "Auto-initialize Codetyper when opening coder files",
api.nvim_create_autocmd({ "BufRead", "BufNewFile", "BufEnter" }, {
pattern = "*.coder.*",
callback = function()
-- Initialize plugin if not already done
local codetyper = require("codetyper")
if not codetyper.is_initialized() then
codetyper.setup()
end
end,
desc = "Auto-initialize Codetyper when opening coder files",
})
-- Lazy-load the plugin on first command usage
vim.api.nvim_create_user_command("Coder", function(opts)
require("codetyper").setup()
-- Re-execute the command now that plugin is loaded
vim.cmd("Coder " .. (opts.args or ""))
api.nvim_create_user_command("Coder", function(opts)
require("codetyper").setup()
-- Re-execute the command now that plugin is loaded
cmd("Coder " .. (opts.args or ""))
end, {
nargs = "?",
complete = function()
return {
"open", "close", "toggle", "process", "status", "focus",
"tree", "tree-view", "reset", "gitignore",
"ask", "ask-close", "ask-toggle", "ask-clear",
}
end,
desc = "Codetyper.nvim commands",
nargs = "?",
complete = function()
return {
"open",
"close",
"toggle",
"process",
"status",
"focus",
"tree",
"tree-view",
"reset",
"gitignore",
"ask",
"ask-close",
"ask-toggle",
"ask-clear",
}
end,
desc = "Codetyper.nvim commands",
})
-- Lazy-load aliases
vim.api.nvim_create_user_command("CoderOpen", function()
require("codetyper").setup()
vim.cmd("CoderOpen")
api.nvim_create_user_command("CoderOpen", function()
require("codetyper").setup()
cmd("CoderOpen")
end, { desc = "Open Coder view" })
vim.api.nvim_create_user_command("CoderClose", function()
require("codetyper").setup()
vim.cmd("CoderClose")
api.nvim_create_user_command("CoderClose", function()
require("codetyper").setup()
cmd("CoderClose")
end, { desc = "Close Coder view" })
vim.api.nvim_create_user_command("CoderToggle", function()
require("codetyper").setup()
vim.cmd("CoderToggle")
api.nvim_create_user_command("CoderToggle", function()
require("codetyper").setup()
cmd("CoderToggle")
end, { desc = "Toggle Coder view" })
vim.api.nvim_create_user_command("CoderProcess", function()
require("codetyper").setup()
vim.cmd("CoderProcess")
api.nvim_create_user_command("CoderProcess", function()
require("codetyper").setup()
cmd("CoderProcess")
end, { desc = "Process prompt and generate code" })
vim.api.nvim_create_user_command("CoderTree", function()
require("codetyper").setup()
vim.cmd("CoderTree")
api.nvim_create_user_command("CoderTree", function()
require("codetyper").setup()
cmd("CoderTree")
end, { desc = "Refresh tree.log" })
vim.api.nvim_create_user_command("CoderTreeView", function()
require("codetyper").setup()
vim.cmd("CoderTreeView")
api.nvim_create_user_command("CoderTreeView", function()
require("codetyper").setup()
cmd("CoderTreeView")
end, { desc = "View tree.log" })
-- Ask panel commands
vim.api.nvim_create_user_command("CoderAsk", function()
require("codetyper").setup()
vim.cmd("CoderAsk")
api.nvim_create_user_command("CoderAsk", function()
require("codetyper").setup()
cmd("CoderAsk")
end, { desc = "Open Ask panel" })
vim.api.nvim_create_user_command("CoderAskToggle", function()
require("codetyper").setup()
vim.cmd("CoderAskToggle")
api.nvim_create_user_command("CoderAskToggle", function()
require("codetyper").setup()
cmd("CoderAskToggle")
end, { desc = "Toggle Ask panel" })
vim.api.nvim_create_user_command("CoderAskClear", function()
require("codetyper").setup()
vim.cmd("CoderAskClear")
api.nvim_create_user_command("CoderAskClear", function()
require("codetyper").setup()
cmd("CoderAskClear")
end, { desc = "Clear Ask history" })