Something went wrong. Try again.
Personal Neovim Setup
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495-- Amp Commands
-- Send a quick message to the agentvim.api.nvim_create_user_command("AmpSend", function(opts) local message = opts.args if message == "" then print("Please provide a message to send") return end
local amp_message = require("amp.message") amp_message.send_message(message)end, { nargs = "*", desc = "Send a message to Amp",})
-- Send entire buffer contentsvim.api.nvim_create_user_command("AmpSendBuffer", function(opts) local buf = vim.api.nvim_get_current_buf() local lines = vim.api.nvim_buf_get_lines(buf, 0, -1, false) local content = table.concat(lines, "\n")
local amp_message = require("amp.message") amp_message.send_message(content)end, { nargs = "?", desc = "Send current buffer contents to Amp",})
-- Add selected text directly to promptvim.api.nvim_create_user_command("AmpPromptSelection", function(opts) local lines = vim.api.nvim_buf_get_lines(0, opts.line1 - 1, opts.line2, false) local text = table.concat(lines, "\n")
local amp_message = require("amp.message") amp_message.send_to_prompt(text)end, { range = true, desc = "Add selected text to Amp prompt",})
-- Add file+selection reference to promptvim.api.nvim_create_user_command("AmpPromptRef", function(opts) local bufname = vim.api.nvim_buf_get_name(0) if bufname == "" then print("Current buffer has no filename") return end
local relative_path = vim.fn.fnamemodify(bufname, ":.") local ref = "@" .. relative_path if opts.line1 ~= opts.line2 then ref = ref .. "#L" .. opts.line1 .. "-" .. opts.line2 elseif opts.line1 > 1 then ref = ref .. "#L" .. opts.line1 end
local amp_message = require("amp.message") amp_message.send_to_prompt(ref)end, { range = true, desc = "Add file reference (with selection) to Amp prompt",})
-- Amp Pluginreturn { "sourcegraph/amp.nvim", branch = "main", lazy = false, opts = { auto_start = true, log_level = "warn" }, keys = { { "<leader>ai", ":vs | :term amp --ide <CR>", desc = "Open Amp Code 🤖", }, { "<leader>ab", ":AmpSendBuffer <CR>", desc = "Send buffer to Amp", }, { "<leader>as", ":AmpPromptSelection <CR>", desc = "Send selection to Amp prompt", }, { "<leader>ar", ":AmpPromptRef <CR>", desc = "Send file reference to Amp prompt", }, },}