From df9436c0e57425a43b527c3ee1d63c98af3b6768 Mon Sep 17 00:00:00 2001 From: giogt Date: Sun, 22 Feb 2026 23:28:15 +0000 Subject: [PATCH 01/27] Clarify comment in .gitignore for lazy-lock.json The current comment in .gitignore for lazy-lock.json suggests to uncomment it yourself, but you actually need to comment it instead. This change modifies the comment to clarify the recommended approach for kickstart users. --- .gitignore | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d12a5c88..3bec00f5 100644 --- a/.gitignore +++ b/.gitignore @@ -5,8 +5,9 @@ nvim spell/ -# You can uncomment this yourself if you want to lock the lazy-lock.json, -# but for kickstart, it makes sense to leave it ignored. +# You likely want to comment this, since it's recommended to track lazy-lock.json in version +# control, see https://lazy.folke.io/usage/lockfile +# For kickstart, it makes sense to leave it ignored. lazy-lock.json .DS_Store From 1ba17893188d9bdbe483e35b77ce3678b6cd30c3 Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Fri, 27 Feb 2026 19:41:45 +0200 Subject: [PATCH 02/27] Re-add mason-lspconfig --- init.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/init.lua b/init.lua index d5ae6dc9..42467039 100644 --- a/init.lua +++ b/init.lua @@ -481,6 +481,8 @@ require('lazy').setup({ -- Mason must be loaded before its dependents so we need to set it up here. -- NOTE: `opts = {}` is the same as calling `require('mason').setup({})` { 'mason-org/mason.nvim', opts = {} }, + -- Maps LSP server names between nvim-lspconfig and Mason package names. + 'mason-org/mason-lspconfig.nvim', 'WhoIsSethDaniel/mason-tool-installer.nvim', -- Useful status updates for LSP. From b9f3965282ae2a3c746ee24efb6dcd6962e8e742 Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Fri, 27 Feb 2026 20:12:40 +0200 Subject: [PATCH 03/27] Clean up the lua_ls config --- init.lua | 61 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/init.lua b/init.lua index 42467039..aacc847a 100644 --- a/init.lua +++ b/init.lua @@ -594,6 +594,7 @@ require('lazy').setup({ -- Enable the following language servers -- Feel free to add/remove any LSPs that you want here. They will automatically be installed. -- See `:help lsp-config` for information about keys and how to configure + ---@type table local servers = { -- clangd = {}, -- gopls = {}, @@ -605,6 +606,37 @@ require('lazy').setup({ -- -- But for many setups, the LSP (`ts_ls`) will work just fine -- ts_ls = {}, + + stylua = {}, -- Used to format Lua code + + -- Special Lua Config, as recommended by neovim help docs + lua_ls = { + on_init = function(client) + if client.workspace_folders then + local path = client.workspace_folders[1].name + if path ~= vim.fn.stdpath 'config' and (vim.uv.fs_stat(path .. '/.luarc.json') or vim.uv.fs_stat(path .. '/.luarc.jsonc')) then return end + end + + client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, { + runtime = { + version = 'LuaJIT', + path = { 'lua/?.lua', 'lua/?/init.lua' }, + }, + workspace = { + checkThirdParty = false, + -- NOTE: this is a lot slower and will cause issues when working on your own configuration. + -- See https://github.com/neovim/nvim-lspconfig/issues/3189 + library = vim.tbl_extend('force', vim.api.nvim_get_runtime_file('', true), { + '${3rd}/luv/library', + '${3rd}/busted/library', + }), + }, + }) + end, + settings = { + Lua = {}, + }, + }, } -- Ensure the servers and tools above are installed @@ -616,8 +648,6 @@ require('lazy').setup({ -- You can press `g?` for help in this menu. local ensure_installed = vim.tbl_keys(servers or {}) vim.list_extend(ensure_installed, { - 'lua_ls', -- Lua Language server - 'stylua', -- Used to format Lua code -- You can add other tools here that you want Mason to install }) @@ -628,33 +658,6 @@ require('lazy').setup({ vim.lsp.config(name, server) vim.lsp.enable(name) end - - -- Special Lua Config, as recommended by neovim help docs - vim.lsp.config('lua_ls', { - on_init = function(client) - if client.workspace_folders then - local path = client.workspace_folders[1].name - if path ~= vim.fn.stdpath 'config' and (vim.uv.fs_stat(path .. '/.luarc.json') or vim.uv.fs_stat(path .. '/.luarc.jsonc')) then return end - end - - client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, { - runtime = { - version = 'LuaJIT', - path = { 'lua/?.lua', 'lua/?/init.lua' }, - }, - workspace = { - checkThirdParty = false, - -- NOTE: this is a lot slower and will cause issues when working on your own configuration. - -- See https://github.com/neovim/nvim-lspconfig/issues/3189 - library = vim.api.nvim_get_runtime_file('', true), - }, - }) - end, - settings = { - Lua = {}, - }, - }) - vim.lsp.enable 'lua_ls' end, }, From 177ff6148391742ccb7aaa93c05b95cd6fc853e2 Mon Sep 17 00:00:00 2001 From: orip Date: Sat, 26 Apr 2025 14:35:04 +0300 Subject: [PATCH 04/27] Add type hints to plugin options where possible This could help beginners to get autocompletion, catch mistakes earlier, and allow them to skip the docs for simple configs. This is not perfect because a lot of the plugins type all of their keys as required, even though they have defaults, but this is good enough. --- init.lua | 42 ++++++++++++++++++++------- lua/custom/plugins/init.lua | 3 ++ lua/kickstart/plugins/autopairs.lua | 2 ++ lua/kickstart/plugins/debug.lua | 4 +++ lua/kickstart/plugins/gitsigns.lua | 5 ++++ lua/kickstart/plugins/indent_line.lua | 4 +++ lua/kickstart/plugins/lint.lua | 2 ++ lua/kickstart/plugins/neo-tree.lua | 4 +++ 8 files changed, 56 insertions(+), 10 deletions(-) diff --git a/init.lua b/init.lua index aacc847a..0d01c598 100644 --- a/init.lua +++ b/init.lua @@ -275,13 +275,16 @@ require('lazy').setup({ -- See `:help gitsigns` to understand what the configuration keys do { -- Adds git related signs to the gutter, as well as utilities for managing changes 'lewis6991/gitsigns.nvim', + ---@module 'gitsigns' + ---@type Gitsigns.Config + ---@diagnostic disable-next-line: missing-fields opts = { signs = { - add = { text = '+' }, - change = { text = '~' }, - delete = { text = '_' }, - topdelete = { text = '‾' }, - changedelete = { text = '~' }, + add = { text = '+' }, ---@diagnostic disable-line: missing-fields + change = { text = '~' }, ---@diagnostic disable-line: missing-fields + delete = { text = '_' }, ---@diagnostic disable-line: missing-fields + topdelete = { text = '‾' }, ---@diagnostic disable-line: missing-fields + changedelete = { text = '~' }, ---@diagnostic disable-line: missing-fields }, }, }, @@ -303,6 +306,9 @@ require('lazy').setup({ { -- Useful plugin to show you pending keybinds. 'folke/which-key.nvim', event = 'VimEnter', + ---@module 'which-key' + ---@type wk.Opts + ---@diagnostic disable-next-line: missing-fields opts = { -- delay between pressing a key and opening which-key (milliseconds) delay = 0, @@ -480,7 +486,13 @@ require('lazy').setup({ -- Automatically install LSPs and related tools to stdpath for Neovim -- Mason must be loaded before its dependents so we need to set it up here. -- NOTE: `opts = {}` is the same as calling `require('mason').setup({})` - { 'mason-org/mason.nvim', opts = {} }, + { + 'mason-org/mason.nvim', + ---@module 'mason.settings' + ---@type MasonSettings + ---@diagnostic disable-next-line: missing-fields + opts = {}, + }, -- Maps LSP server names between nvim-lspconfig and Mason package names. 'mason-org/mason-lspconfig.nvim', 'WhoIsSethDaniel/mason-tool-installer.nvim', @@ -673,6 +685,8 @@ require('lazy').setup({ desc = '[F]ormat buffer', }, }, + ---@module 'conform' + ---@type conform.setupOpts opts = { notify_on_error = false, format_on_save = function(bufnr) @@ -730,8 +744,8 @@ require('lazy').setup({ opts = {}, }, }, - --- @module 'blink.cmp' - --- @type blink.cmp.Config + ---@module 'blink.cmp' + ---@type blink.cmp.Config opts = { keymap = { -- 'default' (recommended) for mappings similar to built-in completions @@ -816,7 +830,15 @@ require('lazy').setup({ }, -- Highlight todo, notes, etc in comments - { 'folke/todo-comments.nvim', event = 'VimEnter', dependencies = { 'nvim-lua/plenary.nvim' }, opts = { signs = false } }, + { + 'folke/todo-comments.nvim', + event = 'VimEnter', + dependencies = { 'nvim-lua/plenary.nvim' }, + ---@module 'todo-comments' + ---@type TodoOptions + ---@diagnostic disable-next-line: missing-fields + opts = { signs = false }, + }, { -- Collection of various small independent plugins/modules 'nvim-mini/mini.nvim', @@ -892,7 +914,7 @@ require('lazy').setup({ -- Or use telescope! -- In normal mode type `sh` then write `lazy.nvim-plugin` -- you can continue same window with `sr` which resumes last telescope search -}, { +}, { ---@diagnostic disable-line: missing-fields ui = { -- If you are using a Nerd Font: set icons to an empty table which will use the -- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table diff --git a/lua/custom/plugins/init.lua b/lua/custom/plugins/init.lua index be0eb9d8..b3ddcfdd 100644 --- a/lua/custom/plugins/init.lua +++ b/lua/custom/plugins/init.lua @@ -2,4 +2,7 @@ -- I promise not to create any merge conflicts in this directory :) -- -- See the kickstart.nvim README for more information + +---@module 'lazy' +---@type LazySpec return {} diff --git a/lua/kickstart/plugins/autopairs.lua b/lua/kickstart/plugins/autopairs.lua index 386d392e..351dad86 100644 --- a/lua/kickstart/plugins/autopairs.lua +++ b/lua/kickstart/plugins/autopairs.lua @@ -1,6 +1,8 @@ -- autopairs -- https://github.com/windwp/nvim-autopairs +---@module 'lazy' +---@type LazySpec return { 'windwp/nvim-autopairs', event = 'InsertEnter', diff --git a/lua/kickstart/plugins/debug.lua b/lua/kickstart/plugins/debug.lua index 1e3570f9..bb3f8790 100644 --- a/lua/kickstart/plugins/debug.lua +++ b/lua/kickstart/plugins/debug.lua @@ -6,6 +6,8 @@ -- be extended to other languages as well. That's why it's called -- kickstart.nvim and not kitchen-sink.nvim ;) +---@module 'lazy' +---@type LazySpec return { -- NOTE: Yes, you can install new plugins here! 'mfussenegger/nvim-dap', @@ -86,11 +88,13 @@ return { -- Dap UI setup -- For more information, see |:help nvim-dap-ui| + ---@diagnostic disable-next-line: missing-fields dapui.setup { -- Set icons to characters that are more likely to work in every terminal. -- Feel free to remove or use ones that you like more! :) -- Don't feel like these are good choices. icons = { expanded = '▾', collapsed = '▸', current_frame = '*' }, + ---@diagnostic disable-next-line: missing-fields controls = { icons = { pause = '⏸', diff --git a/lua/kickstart/plugins/gitsigns.lua b/lua/kickstart/plugins/gitsigns.lua index 777e470a..f0137084 100644 --- a/lua/kickstart/plugins/gitsigns.lua +++ b/lua/kickstart/plugins/gitsigns.lua @@ -2,9 +2,14 @@ -- NOTE: gitsigns is already included in init.lua but contains only the base -- config. This will add also the recommended keymaps. +---@module 'lazy' +---@type LazySpec return { { 'lewis6991/gitsigns.nvim', + ---@module 'gitsigns' + ---@type Gitsigns.Config + ---@diagnostic disable-next-line: missing-fields opts = { on_attach = function(bufnr) local gitsigns = require 'gitsigns' diff --git a/lua/kickstart/plugins/indent_line.lua b/lua/kickstart/plugins/indent_line.lua index ed7f2693..6a95da80 100644 --- a/lua/kickstart/plugins/indent_line.lua +++ b/lua/kickstart/plugins/indent_line.lua @@ -1,9 +1,13 @@ +---@module 'lazy' +---@type LazySpec return { { -- Add indentation guides even on blank lines 'lukas-reineke/indent-blankline.nvim', -- Enable `lukas-reineke/indent-blankline.nvim` -- See `:help ibl` main = 'ibl', + ---@module 'ibl' + ---@type ibl.config opts = {}, }, } diff --git a/lua/kickstart/plugins/lint.lua b/lua/kickstart/plugins/lint.lua index f8a73485..7054023c 100644 --- a/lua/kickstart/plugins/lint.lua +++ b/lua/kickstart/plugins/lint.lua @@ -1,3 +1,5 @@ +---@module 'lazy' +---@type LazySpec return { { -- Linting diff --git a/lua/kickstart/plugins/neo-tree.lua b/lua/kickstart/plugins/neo-tree.lua index c7067891..af8d4495 100644 --- a/lua/kickstart/plugins/neo-tree.lua +++ b/lua/kickstart/plugins/neo-tree.lua @@ -1,6 +1,8 @@ -- Neo-tree is a Neovim plugin to browse the file system -- https://github.com/nvim-neo-tree/neo-tree.nvim +---@module 'lazy' +---@type LazySpec return { 'nvim-neo-tree/neo-tree.nvim', version = '*', @@ -13,6 +15,8 @@ return { keys = { { '\\', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, }, + ---@module 'neo-tree' + ---@type neotree.Config opts = { filesystem = { window = { From 09ab9ae2656d03d10bbd44fb7dceb7547e6ac576 Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Fri, 27 Feb 2026 20:55:53 +0200 Subject: [PATCH 05/27] Fix typo --- init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init.lua b/init.lua index 0d01c598..956c27b2 100644 --- a/init.lua +++ b/init.lua @@ -181,7 +181,7 @@ vim.diagnostic.config { -- Can switch between these as you prefer virtual_text = true, -- Text shows up at the end of the line - virtual_lines = false, -- Teest shows up underneath the line, with virtual lines + virtual_lines = false, -- Text shows up underneath the line, with virtual lines -- Auto open the float, so you can easily read the errors when jumping with `[d` and `]d` jump = { float = true }, From 80b1ee1789d19b3c949ab50ba959f412cfc5e54b Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Fri, 27 Feb 2026 21:04:07 +0200 Subject: [PATCH 06/27] Add 'gr' group to which-keys Adds 'gr' to which-keys documentation, so users can see that LSP actions are grouped after 'gr' key binds. Co-authored-by: thiago-negri --- init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/init.lua b/init.lua index 956c27b2..05243283 100644 --- a/init.lua +++ b/init.lua @@ -319,6 +319,7 @@ require('lazy').setup({ { 's', group = '[S]earch', mode = { 'n', 'v' } }, { 't', group = '[T]oggle' }, { 'h', group = 'Git [H]unk', mode = { 'n', 'v' } }, + { 'gr', group = 'LSP Actions', mode = { 'n' } }, }, }, }, From 966d5e94b15404a93bffc5f5bc8fbf68e08ccbc1 Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Thu, 2 Oct 2025 11:35:41 +0300 Subject: [PATCH 07/27] Add installtion instructions for `tree-sitter-cli` to the README.md --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 2b9e52da..7440ef54 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ External Requirements: - Basic utils: `git`, `make`, `unzip`, C Compiler (`gcc`) - [ripgrep](https://github.com/BurntSushi/ripgrep#installation), [fd-find](https://github.com/sharkdp/fd#installation) +- [tree-sitter CLI](https://github.com/tree-sitter/tree-sitter/blob/master/crates/cli/README.md#installation) - Clipboard tool (xclip/xsel/win32yank or other depending on the platform) - A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons - if you have it set `vim.g.have_nerd_font` in `init.lua` to true @@ -192,7 +193,7 @@ winget install --accept-source-agreements chocolatey.chocolatey 2. install all requirements using choco, exit the previous cmd and open a new one so that choco path is set, and run in cmd as **admin**: ``` -choco install -y neovim git ripgrep wget fd unzip gzip mingw make +choco install -y neovim git ripgrep wget fd unzip gzip mingw make tree-sitter ```
WSL (Windows Subsystem for Linux) @@ -202,7 +203,7 @@ wsl --install wsl sudo add-apt-repository ppa:neovim-ppa/unstable -y sudo apt update -sudo apt install make gcc ripgrep unzip git xclip neovim +sudo apt install make gcc ripgrep fd-find tree-sitter-cli unzip git xclip neovim ```
@@ -212,14 +213,14 @@ sudo apt install make gcc ripgrep unzip git xclip neovim ``` sudo add-apt-repository ppa:neovim-ppa/unstable -y sudo apt update -sudo apt install make gcc ripgrep unzip git xclip neovim +sudo apt install make gcc ripgrep fd-find tree-sitter-cli unzip git xclip neovim ```
Debian Install Steps ``` sudo apt update -sudo apt install make gcc ripgrep unzip git xclip curl +sudo apt install make gcc ripgrep fd-find tree-sitter-cli unzip git xclip curl # Now we install nvim curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz @@ -235,14 +236,14 @@ sudo ln -sf /opt/nvim-linux-x86_64/bin/nvim /usr/local/bin/
Fedora Install Steps ``` -sudo dnf install -y gcc make git ripgrep fd-find unzip neovim +sudo dnf install -y gcc make git ripgrep fd-find tree-sitter-cli unzip neovim ```
Arch Install Steps ``` -sudo pacman -S --noconfirm --needed gcc make git ripgrep fd unzip neovim +sudo pacman -S --noconfirm --needed gcc make git ripgrep fd tree-sitter-cli unzip neovim ```
From a6dcf6874b54b294d0c2c4009161bdebd55183ef Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Fri, 27 Feb 2026 21:36:39 +0200 Subject: [PATCH 08/27] Attach treesitter using language name instead of filetype --- init.lua | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/init.lua b/init.lua index 05243283..c95e83cb 100644 --- a/init.lua +++ b/init.lua @@ -879,12 +879,21 @@ require('lazy').setup({ { -- Highlight, edit, and navigate code 'nvim-treesitter/nvim-treesitter', + lazy = false, + build = ':TSUpdate', + branch = 'main', config = function() - local filetypes = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' } - require('nvim-treesitter').install(filetypes) + local parsers = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' } + require('nvim-treesitter').install(parsers) vim.api.nvim_create_autocmd('FileType', { - pattern = filetypes, - callback = function() vim.treesitter.start() end, + callback = function(args) + local buf, filetype = args.buf, args.match + + local language = vim.treesitter.language.get_lang(filetype) + if not vim.tbl_contains(parsers, language) then return end + + vim.treesitter.start() + end, }) end, }, From 40214960508cb232adbe5cee99241b3bf1395f03 Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Fri, 27 Feb 2026 22:56:57 +0200 Subject: [PATCH 09/27] Add treesitter indentation --- init.lua | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/init.lua b/init.lua index c95e83cb..a35d52fc 100644 --- a/init.lua +++ b/init.lua @@ -882,6 +882,7 @@ require('lazy').setup({ lazy = false, build = ':TSUpdate', branch = 'main', + -- [[ Configure Treesitter ]] See `:help nvim-treesitter-intro` config = function() local parsers = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' } require('nvim-treesitter').install(parsers) @@ -890,9 +891,20 @@ require('lazy').setup({ local buf, filetype = args.buf, args.match local language = vim.treesitter.language.get_lang(filetype) - if not vim.tbl_contains(parsers, language) then return end + if not language then return end - vim.treesitter.start() + -- check if parser exists and load it + if not vim.treesitter.language.add(language) then return end + -- enables syntax highlighting and other treesitter features + vim.treesitter.start(buf, language) + + -- enables treesitter based folds + -- for more info on folds see `:help folds` + -- vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()' + -- vim.wo.foldmethod = 'expr' + + -- enables treesitter based indentation + vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" end, }) end, From 1f4c21f4637eb7af77c34ac87c739e378043a336 Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Fri, 27 Feb 2026 23:27:25 +0200 Subject: [PATCH 10/27] Don't extend lsp capabilities because blink does it internally --- init.lua | 7 ------- 1 file changed, 7 deletions(-) diff --git a/init.lua b/init.lua index a35d52fc..227f6e13 100644 --- a/init.lua +++ b/init.lua @@ -598,12 +598,6 @@ require('lazy').setup({ end, }) - -- LSP servers and clients are able to communicate to each other what features they support. - -- By default, Neovim doesn't support everything that is in the LSP specification. - -- When you add blink.cmp, luasnip, etc. Neovim now has *more* capabilities. - -- So, we create new capabilities with blink.cmp, and then broadcast that to the servers. - local capabilities = require('blink.cmp').get_lsp_capabilities() - -- Enable the following language servers -- Feel free to add/remove any LSPs that you want here. They will automatically be installed. -- See `:help lsp-config` for information about keys and how to configure @@ -667,7 +661,6 @@ require('lazy').setup({ require('mason-tool-installer').setup { ensure_installed = ensure_installed } for name, server in pairs(servers) do - server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {}) vim.lsp.config(name, server) vim.lsp.enable(name) end From 9a3a2f967859d92c57726d1ccb6c96c408ea335c Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Sat, 28 Feb 2026 11:29:58 +0200 Subject: [PATCH 11/27] Update the github actions --- .github/workflows/stylua.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/stylua.yml b/.github/workflows/stylua.yml index 75db6c33..eb60303f 100644 --- a/.github/workflows/stylua.yml +++ b/.github/workflows/stylua.yml @@ -9,13 +9,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Code - uses: actions/checkout@v2 + uses: actions/checkout@v6 with: ref: ${{ github.event.pull_request.head.sha }} - name: Stylua Check - uses: JohnnyMorganz/stylua-action@v3 + uses: JohnnyMorganz/stylua-action@v4 with: token: ${{ secrets.GITHUB_TOKEN }} version: latest args: --check . - From 86f1ba26f275d7e5cfb0a6d4652f9ecc02a1492d Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Sat, 28 Feb 2026 11:31:21 +0200 Subject: [PATCH 12/27] Improve undofile comment --- init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init.lua b/init.lua index 227f6e13..3adacdee 100644 --- a/init.lua +++ b/init.lua @@ -119,7 +119,7 @@ vim.schedule(function() vim.o.clipboard = 'unnamedplus' end) -- Enable break indent vim.o.breakindent = true --- Save undo history +-- Enable undo/redo changes even after closing and reopening a file vim.o.undofile = true -- Case-insensitive searching UNLESS \C or one or more capital letters in the search term From 7cc245ecafec6e6057f2dd803ce4eef4bca54d55 Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Sat, 28 Feb 2026 11:32:40 +0200 Subject: [PATCH 13/27] Format the dap keybinds --- lua/kickstart/plugins/debug.lua | 42 ++++++--------------------------- 1 file changed, 7 insertions(+), 35 deletions(-) diff --git a/lua/kickstart/plugins/debug.lua b/lua/kickstart/plugins/debug.lua index bb3f8790..7e58905e 100644 --- a/lua/kickstart/plugins/debug.lua +++ b/lua/kickstart/plugins/debug.lua @@ -28,42 +28,14 @@ return { }, keys = { -- Basic debugging keymaps, feel free to change to your liking! - { - '', - function() require('dap').continue() end, - desc = 'Debug: Start/Continue', - }, - { - '', - function() require('dap').step_into() end, - desc = 'Debug: Step Into', - }, - { - '', - function() require('dap').step_over() end, - desc = 'Debug: Step Over', - }, - { - '', - function() require('dap').step_out() end, - desc = 'Debug: Step Out', - }, - { - 'b', - function() require('dap').toggle_breakpoint() end, - desc = 'Debug: Toggle Breakpoint', - }, - { - 'B', - function() require('dap').set_breakpoint(vim.fn.input 'Breakpoint condition: ') end, - desc = 'Debug: Set Breakpoint', - }, + { '', function() require('dap').continue() end, desc = 'Debug: Start/Continue' }, + { '', function() require('dap').step_into() end, desc = 'Debug: Step Into' }, + { '', function() require('dap').step_over() end, desc = 'Debug: Step Over' }, + { '', function() require('dap').step_out() end, desc = 'Debug: Step Out' }, + { 'b', function() require('dap').toggle_breakpoint() end, desc = 'Debug: Toggle Breakpoint' }, + { 'B', function() require('dap').set_breakpoint(vim.fn.input 'Breakpoint condition: ') end, desc = 'Debug: Set Breakpoint' }, -- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception. - { - '', - function() require('dapui').toggle() end, - desc = 'Debug: See last session result.', - }, + { '', function() require('dapui').toggle() end, desc = 'Debug: See last session result.' }, }, config = function() local dap = require 'dap' From dabce46993048a4d1a9c0b6f5bd002848cfe9802 Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Sat, 28 Feb 2026 13:48:43 +0200 Subject: [PATCH 14/27] Add underline for warnings --- init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init.lua b/init.lua index 3adacdee..3593ca2e 100644 --- a/init.lua +++ b/init.lua @@ -177,7 +177,7 @@ vim.diagnostic.config { update_in_insert = false, severity_sort = true, float = { border = 'rounded', source = 'if_many' }, - underline = { severity = vim.diagnostic.severity.ERROR }, + underline = { severity = { min = vim.diagnostic.severity.WARN } }, -- Can switch between these as you prefer virtual_text = true, -- Text shows up at the end of the line From 886f2bc07606ecb1f8fdc46f1c628d004651449b Mon Sep 17 00:00:00 2001 From: Nathan Zeng Date: Fri, 6 Mar 2026 19:18:40 -0800 Subject: [PATCH 15/27] Clarify gitsigns keymap for which-key --- init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/init.lua b/init.lua index 3593ca2e..068da471 100644 --- a/init.lua +++ b/init.lua @@ -318,7 +318,7 @@ require('lazy').setup({ spec = { { 's', group = '[S]earch', mode = { 'n', 'v' } }, { 't', group = '[T]oggle' }, - { 'h', group = 'Git [H]unk', mode = { 'n', 'v' } }, + { 'h', group = 'Git [H]unk', mode = { 'n', 'v' } }, -- Enable gitsigns recommended keymaps first { 'gr', group = 'LSP Actions', mode = { 'n' } }, }, }, @@ -917,7 +917,7 @@ require('lazy').setup({ -- require 'kickstart.plugins.lint', -- require 'kickstart.plugins.autopairs', -- require 'kickstart.plugins.neo-tree', - -- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps + -- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommended keymaps -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua` -- This is the easiest way to modularize your config. From d97de4f0aeb763d47f0d5303d8ea70853c70931a Mon Sep 17 00:00:00 2001 From: Nathan Zeng Date: Sat, 7 Mar 2026 20:52:02 -0800 Subject: [PATCH 16/27] Remove blink from nvim-lspconfig dependencies --- init.lua | 3 --- 1 file changed, 3 deletions(-) diff --git a/init.lua b/init.lua index 3593ca2e..49651465 100644 --- a/init.lua +++ b/init.lua @@ -500,9 +500,6 @@ require('lazy').setup({ -- Useful status updates for LSP. { 'j-hui/fidget.nvim', opts = {} }, - - -- Allows extra capabilities provided by blink.cmp - 'saghen/blink.cmp', }, config = function() -- Brief aside: **What is LSP?** From f7b74c7b837255d298799ad3d7f38f9953d9ac88 Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Tue, 10 Mar 2026 15:16:43 +0200 Subject: [PATCH 17/27] Fix typo in the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7440ef54..093e42a6 100644 --- a/README.md +++ b/README.md @@ -262,7 +262,7 @@ available methods being discussed
Bob [Bob](https://github.com/MordechaiHadad/bob) is a Neovim version manager for -all plattforms. Simply install +all platforms. Simply install [rustup](https://rust-lang.github.io/rustup/installation/other.html), and run the following commands: From 431cf2e881eaeb10f8cc39d3e3a8f71554a509bd Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Tue, 10 Mar 2026 19:00:43 +0200 Subject: [PATCH 18/27] Fix formating of plugins --- lua/kickstart/plugins/gitsigns.lua | 92 +++++++++++---------- lua/kickstart/plugins/indent_line.lua | 18 ++--- lua/kickstart/plugins/lint.lua | 110 +++++++++++++------------- 3 files changed, 109 insertions(+), 111 deletions(-) diff --git a/lua/kickstart/plugins/gitsigns.lua b/lua/kickstart/plugins/gitsigns.lua index f0137084..5f5652f9 100644 --- a/lua/kickstart/plugins/gitsigns.lua +++ b/lua/kickstart/plugins/gitsigns.lua @@ -5,56 +5,54 @@ ---@module 'lazy' ---@type LazySpec return { - { - 'lewis6991/gitsigns.nvim', - ---@module 'gitsigns' - ---@type Gitsigns.Config - ---@diagnostic disable-next-line: missing-fields - opts = { - on_attach = function(bufnr) - local gitsigns = require 'gitsigns' + 'lewis6991/gitsigns.nvim', + ---@module 'gitsigns' + ---@type Gitsigns.Config + ---@diagnostic disable-next-line: missing-fields + opts = { + on_attach = function(bufnr) + local gitsigns = require 'gitsigns' - local function map(mode, l, r, opts) - opts = opts or {} - opts.buffer = bufnr - vim.keymap.set(mode, l, r, opts) + local function map(mode, l, r, opts) + opts = opts or {} + opts.buffer = bufnr + vim.keymap.set(mode, l, r, opts) + end + + -- Navigation + map('n', ']c', function() + if vim.wo.diff then + vim.cmd.normal { ']c', bang = true } + else + gitsigns.nav_hunk 'next' end + end, { desc = 'Jump to next git [c]hange' }) - -- Navigation - map('n', ']c', function() - if vim.wo.diff then - vim.cmd.normal { ']c', bang = true } - else - gitsigns.nav_hunk 'next' - end - end, { desc = 'Jump to next git [c]hange' }) + map('n', '[c', function() + if vim.wo.diff then + vim.cmd.normal { '[c', bang = true } + else + gitsigns.nav_hunk 'prev' + end + end, { desc = 'Jump to previous git [c]hange' }) - map('n', '[c', function() - if vim.wo.diff then - vim.cmd.normal { '[c', bang = true } - else - gitsigns.nav_hunk 'prev' - end - end, { desc = 'Jump to previous git [c]hange' }) - - -- Actions - -- visual mode - map('v', 'hs', function() gitsigns.stage_hunk { vim.fn.line '.', vim.fn.line 'v' } end, { desc = 'git [s]tage hunk' }) - map('v', 'hr', function() gitsigns.reset_hunk { vim.fn.line '.', vim.fn.line 'v' } end, { desc = 'git [r]eset hunk' }) - -- normal mode - map('n', 'hs', gitsigns.stage_hunk, { desc = 'git [s]tage hunk' }) - map('n', 'hr', gitsigns.reset_hunk, { desc = 'git [r]eset hunk' }) - map('n', 'hS', gitsigns.stage_buffer, { desc = 'git [S]tage buffer' }) - map('n', 'hu', gitsigns.stage_hunk, { desc = 'git [u]ndo stage hunk' }) - map('n', 'hR', gitsigns.reset_buffer, { desc = 'git [R]eset buffer' }) - map('n', 'hp', gitsigns.preview_hunk, { desc = 'git [p]review hunk' }) - map('n', 'hb', gitsigns.blame_line, { desc = 'git [b]lame line' }) - map('n', 'hd', gitsigns.diffthis, { desc = 'git [d]iff against index' }) - map('n', 'hD', function() gitsigns.diffthis '@' end, { desc = 'git [D]iff against last commit' }) - -- Toggles - map('n', 'tb', gitsigns.toggle_current_line_blame, { desc = '[T]oggle git show [b]lame line' }) - map('n', 'tD', gitsigns.preview_hunk_inline, { desc = '[T]oggle git show [D]eleted' }) - end, - }, + -- Actions + -- visual mode + map('v', 'hs', function() gitsigns.stage_hunk { vim.fn.line '.', vim.fn.line 'v' } end, { desc = 'git [s]tage hunk' }) + map('v', 'hr', function() gitsigns.reset_hunk { vim.fn.line '.', vim.fn.line 'v' } end, { desc = 'git [r]eset hunk' }) + -- normal mode + map('n', 'hs', gitsigns.stage_hunk, { desc = 'git [s]tage hunk' }) + map('n', 'hr', gitsigns.reset_hunk, { desc = 'git [r]eset hunk' }) + map('n', 'hS', gitsigns.stage_buffer, { desc = 'git [S]tage buffer' }) + map('n', 'hu', gitsigns.stage_hunk, { desc = 'git [u]ndo stage hunk' }) + map('n', 'hR', gitsigns.reset_buffer, { desc = 'git [R]eset buffer' }) + map('n', 'hp', gitsigns.preview_hunk, { desc = 'git [p]review hunk' }) + map('n', 'hb', gitsigns.blame_line, { desc = 'git [b]lame line' }) + map('n', 'hd', gitsigns.diffthis, { desc = 'git [d]iff against index' }) + map('n', 'hD', function() gitsigns.diffthis '@' end, { desc = 'git [D]iff against last commit' }) + -- Toggles + map('n', 'tb', gitsigns.toggle_current_line_blame, { desc = '[T]oggle git show [b]lame line' }) + map('n', 'tD', gitsigns.preview_hunk_inline, { desc = '[T]oggle git show [D]eleted' }) + end, }, } diff --git a/lua/kickstart/plugins/indent_line.lua b/lua/kickstart/plugins/indent_line.lua index 6a95da80..946ac793 100644 --- a/lua/kickstart/plugins/indent_line.lua +++ b/lua/kickstart/plugins/indent_line.lua @@ -1,13 +1,13 @@ +-- Add indentation guides even on blank lines + ---@module 'lazy' ---@type LazySpec return { - { -- Add indentation guides even on blank lines - 'lukas-reineke/indent-blankline.nvim', - -- Enable `lukas-reineke/indent-blankline.nvim` - -- See `:help ibl` - main = 'ibl', - ---@module 'ibl' - ---@type ibl.config - opts = {}, - }, + 'lukas-reineke/indent-blankline.nvim', + -- Enable `lukas-reineke/indent-blankline.nvim` + -- See `:help ibl` + main = 'ibl', + ---@module 'ibl' + ---@type ibl.config + opts = {}, } diff --git a/lua/kickstart/plugins/lint.lua b/lua/kickstart/plugins/lint.lua index 7054023c..3dc5cb0f 100644 --- a/lua/kickstart/plugins/lint.lua +++ b/lua/kickstart/plugins/lint.lua @@ -1,60 +1,60 @@ +-- Linting + ---@module 'lazy' ---@type LazySpec -return { +return +{ + 'mfussenegger/nvim-lint', + event = { 'BufReadPre', 'BufNewFile' }, + config = function() + local lint = require 'lint' + lint.linters_by_ft = { + markdown = { 'markdownlint' }, + } - { -- Linting - 'mfussenegger/nvim-lint', - event = { 'BufReadPre', 'BufNewFile' }, - config = function() - local lint = require 'lint' - lint.linters_by_ft = { - markdown = { 'markdownlint' }, - } + -- To allow other plugins to add linters to require('lint').linters_by_ft, + -- instead set linters_by_ft like this: + -- lint.linters_by_ft = lint.linters_by_ft or {} + -- lint.linters_by_ft['markdown'] = { 'markdownlint' } + -- + -- However, note that this will enable a set of default linters, + -- which will cause errors unless these tools are available: + -- { + -- clojure = { "clj-kondo" }, + -- dockerfile = { "hadolint" }, + -- inko = { "inko" }, + -- janet = { "janet" }, + -- json = { "jsonlint" }, + -- markdown = { "vale" }, + -- rst = { "vale" }, + -- ruby = { "ruby" }, + -- terraform = { "tflint" }, + -- text = { "vale" } + -- } + -- + -- You can disable the default linters by setting their filetypes to nil: + -- lint.linters_by_ft['clojure'] = nil + -- lint.linters_by_ft['dockerfile'] = nil + -- lint.linters_by_ft['inko'] = nil + -- lint.linters_by_ft['janet'] = nil + -- lint.linters_by_ft['json'] = nil + -- lint.linters_by_ft['markdown'] = nil + -- lint.linters_by_ft['rst'] = nil + -- lint.linters_by_ft['ruby'] = nil + -- lint.linters_by_ft['terraform'] = nil + -- lint.linters_by_ft['text'] = nil - -- To allow other plugins to add linters to require('lint').linters_by_ft, - -- instead set linters_by_ft like this: - -- lint.linters_by_ft = lint.linters_by_ft or {} - -- lint.linters_by_ft['markdown'] = { 'markdownlint' } - -- - -- However, note that this will enable a set of default linters, - -- which will cause errors unless these tools are available: - -- { - -- clojure = { "clj-kondo" }, - -- dockerfile = { "hadolint" }, - -- inko = { "inko" }, - -- janet = { "janet" }, - -- json = { "jsonlint" }, - -- markdown = { "vale" }, - -- rst = { "vale" }, - -- ruby = { "ruby" }, - -- terraform = { "tflint" }, - -- text = { "vale" } - -- } - -- - -- You can disable the default linters by setting their filetypes to nil: - -- lint.linters_by_ft['clojure'] = nil - -- lint.linters_by_ft['dockerfile'] = nil - -- lint.linters_by_ft['inko'] = nil - -- lint.linters_by_ft['janet'] = nil - -- lint.linters_by_ft['json'] = nil - -- lint.linters_by_ft['markdown'] = nil - -- lint.linters_by_ft['rst'] = nil - -- lint.linters_by_ft['ruby'] = nil - -- lint.linters_by_ft['terraform'] = nil - -- lint.linters_by_ft['text'] = nil - - -- Create autocommand which carries out the actual linting - -- on the specified events. - local lint_augroup = vim.api.nvim_create_augroup('lint', { clear = true }) - vim.api.nvim_create_autocmd({ 'BufEnter', 'BufWritePost', 'InsertLeave' }, { - group = lint_augroup, - callback = function() - -- Only run the linter in buffers that you can modify in order to - -- avoid superfluous noise, notably within the handy LSP pop-ups that - -- describe the hovered symbol using Markdown. - if vim.bo.modifiable then lint.try_lint() end - end, - }) - end, - }, + -- Create autocommand which carries out the actual linting + -- on the specified events. + local lint_augroup = vim.api.nvim_create_augroup('lint', { clear = true }) + vim.api.nvim_create_autocmd({ 'BufEnter', 'BufWritePost', 'InsertLeave' }, { + group = lint_augroup, + callback = function() + -- Only run the linter in buffers that you can modify in order to + -- avoid superfluous noise, notably within the handy LSP pop-ups that + -- describe the hovered symbol using Markdown. + if vim.bo.modifiable then lint.try_lint() end + end, + }) + end, } From 58170c7ae38e5d8461c2e55ad07d95f0af161685 Mon Sep 17 00:00:00 2001 From: Ori Perry Date: Tue, 10 Mar 2026 22:12:41 +0200 Subject: [PATCH 19/27] Fix stylua --- lua/kickstart/plugins/lint.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lua/kickstart/plugins/lint.lua b/lua/kickstart/plugins/lint.lua index 3dc5cb0f..326fc3f6 100644 --- a/lua/kickstart/plugins/lint.lua +++ b/lua/kickstart/plugins/lint.lua @@ -2,8 +2,7 @@ ---@module 'lazy' ---@type LazySpec -return -{ +return { 'mfussenegger/nvim-lint', event = { 'BufReadPre', 'BufNewFile' }, config = function() From 6cc8fbfd773c2d2ef6d250267d4d00685d615e79 Mon Sep 17 00:00:00 2001 From: Nick Burt Date: Sat, 14 Mar 2026 21:43:43 -0500 Subject: [PATCH 20/27] remove the omnisharp language server --- init.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/init.lua b/init.lua index 51af4b56..4330569f 100644 --- a/init.lua +++ b/init.lua @@ -656,7 +656,6 @@ require('lazy').setup({ local ensure_installed = vim.tbl_keys(servers or {}) vim.list_extend(ensure_installed, { -- You can add other tools here that you want Mason to install - 'omnisharp', -- C# Language Server }) require('mason-tool-installer').setup { ensure_installed = ensure_installed } From c47ffa3031cfe8e0136741bcd2b60f04cdf10d8d Mon Sep 17 00:00:00 2001 From: Nick Burt Date: Sat, 14 Mar 2026 22:10:19 -0500 Subject: [PATCH 21/27] use crashdummyy registry in mason for access to roslyn lsp --- init.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/init.lua b/init.lua index 4330569f..7237b2e8 100644 --- a/init.lua +++ b/init.lua @@ -495,7 +495,12 @@ require('lazy').setup({ ---@module 'mason.settings' ---@type MasonSettings ---@diagnostic disable-next-line: missing-fields - opts = {}, + opts = { + registries = { + 'github:mason-org/mason-registry', + 'github:Crashdummyy/mason-registry', + }, + }, }, -- Maps LSP server names between nvim-lspconfig and Mason package names. 'mason-org/mason-lspconfig.nvim', From ebc82857dc1e43b3adf18ce3f6c700290d0ac166 Mon Sep 17 00:00:00 2001 From: Nick Burt Date: Sat, 14 Mar 2026 22:12:39 -0500 Subject: [PATCH 22/27] initial roslyn configuration --- lua/custom/plugins/roslyn.lua | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 lua/custom/plugins/roslyn.lua diff --git a/lua/custom/plugins/roslyn.lua b/lua/custom/plugins/roslyn.lua new file mode 100644 index 00000000..71c264e2 --- /dev/null +++ b/lua/custom/plugins/roslyn.lua @@ -0,0 +1,8 @@ +return { + 'seblyng/roslyn.nvim', + ---@module 'roslyn.config' + ---@type RoslynNvimConfig + opts = { + -- your configuration comes here; leave empty for default settings + }, +} From 00bea79e44773226e583e3d4f2808f51d7cd822e Mon Sep 17 00:00:00 2001 From: Nick Burt Date: Sat, 14 Mar 2026 22:18:49 -0500 Subject: [PATCH 23/27] ensure roslyn installed --- init.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/init.lua b/init.lua index 7237b2e8..d210e901 100644 --- a/init.lua +++ b/init.lua @@ -661,6 +661,7 @@ require('lazy').setup({ local ensure_installed = vim.tbl_keys(servers or {}) vim.list_extend(ensure_installed, { -- You can add other tools here that you want Mason to install + 'roslyn', }) require('mason-tool-installer').setup { ensure_installed = ensure_installed } @@ -702,6 +703,7 @@ require('lazy').setup({ } end end, + --TODO: need formating for c#/roslyn formatters_by_ft = { lua = { 'stylua' }, -- Conform can also run multiple formatters sequentially @@ -715,6 +717,7 @@ require('lazy').setup({ }, }, + --TODO: need autocompletion for c#/roslyn { -- Autocompletion 'saghen/blink.cmp', event = 'VimEnter', From 7517fb4d7194f30a32f2440dc6ce71d1645284d2 Mon Sep 17 00:00:00 2001 From: Nick Burt Date: Sun, 15 Mar 2026 01:21:20 -0500 Subject: [PATCH 24/27] replace roslyn with omnisharp --- init.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/init.lua b/init.lua index d210e901..bbcbcda6 100644 --- a/init.lua +++ b/init.lua @@ -619,6 +619,8 @@ require('lazy').setup({ -- But for many setups, the LSP (`ts_ls`) will work just fine -- ts_ls = {}, + omnisharp = {}, + stylua = {}, -- Used to format Lua code -- Special Lua Config, as recommended by neovim help docs @@ -661,7 +663,7 @@ require('lazy').setup({ local ensure_installed = vim.tbl_keys(servers or {}) vim.list_extend(ensure_installed, { -- You can add other tools here that you want Mason to install - 'roslyn', + 'omnisharp', }) require('mason-tool-installer').setup { ensure_installed = ensure_installed } From 341741faeb06518eee0e3207dd0db236ffdc7868 Mon Sep 17 00:00:00 2001 From: Nick Burt Date: Sun, 15 Mar 2026 01:21:47 -0500 Subject: [PATCH 25/27] remove custom roslyn plugin --- lua/custom/plugins/roslyn.lua | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 lua/custom/plugins/roslyn.lua diff --git a/lua/custom/plugins/roslyn.lua b/lua/custom/plugins/roslyn.lua deleted file mode 100644 index 71c264e2..00000000 --- a/lua/custom/plugins/roslyn.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - 'seblyng/roslyn.nvim', - ---@module 'roslyn.config' - ---@type RoslynNvimConfig - opts = { - -- your configuration comes here; leave empty for default settings - }, -} From 65e93fd6fca6a4ed0433db61b0009d4013312dce Mon Sep 17 00:00:00 2001 From: Nick Burt Date: Sun, 15 Mar 2026 01:26:37 -0500 Subject: [PATCH 26/27] accept autocomplete suggestions with tab --- init.lua | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/init.lua b/init.lua index bbcbcda6..bea5aebd 100644 --- a/init.lua +++ b/init.lua @@ -705,7 +705,7 @@ require('lazy').setup({ } end end, - --TODO: need formating for c#/roslyn + --TODO: need formating for c#/omnisharp formatters_by_ft = { lua = { 'stylua' }, -- Conform can also run multiple formatters sequentially @@ -719,7 +719,6 @@ require('lazy').setup({ }, }, - --TODO: need autocompletion for c#/roslyn { -- Autocompletion 'saghen/blink.cmp', event = 'VimEnter', @@ -776,7 +775,7 @@ require('lazy').setup({ -- : Toggle signature help -- -- See :h blink-cmp-config-keymap for defining your own keymap - preset = 'default', + preset = 'super-tab', -- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see: -- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps From b8c00e8ab5edb4d4bcc0a59cbd3f244a44f07e42 Mon Sep 17 00:00:00 2001 From: Nick Burt Date: Sun, 15 Mar 2026 01:28:39 -0500 Subject: [PATCH 27/27] remove todo requiring formatting for omnisharp. already complete --- init.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/init.lua b/init.lua index bea5aebd..84a718e3 100644 --- a/init.lua +++ b/init.lua @@ -705,7 +705,6 @@ require('lazy').setup({ } end end, - --TODO: need formating for c#/omnisharp formatters_by_ft = { lua = { 'stylua' }, -- Conform can also run multiple formatters sequentially