From f6abf682fffba362ff4c6f8157ef72822adda289 Mon Sep 17 00:00:00 2001 From: Nhan Luu <62146587+nhld@users.noreply.github.com> Date: Thu, 16 Jan 2025 02:37:03 +0700 Subject: [PATCH 01/15] chore: remove redundant comment (#1307) --- init.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/init.lua b/init.lua index 610018e..edbc378 100644 --- a/init.lua +++ b/init.lua @@ -464,7 +464,6 @@ require('lazy').setup({ 'WhoIsSethDaniel/mason-tool-installer.nvim', -- Useful status updates for LSP. - -- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})` { 'j-hui/fidget.nvim', opts = {} }, -- Allows extra capabilities provided by nvim-cmp From ff89769e4583b4f2c170df0d8ccacb950d5dd4e6 Mon Sep 17 00:00:00 2001 From: Nhan Luu <62146587+nhld@users.noreply.github.com> Date: Thu, 16 Jan 2025 02:37:36 +0700 Subject: [PATCH 02/15] chore: fix typo in bug report issue template (#1306) --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 55b45b0..86598b8 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -11,7 +11,7 @@ assignees: '' ## Before Reporting an Issue - I have read the kickstart.nvim README.md. -- I have read the appropiate plugin's documentation. +- I have read the appropriate plugin's documentation. - I have searched that this issue has not been reported before. - [ ] **By checking this, I confirm that the above steps are completed. I understand leaving this unchecked will result in this report being closed immediately.** From 5bdde24dfb353d365d908c5dd700f412ed2ffb17 Mon Sep 17 00:00:00 2001 From: Diorman Colmenares <229201+diorman@users.noreply.github.com> Date: Wed, 15 Jan 2025 11:38:26 -0800 Subject: [PATCH 03/15] Use luals 3rd library for luv (#1303) --- init.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/init.lua b/init.lua index edbc378..4eae8e7 100644 --- a/init.lua +++ b/init.lua @@ -447,11 +447,10 @@ require('lazy').setup({ opts = { library = { -- Load luvit types when the `vim.uv` word is found - { path = 'luvit-meta/library', words = { 'vim%.uv' } }, + { path = '${3rd}/luv/library', words = { 'vim%.uv' } }, }, }, }, - { 'Bilal2453/luvit-meta', lazy = true }, { -- Main LSP Configuration 'neovim/nvim-lspconfig', From abdbfce0f8610e8661ccf27c1ba13b8134b78673 Mon Sep 17 00:00:00 2001 From: Ryan Nevius Date: Sat, 15 Feb 2025 04:23:31 +0100 Subject: [PATCH 04/15] chore(docs): Update README.md (#1344) Neovim has renamed the "linux64" binary to "linux-x86_64". --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index aa5f4fc..3cabe65 100644 --- a/README.md +++ b/README.md @@ -212,14 +212,14 @@ sudo apt update sudo apt install make gcc ripgrep unzip git xclip curl # Now we install nvim -curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz -sudo rm -rf /opt/nvim-linux64 -sudo mkdir -p /opt/nvim-linux64 -sudo chmod a+rX /opt/nvim-linux64 -sudo tar -C /opt -xzf nvim-linux64.tar.gz +curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz +sudo rm -rf /opt/nvim-linux-x86_64 +sudo mkdir -p /opt/nvim-linux-x86_64 +sudo chmod a+rX /opt/nvim-linux-x86_64 +sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz # make it available in /usr/local/bin, distro installs to /usr/bin -sudo ln -sf /opt/nvim-linux64/bin/nvim /usr/local/bin/ +sudo ln -sf /opt/nvim-linux-x86_64/bin/nvim /usr/local/bin/ ```
Fedora Install Steps From 71ad926ab18fed072b8a9af6a22c8cbb302e3257 Mon Sep 17 00:00:00 2001 From: bleacheda <60625523+bleacheda@users.noreply.github.com> Date: Sat, 15 Feb 2025 05:32:50 +0200 Subject: [PATCH 05/15] =?UTF-8?q?docs:=20clarify=20using=20opts=20=3D=20{}?= =?UTF-8?q?=20vs=20config=20=3D=20function()=20...=20require('plu=E2=80=A6?= =?UTF-8?q?=20(#1316)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: clarify using opts = {} vs config = function() ... require('plugin').setup({}) .. end The current documentation mentioning that using "require" is equivalent to using "opts" without detailing the use in the "config = function()" block seems inaccurate. Lower in the configuration the "config = function()" block is used without clarifying why it needed and what it does. This clarification may help new users understand the difference between the two, or how and where to place the "require" statement. * Update init.lua * remove whitespace --- init.lua | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/init.lua b/init.lua index 4eae8e7..99c7c9c 100644 --- a/init.lua +++ b/init.lua @@ -234,12 +234,22 @@ require('lazy').setup({ -- with the first argument being the link and the following -- keys can be used to configure plugin behavior/loading/etc. -- - -- Use `opts = {}` to force a plugin to be loaded. + -- Use `opts = {}` to automatically pass options to a plugin's `setup()` function, forcing the plugin to be loaded. -- + -- Alternatively, use `config = function() ... end` for full control over the configuration. + -- If you prefer to call `setup` explicitly, use: + -- { + -- 'lewis6991/gitsigns.nvim', + -- config = function() + -- require('gitsigns').setup({ + -- -- Your gitsigns configuration here + -- }) + -- end, + -- } + -- -- Here is a more advanced example where we pass configuration - -- options to `gitsigns.nvim`. This is equivalent to the following Lua: - -- require('gitsigns').setup({ ... }) + -- options to `gitsigns.nvim`. -- -- See `:help gitsigns` to understand what the configuration keys do { -- Adds git related signs to the gutter, as well as utilities for managing changes From 94f551b8039a3f6399d2ea3373c4774005ede4db Mon Sep 17 00:00:00 2001 From: Erlan Rangel Date: Fri, 14 Feb 2025 23:48:37 -0600 Subject: [PATCH 06/15] fix (#1319): gitsigns deprecated functions (#1321) - This commit change two functions that are marked as deprecated now: `gitsigns.stage_hunk` and `gitsigns.toggle_deleted` --- lua/kickstart/plugins/gitsigns.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/kickstart/plugins/gitsigns.lua b/lua/kickstart/plugins/gitsigns.lua index c269bc0..cbbd22d 100644 --- a/lua/kickstart/plugins/gitsigns.lua +++ b/lua/kickstart/plugins/gitsigns.lua @@ -44,7 +44,7 @@ return { 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.undo_stage_hunk, { desc = 'git [u]ndo stage hunk' }) + 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' }) @@ -54,7 +54,7 @@ return { 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.toggle_deleted, { desc = '[T]oggle git show [D]eleted' }) + map('n', 'tD', gitsigns.preview_hunk_inline, { desc = '[T]oggle git show [D]eleted' }) end, }, }, From d2c006819a5473f958276b028e16636f347df823 Mon Sep 17 00:00:00 2001 From: Chris Patti Date: Sun, 16 Feb 2025 22:37:44 -0500 Subject: [PATCH 07/15] Add a blurb about installing missing emoji on Ubuntu Right next to the nerdfonts blurb as requested. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3cabe65..9284111 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ External Requirements: - 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 +- Emoji fonts (Ubuntu only, and only if you want emoji!) `sudo apt install fonts-noto-color-emoji` - Language Setup: - If you want to write Typescript, you need `npm` - If you want to write Golang, you will need `go` From db78c0b217fd9525e2cbcbffd18abbbbddc75b2e Mon Sep 17 00:00:00 2001 From: Jonas Zeltner Date: Mon, 17 Feb 2025 04:42:19 +0100 Subject: [PATCH 08/15] fix: arguments for the `vim.lsp.Client.supports_method` method (#1356) --- init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/init.lua b/init.lua index 99c7c9c..7ef6120 100644 --- a/init.lua +++ b/init.lua @@ -564,7 +564,7 @@ require('lazy').setup({ -- -- When you move your cursor, the highlights will be cleared (the second autocommand). local client = vim.lsp.get_client_by_id(event.data.client_id) - if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_documentHighlight) then + if client and client:supports_method(vim.lsp.protocol.Methods.textDocument_documentHighlight) then local highlight_augroup = vim.api.nvim_create_augroup('kickstart-lsp-highlight', { clear = false }) vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { buffer = event.buf, @@ -591,7 +591,7 @@ require('lazy').setup({ -- code, if the language server you are using supports them -- -- This may be unwanted, since they displace some of your code - if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint) then + if client and client:supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint) then map('th', function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf }) end, '[T]oggle Inlay [H]ints') From 76e06fec5cf0aceaf06d50d1f934a8cfde3bc3df Mon Sep 17 00:00:00 2001 From: GeloCraft <115651305+gelocraft@users.noreply.github.com> Date: Tue, 18 Feb 2025 02:01:07 +0800 Subject: [PATCH 09/15] feat(diagnostic): add diagnostic config (#1335) Co-authored-by: gelocraft --- init.lua | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/init.lua b/init.lua index 7ef6120..d91174b 100644 --- a/init.lua +++ b/init.lua @@ -599,15 +599,34 @@ require('lazy').setup({ end, }) - -- Change diagnostic symbols in the sign column (gutter) - -- if vim.g.have_nerd_font then - -- local signs = { ERROR = '', WARN = '', INFO = '', HINT = '' } - -- local diagnostic_signs = {} - -- for type, icon in pairs(signs) do - -- diagnostic_signs[vim.diagnostic.severity[type]] = icon - -- end - -- vim.diagnostic.config { signs = { text = diagnostic_signs } } - -- end + -- Diagnostic Config + -- See :help vim.diagnostic.Opts + vim.diagnostic.config { + severity_sort = true, + float = { border = 'rounded', source = 'if_many' }, + underline = { severity = vim.diagnostic.severity.ERROR }, + signs = vim.g.have_nerd_font and { + text = { + [vim.diagnostic.severity.ERROR] = '󰅚 ', + [vim.diagnostic.severity.WARN] = '󰀪 ', + [vim.diagnostic.severity.INFO] = '󰋽 ', + [vim.diagnostic.severity.HINT] = '󰌶 ', + }, + } or {}, + virtual_text = { + source = 'if_many', + spacing = 2, + format = function(diagnostic) + local diagnostic_message = { + [vim.diagnostic.severity.ERROR] = diagnostic.message, + [vim.diagnostic.severity.WARN] = diagnostic.message, + [vim.diagnostic.severity.INFO] = diagnostic.message, + [vim.diagnostic.severity.HINT] = diagnostic.message, + } + return diagnostic_message[diagnostic.severity] + 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. From ebca680deaf83b49f4b9f51f1f7d5823cd68ecfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20Guerra?= Date: Tue, 18 Feb 2025 01:10:48 +0100 Subject: [PATCH 10/15] perf: load tokyonight.nvim in the intended way (#1360) Fixes #1357 --- init.lua | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/init.lua b/init.lua index d91174b..b57a4b9 100644 --- a/init.lua +++ b/init.lua @@ -874,14 +874,18 @@ require('lazy').setup({ -- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`. 'folke/tokyonight.nvim', priority = 1000, -- Make sure to load this before all the other start plugins. - init = function() + config = function() + ---@diagnostic disable-next-line: missing-fields + require('tokyonight').setup { + styles = { + comments = { italic = false }, -- Disable italics in comments + }, + } + -- Load the colorscheme here. -- Like many other themes, this one has different styles, and you could load -- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'. vim.cmd.colorscheme 'tokyonight-night' - - -- You can configure highlights by doing something like: - vim.cmd.hi 'Comment gui=none' end, }, From 282cbb9c82138262bb8a5fe60573ba4626abe425 Mon Sep 17 00:00:00 2001 From: Rob Date: Tue, 18 Feb 2025 00:12:06 +0000 Subject: [PATCH 11/15] feat: add basic function signature help (#1358) * feat: add basic function signature help * Update init.lua Co-authored-by: makeworld <25111343+makew0rld@users.noreply.github.com> --------- Co-authored-by: makeworld <25111343+makew0rld@users.noreply.github.com> --- init.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/init.lua b/init.lua index b57a4b9..de34808 100644 --- a/init.lua +++ b/init.lua @@ -786,6 +786,8 @@ require('lazy').setup({ -- into multiple repos for maintenance purposes. 'hrsh7th/cmp-nvim-lsp', 'hrsh7th/cmp-path', + 'hrsh7th/cmp-path', + 'htsh7th/cmp-nvim-lsp-signature-help', }, config = function() -- See `:help cmp` @@ -862,6 +864,7 @@ require('lazy').setup({ { name = 'nvim_lsp' }, { name = 'luasnip' }, { name = 'path' }, + { name = 'nvim_lsp_signature_help' }, }, } end, From 7c49ba1cb7fe761df7ec25d4cbb9d21c0f9552d3 Mon Sep 17 00:00:00 2001 From: Aryan Rajoria <57455619+aryan-rajoria@users.noreply.github.com> Date: Tue, 18 Feb 2025 00:05:15 -0500 Subject: [PATCH 12/15] Fix: fix the cmp-nvim-lsp-signature-help link (#1363) --- init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init.lua b/init.lua index de34808..c8f2dc5 100644 --- a/init.lua +++ b/init.lua @@ -787,7 +787,7 @@ require('lazy').setup({ 'hrsh7th/cmp-nvim-lsp', 'hrsh7th/cmp-path', 'hrsh7th/cmp-path', - 'htsh7th/cmp-nvim-lsp-signature-help', + 'hrsh7th/cmp-nvim-lsp-signature-help', }, config = function() -- See `:help cmp` From e64aa51ef29dfd17bf44711c697f00caff195165 Mon Sep 17 00:00:00 2001 From: Jonas Zeltner Date: Tue, 18 Feb 2025 17:15:13 +0100 Subject: [PATCH 13/15] fix: regression introduced in db78c0b217fd9525e2cbcbffd18abbbbddc75b2e (#1367) --- init.lua | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/init.lua b/init.lua index c8f2dc5..22ee9e4 100644 --- a/init.lua +++ b/init.lua @@ -558,13 +558,26 @@ require('lazy').setup({ -- For example, in C this would take you to the header. map('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') + -- This function resolves a difference between neovim nightly (version 0.11) and stable (version 0.10) + ---@param client vim.lsp.Client + ---@param method vim.lsp.protocol.Method + ---@param bufnr? integer some lsp support methods only in specific files + ---@return boolean + local function client_supports_method(client, method, bufnr) + if vim.fn.has 'nvim-0.11' == 1 then + return client:supports_method(method, bufnr) + else + return client.supports_method(method, { bufnr = bufnr }) + end + end + -- The following two autocommands are used to highlight references of the -- word under your cursor when your cursor rests there for a little while. -- See `:help CursorHold` for information about when this is executed -- -- When you move your cursor, the highlights will be cleared (the second autocommand). local client = vim.lsp.get_client_by_id(event.data.client_id) - if client and client:supports_method(vim.lsp.protocol.Methods.textDocument_documentHighlight) then + if client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_documentHighlight, event.buf) then local highlight_augroup = vim.api.nvim_create_augroup('kickstart-lsp-highlight', { clear = false }) vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { buffer = event.buf, @@ -591,7 +604,7 @@ require('lazy').setup({ -- code, if the language server you are using supports them -- -- This may be unwanted, since they displace some of your code - if client and client:supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint) then + if client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_inlayHint, event.buf) then map('th', function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf }) end, '[T]oggle Inlay [H]ints') From ea60b2b01f3931cb0bb0ab746ccb65107a8c55cd Mon Sep 17 00:00:00 2001 From: Ari Pollak Date: Wed, 19 Feb 2025 09:38:58 -0500 Subject: [PATCH 14/15] Remove duplicate cmp-path (#1369) --- init.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/init.lua b/init.lua index 22ee9e4..40c8f59 100644 --- a/init.lua +++ b/init.lua @@ -799,7 +799,6 @@ require('lazy').setup({ -- into multiple repos for maintenance purposes. 'hrsh7th/cmp-nvim-lsp', 'hrsh7th/cmp-path', - 'hrsh7th/cmp-path', 'hrsh7th/cmp-nvim-lsp-signature-help', }, config = function() From 34e7d29aa7b6e95cf09d62baf4c9082db5b129c0 Mon Sep 17 00:00:00 2001 From: Chris Patti Date: Wed, 19 Feb 2025 09:40:16 -0500 Subject: [PATCH 15/15] Propsed fix for init.lua warnings as per https://github.com/nvim-lua/kickstart.nvim/issues/1305#issuecomment-2657770325 (#1354) --- init.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/init.lua b/init.lua index 40c8f59..5cac3d1 100644 --- a/init.lua +++ b/init.lua @@ -707,6 +707,8 @@ require('lazy').setup({ require('mason-tool-installer').setup { ensure_installed = ensure_installed } require('mason-lspconfig').setup { + ensure_installed = {}, -- explicitly set to an empty table (Kickstart populates installs via mason-tool-installer) + automatic_installation = false, handlers = { function(server_name) local server = servers[server_name] or {}