Compare commits
2 Commits
502ae1a4a3
...
fb08430277
Author | SHA1 | Date | |
---|---|---|---|
fb08430277 | |||
a67d5981ec |
58
flake.lock
generated
58
flake.lock
generated
@ -164,38 +164,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1744868846,
|
||||
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1747958103,
|
||||
"narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nomodoro": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -230,23 +198,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"parrot-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1748727208,
|
||||
"narHash": "sha256-HlZF5HvbivH6Kh5AgoZfO+q/d5KF1vU37fudu095LuE=",
|
||||
"owner": "frankroeder",
|
||||
"repo": "parrot.nvim",
|
||||
"rev": "378d7706a392c06eabe0ddbbdc6ed5fa57ca4db0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "frankroeder",
|
||||
"ref": "main",
|
||||
"repo": "parrot.nvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pyproject-build-systems": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -308,7 +259,6 @@
|
||||
"nixpkgs-24-11": "nixpkgs-24-11",
|
||||
"nomodoro": "nomodoro",
|
||||
"nvim-web-devicons": "nvim-web-devicons",
|
||||
"parrot-nvim": "parrot-nvim",
|
||||
"sops-nix": "sops-nix",
|
||||
"spaceport-nvim": "spaceport-nvim",
|
||||
"systems": "systems",
|
||||
@ -318,7 +268,9 @@
|
||||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"nixpkgs": [
|
||||
"nixpkgs-24-11"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747603214,
|
||||
@ -385,7 +337,9 @@
|
||||
},
|
||||
"treefmt-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
"nixpkgs": [
|
||||
"nixpkgs-24-11"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748243702,
|
||||
|
21
flake.nix
21
flake.nix
@ -5,8 +5,15 @@
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixpkgs-24-11.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||
|
||||
treefmt-nix.url = "github:numtide/treefmt-nix";
|
||||
sops-nix.url = "github:Mic92/sops-nix";
|
||||
treefmt-nix = {
|
||||
url = "github:numtide/treefmt-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs-24-11";
|
||||
};
|
||||
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs-24-11";
|
||||
};
|
||||
|
||||
NixOS-WSL-2411 = {
|
||||
url = "github:nix-community/NixOS-WSL";
|
||||
@ -28,10 +35,10 @@
|
||||
flake = false;
|
||||
};
|
||||
|
||||
parrot-nvim = {
|
||||
url = "github:frankroeder/parrot.nvim/main";
|
||||
flake = false;
|
||||
};
|
||||
# parrot-nvim = {
|
||||
# url = "github:frankroeder/parrot.nvim/main";
|
||||
# flake = false;
|
||||
# };
|
||||
|
||||
nomodoro = {
|
||||
url = "github:dbinagi/nomodoro/main";
|
||||
@ -77,7 +84,7 @@
|
||||
inherit spaceport-nvim;
|
||||
inherit inputs;
|
||||
inherit nomodoro;
|
||||
parrot-nvim = inputs.parrot-nvim;
|
||||
# parrot-nvim = inputs.parrot-nvim;
|
||||
}).overlay;
|
||||
# Small tool to iterate over each systems
|
||||
eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system});
|
||||
|
@ -195,7 +195,7 @@ in
|
||||
pkgs.customVimPlugins.cmp-vimtex
|
||||
# pkgs.customVimPlugins.spaceport-nvim
|
||||
pkgs.customVimPlugins.nomodoro
|
||||
pkgs.customVimPlugins.parrot-nvim
|
||||
# pkgs.customVimPlugins.parrot-nvim
|
||||
pkgs.customVimPlugins.nvim-web-devicons
|
||||
|
||||
# syntax highlighting
|
||||
|
@ -1,4 +1,5 @@
|
||||
{ config }:
|
||||
{ ... }:
|
||||
# ^ passing in config for things as needed but we don't use it currently
|
||||
''
|
||||
inoremap jj <Esc>
|
||||
inoremap kk <Esc>
|
||||
@ -92,170 +93,6 @@
|
||||
vim.g.vimtex_fold_enabled = true
|
||||
|
||||
${builtins.readFile ./overseer.lua}
|
||||
require("parrot").setup({
|
||||
providers = {
|
||||
anthropic = {
|
||||
api_key = { "cat", "${config.sops.secrets.anthropic_api_key.path}" },
|
||||
},
|
||||
},
|
||||
hooks = {
|
||||
Complete = function(prt, params)
|
||||
local template = [[
|
||||
I have the following code from {{filename}}:
|
||||
|
||||
```{{filetype}}
|
||||
{{selection}}
|
||||
```
|
||||
|
||||
Please finish the code above carefully and logically.
|
||||
Respond just with the snippet of code that should be inserted."
|
||||
]]
|
||||
local model_obj = prt.get_model "command"
|
||||
prt.Prompt(params, prt.ui.Target.append, model_obj, nil, template)
|
||||
end,
|
||||
CompleteFullContext = function(prt, params)
|
||||
local template = [[
|
||||
I have the following code from {{filename}}:
|
||||
|
||||
```{{filetype}}
|
||||
{{filecontent}}
|
||||
```
|
||||
|
||||
Please look at the following section specifically:
|
||||
```{{filetype}}
|
||||
{{selection}}
|
||||
```
|
||||
|
||||
Please finish the code above carefully and logically.
|
||||
Respond just with the snippet of code that should be inserted.
|
||||
]]
|
||||
local model_obj = prt.get_model "command"
|
||||
prt.Prompt(params, prt.ui.Target.append, model_obj, nil, template)
|
||||
end,
|
||||
CompleteMultiContext = function(prt, params)
|
||||
local template = [[
|
||||
I have the following code from {{filename}} and other realted files:
|
||||
|
||||
```{{filetype}}
|
||||
{{multifilecontent}}
|
||||
```
|
||||
|
||||
Please look at the following section specifically:
|
||||
```{{filetype}}
|
||||
{{selection}}
|
||||
```
|
||||
|
||||
Please finish the code above carefully and logically.
|
||||
Respond just with the snippet of code that should be inserted.
|
||||
]]
|
||||
local model_obj = prt.get_model "command"
|
||||
prt.Prompt(params, prt.ui.Target.append, model_obj, nil, template)
|
||||
end,
|
||||
Explain = function(prt, params)
|
||||
local template = [[
|
||||
Your task is to take the code snippet from {{filename}} and explain it with gradually increasing complexity.
|
||||
Break down the code's functionality, purpose, and key components.
|
||||
The goal is to help the reader understand what the code does and how it works.
|
||||
|
||||
```{{filetype}}
|
||||
{{selection}}
|
||||
```
|
||||
|
||||
Use the markdown format with codeblocks and inline code.
|
||||
Explanation of the code above:
|
||||
]]
|
||||
local model = prt.get_model "command"
|
||||
prt.logger.info("Explaining selection with model: " .. model.name)
|
||||
prt.Prompt(params, prt.ui.Target.new, model, nil, template)
|
||||
end,
|
||||
ProofReader = function(prt, params)
|
||||
local chat_prompt = [[
|
||||
I want you to act as a proofreader. I will provide you with texts and
|
||||
I would like you to review them for any spelling, grammar, or
|
||||
punctuation errors. Once you have finished reviewing the text,
|
||||
provide me with any necessary corrections or suggestions to improve the
|
||||
text. Highlight the corrected fragments (if any) using markdown backticks.
|
||||
|
||||
When you have done that subsequently provide me with a slightly better
|
||||
version of the text, but keep close to the original text.
|
||||
|
||||
Finally provide me with an ideal version of the text.
|
||||
|
||||
For each of these versions, you can elide sections which include long unchanged text with NO_CHANGES_HERE.
|
||||
|
||||
Whenever I provide you with text, you reply in this format directly:
|
||||
|
||||
|
||||
## Summary of suggestions:
|
||||
|
||||
{a brief list of spelling, grammar and punctuation errors, with brief snippets of the original text so I can search and find each change, followed by summaries of what types of changes are in the slightly better and ideal versions}
|
||||
|
||||
## Corrected text:
|
||||
|
||||
{corrected text, or say "NO_CORRECTIONS_NEEDED" instead if there are no corrections made}
|
||||
|
||||
## Slightly better text
|
||||
|
||||
{slightly better text}
|
||||
|
||||
## Ideal text
|
||||
|
||||
{ideal text}
|
||||
]]
|
||||
prt.ChatNew(params, chat_prompt)
|
||||
end,
|
||||
ProofReader2 = function(prt, params)
|
||||
local chat_prompt = [[
|
||||
I want you to act as a professional proofreader and editor. When I provide you with text, please:
|
||||
|
||||
1. First, identify and correct errors in
|
||||
- spelling
|
||||
- grammar
|
||||
- punctuation
|
||||
- syntax errors.
|
||||
- Technical accuracy (for domain-specific content especially)
|
||||
Mark corrections using markdown backticks.
|
||||
|
||||
2. Second, analyze stylistic elements including
|
||||
- clarity
|
||||
- conciseness
|
||||
- word choice
|
||||
- sentence structure
|
||||
- paragraph organization and transitions (as appropriate for text length)
|
||||
|
||||
3. Provide your response in this structured format:
|
||||
|
||||
# Summary of the text:
|
||||
Provide a concise overview of the text (1-2 sentences).
|
||||
For longer texts (5+ paragraphs), include a brief outline of the content.
|
||||
|
||||
|
||||
## Summary of suggestions:
|
||||
- List specific errors found with brief context
|
||||
- Group similar issues together
|
||||
- Note patterns if they exist
|
||||
- Highlight 3-5 most impactful improvements
|
||||
- Summarize the types of improvements made in each version
|
||||
|
||||
## Corrected text:
|
||||
Present the text with technical errors fixed (or state "NO_CORRECTIONS_NEEDED" if appropriate)
|
||||
|
||||
## Enhanced text:
|
||||
Provide a version with moderate improvements to readability and flow while preserving the original voice and style. You may use [NO_CHANGES_HERE] to indicate substantial unchanged sections to keep your response more concise.
|
||||
|
||||
## Optimal text:
|
||||
Present an ideal version that maintains the original intent but optimizes for clarity, impact, and professional quality. Use [NO_CHANGES_HERE] as mentioned above.
|
||||
|
||||
Please maintain the original meaning and tone while making your suggestions. If you're uncertain about the author's intent in any section, note this and provide alternative interpretations.
|
||||
For very long texts, focus on the most impactful improvements.
|
||||
]]
|
||||
prt.ChatNew(params, chat_prompt)
|
||||
|
||||
end,
|
||||
},
|
||||
})
|
||||
|
||||
vim.api.nvim_set_keymap("n", "<leader>pt", "<cmd>PrtChatToggle<CR>", { noremap = true})
|
||||
|
||||
require("nomodoro").setup({
|
||||
work_time = 10,
|
||||
|
@ -26,7 +26,7 @@ require("lualine").setup({
|
||||
icons_enabled = false,
|
||||
},
|
||||
require("nomodoro").status,
|
||||
parrot_status,
|
||||
-- parrot_status,
|
||||
},
|
||||
lualine_x = {
|
||||
"encoding",
|
||||
|
@ -2,7 +2,7 @@
|
||||
cmp-vimtex,
|
||||
spaceport-nvim,
|
||||
nomodoro,
|
||||
parrot-nvim,
|
||||
# parrot-nvim,
|
||||
inputs,
|
||||
}:
|
||||
let
|
||||
@ -22,10 +22,10 @@ let
|
||||
name = "nomodoro";
|
||||
};
|
||||
|
||||
parrotNvimPlugin = prev.vimUtils.buildVimPlugin {
|
||||
src = parrot-nvim;
|
||||
name = "parrot-nvim";
|
||||
};
|
||||
# parrotNvimPlugin = prev.vimUtils.buildVimPlugin {
|
||||
# src = parrot-nvim;
|
||||
# name = "parrot-nvim";
|
||||
# };
|
||||
|
||||
nvimWebDeviconPlugin = prev.vimUtils.buildVimPlugin {
|
||||
src = inputs.nvim-web-devicons;
|
||||
@ -42,7 +42,7 @@ let
|
||||
cmp-vimtex = cmpVimtexPlugin;
|
||||
spaceport-nvim = spaceportNvimPlugin;
|
||||
nomodoro = nomodoroNvimPlugin;
|
||||
parrot-nvim = parrotNvimPlugin;
|
||||
# parrot-nvim = parrotNvimPlugin;
|
||||
nvim-web-devicons = nvimWebDeviconPlugin;
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user