new plugin llm

This commit is contained in:
Barak Michener 2025-05-18 11:37:45 -07:00
parent 8a03de58b9
commit 406f904367
5 changed files with 103 additions and 39 deletions

View file

@ -61,6 +61,7 @@ set -g status-interval 5
##set -g status-right '#[fg=green]#(~/src/tpom/tpom) #[fg=cyan,bold]%Y-%m-%d %H:%M:%S#[default]' ##set -g status-right '#[fg=green]#(~/src/tpom/tpom) #[fg=cyan,bold]%Y-%m-%d %H:%M:%S#[default]'
#set -g status-justify centre # center align window list #set -g status-justify centre # center align window list
#set -g status-style fg=white,bg=default #set -g status-style fg=white,bg=default
set -g status-position top
## default window title colors ## default window title colors
#set-window-option -g window-status-style fg=white,bg=default,dim #set-window-option -g window-status-style fg=white,bg=default,dim

View file

@ -1,3 +1,2 @@
nmap <buffer> { <Plug>(qf_previous_file) nmap <buffer> { <Plug>(qf_previous_file)
nmap <buffer> } <Plug>(qf_next_file) nmap <buffer> } <Plug>(qf_next_file)
nmap <buffer> dd <cmd>.Reject<cr>

View file

@ -2,18 +2,16 @@ require("avante_lib").load()
require("avante").setup({ require("avante").setup({
provider = "ollama", provider = "ollama",
auto_suggestions_provider = "ollama", auto_suggestions_provider = "ollama",
cursor_applying_provider = "ollama",
behavior = { behavior = {
auto_suggestions = false, auto_suggestions = false,
enable_cursor_planning_mode = true,
}, },
hints = { hints = {
enabled = false, enabled = false,
}, },
vendors = {
ollama = { ollama = {
endpoint = "http://127.0.0.1:11434/v1", endpoint = "http://127.0.0.1:11434",
model = "qwen2.5-coder:7b", model = "phi4:14b",
__inherited_from = "openai",
api_key_name = "",
},
}, },
}) })

View file

