Compare commits

...
2 Commits
Author SHA1 Message Date
venus 04b57e60e6 implemented copilot integration as ghost text and simplified some
keyboard shortcuts
2026-07-24 07:24:45 -05:00
venus d04ef25170 added some keybinds for telescope. Still working on
codecompanion
2026-06-19 13:59:12 -05:00
16 changed files with 451 additions and 133 deletions
Binary file not shown.
+4 -1
View File
@@ -15,9 +15,12 @@ require("lazy").setup({
{ import = "plugins" },
-- import the following list of plugins -- this is where i put plugins with minial settings
{
'ThePrimeagen/vim-be-good',
"xiyaowong/transparent.nvim",
"karb94/neoscroll.nvim", --Smooth Scrolling
-- 'paretje/nvim-man', -- man page syntax highlighting
'fei6409/log-highlight.nvim', -- generic log syntax highlighting
'mikevskater/nvim-colorpicker', --Color picking tool
'stevearc/conform.nvim', --auto formats certain text
'tpope/vim-commentary', -- commenting lines with shortcut
'vigoux/ltex-ls.nvim', -- grammer checking
@@ -29,9 +32,9 @@ require("lazy").setup({
'0xm4n/resize.nvim', -- adds commands to resize panes
'nvim-tree/nvim-web-devicons', -- nerdfont!
'TamaMcGlinn/vim-termhere', --simple terminal QOL
'smjonas/inc-rename.nvim', --lsp plugin for renaming variable
'basola21/PDFview', -- rendering pdfs in nvim
'rcarriga/nvim-notify', -- notification manager
{ 'smjonas/inc-rename.nvim', config = true }, --lsp plugin for renaming variable
{ "m4xshen/hardtime.nvim", lazy = false, dependencies = { "MunifTanjim/nui.nvim" }}, --annoying
{ "nvzone/typr", dependencies = "nvzone/volt", cmd = { "Typr", "TyprStats" }, }, --typing practice
{ 'norcalli/nvim-colorizer.lua', config = function() require('colorizer').setup{"*"} end,}, -- preview colors
+113
View File
@@ -0,0 +1,113 @@
let SessionLoad = 1
let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1
let v:this_session=expand("<sfile>:p")
doautoall SessionLoadPre
silent only
silent tabonly
cd ~/.config/nvim
if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == ''
let s:wipebuf = bufnr('%')
endif
let s:shortmess_save = &shortmess
set shortmess+=aoO
badd +35 lua/keybinds.lua
badd +27 lua/custom-functions.lua
argglobal
%argdel
$argadd lua/keybinds.lua
edit lua/keybinds.lua
let s:save_splitbelow = &splitbelow
let s:save_splitright = &splitright
set splitbelow splitright
wincmd _ | wincmd |
vsplit
wincmd _ | wincmd |
vsplit
2wincmd h
wincmd w
wincmd w
let &splitbelow = s:save_splitbelow
let &splitright = s:save_splitright
wincmd t
let s:save_winminheight = &winminheight
let s:save_winminwidth = &winminwidth
set winminheight=0
set winheight=1
set winminwidth=0
set winwidth=1
exe 'vert 1resize ' . ((&columns * 30 + 106) / 212)
exe 'vert 2resize ' . ((&columns * 90 + 106) / 212)
exe 'vert 3resize ' . ((&columns * 90 + 106) / 212)
argglobal
enew
file NvimTree_1
balt lua/keybinds.lua
setlocal foldmethod=manual
setlocal foldexpr=0
setlocal foldmarker={{{,}}}
setlocal foldignore=#
setlocal foldlevel=0
setlocal foldminlines=1
setlocal foldnestmax=20
setlocal nofoldenable
wincmd w
argglobal
balt lua/custom-functions.lua
setlocal foldmethod=marker
setlocal foldexpr=v:lua.vim.treesitter.foldexpr()
setlocal foldmarker={{{,}}}
setlocal foldignore=#
setlocal foldlevel=0
setlocal foldminlines=1
setlocal foldnestmax=20
setlocal foldenable
let s:l = 35 - ((12 * winheight(0) + 24) / 48)
if s:l < 1 | let s:l = 1 | endif
keepjumps exe s:l
normal! zt
keepjumps 35
normal! 0136|
wincmd w
argglobal
if bufexists(fnamemodify("term://~/.config/nvim//1942532:/usr/bin/zsh;\#toggleterm\#1", ":p")) | buffer term://~/.config/nvim//1942532:/usr/bin/zsh;\#toggleterm\#1 | else | edit term://~/.config/nvim//1942532:/usr/bin/zsh;\#toggleterm\#1 | endif
if &buftype ==# 'terminal'
silent file term://~/.config/nvim//1942532:/usr/bin/zsh;\#toggleterm\#1
endif
balt lua/keybinds.lua
setlocal foldmethod=marker
setlocal foldexpr=0
setlocal foldmarker={{{,}}}
setlocal foldignore=#
setlocal foldlevel=0
setlocal foldminlines=1
setlocal foldnestmax=20
setlocal nofoldenable
let s:l = 3 - ((2 * winheight(0) + 24) / 48)
if s:l < 1 | let s:l = 1 | endif
keepjumps exe s:l
normal! zt
keepjumps 3
normal! 033|
wincmd w
exe 'vert 1resize ' . ((&columns * 30 + 106) / 212)
exe 'vert 2resize ' . ((&columns * 90 + 106) / 212)
exe 'vert 3resize ' . ((&columns * 90 + 106) / 212)
tabnext 1
if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal'
silent exe 'bwipe ' . s:wipebuf
endif
unlet! s:wipebuf
set winheight=1 winwidth=20
let &shortmess = s:shortmess_save
let &winminheight = s:save_winminheight
let &winminwidth = s:save_winminwidth
let s:sx = expand("<sfile>:p:r")."x.vim"
if filereadable(s:sx)
exe "source " . fnameescape(s:sx)
endif
let &g:so = s:so_save | let &g:siso = s:siso_save
set hlsearch
nohlsearch
doautoall SessionLoadPost
unlet SessionLoad
" vim: set ft=vim :
+33 -22
View File
@@ -1,18 +1,21 @@
{
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" },
"PDFview": { "branch": "main", "commit": "972dfcce5c0de578865649940f44bf57a700498d" },
"base16-nvim": { "branch": "master", "commit": "23e5128eb5f629c29532c24a1e733cbe019f05bb" },
"base16-nvim": { "branch": "master", "commit": "fd128e380624c34f12a201690944bf657f861361" },
"blink-cmp-copilot": { "branch": "main", "commit": "439cff78780c033aa23cf061d7315314b347e3c1" },
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"codecompanion.nvim": { "branch": "main", "commit": "6cbbcb4503430644f04ea5f087c8e2ea4cdc6f6e" },
"codecompanion.nvim": { "branch": "main", "commit": "15f39ba587154a97c912284646c1bd076b55a3be" },
"conform.nvim": { "branch": "master", "commit": "619363c30309d29ffa631e67c8183f2a72caa373" },
"copilot.lua": { "branch": "master", "commit": "2a849bc7bec4d175524c332c20d48ca9ece735df" },
"dashboard-nvim": { "branch": "master", "commit": "f787e3462c2ee2b6117b17c1aa4ddf66cb6f57fe" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"fd": { "branch": "master", "commit": "f7d4d717c287a7834f8721efc0fa91c51d92afee" },
"fzf-lua": { "branch": "main", "commit": "988416cc782dfe28bff3f0da9b8c943b236cd86a" },
"fd": { "branch": "master", "commit": "1bfeea237a48c9545211e5c21d623d398fa712c6" },
"fzf-lua": { "branch": "main", "commit": "532d463f5c83595192fe740572d8fd6902b2217a" },
"gemini-cli.nvim": { "branch": "main", "commit": "c9fd62adda823628f5131a939d9c56ef7a898600" },
"gitsigns.nvim": { "branch": "main", "commit": "25050e4ed39e628282831d4cbecb1850454ce915" },
"gitsigns.nvim": { "branch": "main", "commit": "31d6fb2d618bca1482b9f274751ead5f03461408" },
"guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" },
"hardtime.nvim": { "branch": "main", "commit": "b4e431934af1fe224a3a801f632c008278cb7628" },
"hardtime.nvim": { "branch": "main", "commit": "244753782b945def87472d8f4e9e6a9d4ec18689" },
"hex.nvim": { "branch": "master", "commit": "b46e63356a69e8d6f046c38a9708d55d17f15038" },
"hologram.nvim": { "branch": "main", "commit": "f5194f71ec1578d91b2e3119ff08e574e2eab542" },
"hyprlang-to-lua.nvim": { "branch": "main", "commit": "477430d9f379736bc2260086eb63517bb585b5d8" },
@@ -23,44 +26,52 @@
"log-highlight.nvim": { "branch": "main", "commit": "b2e00cfd41ca94338265a595f3f3f423d9f9322e" },
"ltex-ls.nvim": { "branch": "main", "commit": "968eac261279d88d7f1ed556aa2dbc535a7489fe" },
"lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "0a695750d747db1e7e70bcf0267ef8951c95fc83" },
"mason.nvim": { "branch": "main", "commit": "16ba83bfc8a25f52bb545134f5bee082b195c460" },
"mini.nvim": { "branch": "main", "commit": "cbae4fa396bbf9c802b3d2dc2e9c5362e8fb9468" },
"mini.pick": { "branch": "main", "commit": "34fdef3b0966974378c4f39e3ddb54ffc628fbe9" },
"neogit": { "branch": "master", "commit": "99326a1310fb2d616b455d2fd16d01bf00682f06" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "7adc933dabcc7c86ae6b07aff7ee68eac398491f" },
"mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" },
"mini.nvim": { "branch": "main", "commit": "a35f08f63b73f0ffac045cd175fb2a22e167c39c" },
"mini.pick": { "branch": "main", "commit": "04e73ab07222508361095bb6e27621b315e6b9f1" },
"neogit": { "branch": "master", "commit": "f8674ec894315c02449b61c9de9a116c5aafeb90" },
"neoscroll.nvim": { "branch": "master", "commit": "c8d29979cb0cb3a2437a8e0ae683fd82f340d3b8" },
"neotest": { "branch": "master", "commit": "4e2cd42c4252ee9d2435571d9adcdbc1d47931fe" },
"neotest-plenary": { "branch": "master", "commit": "3523adcf9ffaad1911960c5813b0136c1b63a2ec" },
"neotest-python": { "branch": "master", "commit": "1b56ca4ba51c6014f986d6548ee629bdc95589d1" },
"neotest-vim-test": { "branch": "master", "commit": "75c4228882ae4883b11bfce9b8383e637eb44192" },
"nui-components.nvim": { "branch": "main", "commit": "1654dd709f13874089eefc80d82e0eb667f7fdfb" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-autopairs": { "branch": "master", "commit": "7b9923abad60b903ece7c52940e1321d39eccc79" },
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
"nvim-dap": { "branch": "master", "commit": "531771530d4f82ad2d21e436e3cc052d68d7aebb" },
"nvim-java": { "branch": "main", "commit": "602a5f7fa92f9c1d425a2159133ff9de86842f0a" },
"nvim-lspconfig": { "branch": "master", "commit": "229b79051b380377664edc4cbd534930154921a1" },
"nvim-colorpicker": { "branch": "main", "commit": "88f6aeac944570ebfb97ac67c9fea27a73ea0429" },
"nvim-dap": { "branch": "master", "commit": "9e848e09a697ee95302a3ef2dd43fd6eb709e570" },
"nvim-java": { "branch": "main", "commit": "9e8b842ea9eff3ebf25fb7360908ed4d4f87c56a" },
"nvim-lspconfig": { "branch": "master", "commit": "e7ca2c95ba316a8b846d3f3546d407908c5c4ccb" },
"nvim-nio": { "branch": "master", "commit": "edcc181a875301dd21840189aa2f2f9ad69fc172" },
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
"nvim-tree.lua": { "branch": "master", "commit": "07f541fcaa4a5ae019598240362449ab7e9812b3" },
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
"nvim-web-devicons": { "branch": "master", "commit": "dfbfaa967a6f7ec50789bead7ef87e336c1fa63c" },
"obsidian.nvim": { "branch": "main", "commit": "239af7e896d1857d0a644253d2c7e571d38529a5" },
"nvim-tree.lua": { "branch": "master", "commit": "4213bd6eabac38b16dd6615002b6243b23cf3bf6" },
"nvim-treesitter": { "branch": "main", "commit": "7248feaca45e4d944591497964bc19afa89ad1c6" },
"nvim-web-devicons": { "branch": "master", "commit": "0ca28b61a04fe7426cefbdd52c2647ef0e335b5f" },
"obsidian.nvim": { "branch": "main", "commit": "bf1616d46e72477ad978051363fdb5c839c1cce5" },
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
"remote-nvim.nvim": { "branch": "main", "commit": "9992c2fb8bf4f11aca2c8be8db286b506f92efcb" },
"render-markdown.nvim": { "branch": "main", "commit": "5adf0895310c1904e5abfaad40a2baad7fe44a07" },
"render-markdown.nvim": { "branch": "main", "commit": "f422cb5c6855f150e2ddcfaf44e7157b98b34f6a" },
"resize.nvim": { "branch": "main", "commit": "0b8943ef2ce54e65b9e56974e94dee593b28e7b5" },
"ripgrep": { "branch": "master", "commit": "48a6ad93f152dc848f1883ceb3bf2c7baab6738c" },
"ripgrep": { "branch": "master", "commit": "227381db0ee83dfa4341f1e27ff9617c0f5ad992" },
"snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" },
"spring-boot.nvim": { "branch": "main", "commit": "218c0c26c14d99feca778e4d13f5ec3e8b1b60f0" },
"sudo.nvim": { "branch": "main", "commit": "10c211716f0f0149ea91732bc12338ade76d4af8" },
"telescope.nvim": { "branch": "master", "commit": "e69b434b968a33815e2f02a5c7bd7b8dd4c7d4b2" },
"themery.nvim": { "branch": "main", "commit": "bfa58f4b279d21cb515b28023e1b68ec908584b2" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"transparent.nvim": { "branch": "main", "commit": "e00ca1cf09caef575edf8da7e5a8b9193893b4c7" },
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" },
"ts-comments.nvim": { "branch": "main", "commit": "a59d6092213447450191122c9346f309161504cb" },
"typr": { "branch": "main", "commit": "584e4ef34dea25a4035627794322f315b22d1253" },
"vim-be-good": { "branch": "master", "commit": "0ae3de14eb8efc6effe7704b5e46495e91931cc5" },
"vim-commentary": { "branch": "master", "commit": "64a654ef4a20db1727938338310209b6a63f60c9" },
"vim-signature": { "branch": "master", "commit": "6bc3dd1294a22e897f0dcf8dd72b85f350e306bc" },
"vim-termhere": { "branch": "main", "commit": "b66d429dd48b74802f09fd059bc499c253372a1c" },
"vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" },
"vimtex": { "branch": "master", "commit": "24e229914182ff301496a3e2c4214b28c4928d3f" },
"vimtex": { "branch": "master", "commit": "6368e31fdaf766ff908a2c06e9ee14fc66dec409" },
"volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}
+17
View File
@@ -11,6 +11,8 @@ end
local kitty_group = vim.api.nvim_create_augroup("KittyOpacity", { clear = true })
vim.api.nvim_create_autocmd("VimEnter", {
vim.api.nvim_set_hl(0, "Normal", { bg = "NONE", ctermbg = "NONE" }),
vim.api.nvim_set_hl(0, "NormalNC", { bg = "NONE", ctermbg = "NONE" }),
group = kitty_group,
callback = function()
set_kitty_opacity(nvim_opacity)
@@ -24,3 +26,18 @@ vim.api.nvim_create_autocmd("VimLeave", {
end,
})
vim.api.nvim_create_autocmd('TextYankPost', {
desc = 'Highlight when yanking (copying) text',
group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }),
callback = function()
vim.hl.on_yank()
end,
})
vim.api.nvim_create_autocmd("FileType", {
pattern = { "toggleterm", "NvimTree", "help", "dashboard" },
callback = function()
vim.b.miniindentscope_disable = true
end,
})
+4
View File
@@ -3,6 +3,7 @@ require('lspconfig')
local lsp_servers = {
'clangd',
'pyright',
'bashls',
'lua_ls',
}
for _, server in ipairs(lsp_servers) do
@@ -24,6 +25,9 @@ for _, server in ipairs(lsp_servers) do
},
}
end
if server == 'bashls' then
config.filetypes = { 'sh', 'bash', 'zsh' }
end
-- Apply the config and enable
vim.lsp.config(server, config)
+18
View File
@@ -16,6 +16,24 @@ function C.RunCommand(Command)
end, 50)
return ""
end
-- Save current layout snapshot
-- vim.keymap.set("n", "<leader>ss", function()
function C.saveSnapshot()
vim.cmd("mksession! " .. vim.fn.stdpath("config") .. "/layout_snap.vim")
print("Layout snapshot saved.")
end
-- Restore layout snapshot
-- vim.keymap.set("n", "<leader>sr", function()
function C.returnSnapshot()
local path = vim.fn.stdpath("config") .. "/layout_snap.vim"
if vim.fn.filereadable(path) == 1 then
vim.cmd("source " .. path)
print("Layout snapshot restored.")
else
print("No layout snapshot found.")
end
end
return C
+37 -22
View File
@@ -9,13 +9,17 @@ vim.cmd('silent! tmapclear') -- Clears Terminal maps
-- ==========================================
-- Define your current keymaps below this line
-- ==========================================
vim.keymap.set('n', '<leader>w', ':w<CR>')
package.loaded["custom-functions"] = nil
local utils = require("custom-functions")
-- move betwwen buffer easier
-- move betwwen buffers and tabs easier
vim.keymap.set('n','<Tab>' ,':bnext<CR>')
vim.keymap.set('n','<S-Tab>' ,':bprev<CR>')
vim.keymap.set('n','<C-Tab>' ,':tabNext<CR>') --TODO fix these
vim.keymap.set('n','<C-S-Tab>' ,':tabprevious<CR>')
vim.keymap.set('n','<leader>tx' ,':tabclose<CR>')
vim.keymap.set('n','<leader>tn' ,':tabnew<CR>')
vim.keymap.set('n','<leader>bx' ,':bdelete<CR>')
vim.keymap.set('n','<leader>x' ,':bdelete<CR>')
-- resizing pains with resize.lua shortcut
vim.keymap.set('n','<M-Left>' ,"<cmd>lua require('resize').ResizeLeft()<CR>")
@@ -25,14 +29,35 @@ vim.keymap.set('n','<M-Down>' ,"<cmd>lua require('resize').ResizeDown()<CR>")
-- terminal interface shortcuts
vim.keymap.set('n','<Esc>' ,'<cmd>nohlsearch<CR>')
vim.keymap.set('t','<Esc><Esc>' ,'<C-\\><C-n>' ,{ desc = 'Exit terminal mode' })
vim.keymap.set('n','<leader>r' ,'<cmd>TermExec cmd="clear && make"<CR>' ,{ desc = '[r]un make in terminal' })
vim.keymap.set('t','<C-h>' ,'<C-\\><C-n><C-w><C-h>' ,{ desc = 'Move focus to the left window' })
-- vim.keymap.set('n','<leader>r' ,'<cmd>TermExec cmd="clear && make"<CR>' ,{ desc = '[r]un make in terminal' })
vim.keymap.set('n','<leader>l' ,function() utils.RunCommand("l") end ,{ desc = 'run [l]ast command in terminal' })
vim.keymap.set('n','<leader>ss' ,function() utils.saveSnapshot() end ,{ desc = '[S]ave a [S]napshot of the current windows' })
vim.keymap.set('n','<leader>sr' ,function() utils.returnSnapshot() end ,{ desc = '[R]eturn to saved [S]napshot' })
vim.keymap.set('n','<leader>n' ,'<cmd>ToggleTerm direction=vertical name=compile size=70<CR>', { desc = 'open a [n]ew terminal' })
vim.keymap.set('n','<leader>t' ,'<cmd>ToggleTerm<CR>' ,{desc = '[T]oggle all terminals'})
vim.keymap.set('n','<leader>te' ,'<cmd>ToggleTerm<CR>' ,{desc = '[T]oggle all terminals'})
vim.keymap.set("n","<leader>e" ,"<cmd>NvimTreeToggle<CR>" ,{desc = 'open [E]xplorer'})
vim.keymap.set("n","<leader>E" ,"<cmd>e!<CR>" ,{desc = '[E]dit current file from disk'})
vim.keymap.set("n","<M-r>" ,"<cmd>e!<CR>" ,{desc = '[E]dit current file from disk'})
-- Diagnostic keymaps
vim.keymap.set('n', '<leader>q' ,vim.diagnostic.setloclist ,{ desc = 'Open diagnostic [Q]uickfix list' })
vim.keymap.set("n", "<leader>R" ,"<cmd>source %<Cr>:echo 'Config reloaded!'<CR>" ,{ desc = "[S]ource config file"})
vim.keymap.set("n", "<leader><C-R>k" ,"<cmd>source /home/venus/.config/nvim/lua/keybinds.lua<Cr>:echo 'Config reloaded!'<CR>" ,{ desc = "[R]eload [k]eybinds"})
vim.keymap.set("n", "<leader><C-R>c" ,"<cmd>source /home/venus/.config/nvim/lua/autocommands.lua<Cr>:echo 'Config reloaded!'<CR>" ,{ desc = "[R]eload [a]utocommands"})
vim.keymap.set("n", "<leader><C-R>o" ,"<cmd>source /home/venus/.config/nvim/lua/options.lua<Cr>:echo 'Config reloaded!'<CR>" ,{ desc = "[R]eload [o]ptions"})
-- LSP functions
vim.keymap.set('n', 'gd' ,vim.lsp.buf.definition, { desc = "LSP Go to Definition" })
vim.keymap.set('n', 'gr' ,'<cmd>Telescope lsp_references<cr>' ,{ desc = "LSP [R]eferences" })
vim.keymap.set('n', 'gi' ,'<cmd>Telescope lsp_implementations<cr>' ,{ desc = "LSP [I]mplementations" })
vim.keymap.set('n', 'gs' ,'<cmd>Telescope lsp_document_symbols<cr>' ,{ desc = "LSP Document [S]ymbols" })
vim.keymap.set('n', 'sk' ,'<cmd>Telescope keymaps<cr>' ,{ desc = "[S]earch [K]eymaps" })
vim.keymap.set('n', 'sd' ,'<cmd>Telescope diagnostics<cr>' ,{ desc = "[S]earch [D]iagnostics" })
vim.keymap.set('n', 'sw' ,'<cmd>Telescope grep_string<cr>' ,{ desc = "[S]earch current [W]ord" })
vim.keymap.set('n', '<leader>ff' ,'<cmd>Telescope find_files<cr>' ,{ desc = 'Telescope find files' })
vim.keymap.set('n', '<leader>fg' ,'<cmd>Telescope live_grep<cr>' ,{ desc = 'Telescope live grep' })
vim.keymap.set('n', '<leader>fb' ,'<cmd>Telescope buffers<cr>' ,{ desc = 'Telescope buffers' })
vim.keymap.set('n', '<leader>fh' ,'<cmd>Telescope help_tags<cr>' ,{ desc = 'Telescope help tags' })
vim.keymap.set('n', '<leader>tt' ,'<cmd>Telescope<cr>' ,{ desc = 'Open [T]elescope' })
-- Disable arrow keys in normal mode
vim.keymap.set('n','<left>' ,'<cmd>echo "Use h to move!!"<CR>')
@@ -53,7 +78,12 @@ vim.keymap.set("n","<C-S-j>" ,"<C-w>J" ,{ desc = "Move window to the lower
vim.keymap.set("n","<C-S-k>" ,"<C-w>K" ,{ desc = "Move window to the upper" })
-- [[ Basic QOL
-- vim.keymap.set("n", "<leader>a", ":IncRename ", {desc = 'ren[A]me variable under cursor'})
vim.keymap.set("n", "<leader>rn" ,":IncRename " ,{ desc = '[R]e[n]ame variable under cursor'})
vim.keymap.set('n', '<leader>I' ,'<cmd>GuessIndent<cr>' ,{ desc = '[G]uess Indent level' })
vim.keymap.set("n", "<leader>i" ,"m'gg=G''" ,{ desc = "Re-indent whole file" })
vim.keymap.set("n", "<leader>y" ,"m'ggyG''" ,{ desc = "[Y]ank whole file" })
vim.keymap.set("n", "<C-A>" ,"m'ggyG''" ,{ desc = "[Y]ank whole file" })
vim.keymap.set("n", "<leader>sr" ,[[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]] ,{ desc = "[S]earch/[R]eplace word under cursor" })
-- PLUGIN KEYBINDS
vim.keymap.set({ "n", "v" } ,"<leader>aa" ,"<cmd>CodeCompanionActions<cr>" ,{ desc = "CodeCompanion - Actions" })
@@ -74,20 +104,5 @@ vim.keymap.set('n', '<leader>hh' ,'<cmd>Hex<CR>' ,{ desc = 'open [H]ex view
-- <leader>gg bound to UI toggle
vim.keymap.set('n', '<leader>gg' ,'<cmd>Neogit<cr>' ,{ desc = 'open Neo[g]it interface' })
vim.keymap.set('n', '<leader>gc' ,'<cmd>Neogit commit<cr>' ,{ desc = 'open Neogit [c]ommit page' })
-- Telecope
vim.keymap.set('n', '<leader>ff' ,'<cmd>Telescope find_files<cr>' ,{ desc = 'Telescope find files' })
vim.keymap.set('n', '<leader>fg' ,'<cmd>Telescope live_grep<cr>' ,{ desc = 'Telescope live grep' })
vim.keymap.set('n', '<leader>fb' ,'<cmd>Telescope buffers<cr>' ,{ desc = 'Telescope buffers' })
vim.keymap.set('n', '<leader>fh' ,'<cmd>Telescope help_tags<cr>' ,{ desc = 'Telescope help tags' })
vim.keymap.set('n', '<leader>gd' ,'<cmd>Neogit diff<cr>' ,{ desc = 'open Neogit [d]iff page' })
vim.keymap.set('n', '<leader>gt' ,'<cmd>Neogit tagg<cr>' ,{ desc = 'open Neogit [t]agg page' })
+16 -16
View File
@@ -3,24 +3,24 @@
function M.setup()
require('base16-colorscheme').setup {
-- Background tones
base00 = '#121316', -- Default Background
base01 = '#1e2022', -- Lighter Background (status bars)
base02 = '#282a2d', -- Selection Background
base03 = '#8d9199', -- Comments, Invisibles
base00 = '#000000', -- Default Background
base01 = '#110d1a', -- Lighter Background (status bars)
base02 = '#1a1428', -- Selection Background
base03 = '#644c94', -- Comments, Invisibles
-- Foreground tones
base04 = '#c3c6cf', -- Dark Foreground (status bars)
base05 = '#e2e2e6', -- Default Foreground
base06 = '#e2e2e6', -- Light Foreground
base07 = '#e2e2e6', -- Lightest Foreground
base04 = '#b58fff', -- Dark Foreground (status bars)
base05 = '#e8d8ff', -- Default Foreground
base06 = '#e8d8ff', -- Light Foreground
base07 = '#e8d8ff', -- Lightest Foreground
-- Accent colors
base08 = '#ffb4ab', -- Variables, XML Tags, Errors
base09 = '#d7bee4', -- Integers, Constants
base0A = '#bbc7db', -- Classes, Search Background
base0B = '#9fcaff', -- Strings, Diff Inserted
base0C = '#d7bee4', -- Regex, Escape Chars
base0D = '#9fcaff', -- Functions, Methods
base0E = '#bbc7db', -- Keywords, Storage
base0F = '#93000a', -- Deprecated, Embedded Tags
base08 = '#ff6f9b', -- Variables, XML Tags, Errors
base09 = '#d8b4ff', -- Integers, Constants
base0A = '#c79aff', -- Classes, Search Background
base0B = '#b58fff', -- Strings, Diff Inserted
base0C = '#bd80ff', -- Regex, Escape Chars
base0D = '#ab80ff', -- Functions, Methods
base0E = '#b880ff', -- Keywords, Storage
base0F = '#bc0039', -- Deprecated, Embedded Tags
}
end
+1
View File
@@ -17,6 +17,7 @@ vim.opt.spellcapcheck = ""
vim.o.number = true -- Make line numbers default
vim.o.relativenumber = true
vim.o.showmode = false
vim.o.foldmethod = "marker"
-- Sync clipboard between OS and Neovim.
-- Schedule the setting after `UiEnter` because it can increase startup-time.
-- Remove this option if you want your OS clipboard to remain independent.
+59 -4
View File
@@ -4,7 +4,10 @@ return {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
},
--{{{ Options
opts = {
--- {{{ Display
display = {
chat = {
window = {
@@ -24,17 +27,23 @@ return {
}
},
},
-- }}}
--
-- {{{ INTERACTIONS
interactions = {
chat = {
adapter = "gemini_pro", -- Removed the curly braces
adapter = "ollama_coder", -- Removed the curly braces
},
inline = {
adapter = "gemini_flash", -- Removed the curly braces
},
adapter = "ollama_coder", -- Removed the curly braces
},
background = {
adapter = "ollama_bg", -- Pointed this to the new extended adapter string
}
},
-- }}}
--
-- {{{ Adapters
adapters = {
http = {
gemini_pro = function()
@@ -57,18 +66,64 @@ return {
},
})
end,
-- local ollama coding model
ollama_coder = function()
return require("codecompanion.adapters").extend("ollama", {
name = "ollama_bg",
schema = {
model = {
default = "qwen2.5-coder:7b",
},
},
})
end,
-- Added an extended Ollama adapter to fix your background task
ollama_bg = function()
return require("codecompanion.adapters").extend("ollama", {
name = "ollama_bg",
schema = {
model = {
default = "qwen-7b-instruct",
default = "qwen3.5:4b",
},
},
})
end,
},
},
-- }}}
--
-- {{{ Library
prompt_library = {
["Local Executor"] = {
strategy = "chat",
description = "Executes implementation diffs locally and writes TDD test cases.",
opts = {
adapter = "ollama_coder", -- Force it to use your local hardware
is_default = false,
is_slash_cmd = false,
},
prompts = {
{
role = "system",
content = [[You are the Last Mile Executor.
You run in a stateless context. I will provide you with a unified diff and a testing plan.
Your strict execution order is:
1. Output the test case file modifications first (SDET-first).
2. Output the production implementation code modifications.
Do not write markdown headers (H1/H2). Use code blocks with the language ID.
Precede every code block with a line comment specifying the exact 'filepath:'.
Do not use bash syntax; adhere strictly to POSIX sh if writing shell automation.
Do not execute terminal commands directly. Output the code blocks for manual unstaged review.]],
},
{
role = "user",
content = "I am ready to provide the Planner's diff. Await my input.",
},
},
},
},
-- }}}
}
--}}}
}
+17
View File
@@ -0,0 +1,17 @@
return {
{
"zbirenbaum/copilot.lua",
cmd = "Copilot",
event = "InsertEnter",
opts = {
suggestion = {
enabled = false,
-- debounce = 150,
-- auto_trigger = true,
-- keymap = { accept = "M-CR"}
},
panel = { enabled = false },
},
},
{ "giuxtaposition/blink-cmp-copilot", dependencies = { "zbirenbaum/copilot.lua" } }
}
+5 -3
View File
@@ -1,8 +1,10 @@
return {
'NMAC427/guess-indent.nvim',
config = function()
require('guess-indent').setup ({
filetype_exclude = {"lua"},
})
require('guess-indent').setup {
auto_cmd = true, -- Set to false to disable automatic execution
filetype_exclude = { 'netrw', 'tutor' }, -- A list of filetypes for which the auto command gets disabled
buftype_exclude = { 'help', 'nofile', 'terminal', 'prompt' }, -- A list of buffer types for which the auto command gets disabled
}
end,
} -- Detect tabstop and shiftwidth automatically
+33 -5
View File
@@ -11,13 +11,41 @@ return { -- adds lsp functionality and api for included languages
{
keymap = {
preset = 'none',
['<Down>'] = { 'select_next', 'fallback' },
['<Up>'] = { 'select_prev', 'fallback' },
['<Tab>'] = { 'accept', 'fallback' },
['<C-space>'] = { 'show', 'show_documentation', 'hide_documentation' },
['<C-e>'] = { 'hide', 'fallback' },
-- Use home-row modifications for navigation
['<C-n>'] = { 'select_next', 'fallback' },
['<C-p>'] = { 'select_prev', 'fallback' },
-- A robust Tab behavior that accepts selections and jumps through snippets
['<Tab>'] = {
function(cmp)
if cmp.is_visible() then return cmp.accept() end
if cmp.snippet_active() then return cmp.snippet_forward() end
end,
'fallback'
},
['<S-Tab>'] = {
function(cmp)
if cmp.snippet_active() then return cmp.snippet_backward() end
end,
'fallback'
},
},
-- keymap = {
-- preset = 'none',
-- ['<Down>'] = { 'select_next', 'fallback' },
-- ['<Up>'] = { 'select_prev', 'fallback' },
-- ['<Tab>'] = { 'accept', 'fallback' },
-- ['<C-space>'] = { 'show', 'show_documentation', 'hide_documentation' },
-- },
sources = {
default = { 'lsp', 'path', 'snippets', 'buffer' },
default = { 'lsp', 'path', 'snippets', 'buffer', 'copilot' },
providers = {
copilot = { name = 'copilot', module = 'blink-cmp-copilot', score_offset = 100, async = true }
},
},
completion = {
ghost_text = { enabled = true },
},
},
},
@@ -77,4 +105,4 @@ return { -- adds lsp functionality and api for included languages
end,
},
},
}
}
+34
View File
@@ -0,0 +1,34 @@
return {
"nvim-neotest/neotest",
dependencies = {
"nvim-neotest/nvim-nio",
"antoinemadec/FixCursorHold.nvim",
"nvim-treesitter/nvim-treesitter",
"nvim-neotest/neotest-python",
"nvim-neotest/neotest-plenary",
"rcarriga/neotest-vim-test",
},
config = function()
local neotest = require("neotest")
neotest.setup({
adapters = {
require("neotest-python")({
dap = { justMyCode = false },
runner = "pytest",
python = ".venv/bin/python"
}),
require("neotest-plenary"),
require("neotest-vim-test")({
ignore_file_types = { "python", "vim", "lua" },
}),
},
})
vim.keymap.set('n', '<leader>tr' ,function() neotest.run.run() end ,{ desc = 'Neo[T]est [R]un' })
vim.keymap.set('n', '<leader>tf' ,function() neotest.run.run(vim.fn.expand("%")) end ,{ desc = 'Neo[T]est Run [F]ile' })
vim.keymap.set('n', '<leader>td' ,function() neotest.run.run({ strategy = "dap" }) end ,{ desc = 'Neo[T]est [D]ebug' })
vim.keymap.set('n', '<leader>to' ,function() neotest.output_panel.toggle() end ,{ desc = 'Neo[T]est [O]utput Panel' })
vim.keymap.set('n', '<leader>ts' ,function() neotest.summary.toggle() end ,{ desc = 'Neo[T]est [S]ummary Sidebar' })
vim.keymap.set('n', ']t' ,function() neotest.jump.next({ status = 'failed' }) end,{ desc = 'Next Failed Test' })
vim.keymap.set('n', '[t' ,function() neotest.jump.prev({ status = 'failed' }) end,{ desc = 'Prev Failed Test' })
end,
}
View File