Skip to content

Commit 2f2c900

Browse files
committed
feat: add toggle to show/hide diagnostics
Enhances breakpoint editing Update changes to nvim-lua#1534 Added blink.cmp buffer completions for markdown/text + some useful options/autocommands Updated filter files func in blink.cmp Refactor: Use vim.o and adjust scrolling/wrapping options Refactor: updated colorcolum to a more appropriate value Add more langauges to treesitter Switch from tokyonight to catppuccin Enable nerdfonts Disable arrow keymaps Add pyright lsp for python Enable kickstart's autopairs, neotree and indent_line plugins Enable friendly-snippets Enable ruff as a lsp Enable taplo as a lsp for toml Enable dap for debugging python Add github copilot plugin Add sticky context header using nvim-treesitter-context Add luukvbaal/statuscol.nvim to allow for more statuscol layers taken from https://github[dot]com/nvim-lua/pull/1196 Remove lazy-lock.json from the gitignore Add TODO.md Add icons for breakpoints Update lock file Add a keybind to create a Logpoint Use kickstart's DAP icons Add nvim-ufo for lsp and treesitter folding Update TODO.md Use basedpyright instead of pyright Turn inlay hints on by default Update The TODOs Update the lazy-lock.json Add yamlls and jsonls for json and yaml intelisense Update the lazy-lock.json Update the lazy-lock.json Update the lazy-lock.json Update the lazy-lock.json Update the lazy-lock.json Update the lazy-lock.json Fully clone git repos for plugins to make it easier to copy them Add more TODOs Add a keybind to toggle spell checking Add rainbow delimiters Switch from copilot.vim to copilot.lua and blink-cmp-copilot Fix folding for yamlls Enable linting Update the lazy-lock.json Add lsp for bash Add lsp for php Fix python debugger Update the lazy-lock.json Add typescript support Update the todo list Update the lazy-lock.json Turn off confirmation for exiting an unsaved file Update the lazy-lock.json Update the lazy-lock.json to use the new blink packages Enable blink.cmp's rust fuzzy search Enable documentation popup by default Add borders to the completion windows Update TODO.md Don't clone submodules for rainbow-delimiters Add more TODOs Update the lazy-lock.json Add cursor smear Update the lazy-lock.json Add regex treesitter parser Create a mirroring script Switch from telescope.nvim to snacks.nvim Rename telescope to snacks Replace neo-tree with snacks Add more pickers migrate from indent-blankline to snacks.indent Add lazygit keybind Cross off TODOs Add obsidian.nvim Update the lock file Update the lock file Update the lock file Update the lock file Enable catppuccin integrations Add more todos Enable rust analyzer Update the lock file Update the lock file Update to the latest version of nvim-treesitter Add mesonlsp in a comment Update the lock file Switch from nvim-ufo to nvim-origami Add missing type hints Disable folding using h and l Enable nvim-treesitter-context Update the lock file Don't autofold comments Update the lock file Update the lock file Update the lock file Improve the mirroring script Switch from giuxtaposition/blink-cmp-copilot to fang2hou/blink-copilot Enable copilot's next edit suggestion Update the lock file Update the lock file Switch from copilot-lsp to sidekick.nvim Workaround `lazy.nvim`'s luarocks issue: folke/lazy.nvim#2059 Update the lock file Update the keymaps of sidekick.nvim to match their new defaults Update the lock file Update the README Update the config for obsidian.nvim Add clippy to rust-analyzer Update the lock file Update the lock file Add tiny-inline-diagnostics.nvim Use mini icons instead of nvim-web-devicons Use fyler.nvim instead of snacks for file management Add rename hook for fyler.nvim Add a keybind to insert inlay-hints Update the lock file Remove php configs because they are barely used Update the lock file Add AnsiColorize user command The command is used to render the current buffer inside a terminal with ANSI colors Update the lock file Fix mini.nvim initialization Update the lock file Update the lock file Format the mirror script Add support for lsp `textEdits` in inlay-hints This replaces my old extmark based approach for inserting inlay-hints. The implementation is based on https://github[dot]com[/]neovim[/]neovim[/]pull[/]36219 Update the lock file Update the lock file Update inlay hint actions with upstream changes Re-add lazydev Update the lock file Update the lock file Add type hints for lspconfig server settings Use the new catpuuccin colorscheme name Update the lock file Update the lock file Remove vim.uv from lazydev because it is not needed in 0.12 anymore Use the new api to open an existing buffer in the terminal for AnsiColorize Update inlay_hint_action to better match the original implementation in 0.12 Switch from nvim-dap-ui to nvim-dap-view Update the lock file Add winborder Fix inlay-hints-actions for nvim v0.12.2 Disable legacy obsidian commands to disable its warning Make json5 support for dap optional Update the lock file Add more treesitter parsers Add java and kotlin configs Add spell checking lsps
1 parent e7d0128 commit 2f2c900

