summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorStephanie Gredell <s.raide@gmail.com>2026-02-08 13:11:22 -0800
committerStephanie Gredell <s.raide@gmail.com>2026-02-08 17:22:07 -0800
commit17be2bff90a22d8bafc102e3ca1730bb05026841 (patch)
tree2ece5692956be9b03bc4453371fd8f105d8a10b4 /scripts
parent489e132d4aec29970e0981ee12252d3925ad49c3 (diff)
downloada4-17be2bff90a22d8bafc102e3ca1730bb05026841.tar.xz
a4-17be2bff90a22d8bafc102e3ca1730bb05026841.zip
Add ability to reference files in prompt buffer
- type @ in the prompt to fuzzy-search and reference project files, content gets resolved and injected into LLMcontext - moved completion provider logic out of cmp.lua into agents and files domain modules - added completions registry to support multiple trigger characters (# rules, @ files) - added tests for file discovery, fuzzy matching, and the completions registry
Diffstat (limited to 'scripts')
-rw-r--r--scripts/ci/install_treesitter_parsers.lua107
1 files changed, 53 insertions, 54 deletions
diff --git a/scripts/ci/install_treesitter_parsers.lua b/scripts/ci/install_treesitter_parsers.lua
index 6393fd8..b0f59a4 100644
--- a/scripts/ci/install_treesitter_parsers.lua
+++ b/scripts/ci/install_treesitter_parsers.lua
@@ -1,72 +1,71 @@
local install_dir = vim.fn.stdpath("data") .. "/site"
local ok_setup, setup_err = pcall(function()
- require("nvim-treesitter").setup({
- install_dir = install_dir,
- })
+ require("nvim-treesitter").setup({
+ install_dir = install_dir,
+ })
end)
if not ok_setup then
- vim.api.nvim_echo(
- { { "Error: " .. tostring(setup_err), "ErrorMsg" } },
- true,
- {}
- )
- vim.cmd("cq")
+ vim.api.nvim_echo(
+ { { "Error: " .. tostring(setup_err), "ErrorMsg" } },
+ true,
+ {}
+ )
+ vim.cmd("cq")
end
local ok_install, install_err = pcall(function()
- require("nvim-treesitter").install({
- "c",
- "cpp",
- "go",
- "lua",
- "php",
- "python",
- "typescript",
- "javascript",
- "java",
- "ruby",
- "tsx",
- "c_sharp",
- "vue",
- }):wait(300000)
+ require("nvim-treesitter")
+ .install({
+ "c",
+ "cpp",
+ "go",
+ "lua",
+ "php",
+ "python",
+ "typescript",
+ "javascript",
+ "java",
+ "ruby",
+ "tsx",
+ "c_sharp",
+ "vue",
+ })
+ :wait(300000)
end)
if not ok_install then
- vim.api.nvim_echo({
- { "Error: " .. tostring(install_err), "ErrorMsg" },
- }, true, {})
- vim.cmd("cq")
+ vim.api.nvim_echo({
+ { "Error: " .. tostring(install_err), "ErrorMsg" },
+ }, true, {})
+ vim.cmd("cq")
end
local required_parsers = {
- c = "c.so",
- cpp = "cpp.so",
- go = "go.so",
- lua = "lua.so",
- php = "php.so",
- python = "python.so",
- typescript = "typescript.so",
- javascript = "javascript.so",
- java = "java.so",
- ruby = "ruby.so",
- tsx = "tsx.so",
- c_sharp = "c_sharp.so",
- vue = "vue.so",
+ c = "c.so",
+ cpp = "cpp.so",
+ go = "go.so",
+ lua = "lua.so",
+ php = "php.so",
+ python = "python.so",
+ typescript = "typescript.so",
+ javascript = "javascript.so",
+ java = "java.so",
+ ruby = "ruby.so",
+ tsx = "tsx.so",
+ c_sharp = "c_sharp.so",
+ vue = "vue.so",
}
for lang, filename in pairs(required_parsers) do
- local parser_path = install_dir .. "/parser/" .. filename
- if not vim.uv.fs_stat(parser_path) then
- vim.api.nvim_echo({
- {
- "Error: "
- .. lang
- .. " parser missing after install: "
- .. parser_path,
- "ErrorMsg",
- },
- }, true, {})
- vim.cmd("cq")
- end
+ local parser_path = install_dir .. "/parser/" .. filename
+ if not vim.uv.fs_stat(parser_path) then
+ vim.api.nvim_echo({
+ {
+ "Error: " .. lang .. " parser missing after install: " .. parser_path,
+ "ErrorMsg",
+ },
+ }, true, {})
+ vim.cmd("cq")
+ end
end