Features compared to cursor editor #36
Replies: 4 comments 2 replies
-
Hi @RobertBrunhage, thanks for this overview!
I have added a hook to your previous configuration that allows you to ask questions about the current file content using {
"frankroeder/parrot.nvim",
tag = "v0.3.7",
dependencies = { "ibhagwan/fzf-lua", "nvim-lua/plenary.nvim" },
config = function()
require("parrot").setup {
providers = {
anthropic = {
api_key = os.getenv "ANTHROPIC_API_KEY",
},
},
hooks = {
AskFile = function(parrot, params)
local template = [[
I want you to simply answer questions about the content of the provided file.
Questions:
{{command}}
Provided file content: {{filecontent}}
]]
local agent = parrot.get_command_agent()
parrot.logger.info("Asking agent: " .. vim.inspect(agent.name))
parrot.Prompt(
params,
parrot.ui.Target.popup,
"🤖 Ask ~ ",
agent.model,
template,
"",
agent.provider
)
end,
},
}
end,
} |
Beta Was this translation helpful? Give feedback.
-
@frankroeder based! Awesome to see and thanks for the clarifications. Have you had any plans to potentially add in AI completion as well or is that outside the scope of this plugin? You can close the issue if you want as well as above answered my actual issue (or if you would like me to fill out the issue with more cursor features to have as a reference for the plugin regarding AI features) |
Beta Was this translation helpful? Give feedback.
-
I consider completion to be out of scope for this project, as it analyzes your files and tracks the position of your cursor to constantly generate potential completions in the background. This can become very costly, especially for larger projects, when using the usual APIs. Furthermore, I think it is very difficult to implement this well (considering LSP integration, etc.). With parrot.nvim, I like to focus on inline prompt-based edits and lightweight chats within markdown files that are simply buffers, allowing the user stay in control of the costs and what gets sent. I believe that the custom hooks provide a lot of flexibility, as they can harness the full range of Lua functions for any type of routine, including completions. For example, I have this experimental feature that generates Git commit messages based on the output of Feel free to move this to a discussion. |
Beta Was this translation helpful? Give feedback.
-
Understood and makes sense! Do you want me to move the original issue towards a discussion or were you talking about completion? |
Beta Was this translation helpful? Give feedback.
-
I've been evaluating the cursor editor to know what was usable and not and there are a couple of things (some are implemented and some are not).
Below is a table of some of the features I saw myself using either from time to time or often. Not sure if there are any plans to support these different features but thought I would add it anyway. Also, there might be a way to do this already with Parrot that I am just not aware of!
PrtRewrite
Beta Was this translation helpful? Give feedback.
All reactions