-
Notifications
You must be signed in to change notification settings - Fork 26.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
conform: autoformat on save only for specified filetypes #694
Conversation
@dam9000 nice! |
@fredrikaverpil right, there are multiple ways to customize the |
dca3a7f
to
3e7f2bb
Compare
I like this idea but honestly have no opinion and don't quite understand what "intensive" means in this context. |
@feoh I said "intrusive" not "intensive". English is not my primary language so maybe the term used was not the best choice although I think it describes my feeling exactly:
By that I mean the situation I was put in - I updated the kickstart config to the newest version (after the rewrite), went to edit my usual source code files and was taken by surprise that they all got reformatted, that was an unexpected and unwelcome change. I don't know if any editor out there enables "reformat on save" by default, that surely has to be something that a person will want to enable explicitly, only after he makes sure that the formatting style matches the expectation. So I first needed to find out what exactly is causing the reformat and then find out a way to limit it to only lua and that resulted in this PR. |
your English is fantastic as always! My reading comprehension was at fault :-) to be honest I haven't been bitten by this yet in personally when I'm programming I really appreciate having my code auto format for me on save but perhaps I'm in the minority. In any case, thank you for your contribution and I'm going to leave this one for others to comment and or possibly act on. |
I think I would rather just link the recipes in the init.lua for people to go explore. I think for starting off, it's nice that it just always applies the LSP formatting if you have an LSP installed. For many languages this is just "the right" choice IMO. What do you think @dam9000 ? |
Maybe it can be nice for when you are starting a project from scratch. But when editing existing code the style will likely not match and if the files are in git then you get a bunch of diffs all over the place. Also some languages such python have a standardized coding style while for C/C++ there are uncounted number of styles and each person (or team) will defend the style that they prefer. So for C and C++ I think this should definitely not be enabled by default. In my view this should be a opt-in as no other editor that I'm aware of has this enabled by default, I checked: sublime, jetbrains, vs, vs code. Also I expect most people trying out Neovim/kickstart will already have some existing projects so let's not take them by surprise with such default behaviour. |
What if we do the reverse, and we make it easy to disable a language (we don't have to populate the list with anything, we can just show them that they would need to add it)? I think this might be a nice middle ground? |
3e7f2bb
to
63d58df
Compare
foce pushed: reversed the logic and add c, cpp to the default disabled filetypes |
local disable_filetypes = { c = true, cpp = true }
return {
timeout_ms = 500,
lsp_fallback = not disable_filetypes[vim.bo[bufnr].filetype],
} |
Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
63d58df
to
ae770ca
Compare
force pushed: changed as suggested, and tested that it works as expected. |
For what it's worth I love this idea :) |
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
* upstream/master: (72 commits) README: wrap long lines (nvim-lua#784) Update README.md (nvim-lua#781) Add nvim-nio as dependency for nvim-dap-ui (nvim-lua#774) Some suggestions and capitalised a few words (nvim-lua#771) feat: add linter plugin (nvim-lua#699) assign table to filetype in lua_ls config comment (nvim-lua#770) README: additional install recipes for various OS (nvim-lua#767) conform: disable autoformat on save for specified filetypes (nvim-lua#694) Update README.md (nvim-lua#763) fix: disable ts indenting for Ruby doc: add note about advanced luasnip features Move friendly snippets to dependencies of LuaSnip (nvim-lua#759) Add <C-b>/<C-f> cmp mapping to scroll cmp docs (nvim-lua#750) doc: add info about timeoutlen (nvim-lua#691) Revert "Use `cmp-nvim-lua` as `nvim-cmp` source for neovim Lua API (nvim-lua#696)" (nvim-lua#755) Use `cmp-nvim-lua` as `nvim-cmp` source for neovim Lua API (nvim-lua#696) Added folke/neodev.nvim for proper nvim api completion and annotation (nvim-lua#754) chore: rename <C-T> to <C-t> for consistency (nvim-lua#719) feat: allow treesitter defaults to be overwritten from custom directory (nvim-lua#732) README.md: update neo-tree example - remove legacy setting (nvim-lua#744) ...
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
commit 5e258d2 Author: Damjan 9000 <damjan.9000@gmail.com> Date: Wed Apr 17 21:25:54 2024 +0200 Move plugin examples from README to optional plugin files (nvim-lua#831) * Move autopairs example from README to an optional plugin * Move neo-tree example from README to an optional plugin commit 5540527 Author: Vladislav Grechannik <52157081+VlaDexa@users.noreply.github.com> Date: Wed Apr 17 20:04:55 2024 +0200 Enable inlay hints for the supporting servers (nvim-lua#843) commit 6d6b3f3 Author: Chris Patti <feoh@feoh.org> Date: Wed Apr 17 14:02:24 2024 -0400 Fix: nvim-lua#847 - add prefer_git to treesitter config (nvim-lua#856) commit fabeb86 Author: Damjan 9000 <damjan.9000@gmail.com> Date: Wed Apr 17 15:59:14 2024 +0200 Comment about nerd font selection. Fixes nvim-lua#853 (nvim-lua#854) commit e2bfa0c Author: rdvm <git@rvm.dev> Date: Tue Apr 16 10:29:27 2024 -0500 Arch, btw (nvim-lua#852) * Arch, btw * Add unzip * Add unzip for Fedora and --needed arg for Arch commit 2377390 Author: Viet <51826956+hoangvietdo@users.noreply.github.com> Date: Tue Apr 9 05:13:22 2024 +0900 Update README (nvim-lua#832) commit c4363e4 Author: Damjan 9000 <damjan.9000@gmail.com> Date: Thu Apr 4 16:31:37 2024 +0200 Add a pull request template (nvim-lua#825) commit 19afab1 Author: Damjan 9000 <damjan.9000@gmail.com> Date: Mon Apr 1 16:36:32 2024 +0200 README: move backup and paths from external deps to install section (nvim-lua#819) commit d605b84 Author: Damjan 9000 <damjan.9000@gmail.com> Date: Mon Apr 1 02:00:11 2024 +0200 Don't lazy load conform plugin (nvim-lua#818) commit 1175f6d Author: Damjan 9000 <damjan.9000@gmail.com> Date: Sun Mar 31 19:36:43 2024 +0200 Add a keymap space-f to format buffer using conform (nvim-lua#817) This works also for visual range selection Copied from conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md commit 93fde05 Author: Chris Patti <feoh@feoh.org> Date: Wed Mar 27 11:22:28 2024 -0400 Add instructions to quit :lazy. Fixes nvim-lua#761 commit 2877a60 Author: Liu Qisheng <81770798+Saplyn@users.noreply.github.com> Date: Wed Mar 27 22:16:48 2024 +0800 fix nvim-lua#799 (nvim-lua#800) Add `'luadoc'`, to the `ensure_installed` of `nvim-treesitter/nvim-treesitter` commit dbba54c Author: Damjan 9000 <damjan.9000@gmail.com> Date: Thu Mar 21 20:47:55 2024 +0100 README: wrap long lines (nvim-lua#784) commit 4c02e29 Author: E <2061889+bozoputer@users.noreply.github.com> Date: Wed Mar 20 14:27:18 2024 -0400 Update README.md (nvim-lua#781) The recommended step of forking the repo coming sequentially after the step instructing users to clone the current repo doesn't make sense. This commit orders the install instructions in a manner that's more logical. commit 773e482 Author: José Miguel Sarasola <alosarjos@gmail.com> Date: Mon Mar 18 22:38:14 2024 +0100 Add nvim-nio as dependency for nvim-dap-ui (nvim-lua#774) It's a dependency now commit 65a5ac4 Author: Togglebit <74262215+togglebyte@users.noreply.github.com> Date: Mon Mar 18 18:35:53 2024 +0100 Some suggestions and capitalised a few words (nvim-lua#771) commit 8e24ca3 Author: Fredrik Averpil <fredrik.averpil@gmail.com> Date: Mon Mar 18 15:00:48 2024 +0100 feat: add linter plugin (nvim-lua#699) commit b81115d Author: Shane Crowley <66971213+edibotopic@users.noreply.github.com> Date: Mon Mar 18 13:57:48 2024 +0000 assign table to filetype in lua_ls config comment (nvim-lua#770) commit a222805 Author: Damjan 9000 <damjan.9000@gmail.com> Date: Sun Mar 17 21:22:58 2024 +0100 README: additional install recipes for various OS (nvim-lua#767) commit ea4335f Author: Damjan 9000 <damjan.9000@gmail.com> Date: Fri Mar 15 21:53:33 2024 +0100 conform: disable autoformat on save for specified filetypes (nvim-lua#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md commit da1271d Author: stgpepper <74211382+stgpepper@users.noreply.github.com> Date: Fri Mar 15 22:51:41 2024 +0200 Update README.md (nvim-lua#763) Added file text to code block for consistency since the other plugin had file also inside code block. commit 7892c0c Author: TJ DeVries <devries.timothyj@gmail.com> Date: Fri Mar 15 11:35:07 2024 -0400 fix: disable ts indenting for Ruby Tree-sitter indenting for ruby is pretty terrible. But the fix requires a few steps, so showed those and documented how you could do that for other languages as well (with the tricky part being the additional_vim_regex_highlighting trick) commit 5ac4b58 Author: TJ DeVries <devries.timothyj@gmail.com> Date: Fri Mar 15 11:18:43 2024 -0400 doc: add note about advanced luasnip features commit 2f494e5 Author: Vladislav Grechannik <52157081+VlaDexa@users.noreply.github.com> Date: Fri Mar 15 15:35:42 2024 +0100 Move friendly snippets to dependencies of LuaSnip (nvim-lua#759) Co-authored-by: TJ DeVries <devries.timothyj@gmail.com> commit 452e3a7 Author: Rafael Zasas <42390827+RafaelZasas@users.noreply.github.com> Date: Fri Mar 15 16:12:41 2024 +0200 Add <C-b>/<C-f> cmp mapping to scroll cmp docs (nvim-lua#750) commit 7715b7c Author: TLW <58749948+TinyLittleWheatley@users.noreply.github.com> Date: Fri Mar 15 17:24:49 2024 +0330 doc: add info about timeoutlen (nvim-lua#691) Add separate comment for `timeoutlen` option `timeoutlen` option was under unrelated comment with `updatetime` option. commit b529bc3 Author: Chris Patti <feoh@feoh.org> Date: Tue Mar 12 18:09:47 2024 -0400 Revert "Use `cmp-nvim-lua` as `nvim-cmp` source for neovim Lua API (nvim-lua#696)" (nvim-lua#755) This reverts commit d8a1dbc. commit d8a1dbc Author: James Karefylakis <jamylak@users.noreply.github.com> Date: Wed Mar 13 08:12:35 2024 +1100 Use `cmp-nvim-lua` as `nvim-cmp` source for neovim Lua API (nvim-lua#696) * Use cmp-nvim-lua as nvim-cmp source for neovim Lua API * Move the dependency to a more suitable place commit 000a5c4 Author: Damjan 9000 <damjan.9000@gmail.com> Date: Tue Mar 12 22:06:12 2024 +0100 Added folke/neodev.nvim for proper nvim api completion and annotation (nvim-lua#754) Fixes nvim-lua#692 `neodev` configures Lua LSP for your Neovim config, runtime and plugins used for completion, annotations and signatures of Neovim apis With neodev, there's no more need to manually set lua_ls workspace settings which don't seem to work properly anyway as currently nvim api completion does not work. commit cb1f16b Author: Chiller Dragon <chillerdragon@gmail.com> Date: Tue Mar 12 07:20:39 2024 +0800 chore: rename <C-T> to <C-t> for consistency (nvim-lua#719) commit c0d6f98 Author: Ryan Baumgardner <26423650+rbaumgardner93@users.noreply.github.com> Date: Mon Mar 11 19:18:45 2024 -0400 feat: allow treesitter defaults to be overwritten from custom directory (nvim-lua#732) commit 8de494f Author: Damjan 9000 <damjan.9000@gmail.com> Date: Mon Mar 11 22:52:18 2024 +0100 README.md: update neo-tree example - remove legacy setting (nvim-lua#744) commit 3cfccc0 Author: name.tar.xz <54463026+name-tar-xz@users.noreply.github.com> Date: Sun Mar 10 01:55:08 2024 +0530 use init for colorscheme (nvim-lua#715) commit 8fae679 Author: Nora Ayesha <160715982+noraayesha@users.noreply.github.com> Date: Sat Mar 9 02:26:32 2024 +0600 Fix typos and whatnot (nvim-lua#731) commit 66e2a5a Author: Damjan 9000 <damjan.9000@gmail.com> Date: Wed Mar 6 17:49:44 2024 +0100 Make the Nerd Font an optional requirement (nvim-lua#716) commit f764b7b Author: Ryan Winchester <ryanwinchester@users.noreply.github.com> Date: Tue Mar 5 21:19:06 2024 -0400 Add more detail to colorscheme comment (nvim-lua#713) commit b83b2b0 Author: Chiller Dragon <chillerdragon@gmail.com> Date: Mon Mar 4 21:47:45 2024 +0800 chore: link new installation youtube video (nvim-lua#678) commit a02abdb Author: Chiller Dragon <chillerdragon@gmail.com> Date: Mon Mar 4 21:47:11 2024 +0800 chore: remove trailing spaces from readme (nvim-lua#679) commit c3127f1 Author: Damjan 9000 <damjan.9000@gmail.com> Date: Mon Mar 4 14:16:50 2024 +0100 Change statusline location to LINE:COLUMN (nvim-lua#689) commit c9122e8 Author: Damjan 9000 <damjan.9000@gmail.com> Date: Mon Mar 4 01:32:06 2024 +0100 fix: checkhealth reported nvim version (nvim-lua#685) commit e6710a4 Author: TJ DeVries <devries.timothyj@gmail.com> Date: Sun Mar 3 03:13:16 2024 -0500 fix: add note in readme for custom plugins commit 23fc4e5 Author: Damjan 9000 <damjan.9000@gmail.com> Date: Sun Mar 3 03:12:55 2024 +0100 README.md: updated windows install instructions (nvim-lua#674) commit b99af2d Author: Taulant Aliraj <tau141@gmail.com> Date: Sun Mar 3 02:07:58 2024 +0000 feat: use VimEnter event instead of VeryLazy (nvim-lua#673) commit 94a9364 Author: Nhan Luu <62146587+nhld@users.noreply.github.com> Date: Sat Mar 2 04:07:34 2024 +0700 chore: fix typos (nvim-lua#666) commit 38828dc Author: Anton Kastritskii <halloy52@gmail.com> Date: Thu Feb 29 18:14:36 2024 +0000 feat: enable lua lsp snipppets (nvim-lua#660) commit b58666d Author: TJ DeVries <devries.timothyj@gmail.com> Date: Thu Feb 29 12:08:01 2024 -0500 fixup: updated some style stuff commit 465d6f2 Author: Damjan 9000 <damjan.9000@gmail.com> Date: Wed Feb 28 19:23:13 2024 +0100 Change mini.statusline location format to LINE:COLUMN (nvim-lua#659) Default mini.statusline location format is: 'cursor line | total lines │ cursor column | total columns' commit 18b919c Author: brxxlstxrs <92815065+brxxlstxrs@users.noreply.github.com> Date: Tue Feb 27 21:08:37 2024 +0300 add plugin specs docstring, remove lazy.nvim configuration (empty) table (nvim-lua#652) commit af4fd23 Author: TJ DeVries <devries.timothyj@gmail.com> Date: Mon Feb 26 10:46:31 2024 -0500 fixup: change comment to reflect auto_install commit 1c89b02 Author: TJ DeVries <devries.timothyj@gmail.com> Date: Mon Feb 26 10:45:32 2024 -0500 fixup: add autocommand link for help and description commit 8b5d48a Author: TJ DeVries <devries.timothyj@gmail.com> Date: Mon Feb 26 10:03:53 2024 -0500 rewrite: slimmer, trimmer and more lazy kickstart.nvim (nvim-lua#635) We've removed over 1/3 of the code that was in kickstart previously, and more than doubled the amount of comments explaining every line of code (to the best of my ability). kickstart now properly uses many of the lazy.nvim config and loading idioms, which should be really helpful for people moving both to modular configs, as well as extending the kickstart config in one file. Additional features: - Beautiful ascii art - Added some documentation that explains what is an LSP, what is telescope, etc - There is now a `:checkhealth` for kickstart, which checks some basic information and adds useful information for maintainers (for people cloning the repo). - Improved LSP configuration and tool installation, for easier first time startup - Changed init.lua ordering, so that it moves from simple options to complicated config ``` ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- Lua 1 108 404 298 ------------------------------------------------------------------------------- ``` commit 7af594f Author: rgarber11 <rg.1029384756@gmail.com> Date: Mon Feb 5 13:49:19 2024 -0500 Add Build Step to LuaSnip (nvim-lua#611) commit 5d2d81b Author: Chris Patti <feoh@feoh.org> Date: Sat Feb 3 19:15:25 2024 -0500 Fixes nvim-lua#607. Add hints for new neovim users to learn how to learn. (nvim-lua#615) commit bc4ad12 Author: Micah Effiong <52747707+micaiah-effiong@users.noreply.github.com> Date: Fri Feb 2 21:24:46 2024 +0100 feat: added contexts for code action - source fix-all errors (nvim-lua#599) * feat: added contexts for code action - source fix-all errors * fix: resolve stylua checks * fix: resolve stylua checks commit c3ae716 Author: Damjan 9000 <damjan.9000@gmail.com> Date: Thu Feb 1 17:01:46 2024 +0100 issue: nvim-lua#594 stylua workflow only on official kickstart repo (nvim-lua#609) Only run the github stylua workflow check on the official kickstart repo (nvim-lua/kickstart.nvim) so that it's not enforced on any other forks. As suggested by: @zwergius commit b115814 Author: Nazar <63452145+Tokarak@users.noreply.github.com> Date: Mon Jan 29 18:52:50 2024 +0000 Add Onedark Style (nvim-lua#590) * Add style options to Onedark setup (init.lua) * stylua init.lua * Load onedark through `require` * Improve commenting commit deaafcf Author: Victor Bertin <83238030+v-bertin@users.noreply.github.com> Date: Mon Jan 29 13:48:14 2024 +0100 Set status line theme to the global colorscheme (nvim-lua#600)
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
Fixed spelling error and missing marker Removes extra space between "- Annotation" -> "-Annotation" Fix typo in help reference Disable telemetry for sumneko lua lsp Remove reference to wiki that doesn't exist Closes nvim-lua#3 Don't pass args to vim.lsp.buf.format/formatting Args passed by nvim_buf_create_user_command to the callback creates errors with rust-analyzer on nvim 0.7.x and vim.lsp.buf.formatting. Move Telescope from master to 0.1.x branch Follow Telescope's README suggestion and use 0.1.x branch instead of master Added cpp to treesitter and ordered TS imports Replace nvim-lsp-installer with mason.nvim fix nvim-treesitter-textobjects install warning Update README.md Use links to tagged releases rather than hardcoding 0.x and having to change it every few months. Fix markdownlint errors and some spelling, like using the official 'Neovim', not 'neovim'. lsp.update_ is deprecated fix: syntax highlights tree-sitter - `navarasu/onedark.nvim` support both API TS* and the new one @* - `mjlbach/onedark.nvim` is archived and not support new syntax reformat to reduce merge conflicts and add fidget Add optional packer plugins hook (nvim-lua#20) * Add optional packer plugins hook * Provide help in README and simplify module * Fix spelling and tweak verbiage about after/plugin Update the amount of SLOC in README (nvim-lua#35) Looks like the project has grown a tad bit :sweat Enable parameter text objects (nvim-lua#36) This seems like a natural addition. In classic Vim, I used to use https://github.com/b4winckler/vim-angry for this. add more explicit note about latest versions of nvim enh(treesitter): add help into ensure_installed (nvim-lua#39) closes nvim-lua#38 fixup: add gitignore and style small changes to default mappings (nvim-lua#41) Closes nvim-lua#46 note: tell people to remove languages they arent going to use Fix error on Windows when space in install path (nvim-lua#64) fix: don't check third party for Lua LSP (nvim-lua#57) * fix: don't check third party for Lua LSP Co-authored-by: Sean <44933921+seantwie03@users.noreply.github.com> Co-authored-by: TJ DeVries <devries.timothyj@gmail.com> Co-authored-by: Sean <44933921+seantwie03@users.noreply.github.com> Update issue templates (nvim-lua#72) Update intstructions for existing nvim setups (nvim-lua#65) * Update intstructions for existing nvim setups If you already had a nvim setup, then this makes it so that the kickstarter can work without a problem. Having that file exist and loaded with plugins gives the script many issues. Also better to have it be a shell command rather than have the script delete a bunch of files on your computer. remove python indent: closes nvim-lua#78 move server config to easy to extend style (nvim-lua#71) Move servers to new configuration style. I will probably cover this in a new shorter video, or maybe in combination with something else. This should hopefully remove getting so many people making issues about LSPs that they don't want to. I can update documentation if what is happening is not clear. Adding cmake documentation to README.md (nvim-lua#85) Prevent multiple language servers from being spawned after every file save of init.lua (nvim-lua#96) * Prevent multiple language servers from being spawned Prevent multiple language servers from being spawned after every save of init.lua, which eventually leads to high RAM usage and system freeze. * Supress error messages add `silent!` in case of error message when nvim-lspconfig is not installed added vim to tree-sitter's ensured installed list (nvim-lua#110) please refer to nvim-treesitter/nvim-treesitter#3092 Add windows init lua location (nvim-lua#121) * feat: add init.lua location fir Windows * feat: more specific number of lines feat: move to lazy.nvim package manager and add first plugins (nvim-lua#178) Closes nvim-lua#175 Closes nvim-lua#177 Closes nvim-lua#173 Closes nvim-lua#169 Closes nvim-lua#161 Closes nvim-lua#144 Closes nvim-lua#138 Fixes nvim-lua#136 Closes nvim-lua#137 Closes nvim-lua#131 Closes nvim-lua#117 Closes nvim-lua#130 Closes nvim-lua#115 Closes nvim-lua#86 Closes nvim-lua#105 Closes nvim-lua#70 Fixes nvim-lua#176 Fixes nvim-lua#174 Fixes nvim-lua#160 Fixes nvim-lua#158 feat: Add clipboard sync by default (nvim-lua#166) docs: change telescope fzf native to lazy syntax (nvim-lua#185) Update instructions for neo-tree set up (nvim-lua#200) For me, setting this variable in the config function didn't work. Putting it outside the return block did the trick. added descriptions to Diagnostic keymaps (nvim-lua#191) * Update init.lua * Update init.lua help treesitter module has been renamed to vimdoc in master (nvim-lua#248) fix: use :TSInstall on build with nvim-treesitter (nvim-lua#261) mason nvim dap 2.0 removed setup_handlers() (nvim-lua#258) minor modifications on the issue template (nvim-lua#244) * use real markdown headers for section titles * add a newline after the initial comment for readability * make hint indications comments Correct command for neo-tree (nvim-lua#216) fix: move the Mason setup time forward from before (nvim-lua#210) This commit fix the Mason [nvim-lua#1045](williamboman/mason.nvim#1045) issue. Quickly set up Mason to avoid DAP-related startup error messages. Fix typo "documention" into "documentation" (nvim-lua#209) Dapui.toggle is added setup a standard binding for searching git files using telescope Added disconnect emoji for nvim-dap-ui Update README.md Update README.md Update README.md Should fix the win paths I fear adding bits like "Your paths may differ, these are just for reference." but the core behind the kickstart is getting "noobs" past big hurdles fast. This however means things need to be super spoon fed or basic things like not understanding relative paths and such might end up right where things started...ambiguous to some user instructions because they don't understand they need to know certain things because this is supposed to help them bypass knowing that for now...and the snake eats its tail. :) Fixed Windows style path for home Hmmm Tested on a win10VM for location and such because I remembered %appdata% should be a thing but it's the wrong location and the win MSI creates nvim-data rather than just nvim. Then I noticed my previous changes weren't all saved...so here I go again heh. Update README.md ARG! My browser should not be caching yet github seems to fight some changes. I'm also still unable to see why the formatting (line height) differs between the Archive Install section and the Git Clone Install section. Hopefully this will at least save the correct changes to the Win stuff. Update README.md Tiny wording changes I requested from nvim-lua#283 corrected git clone command Add <C-n>, <C-p> mappings to nvim-cmp setup Udated tree sitter to use latest release branch change luasnip tab jumping to locally jumpable add local jumping to shift tab Adding [+c and ]+c to move to diffs and leader+ph to show a pop up with the preview diff value. Feat: Simplifying code FIX: Updating command description. Added friendly snippet support refact: stylua Update README.md Fix for nvim-lua#314 - there's no -data at the end of the nvim dir. refact: add cmp comments, other refact: remove after/ reference in readme, other clean-up items fix(docs): update windows path to a correct folder Update README.md fix(docs): whoops missed another instance of `nvim-data` FIX: Conflict with vimdiff keybinding Refactor theme and status line into their own file Revert "Refactor theme and status line into their own file" This reverts commit cdaa750. Fixes nvim-lua#336 - Enabale treesitter indent for Python Tested in my local configuratoin. Indenting works great. Add legacy tag to fidget to avoid deprecation warning Fix typo in ignorecase comment In order to perform a case-sensitive search with ignorecase, the pattern should contain `\C` instead of `/C`. Add descriptions for debugging keybindings. Add descriptions for debugging key bindings. Improve formatting by changing double quotes to single quotes in order to keep compatibility with the rest of the kickstart.nvim project. Use call_parentheses correct typo Hey y'all 👋 I think there may have been a typo? Make init.lua copy-paste friendly docs: Update README.md 📚 Remove timeout Add hint to uncomment line to autodetect plugins Remove fixed line number and describe line setup more language servers i use + allow customizing filetypes Fix bug when server not explicitely defined in configuration but installed Fix typo in init.lua releated -> related fix(init): turn telescope-fzf-native into a dependecy fix: fix brackets fix: missing comma Update init.lua added a URL to the lua-guide may help others who miss the :help lua-guide Fix typo in README.md treesitter: ensure 'javascript' installed along with typescript and tsx This parser is actually needed for some *JSX* parsing, and since typescript and tsx are already getting installed, it makes sense to also install the javascript parser. Add telescope search resume key binding Revert gitsigns keymaps but fix vimdiff and fugitive conflict Originally, the keymaps for jumping to next and previous git hunks were ]c and [c. This was changed in nvim-lua#323 (83b65a1) because they overwrote the built-in vimdiff keymaps. However, the more traditional solution is to have ]c and [c *extend* the built-in keymap. This is what fugitive and gitgutter have been doing for years. Gitsigns doesn't do this by itself, but it has a recommended keymap configuration on which the present patch is based: https://github.com/lewis6991/gitsigns.nvim#keymaps The only thing I've added is to have the keymaps work in visual mode as well, which is the same behavior as the built in vimdiff keymaps. Use telescope for goto implementation Update init.lua Fix typo in original. Co-authored-by: Luis G Estrades <luisgarciaestrades@gmail.com> docs: restructure README docs: remove archive installation Remove extra "r" Search Resume description Remove lazy-lock.json from .gitignore fix(init.lua): indent blankline v3 setup fix: fix indent-blankline config Add documentation for custom which-key groups Fix git clone instruction - separate code blocks for Windows and UNIX. Defer Treesitter setup to improve startup time of nvim {filename} Fix Mason setup issue and run stylua. Move mason setup up further This helps if a user needs to find a mason executable remove spaces in empty lines docs: fix misstype on README.md Fix bash errors Fix help for indent-blankline plugin Since version 3 `:help indent_blankline` no longer works. Replace it with `:help ibl`. feat(lsp): use Telescope builtin functions for LSP definition and type definition Update README Post Installation steps Change the recommendation to just run nvim normally instead of the headless mode for the first run. This will show Lazy UI updating the plugins which would match what the video show and may be easier to understand what is going on thant the silent headless run. README.md: add a note about NVIM_APPNAME in the FAQ section README.md: Added a FAQ: why is init.lua a single file Update README.md Added information on where to install if you use Powershell in windows. Since CMD and Powershell work differently. `%userprofile%` only works for the CMD application. `$env:USERPROFILE` works in Powershell. add Telescope live_grep on Git root change keymap to not disrupt existing users of Search by Grep Live Grep from Git root falls back to cwd on special buffers init.lua: move diagnostic keymaps together with other keymaps init.lua: minor edits of section comments for consistency fix(auto-completion): ensure first menu item is selected by default init.lua: remove 'legacy' tag from fidget.nvim option to reduce noisy Lua_LS's missing-fields warnings (nvim-lua#511) Update README.md (nvim-lua#520) README.md: update install section formatting (nvim-lua#523) Use alias instead of a wrapper script (nvim-lua#524) It is much easier to stick an alias statement in `~/.{z,ba}shrc` than create a script, invoke another instance of interpreter and then run neovim Add a github action on pull request to check lua formatting (nvim-lua#526) GitHub Action used: https://github.com/marketplace/actions/stylua This runs `stylua --check` on a PR and it will show success or failure. The suggested stylua changes can be inspected when clicking on the details. The PR can still be merged even if the check fails. Run stylua (nvim-lua#525) Add gitsigns recommended keymaps (nvim-lua#531) * Import gitsigns README.md recommended keymaps (and apply stylua) the previously added visual mode for ]c [c is kept. * Add gitsigns keymap descriptions Adds two essential telescope keymaps (nvim-lua#528) * Added keymap for select Telescope picker * Added keymap for search in all open files feat(cmp): path completion feature (nvim-lua#536) Switch cmp up mapping from C-d to C-b to match regular vim up key (nvim-lua#549) fix: restore mason config timing for dap startup (nvim-lua#555) Co-authored-by: John Pekcan <john.pekcan@epicgames.com> Move video up on the README.md page (nvim-lua#563) To help new users get started, how about moving the video link ("Effective Neovim: Instant IDE ") right after "Post Installation"? This way new users, can install it, and right away proceed to learn how to use it. Improve stylua github workflow (nvim-lua#571) Addressing issue nvim-lua#570 This improves the github workflow to no longer require manual approval for PRs from first time contributors. Changes the github event from pull_request to pull_request_target and adds an explicit PR head checkout Add Missing Fields to Treesitter Config to Resolve Warnings (nvim-lua#582) This commit introduces three additional fields - `sync_install`, `ignore_install`, and `modules` - to the Treesitter configuration. This update is aimed at resolving warnings that were previously displayed, potentially causing confusion or frustration for new users of Neovim. By explicitly defining these fields, the configuration aligns better with the latest `nvim-treesitter` requirements. README.md: rename the duplicate "Introduction" to "Getting Started" (nvim-lua#572) Changing this second "Introduction" heading to "Getting Started" The recent change in README which moved the youtube link from FAQ to it's own section used the heading "Introduction" which is already the first heading in the file. Removed duplicate line (nvim-lua#583) Set status line theme to the global colorscheme (nvim-lua#600) Add Onedark Style (nvim-lua#590) * Add style options to Onedark setup (init.lua) * stylua init.lua * Load onedark through `require` * Improve commenting issue: nvim-lua#594 stylua workflow only on official kickstart repo (nvim-lua#609) Only run the github stylua workflow check on the official kickstart repo (nvim-lua/kickstart.nvim) so that it's not enforced on any other forks. As suggested by: @zwergius feat: added contexts for code action - source fix-all errors (nvim-lua#599) * feat: added contexts for code action - source fix-all errors * fix: resolve stylua checks * fix: resolve stylua checks Fixes nvim-lua#607. Add hints for new neovim users to learn how to learn. (nvim-lua#615) Add Build Step to LuaSnip (nvim-lua#611) rewrite: slimmer, trimmer and more lazy kickstart.nvim (nvim-lua#635) We've removed over 1/3 of the code that was in kickstart previously, and more than doubled the amount of comments explaining every line of code (to the best of my ability). kickstart now properly uses many of the lazy.nvim config and loading idioms, which should be really helpful for people moving both to modular configs, as well as extending the kickstart config in one file. Additional features: - Beautiful ascii art - Added some documentation that explains what is an LSP, what is telescope, etc - There is now a `:checkhealth` for kickstart, which checks some basic information and adds useful information for maintainers (for people cloning the repo). - Improved LSP configuration and tool installation, for easier first time startup - Changed init.lua ordering, so that it moves from simple options to complicated config ``` ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- Lua 1 108 404 298 ------------------------------------------------------------------------------- ``` fixup: add autocommand link for help and description fixup: change comment to reflect auto_install add plugin specs docstring, remove lazy.nvim configuration (empty) table (nvim-lua#652) Change mini.statusline location format to LINE:COLUMN (nvim-lua#659) Default mini.statusline location format is: 'cursor line | total lines │ cursor column | total columns' fixup: updated some style stuff feat: enable lua lsp snipppets (nvim-lua#660) chore: fix typos (nvim-lua#666) feat: use VimEnter event instead of VeryLazy (nvim-lua#673) README.md: updated windows install instructions (nvim-lua#674) fix: add note in readme for custom plugins fix: checkhealth reported nvim version (nvim-lua#685) Change statusline location to LINE:COLUMN (nvim-lua#689) chore: remove trailing spaces from readme (nvim-lua#679) chore: link new installation youtube video (nvim-lua#678) Add more detail to colorscheme comment (nvim-lua#713) Make the Nerd Font an optional requirement (nvim-lua#716) Fix typos and whatnot (nvim-lua#731) use init for colorscheme (nvim-lua#715) README.md: update neo-tree example - remove legacy setting (nvim-lua#744) feat: allow treesitter defaults to be overwritten from custom directory (nvim-lua#732) chore: rename <C-T> to <C-t> for consistency (nvim-lua#719) Added folke/neodev.nvim for proper nvim api completion and annotation (nvim-lua#754) Fixes nvim-lua#692 `neodev` configures Lua LSP for your Neovim config, runtime and plugins used for completion, annotations and signatures of Neovim apis With neodev, there's no more need to manually set lua_ls workspace settings which don't seem to work properly anyway as currently nvim api completion does not work. Use `cmp-nvim-lua` as `nvim-cmp` source for neovim Lua API (nvim-lua#696) * Use cmp-nvim-lua as nvim-cmp source for neovim Lua API * Move the dependency to a more suitable place Revert "Use `cmp-nvim-lua` as `nvim-cmp` source for neovim Lua API (nvim-lua#696)" (nvim-lua#755) This reverts commit d8a1dbc. doc: add info about timeoutlen (nvim-lua#691) Add separate comment for `timeoutlen` option `timeoutlen` option was under unrelated comment with `updatetime` option. Add <C-b>/<C-f> cmp mapping to scroll cmp docs (nvim-lua#750) Move friendly snippets to dependencies of LuaSnip (nvim-lua#759) Co-authored-by: TJ DeVries <devries.timothyj@gmail.com> doc: add note about advanced luasnip features fix: disable ts indenting for Ruby Tree-sitter indenting for ruby is pretty terrible. But the fix requires a few steps, so showed those and documented how you could do that for other languages as well (with the tricky part being the additional_vim_regex_highlighting trick) Update README.md (nvim-lua#763) Added file text to code block for consistency since the other plugin had file also inside code block. conform: disable autoformat on save for specified filetypes (nvim-lua#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md README: additional install recipes for various OS (nvim-lua#767) assign table to filetype in lua_ls config comment (nvim-lua#770) feat: add linter plugin (nvim-lua#699) Some suggestions and capitalised a few words (nvim-lua#771) Add nvim-nio as dependency for nvim-dap-ui (nvim-lua#774) It's a dependency now Update README.md (nvim-lua#781) The recommended step of forking the repo coming sequentially after the step instructing users to clone the current repo doesn't make sense. This commit orders the install instructions in a manner that's more logical. README: wrap long lines (nvim-lua#784) fix nvim-lua#799 (nvim-lua#800) Add `'luadoc'`, to the `ensure_installed` of `nvim-treesitter/nvim-treesitter` Add instructions to quit :lazy. Fixes nvim-lua#761 Add a keymap space-f to format buffer using conform (nvim-lua#817) This works also for visual range selection Copied from conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md Don't lazy load conform plugin (nvim-lua#818) README: move backup and paths from external deps to install section (nvim-lua#819) Add a pull request template (nvim-lua#825) Update README (nvim-lua#832) Arch, btw (nvim-lua#852) * Arch, btw * Add unzip * Add unzip for Fedora and --needed arg for Arch Comment about nerd font selection. Fixes nvim-lua#853 (nvim-lua#854) Fix: nvim-lua#847 - add prefer_git to treesitter config (nvim-lua#856) Enable inlay hints for the supporting servers (nvim-lua#843) Move plugin examples from README to optional plugin files (nvim-lua#831) * Move autopairs example from README to an optional plugin * Move neo-tree example from README to an optional plugin Add gitsigns recommended keymaps as an optional plugin (nvim-lua#858) fix: restore Mason config timing for DAP startup (again) (nvim-lua#865) Update README.md (nvim-lua#860) Attempted fix for nvim-lua#859, provide reasonable Debian install instructions -- comment on GitHub issue with refinement. Minor improvements of debian install instructions. Fixes nvim-lua#859 (nvim-lua#869) Add a commented out example of the classic complete keymaps. Fixes nvim-lua#866 (nvim-lua#868) Fix deprecation notice of inlay hints (nvim-lua#873) Fix highlight errors when lsp crash or stop (nvim-lua#864) * Fix highlight errors when lsp crash or stop It adds a check wether the client is still available before highlighting. If the client is not there anymore it returns `true` to unregister the autocommand This fix the `method textDocument/documentHighlight is not supported by any of the servers registered for the current buffer` errors when doing a LspRestart or the server crashes * Delete the highlight autocommands in the LspDetatch event * Only delete autocmds for the current buffer with the group name * Simplify clearing the autocommands --------- Co-authored-by: Francis Belanger <francis.belanger@ubisoft.com> fix: highlight group clear on each attach (nvim-lua#874) Update README.md (nvim-lua#875) Line 102. Placed 'also' before the 'includes'. "That includes also examples of adding popularly requested plugins." ---> "That also includes examples of adding popularly requested plugins." README: add clipboard tool dependency (nvim-lua#886) Fixes: nvim-lua#884 Neovim requires an external tool for proper system clipboard integration. Some systems install this already by default: - on Fedora xsel is already installed by default - on Windows using the choko install the win32yank is alredy installed This is not installed by default on ubuntu or debian so adding that to the dependencies list and to the install instructions snippets. Move LspDetach handler near kickstart-lsp-highlight group (nvim-lua#900) Moved to make sure the kickstart-lsp-highlight group exists when the LspDetach handler is invoked. The LspDetach handler is used to clean up any lsp highlights that were enabled by CursorHold if the LSP is stopped or crashed. Add diff to treesitter's ensure_installed languages (nvim-lua#908) fix: debug.lua (nvim-lua#918) Automatically set detached state as needed. (nvim-lua#925) * Automatically set detached state as needed. * Use vim.fn.has instead. * Fix int vs bool.
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
…#694) Provide a method to disable autoformat on save lsp fallback for specified filetypes. By default disable for C/C++ as an example, because it does not have a well standardized coding style. Based on conform recipe: https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
Fixes: #686
Enable the autoformat on save only for specified filetypes.
By default this is only for lua, similar as LSP is by default only enabled for lua.
Based on conform recipe:
https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
In my view having the autoformat on save enabled by default for all filetypes is a bit too intrusive, hence this PR.