Files
codetyper.nvim/lua/codetyper/init.lua
Carlos Gutierrez d9264bff1d Fix CI failures — StyLua parse error and Luacheck warnings
- Replace invalid // comment in window/init.lua with Lua -- comment
- Make check_for_closed_prompt a local function (was leaking global)
- Require get_config for close_tag pattern instead of undefined config
- Wire auto_process through preferences.is_auto_process_enabled()
- Add local extract_functions/classes/imports helpers to auto_index_file
- Remove unused comment_block_start/comment_block_end variables
2026-03-24 23:06:58 -04:00

86 lines
2.3 KiB
Lua

---@mod codetyper Codetyper.nvim - AI-powered coding partner
---@brief [[
--- Codetyper.nvim is a Neovim plugin that acts as your coding partner.
--- It uses LLM APIs (Copilot, Ollama) to help you write code faster
--- with inline prompt tags and visual selection transforms.
--- Features an event-driven scheduler with confidence scoring and
--- completion-aware injection timing.
---@brief ]]
local M = {}
M.version = "1.0.3"
---@type CoderConfig
M.config = {}
---@type boolean
M._initialized = false
--- Setup the plugin with user configuration
---@param opts? CoderConfig User configuration options
function M.setup(opts)
if M._initialized then
return
end
local config = require("codetyper.constants.defaults")
M.config = config.setup(opts)
-- Initialize modules
local commands_setup = require("codetyper.adapters.nvim.commands.setup")
local gitignore = require("codetyper.support.gitignore")
local autocmds_setup = require("codetyper.adapters.nvim.autocmds.setup")
local tree = require("codetyper.support.tree")
local completion = require("codetyper.features.completion.inline")
-- Register commands
commands_setup()
-- Setup autocommands
autocmds_setup()
-- Setup file reference completion
completion.setup()
-- Ensure .gitignore has coder files excluded
gitignore.ensure_ignored()
-- Initialize tree logging (creates .codetyper folder and initial tree.log)
tree.setup()
-- Initialize project indexer if enabled
if M.config.indexer and M.config.indexer.enabled then
local indexer = require("codetyper.features.indexer")
indexer.setup(M.config.indexer)
end
-- Initialize brain learning system if enabled
if M.config.brain and M.config.brain.enabled then
local brain = require("codetyper.core.memory")
brain.setup(M.config.brain)
end
-- Setup inline ghost text suggestions (Copilot-style)
if M.config.suggestion and M.config.suggestion.enabled then
local suggestion = require("codetyper.features.completion.suggestion")
suggestion.setup(M.config.suggestion)
end
M._initialized = true
end
--- Get current configuration
---@return CoderConfig
function M.get_config()
return M.config
end
--- Check if plugin is initialized
---@return boolean
function M.is_initialized()
return M._initialized
end
return M