27 files changed

Lines changed: 1487 additions & 242 deletions

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ spell/
99
# nvim-pack-lock.json in version control - see :help vim.pack-lockfile
1010
# For the official `nvim-lua/kickstart.nvim` git repository, we leave it ignored to avoid unneeded
1111
# merge conflicts.
12-
nvim-pack-lock.json
12+
# nvim-pack-lock.json
1313

1414
.DS_Store

doc/TODO.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Tasks
2+
3+
- [ ] ~~mypy?~~
4+
- [x] copilot
5+
- [ ] none-ls vs conform + nvim-lint
6+
- [x] more lsp like: TS, json, yaml, rust
7+
- [x] theme for terminal
8+
- [ ] ~~nvim-tmux-navigation?~~
9+
- [x] commit lazy-lock.json?
10+
- [x] code folding?
11+
- [x] lazy-git?
12+
- [x] remap capslock to escape
13+
- [x] use basedpyright?
14+
- [x] why rust analyzer works only on save?
15+
- [x] use rustaceanvim instead of rust-analyzer?
16+
- [x] use rainbow-delimiters.nvim
17+
- [ ] obsidian.nvim ?
18+
- [X] blink.cmp instead of instead of nvim-cmp?
19+
- [ ] ~github/gitlab integration (maybe cmp-git?)~
20+
- [x] switch to copilot.lua + copilot-cmp?
21+
- [x] spellchecker
22+
- [ ] `cspell` / `typos` / haper ?
23+
- [ ] ~~lspkind?~~ (not needed with blink.cmp)
24+
- [x] telescope vs fzf-lua vs snacks.picker
25+
- [x] smear-cursor.nvim?
26+
- [ ] hardtime.nvim?
27+
- [ ] multicursor.nvim?

