updates, gen works vbetter

This commit is contained in:
RingOfStorms (Joshua Bell) 2023-12-07 17:17:15 -06:00
parent 53fc7b700d
commit 724194b956
11 changed files with 49 additions and 41 deletions

View file

@ -19,11 +19,11 @@ require("util").keymaps({
-- =============
{ ";", ":", desc = "No shift to enter command mode with semicolon. Alias ; to :", mode = nvx },
{ "<leader>a", "<esc>ggVG", desc = "Select all", mode = nvx },
{ "<leader>w", "<cmd>w<cr>", desc = "Save", mode = nvx },
{ "<leader>w", ":w<cr>", desc = "Save", mode = nvx },
{
"<leader>q",
function()
-- Use to have this which always closed and quit ont he last screen: "<cmd>confirm q<cr>"
-- Use to have this which always closed and quit ont he last screen: ":confirm q<cr>"
-- Instead I want this behavior:
-- if only 1 screen is open then close all buffers, resulting in a blank unnamed buffer window similar to fresh session
-- else if more than 1 screen, confirm q to close that screen
@ -40,26 +40,26 @@ require("util").keymaps({
desc = "Quit",
mode = nvx,
},
{ "Q", "<cmd>Neotree close<cr><cmd>qa<CR>", desc = "Quit all", mode = nvx },
{ "Q", ":Neotree close<cr>:qa<CR>", desc = "Quit all", mode = nvx },
{ "<leader>Q", "<nop>", mode = nvx }, -- don't do normal Q quit
{
"<leader>QQ",
"<cmd>Neotree close<cr><cmd>SessionDelete<cr><cmd>qa<CR>",
":Neotree close<cr>:SessionDelete<cr>:qa<CR>",
desc = "Quit all, no session saved",
mode = nvx,
},
{ "<leader>y", '"+y', desc = "Copy to system clipboard", mode = nvx },
{ "<leader>p", '"+p', desc = "Paste from system clipboard", mode = nvx },
{ "<leader>bq", "<cmd>bp|bd #<cr>", desc = "Close current buffer only", mode = nvx },
{ "<leader>tn", "<cmd>tabnew<cr>", desc = "Create new tab", mode = nvx },
{ "<leader>tq", "<cmd>tabclose<cr>", desc = "Close current tab", mode = nvx },
{ "H", "<cmd>tabprevious<cr>", desc = "Move to previous tab", mode = nvx },
{ "L", "<cmd>tabnext<cr>", desc = "Move to next tab", mode = nvx },
{ "|", "<cmd>vsplit<cr>", desc = "Vertical Split", mode = nvx },
{ "\\", "<cmd>split<cr>", desc = "Horizontal Split", mode = nvx },
{ "<leader>bq", ":bp|bd #<cr>", desc = "Close current buffer only", mode = nvx },
{ "<leader>tn", ":tabnew<cr>", desc = "Create new tab", mode = nvx },
{ "<leader>tq", ":tabclose<cr>", desc = "Close current tab", mode = nvx },
{ "H", ":tabprevious<cr>", desc = "Move to previous tab", mode = nvx },
{ "L", ":tabnext<cr>", desc = "Move to next tab", mode = nvx },
{ "|", ":vsplit<cr>", desc = "Vertical Split", mode = nvx },
{ "\\", ":split<cr>", desc = "Horizontal Split", mode = nvx },
{
"<leader>S",
"<cmd>set equalalways<cr><cmd>set noequalalways<cr>",
":set equalalways<cr>:set noequalalways<cr>",
desc = "Equalize/resize screens evenly",
mode = nvx,
},
@ -67,7 +67,7 @@ require("util").keymaps({
{ "<C-j>", "<C-w>j", desc = "Move window below current", mode = nvx },
{ "<C-k>", "<C-w>k", desc = "Move window above current", mode = nvx },
{ "<C-l>", "<C-w>l", desc = "Move window right current", mode = nvx },
{ "B", "<cmd>b#<cr>", desc = "Switch to last buffer", mode = nvx },
{ "B", ":b#<cr>", desc = "Switch to last buffer", mode = nvx },
{
"<leader>l<leader>",
function()
@ -79,7 +79,7 @@ require("util").keymaps({
},
{
"<leader>ls<leader>",
"<cmd>SqlxFormat<cr>",
":SqlxFormat<cr>",
desc = "Format sqlx queries in rust raw string literals.",
mode = nvx,
},

View file

@ -1,9 +1,6 @@
return {
"Pocco81/auto-save.nvim",
event = "BufEnter",
init = function()
vim.notify("test")
end,
opts = {
trigger_events = { "InsertLeave", "TextChanged", "TextChangedI", "BufLeave" },
condition = function(buf)

View file

@ -4,19 +4,19 @@ return {
keys = {
{
"<leader>xx",
"<cmd>:'<,'>FloatermNew --autoclose=2<cr>",
"::'<,'>FloatermNew --autoclose=2<cr>",
desc = "Run selected as command in float terminal",
mode = "v",
},
{
"<C-x>",
"<cmd>FloatermToggle<cr>",
":FloatermToggle<cr>",
desc = "Toggle float terminal",
mode = { "n", "i", "v", "x", "c", "t" },
},
{
"<C-z>",
"<cmd>FloatermNew --disposable<cr>",
":FloatermNew --disposable<cr>",
desc = "Toggle disposable float terminal",
mode = { "v", "n", "i", "x", "c" },
},

View file

@ -2,6 +2,7 @@ local U = require("util")
return {
"David-Kunz/gen.nvim",
lazy = false,
enabled = function()
return U.cmd_executable("ollama", {
[false] = function()
@ -14,7 +15,7 @@ return {
})
end,
opts = {
model = "wizard-vicuna-uncensored",
model = "codellama",
-- show_prompt = true,
show_model = true,
},
@ -33,14 +34,12 @@ return {
g.prompts = {
-- https://github.com/David-Kunz/gen.nvim/blob/main/lua/gen/prompts.lua
Prompt_Code_Completion = {
prompt =
"Write code that meets these requirements: $input\nOnly output the result in format ```$filetype\n...\n```",
prompt = "Write code that meets these requirements: $input\nOnly output the result in format ```$filetype\n...\n```",
replace = true,
extract = "```$filetype\n(.-)```",
},
Replace_Code_Completion = {
prompt =
"Rewrite the following code, follow any comment instructions.\nOnly output the result in format ```$filetype\n...\n```:\n```$filetype\n$text\n```",
Inline_Selection_Code_Completion = {
prompt = "Rewrite the following code, follow any comment instructions.\nRemove any instruction comments but keep comments about the code. Only output the result with no explanation in format ```$filetype\n...\n```:n```$filetype\n$text\n```",
replace = true,
extract = "```$filetype\n(.-)```",
},
@ -53,45 +52,54 @@ return {
}
end,
keys = {
-- For some reason selections don't work well when using keys from lazy + which key installed when using `<cmd>` MUST use `:` for command
{
"<leader>x<leader>",
":Gen<cr>",
desc = "Show Menu",
mode = { "n", "v", "x" },
},
{
"<leader>xm",
"<cmd>Gen<cr>",
function()
require("gen").select_model()
end,
desc = "Show Menu",
mode = { "n", "v", "x" },
},
{
"<leader>xx",
"<cmd>Gen Prompt_Code_Completion<cr>",
":Gen Prompt_Code_Completion<cr>",
desc = "Input and generate",
mode = { "n" },
},
{
"<leader>xx",
"<cmd>'<,'>Gen Replace_Code_Completion<cr>",
":'<,'>Gen Inline_Selection_Code_Completion<cr>",
desc = "Replace selected code",
mode = { "v", "x" },
},
{
"<leader>xc",
"<cmd>Gen Prompt_And_Answer_Float<cr>",
":Gen Prompt_And_Answer_Float<cr>",
desc = "Prompt and answer in float window",
mode = { "n", "v", "x" },
},
{
"<leader>xi",
"<cmd>Gen Prompt_And_Answer_Inline<cr>",
":Gen Prompt_And_Answer_Inline<cr>",
desc = "Prompt and answer inline at cursor",
mode = { "n", "v", "x" },
},
{
"<leader>xs",
"<cmd>'<,'>Gen Summarize_Selection_Float<cr>",
":'<,'>Gen Summarize_Selection_Float<cr>",
desc = "Summarize selection in float window",
mode = { "v", "x" },
},
{
"<leader>xa",
"<cmd>'<,'>Gen Ask_Selection_Float<cr>",
":'<,'>Gen Ask_Selection_Float<cr>",
desc = "Ask question about selection in float window",
mode = { "v", "x" },
},

View file

@ -104,7 +104,7 @@ return {
},
},
keys = {
{ "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "Opens git diff view." },
{ "<leader>gd", ":DiffviewOpen<cr>", desc = "Opens git diff view." },
},
},
}

View file

@ -25,6 +25,6 @@ return {
},
build = prereqs,
keys = {
{ "<leader>gg", "<cmd>LazyGit<cr>", desc = "Open lazy git ui" },
{ "<leader>gg", ":LazyGit<cr>", desc = "Open lazy git ui" },
},
}

View file

@ -36,7 +36,7 @@ return {
},
},
keys = {
{ "<leader>e", "<cmd>Neotree toggle<CR>", desc = "Toggle Explorer" },
{ "<leader>e", ":Neotree toggle<CR>", desc = "Toggle Explorer" },
{
"<leader>o",
function()

View file

@ -2,7 +2,7 @@ return {
"Almo7aya/openingh.nvim",
event = "BufEnter",
keys = {
{ "<leader>gf", "<cmd>OpenInGHFile<CR>", desc = "Open in git" },
{ "<leader>gf", "<cmd>OpenInGHFileLines<CR>", desc = "Open in git", mode = { "v" } },
{ "<leader>gf", ":OpenInGHFile<CR>", desc = "Open in git" },
{ "<leader>gf", ":OpenInGHFileLines<CR>", desc = "Open in git", mode = { "v" } },
},
}

View file

@ -7,6 +7,6 @@ return {
require("telescope").load_extension("textcase")
end,
keys = {
{ "<leader>,c", "<cmd>TextCaseOpenTelescope<cr>", desc = "Change case of selection", mode = { "n", "v" } },
{ "<leader>,c", ":TextCaseOpenTelescope<cr>", desc = "Change case of selection", mode = { "n", "v" } },
},
}

View file

@ -1,6 +1,8 @@
return {
"rcarriga/nvim-notify",
dependencies = "nvim-telescope/telescope.nvim",
lazy = false,
priority = 999,
opts = {
top_down = false,
},
@ -8,8 +10,9 @@ return {
require("notify").setup(opts)
vim.notify = require("notify")
require('telescope').load_extension("notify")
end,
keys = {
{ "<leader>fn", "<cmd>Telescope notify<cr>", desc = "Telescope search notifications", mode = { "n", "v", "x" } },
{ "<leader>fn", ":Telescope notify<cr>", desc = "Telescope search notifications", mode = { "n", "v", "x" } },
},
}