@ -62,16 +62,14 @@ nvim_lsp.rust_analyzer.setup({
}) })
nvim_lsp.gopls.setup({ nvim_lsp.gopls.setup({
on_attach = function(client, bufnr) on_attach = function(client, bufnr)
client.server_capabilities.semanticTokensProvider = { --client.server_capabilities.semanticTokensProvider = {
full = true, --full = true,
legend = { --legend = {
--tokenTypes = { 'namespace', 'type', 'class', 'enum', 'interface', 'struct', 'typeParameter', 'parameter', 'variable', 'property', 'enumMember', 'event', 'function', 'method', 'macro', 'keyword', 'modifier', 'comment', 'string', 'number', 'regexp', 'operator', 'decorator', }, ----tokenTypes = { 'namespace', 'type', 'class', 'enum', 'interface', 'struct', 'typeParameter', 'parameter', 'variable', 'property', 'enumMember', 'event', 'function', 'method', 'macro', 'keyword', 'modifier', 'comment', 'string', 'number', 'regexp', 'operator', 'decorator', },
tokenTypes = { 'namespace' }, --tokenTypes = { 'namespace' },
tokenModifiers = { 'declaration', 'definition', 'readonly', 'static', 'deprecated', 'abstract', 'async', --tokenModifiers = { 'declaration', 'definition', 'readonly', 'static', 'deprecated', 'abstract', 'async', 'modification', 'documentation', 'defaultLibrary' },
'modification', 'documentation', 'defaultLibrary', --}
}, --}
}
}
end, end,
capabilities = default_capabilities, capabilities = default_capabilities,
settings = { settings = {
@ -445,15 +443,19 @@ require('telescope').setup {
-- Treesitter -- Treesitter
-- --
require 'nvim-treesitter.configs'.setup { require 'nvim-treesitter.configs'.setup({
-- One of "all", "maintained" (parsers with maintainers), or a list of languages -- One of "all", "maintained" (parsers with maintainers), or a list of languages
ensure_installed = { ensure_installed = {
"c", "c",
"cpp", "cpp",
"css", "css",
"cue",
"dockerfile", "dockerfile",
"fish", "fish",
"go", "go",
"gomod",
"gosum",
"gotmpl",
"haskell", "haskell",
"html", "html",
"javascript", "javascript",
@ -465,6 +467,7 @@ require 'nvim-treesitter.configs'.setup {
"python", "python",
"query", "query",
"rust", "rust",
"starlark",
"terraform", "terraform",
"toml", "toml",
"tsx", "tsx",
@ -519,7 +522,7 @@ require 'nvim-treesitter.configs'.setup {
show_help = '?', show_help = '?',
}, },
} }
} })
require "neogen".setup {} require "neogen".setup {}
@ -623,9 +626,65 @@ end
require("hoversplit").setup({}) require("hoversplit").setup({})
require("quicker").setup()
vim.keymap.set("n", "<leader>q", function()
require("quicker").toggle()
end, {
desc = "Toggle quickfix",
})
--require("murdock") --require("murdock")
--require("ollama_setup") --require("ollama_setup")
--require("gen_setup") --require("gen_setup")
require("lir_setup") require("lir_setup")
require("lualine_setup") require("lualine_setup")
require("avante_setup") --require("avante_setup")
--require("gen").setup({
--model = "gemma3:12b-it-qat",
--init = nil,
--})
require("smear_cursor").setup({
--stiffness = 0.8,
--trailing_stiffness = 0.5,
--distance_stop_animating= 0.5,
})
require("parrot").setup({
providers = {
ollama = {}
},
chat_user_prefix = "Chat: ",
llm_prefix = "LLM: ",
hooks = {
CompleteFullContext = function(prt, params)
local template = [[
I have the following code from {{filename}}:
```{{filetype}}
{{filecontent}}
```
Please look at the following section specifically:
```{{filetype}}
{{selection}}
```
Goal: {{command}}
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,
},
})
vim.diagnostic.config({
virtual_text = false,
signs = true,
update_in_insert = false,
underline = true,
})

View file

@ -110,7 +110,7 @@ Plug 'scrooloose/nerdcommenter'
Plug 'mhinz/vim-signify' Plug 'mhinz/vim-signify'
Plug 'nvim-lualine/lualine.nvim' Plug 'nvim-lualine/lualine.nvim'
Plug 'linrongbin16/lsp-progress.nvim' Plug 'linrongbin16/lsp-progress.nvim'
Plug 'airblade/vim-rooter' "Plug 'airblade/vim-rooter'
Plug 'majutsushi/tagbar' Plug 'majutsushi/tagbar'
Plug 'dcampos/nvim-snippy' Plug 'dcampos/nvim-snippy'
Plug 'dcampos/cmp-snippy' Plug 'dcampos/cmp-snippy'
@ -122,6 +122,7 @@ Plug 'tpope/vim-abolish'
" Plugins for syntax " Plugins for syntax
Plug 'lunaru/vim-less' Plug 'lunaru/vim-less'
Plug 'hylang/vim-hy', {'for': 'hy'} Plug 'hylang/vim-hy', {'for': 'hy'}
Plug 'habamax/vim-asciidoctor'
Plug 'jneen/ragel.vim' Plug 'jneen/ragel.vim'
Plug 'NoahTheDuke/vim-just' Plug 'NoahTheDuke/vim-just'
Plug 'leafOfTree/vim-svelte-plugin' Plug 'leafOfTree/vim-svelte-plugin'
@ -130,7 +131,7 @@ Plug 'Shougo/context_filetype.vim'
Plug 'fedorenchik/AnsiEsc' Plug 'fedorenchik/AnsiEsc'
Plug 'hwayne/tla.vim' Plug 'hwayne/tla.vim'
Plug 'zchee/vim-goasm' Plug 'zchee/vim-goasm'
Plug 'cappyzawa/starlark.vim' "Plug 'cappyzawa/starlark.vim'
" Plugins that autocomplete " Plugins that autocomplete
Plug 'neovim/nvim-lspconfig' Plug 'neovim/nvim-lspconfig'
@ -181,9 +182,14 @@ Plug 'danymat/neogen'
Plug 'stevearc/dressing.nvim' Plug 'stevearc/dressing.nvim'
Plug 'MunifTanjim/nui.nvim' Plug 'MunifTanjim/nui.nvim'
Plug 'zbirenbaum/copilot.lua' Plug 'zbirenbaum/copilot.lua'
Plug 'yetone/avante.nvim', {'branch': 'main', 'do': 'make'} "Plug 'yetone/avante.nvim', {'branch': 'main', 'do': 'make'}
"Plug 'David-Kunz/gen.nvim'
Plug 'ibhagwan/fzf-lua'
Plug 'frankroeder/parrot.nvim'
Plug 'edolphin-ydf/goimpl.nvim' Plug 'edolphin-ydf/goimpl.nvim'
Plug 'stevearc/quicker.nvim'
Plug 'sphamba/smear-cursor.nvim'
call plug#end() call plug#end()
@ -292,9 +298,9 @@ let g:tagbar_autoclose = 1
let g:tagbar_compact = 1 let g:tagbar_compact = 1
" * vim-rooter " * vim-rooter
let g:rooter_cd_cmd="lcd" "let g:rooter_cd_cmd="lcd"
let g:rooter_manual_only = 1 "let g:rooter_manual_only = 1
set autochdir "set autochdir
" " * FZF " " * FZF
let g:rg_command = ' let g:rg_command = '
@ -462,7 +468,7 @@ au FileType coq nmap <leader>a :CoqToCursor<CR>
au FileType coq imap <leader>a <C-O>:CoqToCursor<CR> au FileType coq imap <leader>a <C-O>:CoqToCursor<CR>
" I don't know how I came up with gt for opening the tree, but it stuck. " I don't know how I came up with gt for opening the tree, but it stuck.
nmap <silent> gt :edit .<CR> nmap <silent> gt :edit %:h<CR>
nmap gb :TagbarToggle<CR> nmap gb :TagbarToggle<CR>
"nnoremap gx :Kwbd<CR> "nnoremap gx :Kwbd<CR>
" :Kwbd (defined below) really kills a buffer dead, and closes the window. " :Kwbd (defined below) really kills a buffer dead, and closes the window.
@ -526,8 +532,9 @@ nnoremap <Leader>fp :lprev<CR>
nnoremap <silent> <C-k> <cmd>lua require('telescope.builtin').git_files{}<cr> nnoremap <silent> <C-k> <cmd>lua require('telescope.builtin').git_files{}<cr>
nnoremap <silent> <Leader>ag <cmd>lua require('telescope.builtin').live_grep{ word_match = "-w", only_sort_text = true, cwd = vim.fn.systemlist("git rev-parse --show-toplevel")[1], search = ''}<cr> nnoremap <silent> <Leader>ag <cmd>lua require('telescope.builtin').live_grep{ word_match = "-w", only_sort_text = true, cwd = vim.fn.systemlist("git rev-parse --show-toplevel")[1], search = ''}<cr>
nnoremap <silent> <Leader>aw <cmd>lua require('telescope.builtin').grep_string{ word_match = "-w", only_sort_text = true, cwd = vim.fn.systemlist("git rev-parse --show-toplevel")[1]}<cr> nnoremap <silent> <Leader>aw <cmd>lua require('telescope.builtin').grep_string{ word_match = "-w", only_sort_text = true, cwd = vim.fn.systemlist("git rev-parse --show-toplevel")[1]}<cr>
nnoremap <silent> <Leader>q <cmd>lua require('telescope.builtin').quickfix{}<cr> "nnoremap <silent> <Leader>q <cmd>lua require('telescope.builtin').quickfix{}<cr>
nnoremap <silent> <Leader>ff <cmd>lua require('telescope.builtin').quickfix{}<cr> nnoremap <silent> <Leader>ff <cmd>lua require('telescope.builtin').quickfix{}<cr>
nnoremap <silent> <Leader>ar <cmd>lua require('telescope.builtin').resume{}<cr>
nnoremap <silent> <Leader>o <cmd>lua require('telescope.builtin').buffers{initial_mode = "insert"}<cr> nnoremap <silent> <Leader>o <cmd>lua require('telescope.builtin').buffers{initial_mode = "insert"}<cr>
nnoremap <silent> <C-j> <cmd>lua require('telescope.builtin').buffers{prompt_prefix = " "}<cr> nnoremap <silent> <C-j> <cmd>lua require('telescope.builtin').buffers{prompt_prefix = " "}<cr>