lazy-lock.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"LuaSnip": { "branch": "master", "commit": "642b0c595e11608b4c18219e93b88d7637af27bc" },
3+
"blink-copilot": { "branch": "main", "commit": "7ad8209b2f880a2840c94cdcd80ab4dc511d4f39" },
4+
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
5+
"catppuccin": { "branch": "main", "commit": "8edd468af4d63212b84d69b2ddb5ffc9023ef5eb" },
6+
"conform.nvim": { "branch": "master", "commit": "619363c30309d29ffa631e67c8183f2a72caa373" },
7+
"copilot.lua": { "branch": "master", "commit": "7b89909d0647c89298de880255b287b01b7e5d34" },
8+
"fidget.nvim": { "branch": "main", "commit": "82404b196e73a00b1727a91903beef5ddc319d22" },
9+
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
10+
"fyler.nvim": { "branch": "main", "commit": "e87911e6c21d099225063f5aa672e00f6dbb5976" },
11+
"gitsigns.nvim": { "branch": "main", "commit": "dd3f588bacbeb041be6facf1742e42097f62165d" },
12+
"guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" },
13+
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
14+
"lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
15+
"lua-json5": { "branch": "master", "commit": "713407f19e6155579a6594d56e6cfe616fddb39c" },
16+
"mason-lspconfig.nvim": { "branch": "main", "commit": "7b01e2974a47d489bb92f47a41e4c0088ea8f86e" },
17+
"mason-nvim-dap.nvim": { "branch": "main", "commit": "9a10e096703966335bd5c46c8c875d5b0690dade" },
18+
"mason-tool-installer.nvim": { "branch": "main", "commit": "443f1ef8b5e6bf47045cb2217b6f748a223cf7dc" },
19+
"mason.nvim": { "branch": "main", "commit": "bb639d4bf385a4d89f478b83af4d770be05ab7eb" },
20+
"mini.nvim": { "branch": "main", "commit": "44657837c7338e52727facc85c1d95bec1f6bd7c" },
21+
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
22+
"nvim-autopairs": { "branch": "master", "commit": "7b9923abad60b903ece7c52940e1321d39eccc79" },
23+
"nvim-dap": { "branch": "master", "commit": "531771530d4f82ad2d21e436e3cc052d68d7aebb" },
24+
"nvim-dap-python": { "branch": "master", "commit": "1808458eba2b18f178f990e01376941a42c7f93b" },
25+
"nvim-dap-view": { "branch": "main", "commit": "a03a085b020197f441f6c63383f0cb7321729f6e" },
26+
"nvim-java": { "branch": "main", "commit": "602a5f7fa92f9c1d425a2159133ff9de86842f0a" },
27+
"nvim-lint": { "branch": "master", "commit": "d48f3a76189d03b2239f6df1b2f7e3fa8353743b" },
28+
"nvim-lspconfig": { "branch": "master", "commit": "a4ed4e761c400849e8c9f8bda33e5083f890268c" },
29+
"nvim-origami": { "branch": "main", "commit": "67c15fd14037778644371487fc68855b530ccd7d" },
30+
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
31+
"nvim-treesitter-context": { "branch": "master", "commit": "b311b30818951d01f7b4bf650521b868b3fece16" },
32+
"obsidian.nvim": { "branch": "main", "commit": "ed6f386abe83e4dafa9afecf50cd9d9fff072a07" },
33+
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
34+
"rainbow-delimiters.nvim": { "branch": "master", "commit": "a798325b7f36acc62741d1029930a7b96d4dd4bf" },
35+
"schemastore.nvim": { "branch": "main", "commit": "5330d61a3b2f7ecf8bf6f9ab4ce12878497f2cee" },
36+
"sidekick.nvim": { "branch": "main", "commit": "208e1c5b8170c01fd1d07df0139322a76479b235" },
37+
"smear-cursor.nvim": { "branch": "main", "commit": "9e9378d6ee34bb3782e0e8c63d9ec8ca618b479b" },
38+
"snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" },
39+
"spring-boot.nvim": { "branch": "main", "commit": "218c0c26c14d99feca778e4d13f5ec3e8b1b60f0" },
40+
"statuscol.nvim": { "branch": "main", "commit": "c46172d0911aa5d49ba5f39f4351d1bb7aa289cc" },
41+
"tiny-inline-diagnostic.nvim": { "branch": "main", "commit": "6bdbc9a2f5a846ff5fc55a998ff97c0e2968b7e5" },
42+
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
43+
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
44+
}

lua/custom/plugins/copilot.lua

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
vim.pack.add {
2+
'https://github.com/folke/sidekick.nvim',
3+
'https://github.com/zbirenbaum/copilot.lua',
4+
}
5+
6+
require('copilot').setup {
7+
suggestion = { enable = false },
8+
panel = { enabled = false },
9+
filetypes = { markdown = true, help = true },
10+
}
11+
12+
require('sidekick').setup {
13+
cli = { mux = { backend = 'tmux', enabled = true } },
14+
}
15+
16+
vim.keymap.set('n', '<tab>', function()
17+
-- if there is a next edit, jump to it, otherwise apply it if any
18+
if not require('sidekick').nes_jump_or_apply() then return '<Tab>' end
19+
end, { expr = true, desc = 'Goto/Apply Next Edit Suggestion' })
20+
vim.keymap.set({ 'n', 't', 'i', 'x' }, '<c-.>', function() require('sidekick.cli').toggle() end, { desc = 'Sidekick Toggle' })
21+
vim.keymap.set('n', '<leader>aa', function() require('sidekick.cli').toggle() end, { desc = 'Sidekick Toggle CLI' })
22+
vim.keymap.set('n', '<leader>as', function() require('sidekick.cli').select() end, { desc = 'Select CLI' })
23+
vim.keymap.set('n', '<leader>ad', function() require('sidekick.cli').close() end, { desc = 'Detach a CLI Session' })
24+
vim.keymap.set({ 'x', 'n' }, '<leader>at', function() require('sidekick.cli').send { msg = '{this}' } end, { desc = 'Send This' })
25+
vim.keymap.set('n', '<leader>af', function() require('sidekick.cli').send { msg = '{file}' } end, { desc = 'Send File' })
26+
vim.keymap.set({ 'x', 'n' }, '<leader>av', function() require('sidekick.cli').send { msg = '{selection}' } end, { desc = 'Send Visual Selection' })
27+
vim.keymap.set({ 'n', 'x' }, '<leader>ap', function() require('sidekick.cli').prompt() end, { desc = 'Sidekick Select Prompt' })
28+
vim.keymap.set('n', '<leader>ao', function() require('sidekick.cli').toggle { name = 'opencode', focus = true } end, { desc = 'Sidekick Toggle Claude' })

