summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichaël Ball <michael.ball@krotosaudio.com>2024-12-05 16:11:40 +0000
committerMichaël Ball <michael.ball@krotosaudio.com>2024-12-05 16:11:40 +0000
commit278736ec4eef5cfe2759a55d3c8a1da68353eec1 (patch)
treeb38c5ecea364e37b0f0757268c61c4bc7b6f3ca5
parenta79097c60f697940351e8eb0721d77489664e79e (diff)
Updates for gen.nvim
-rw-r--r--neovim/.config/nvim/lua/plugins/gen_nvim.lua26
-rw-r--r--neovim/.config/nvim/lua/settings.lua47
2 files changed, 44 insertions, 29 deletions
diff --git a/neovim/.config/nvim/lua/plugins/gen_nvim.lua b/neovim/.config/nvim/lua/plugins/gen_nvim.lua
index 074f863..52dd67d 100644
--- a/neovim/.config/nvim/lua/plugins/gen_nvim.lua
+++ b/neovim/.config/nvim/lua/plugins/gen_nvim.lua
@@ -3,18 +3,18 @@ return {
"David-Kunz/gen.nvim",
cmd = "Gen",
opts = {
- model = "llama3.2:3b-instruct-fp16", -- The default model to use.
- quit_map = "q", -- set keymap to close the response window
- retry_map = "<c-r>", -- set keymap to re-send the current prompt
- accept_map = "<c-cr>", -- set keymap to replace the previous selection with the last result
- host = "localhost", -- The host running the Ollama service.
- port = "11434", -- The port on which the Ollama service is listening.
- display_mode = "split", -- The display mode. Can be "float" or "split" or "horizontal-split".
- show_prompt = false, -- Shows the prompt submitted to Ollama.
- show_model = true, -- Displays which model you are using at the beginning of your chat session.
- no_auto_close = false, -- Never closes the window automatically.
- file = false, -- Write the payload to a temporary file to keep the command short.
- hidden = false, -- Hide the generation window (if true, will implicitly set `prompt.replace = true`), requires Neovim >= 0.10
+ model = "llama3.2:3b-instruct-fp16", -- The default model to use.
+ quit_map = "q", -- set keymap to close the response window
+ retry_map = "<c-r>", -- set keymap to re-send the current prompt
+ accept_map = "<c-cr>", -- set keymap to replace the previous selection with the last result
+ host = "localhost", -- The host running the Ollama service.
+ port = "11434", -- The port on which the Ollama service is listening.
+ display_mode = "split", -- The display mode. Can be "float" or "split" or "horizontal-split".
+ show_prompt = false, -- Shows the prompt submitted to Ollama.
+ show_model = true, -- Displays which model you are using at the beginning of your chat session.
+ no_auto_close = false, -- Never closes the window automatically.
+ file = false, -- Write the payload to a temporary file to keep the command short.
+ hidden = false, -- Hide the generation window (if true, will implicitly set `prompt.replace = true`), requires Neovim >= 0.10
init = function(options) pcall(io.popen, "ollama serve > /dev/null 2>&1 &") end,
-- Function to initialize Ollama
command = function(options)
@@ -26,7 +26,7 @@ return {
-- The executed command must return a JSON object with { response, context }
-- (context property is optional).
-- list_models = '<omitted lua function>', -- Retrieves a list of model names
- debug = false -- Prints errors and the command which is run.
+ debug = false -- Prints errors and the command which is run.
},
},
}
diff --git a/neovim/.config/nvim/lua/settings.lua b/neovim/.config/nvim/lua/settings.lua
index ad8aaff..6daf849 100644
--- a/neovim/.config/nvim/lua/settings.lua
+++ b/neovim/.config/nvim/lua/settings.lua
@@ -25,7 +25,7 @@ vim.opt.linebreak = true
vim.opt.showbreak = '↪ '
vim.opt.breakindent = true
vim.opt.termguicolors = true
-vim.cmd[[
+vim.cmd [[
syntax on
filetype on
filetype plugin on
@@ -44,24 +44,24 @@ if vim.g.neovide then
end
if vim.g.neovide then
- vim.keymap.set('n', '<D-s>', ':w<CR>') -- Save
- vim.keymap.set('v', '<D-c>', '"+y') -- Copy
- vim.keymap.set('n', '<D-v>', '"+P') -- Paste normal mode
- vim.keymap.set('v', '<D-v>', '"+P') -- Paste visual mode
- vim.keymap.set('c', '<D-v>', '<C-R>+') -- Paste command mode
+ vim.keymap.set('n', '<D-s>', ':w<CR>') -- Save
+ vim.keymap.set('v', '<D-c>', '"+y') -- Copy
+ vim.keymap.set('n', '<D-v>', '"+P') -- Paste normal mode
+ vim.keymap.set('v', '<D-v>', '"+P') -- Paste visual mode
+ vim.keymap.set('c', '<D-v>', '<C-R>+') -- Paste command mode
vim.keymap.set('i', '<D-v>', '<ESC>l"+Pli') -- Paste insert mode
end
-- Allow clipboard copy paste in neovim
-vim.api.nvim_set_keymap('', '<D-v>', '+p<CR>', { noremap = true, silent = true})
-vim.api.nvim_set_keymap('!', '<D-v>', '<C-R>+', { noremap = true, silent = true})
-vim.api.nvim_set_keymap('t', '<D-v>', '<C-R>+', { noremap = true, silent = true})
-vim.api.nvim_set_keymap('v', '<D-v>', '<C-R>+', { noremap = true, silent = true})
+vim.api.nvim_set_keymap('', '<D-v>', '+p<CR>', { noremap = true, silent = true })
+vim.api.nvim_set_keymap('!', '<D-v>', '<C-R>+', { noremap = true, silent = true })
+vim.api.nvim_set_keymap('t', '<D-v>', '<C-R>+', { noremap = true, silent = true })
+vim.api.nvim_set_keymap('v', '<D-v>', '<C-R>+', { noremap = true, silent = true })
-- Autocommands
local indent_rules_augroup = vim.api.nvim_create_augroup('Indents', {})
-vim.api.nvim_create_autocmd( { 'FileType' }, {
+vim.api.nvim_create_autocmd({ 'FileType' }, {
pattern = { 'make', 'sh', 'zsh' },
group = indent_rules_augroup,
callback = function()
@@ -71,7 +71,7 @@ vim.api.nvim_create_autocmd( { 'FileType' }, {
vim.opt_local.expandtab = false
end
})
-vim.api.nvim_create_autocmd( { 'FileType' }, {
+vim.api.nvim_create_autocmd({ 'FileType' }, {
pattern = { 'go' },
group = indent_rules_augroup,
callback = function()
@@ -81,7 +81,7 @@ vim.api.nvim_create_autocmd( { 'FileType' }, {
vim.opt_local.expandtab = false
end
})
-vim.api.nvim_create_autocmd( { 'FileType' }, {
+vim.api.nvim_create_autocmd({ 'FileType' }, {
pattern = { 'javascript', 'lua' },
group = indent_rules_augroup,
callback = function()
@@ -92,7 +92,7 @@ vim.api.nvim_create_autocmd( { 'FileType' }, {
})
local wrap_rules_augroup = vim.api.nvim_create_augroup('Wrap', {})
-vim.api.nvim_create_autocmd( { 'FileType' }, {
+vim.api.nvim_create_autocmd({ 'FileType' }, {
pattern = { 'markdown', 'rst', 'text' },
group = wrap_rules_augroup,
callback = function()
@@ -101,7 +101,7 @@ vim.api.nvim_create_autocmd( { 'FileType' }, {
})
local terminal_rules_augroup = vim.api.nvim_create_augroup('Terminal', {})
-vim.api.nvim_create_autocmd( { 'TermOpen' }, {
+vim.api.nvim_create_autocmd({ 'TermOpen' }, {
pattern = { '*' },
group = terminal_rules_augroup,
callback = function()
@@ -117,7 +117,7 @@ vim.api.nvim_create_autocmd( { 'TermOpen' }, {
})
-- Terminal
-vim.cmd[[
+vim.cmd [[
tnoremap <Esc> <C-\><C-n>
tnoremap <A-h> <C-\><C-N><C-w>h
tnoremap <A-j> <C-\><C-N><C-w>j
@@ -174,3 +174,18 @@ end
vim.diagnostic.config({
underline = { severity = vim.diagnostic.severity.ERROR },
})
+
+-- Disable diagnostics for gen.nvim
+local lsp_grp = vim.api.nvim_create_augroup("lsp_disable", { clear = true })
+vim.api.nvim_create_autocmd({ "LspAttach" }, {
+ group = lsp_grp,
+ callback = function(args)
+ if vim.bo.buftype == "nofile" then
+ local bufnr = args.buf
+ vim.diagnostic.enable(false, { bufnr = bufnr })
+ for _, client in ipairs(vim.lsp.get_clients({ bufnr = bufnr })) do
+ vim.lsp.buf_detach_client(bufnr, client.id)
+ end
+ end
+ end
+})