lua/custom/plugins/cursor.lua

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
vim.pack.add {
2+
'https://github.com/sphamba/smear-cursor.nvim',
3+
}
4+
5+
require('smear_cursor').setup {
6+
legacy_computing_symbols_support = true,
7+
}

lua/custom/plugins/folding.lua

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
-- Makes folding look modern and keep high performance
2+
vim.pack.add { 'https://github.com/chrisgrieser/nvim-origami' }
3+
require('origami').setup {
4+
foldKeymaps = { setup = false },
5+
autoFold = { enabled = true, kinds = { 'imports' } },
6+
}
7+
8+
-- recommended: disable vim's auto-folding
9+
vim.o.foldlevel = 99
10+
vim.o.foldlevelstart = 99

lua/custom/plugins/fyler.lua

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
vim.pack.add { 'https://github.com/A7Lavinraj/fyler.nvim' }
2+
3+
local fyler = require 'fyler'
4+
fyler.setup {
5+
hooks = { on_rename = function(src_path, dest_path) Snacks.rename.on_rename_file(src_path, dest_path) end },
6+
}
7+
vim.keymap.set('n', '\\', function() fyler.toggle { kind = 'split_left_most' } end, { desc = 'File Explorer' })

lua/custom/plugins/obsidian.lua

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
vim.pack.add { { src = 'https://github.com/obsidian-nvim/obsidian.nvim', version = vim.version.range '*' } }
2+
require('obsidian').setup {
3+
legacy_commands = false,
4+
workspaces = {
5+
{
6+
name = 'personal',
7+
path = '~/Documents/vaults/personal',
8+
},
9+
-- {
10+
-- name = 'work',
11+
-- path = '~/Documents/vaults/work',
12+
-- },
13+
},
14+
picker = {
15+
name = 'snacks.pick',
16+
},
17+
completion = {
18+
blink = true,
19+
},
20+
---@diagnostic disable-next-line: missing-fields
21+
ui = { enable = false },
22+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
vim.pack.add { 'https://github.com/HiPhish/rainbow-delimiters.nvim' }

lua/custom/plugins/statuscol.lua

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-- Provide a configurable 'statuscolumn' and click handlers
2+
vim.pack.add { 'https://github.com/luukvbaal/statuscol.nvim' }
3+
4+
vim.opt.fillchars = vim.g.have_nerd_font and { foldclose = '', foldopen = '', foldsep = ' ' } or { foldclose = '˃', foldopen = '˅', foldsep = ' ' }
5+
vim.o.foldcolumn = '1'
6+
7+
local builtin = require 'statuscol.builtin'
8+
require('statuscol').setup {
9+
-- configuration goes here, for example:
10+
relculright = true, -- whether to right-align the cursor line number with 'relativenumber' set
11+
segments = {
12+
{
13+
sign = { namespace = { 'diagnostic/signs' } },
14+
click = 'v:lua.ScSa',
15+
},
16+
{
17+
sign = { name = { '.*' }, colwidth = 1 }, -- signs like breakpoints, etc.
18+
click = 'v:lua.ScSa',
19+
},
20+
{ text = { builtin.lnumfunc }, click = 'v:lua.ScLa' }, -- line number that can be configured through a few options
21+
{
22+
sign = { namespace = { 'gitsigns' }, colwidth = 1 },
23+
click = 'v:lua.ScSa',
24+
},
25+
{ text = { builtin.foldfunc }, click = 'v:lua.ScFa' }, -- fold column that does not print the fold depth digits
26+
{ text = { ' ' } }, -- whitespace padding
27+
},
28+
}

0 commit comments

Comments
 (0)