Skip to content

Commit 209fe21

Browse files
gingersamidam9000ChillerDragonryanwinchesterNora Ayesha
authored
Pr (#4)
* 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 <[email protected]> * 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 <[email protected]> * 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. * which-key v3 update (nvim-lua#1022) * which-key v3 update * remove unneeded brackets from which-key registration * fix(lazy): added error handling for bootstrap (nvim-lua#1001) * fix: add required parsers from nvim-treesitter * Fix neo-tree keymap description (nvim-lua#932) The lazy.nvim keys parameter does not need the `desc` to be inside a table in the way that vim.keymap.set() does. With this fix the keymap description will be properly shown for example in telescope keymap search * Remove redundant require (nvim-lua#959) * Make debug lazy loadable (nvim-lua#978) * Update README.md | %userprofile%\appdata\local -> %localappdata% (nvim-lua#963) - Replace `%userprofile%\AppData\Local\nvim\` and `$env:USERPROFILE\AppData\Local\nvim` to `%localappdata%\nvim` and `$env:LOCALAPPDATA\nvim respectfully` * Make conform.nvim be lazy-loadable again (nvim-lua#977) The PR that disabled lazy loading (nvim-lua#818) was to fix plugin not being loaded before write. This sets up lazy to load conform before write. * Fix comment about mini.ai example (nvim-lua#985) This example wasn't using `'` so this makes more sense * Neovim 0.10 updates (nvim-lua#936) * Neovim 0.10 updates Provide the buffer for which to enable inlay hints Co-authored-by: Matt Mirus <[email protected]> * refactor: replace vim.loop with vim.uv * Upgrade folke/neodev (sunsetting) to folke/lazydev * Update checkhealth for 0.10 release --------- Co-authored-by: Matt Mirus <[email protected]> Co-authored-by: mrr11k <[email protected]> Co-authored-by: Seb Tomasini <[email protected]> * Update lazydev config to fix "Undefined field `fs_stat`" LSP error (nvim-lua#1040) 7513ec8 switched from neodev to lazydev, but in the process it introduced an LSP error in `init.lua`, which degrades the desired "first timer" experience of kickstart.nvim. This commit follows the configuration suggested in https://github.com/folke/lazydev.nvim/tree/6184ebbbc8045d70077659b7d30c705a588dc62f#-installation which resolves the LSP error. * lint: fix lsp warning in `vim.lsp.inlay_hint.is_enabled` (nvim-lua#947) * fix: lsp warning * review suggestion Co-authored-by: Tom Kuson <[email protected]> --------- Co-authored-by: Tom Kuson <[email protected]> * Update comment about the toggle inlay hints keymap (nvim-lua#1041) * Remove redundant hlsearch option (nvim-lua#1058) * Modify conform comments to prevent deprecation warning when used (nvim-lua#1057) * refactor: remove lazydev and luvit-meta as lsp dependencies (nvim-lua#1047) * performance: defer clipboard because xsel and pbcopy can be slow (nvim-lua#1049) * Remove treesitter prefer_git option (nvim-lua#1061) - It's not safe and can corrupt other git repos - nvim-treesiter maintainers consider `prefer_git` as deprecated and no longer needed. See nvim-treesitter PR for details: nvim-treesitter/nvim-treesitter#6959 * Add explicit dependency of nvim-lspconfig on cmp-nvim-lsp (nvim-lua#1042) * Update README.md (nvim-lua#1091) * Add note in README about lazy-lock.json (nvim-lua#1090) * Check for loop or uv for lazypath (nvim-lua#1095) * refactor: update treesitter and which-key config (nvim-lua#1068) * Include visual mode in LSP code action keymap (nvim-lua#1060) (nvim-lua#1064) * Enable silent option for default neo-tree plugin keybinding (nvim-lua#1108) * Fix: updated the windows installation commands (nvim-lua#1101) * Update README.md * Update README.md * Fix: updated the windows installation commands * fix: remove deprecated opt for conform.nvim (nvim-lua#1070) - changed lsp_fallback -> lsp_format - updated format_on_save function to reflect change above * cleanup: refactor which-key configuration for cleaner setup (nvim-lua#1102) - Moved `which-key` configuration from inline `config` to `opts` for better organization. - Updated the key mappings setup to use `spec` for defining existing key chains. - Removed deprecated or unnecessary comments and code. This change aligns with updated `which-key` configuration practices, improving readability and maintainability as recommended by @VlaDexa in nvim-lua#1068. * Fix the which-key spec issue caused by recent cleanup (nvim-lua#1113) The recent cleanup accidentally broke the leader key specs because the spec block was in the wrong level of braces. That resulted in which-key no longer showing the description of the <leader> key chains such as [S]earch and others. * feat: update references of tsserver to ts_ls (nvim-lua#1131) * fix: update lazy uninstall information link (nvim-lua#1148) * Disable linting autocmd for readonly buffers (nvim-lua#1202) * Disable linting autocmd for readonly buffers This should avoid linting in buffers outside of the user's control, having in mind especially the handy LSP pop-ups that describe your hovered symbol using markdown. Co-authored-by: Robin Gruyters <[email protected]> * Justify guarding try_lint in readonly buffers Co-authored-by: Robin Gruyters <[email protected]> --------- Co-authored-by: Robin Gruyters <[email protected]> * samarth-nagar fix: lazy help tag on line 931 (nvim-lua#1167) * samarth-nagar fix: lazy help tag on line 931 found in issue nvim-lua#1152 * fixed white space --------- Co-authored-by: sam <[email protected]> * Change diagnostic symbols if vim.g.have_nerd_font is true (nvim-lua#1195) * feat: Change diagnostic symbols if vim.g.have_nerd_font is true * feat: Comment out changes regarding diagnostic symbols so that only those who want to change them can do so --------- Co-authored-by: name <email> * Set breakpoint icons and their highlight colors (nvim-lua#1194) * feat: Set breakpoint icons and their highlight colors * docs: Delete reference URL (written in PR) feat: "Break" and "Stop" arguments of vim.api.nvim_set_hl are changed because they are too common nouns feat: Comment out changes regarding diagnostic symbols so that only those who want to change them can do so --------- Co-authored-by: name <email> * Remove two because there are more than two. (nvim-lua#1213) * feat: Change to prepare for upcoming deprecation of configuring diagnostic-signs using sign_define() (nvim-lua#1232) * Fix nvim-dap not lazy loading (nvim-lua#1216) * Fix nvim-dap not lazy loading The keys property had local variables 'dap' and 'dap-ui' that used `require` and prevented all DAP related plugins from lazy-loading. Fixed this by changing keys to a table and substituting the local variables with a lamba function * Make debug keybind descriptions more consistent * fix: which-key comment typo (nvim-lua#1227) * Tweak outdated comment about lazy's `config` key usage. (nvim-lua#1250) Remove outdated comment describing use of `config` key, replacing with corrected `opt` key note. Fixes nvim-lua#1249 * Use consistent syntax style for { ... } "pseudocode" (nvim-lua#1247) ``` require('gitsigns').setup({ ... }) ``` This was the first occurrence It may be nice to have the same style everywhere Cosmetic change (just to make docs/comments even more perfect) * Issue 1249 which key comments (nvim-lua#1263) * Tweak outdated comment about lazy's `config` key usage. Remove outdated comment describing use of `config` key, replacing with corrected `opt` key note. Fixes nvim-lua#1249 * fix typo opt -> opts Fixes nvim-lua#1250 * fix(gitsigns): make visual mode descriptions consistent with normal mode (nvim-lua#1266) * Fix README.md grammar and typos (nvim-lua#1291) * chore: add pre-issue requirements (nvim-lua#1288) * chore: add pre-issue requirements Based on nvim-lua#1285 * docs: add header about documentation Based on nvim-lua#1285 * Fix which-key delay settings (nvim-lua#1276) The which-key plugin used to rely on vim.opt.timeoutlen, but it was updated a few months ago to use its own opt.delay instead. https://github.com/folke/which-key.nvim/blob/8ab96b38a2530eacba5be717f52e04601eb59326/NEWS.md?plain=1#L10 I set which-key's delay to 0 ms because it makes it feel snappy and responsive! That way, we give new users a good first impression. * fix: prevent mason setup from being run twice (nvim-lua#1298) * fix: prevent mason setup from being run twice Addresses nvim-lua#1297 Currently, we're calling `require('mason').setup(...)` twice: * once when setting it as a dependency of `nvim-lspconfig` (since we set `config = true`) * once in the `config` function we define for `nvim-lspconfig` Calling setup twice can cause issues with, e.g., setting the `PATH` option: you might append Mason's bin dir in one setup call and prepend it in the other. We've kept the setup of `mason` in the `nvim-lspconfig` dependencies table since leaving it to the `config` function caused some plugin-loading-order related issues in the past. See: * nvim-lua#210 * nvim-lua#554 * nvim-lua#555 * nvim-lua#865 * docs: tweak comments per review feedback * chore: remove redundant comment (nvim-lua#1307) * chore: fix typo in bug report issue template (nvim-lua#1306) * Use luals 3rd library for luv (nvim-lua#1303) * chore(docs): Update README.md (nvim-lua#1344) Neovim has renamed the "linux64" binary to "linux-x86_64". * docs: clarify using opts = {} vs config = function() ... require('plu… (nvim-lua#1316) * 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 * fix (nvim-lua#1319): gitsigns deprecated functions (nvim-lua#1321) - This commit change two functions that are marked as deprecated now: `gitsigns.stage_hunk` and `gitsigns.toggle_deleted` * Add a blurb about installing missing emoji on Ubuntu Right next to the nerdfonts blurb as requested. * fix: arguments for the `vim.lsp.Client.supports_method` method (nvim-lua#1356) * feat(diagnostic): add diagnostic config (nvim-lua#1335) Co-authored-by: gelocraft <[email protected]> * perf: load tokyonight.nvim in the intended way (nvim-lua#1360) Fixes nvim-lua#1357 * feat: add basic function signature help (nvim-lua#1358) * feat: add basic function signature help * Update init.lua Co-authored-by: makeworld <[email protected]> --------- Co-authored-by: makeworld <[email protected]> * Fix: fix the cmp-nvim-lsp-signature-help link (nvim-lua#1363) * fix: regression introduced in db78c0b (nvim-lua#1367) * Remove duplicate cmp-path (nvim-lua#1369) * Propsed fix for init.lua warnings as per nvim-lua#1305 (comment) (nvim-lua#1354) --------- Co-authored-by: Damjan 9000 <[email protected]> Co-authored-by: Chiller Dragon <[email protected]> Co-authored-by: Ryan Winchester <[email protected]> Co-authored-by: Nora Ayesha <[email protected]> Co-authored-by: name.tar.xz <[email protected]> Co-authored-by: Ryan Baumgardner <[email protected]> Co-authored-by: James Karefylakis <[email protected]> Co-authored-by: Chris Patti <[email protected]> Co-authored-by: TLW <[email protected]> Co-authored-by: Rafael Zasas <[email protected]> Co-authored-by: Vladislav Grechannik <[email protected]> Co-authored-by: TJ DeVries <[email protected]> Co-authored-by: stgpepper <[email protected]> Co-authored-by: Shane Crowley <[email protected]> Co-authored-by: Fredrik Averpil <[email protected]> Co-authored-by: Togglebit <[email protected]> Co-authored-by: José Miguel Sarasola <[email protected]> Co-authored-by: E <[email protected]> Co-authored-by: Liu Qisheng <[email protected]> Co-authored-by: Viet <[email protected]> Co-authored-by: rdvm <[email protected]> Co-authored-by: GameFuzzy <[email protected]> Co-authored-by: Evan Carroll <[email protected]> Co-authored-by: Francis Belanger <[email protected]> Co-authored-by: Francis Belanger <[email protected]> Co-authored-by: Adolfo Gante <[email protected]> Co-authored-by: Richard Macklin <[email protected]> Co-authored-by: Smig <[email protected]> Co-authored-by: Per Malmberg <[email protected]> Co-authored-by: Folke Lemaitre <[email protected]> Co-authored-by: Tom Kuson <[email protected]> Co-authored-by: Artyom <[email protected]> Co-authored-by: Matt Mirus <[email protected]> Co-authored-by: mrr11k <[email protected]> Co-authored-by: Seb Tomasini <[email protected]> Co-authored-by: srdtrk <[email protected]> Co-authored-by: Arvin Verain <[email protected]> Co-authored-by: Brandon Clark <[email protected]> Co-authored-by: Ihsan Tonuzi <[email protected]> Co-authored-by: abeldekat <[email protected]> Co-authored-by: jstrot <[email protected]> Co-authored-by: theoboldalex <[email protected]> Co-authored-by: Matt Gallagher <[email protected]> Co-authored-by: Michael L. <[email protected]> Co-authored-by: Bayram Kazik <[email protected]> Co-authored-by: Harshit Pant <[email protected]> Co-authored-by: Nicolás Baquero <[email protected]> Co-authored-by: Bastien Traverse <[email protected]> Co-authored-by: Éric NICOLAS <[email protected]> Co-authored-by: Robin Gruyters <[email protected]> Co-authored-by: sam <[email protected]> Co-authored-by: sam <[email protected]> Co-authored-by: gloomy-lemon-debatable <[email protected]> Co-authored-by: Will Winder <[email protected]> Co-authored-by: Anjishnu Banerjee <[email protected]> Co-authored-by: Miha <[email protected]> Co-authored-by: ben fleis <[email protected]> Co-authored-by: Artem Dragunov <[email protected]> Co-authored-by: Scott Swensen <[email protected]> Co-authored-by: George <[email protected]> Co-authored-by: Ryan Jensen <[email protected]> Co-authored-by: Tomas Gareau <[email protected]> Co-authored-by: Nhan Luu <[email protected]> Co-authored-by: Diorman Colmenares <[email protected]> Co-authored-by: Ryan Nevius <[email protected]> Co-authored-by: bleacheda <[email protected]> Co-authored-by: Erlan Rangel <[email protected]> Co-authored-by: Jonas Zeltner <[email protected]> Co-authored-by: GeloCraft <[email protected]> Co-authored-by: gelocraft <[email protected]> Co-authored-by: Joaquín Guerra <[email protected]> Co-authored-by: Rob <[email protected]> Co-authored-by: makeworld <[email protected]> Co-authored-by: Aryan Rajoria <[email protected]> Co-authored-by: Ari Pollak <[email protected]> Co-authored-by: Dor Simhon <[email protected]>
1 parent bd66259 commit 209fe21

File tree

10 files changed

+735
-268
lines changed

10 files changed

+735
-268
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@ assignees: ''
99

1010
<!-- Any bug report not following this template will be immediately closed. Thanks -->
1111

12+
## Before Reporting an Issue
13+
- I have read the kickstart.nvim README.md.
14+
- I have read the appropriate plugin's documentation.
15+
- I have searched that this issue has not been reported before.
16+
17+
- [ ] **By checking this, I confirm that the above steps are completed. I understand leaving this unchecked will result in this report being closed immediately.**
18+
1219
## Describe the bug
1320
<!-- A clear and concise description of what the bug is. -->
1421

@@ -18,8 +25,8 @@ assignees: ''
1825

1926
## Desktop
2027
<!-- please complete the following information. -->
21-
- OS:
22-
- Terminal:
28+
- OS:
29+
- Terminal:
2330

2431
## Neovim Version
2532
<!-- Output of running `:version` from inside of neovim. -->

.github/pull_request_template.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
***************************************************************************
2+
**NOTE**
3+
Please verify that the `base repository` above has the intended destination!
4+
Github by default opens Pull Requests against the parent of a forked repository.
5+
If this is your personal fork and you didn't intend to open a PR for contribution
6+
to the original project then adjust the `base repository` accordingly.
7+
**************************************************************************
8+

README.md

Lines changed: 121 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -21,31 +21,53 @@ If you are experiencing issues, please make sure you have the latest versions.
2121

2222
### Install External Dependencies
2323

24-
> **NOTE**
25-
> [Backup](#FAQ) your previous configuration (if any exists)
26-
2724
External Requirements:
2825
- Basic utils: `git`, `make`, `unzip`, C Compiler (`gcc`)
2926
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation)
27+
- Clipboard tool (xclip/xsel/win32yank or other depending on the platform)
28+
- A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons
29+
- if you have it set `vim.g.have_nerd_font` in `init.lua` to true
30+
- Emoji fonts (Ubuntu only, and only if you want emoji!) `sudo apt install fonts-noto-color-emoji`
3031
- Language Setup:
31-
- If want to write Typescript, you need `npm`
32-
- If want to write Golang, you will need `go`
32+
- If you want to write Typescript, you need `npm`
33+
- If you want to write Golang, you will need `go`
3334
- etc.
3435

3536
> **NOTE**
36-
> See [Windows Installation](#Windows-Installation) to double check any additional Windows notes
37+
> See [Install Recipes](#Install-Recipes) for additional Windows and Linux specific notes
38+
> and quick install snippets
39+
40+
### Install Kickstart
41+
42+
> **NOTE**
43+
> [Backup](#FAQ) your previous configuration (if any exists)
3744
3845
Neovim's configurations are located under the following paths, depending on your OS:
3946

4047
| OS | PATH |
4148
| :- | :--- |
4249
| Linux, MacOS | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |
43-
| Windows (cmd)| `%userprofile%\AppData\Local\nvim\` |
44-
| Windows (powershell)| `$env:USERPROFILE\AppData\Local\nvim\` |
50+
| Windows (cmd)| `%localappdata%\nvim\` |
51+
| Windows (powershell)| `$env:LOCALAPPDATA\nvim\` |
4552

46-
### Install Kickstart
53+
#### Recommended Step
4754

48-
Clone kickstart.nvim:
55+
[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo
56+
so that you have your own copy that you can modify, then install by cloning the
57+
fork to your machine using one of the commands below, depending on your OS.
58+
59+
> **NOTE**
60+
> Your fork's URL will be something like this:
61+
> `https://github.com/<your_github_username>/kickstart.nvim.git`
62+
63+
You likely want to remove `lazy-lock.json` from your fork's `.gitignore` file
64+
too - it's ignored in the kickstart repo to make maintenance easier, but it's
65+
[recommended to track it in version control](https://lazy.folke.io/usage/lockfile).
66+
67+
#### Clone kickstart.nvim
68+
> **NOTE**
69+
> If following the recommended step above (i.e., forking the repo), replace
70+
> `nvim-lua` with `<your_github_username>` in the commands below
4971
5072
<details><summary> Linux and Mac </summary>
5173

@@ -60,13 +82,13 @@ git clone https://github.com/gingersami/kickstart.nvim.git "${XDG_CONFIG_HOME:-$
6082
If you're using `cmd.exe`:
6183

6284
```
63-
git clone https://github.com/nvim-lua/kickstart.nvim.git %userprofile%\AppData\Local\nvim\
85+
git clone https://github.com/nvim-lua/kickstart.nvim.git "%localappdata%\nvim"
6486
```
6587

6688
If you're using `powershell.exe`
6789

6890
```
69-
git clone https://github.com/nvim-lua/kickstart.nvim.git $env:USERPROFILE\AppData\Local\nvim\
91+
git clone https://github.com/nvim-lua/kickstart.nvim.git "${env:LOCALAPPDATA}\nvim"
7092
```
7193

7294
</details>
@@ -80,124 +102,75 @@ nvim
80102
```
81103

82104
That's it! Lazy will install all the plugins you have. Use `:Lazy` to view
83-
current plugin status.
105+
the current plugin status. Hit `q` to close the window.
84106

85-
Read through the `init.lua` file in your configuration folder for more
86-
information about extending and exploring Neovim.
107+
#### Read The Friendly Documentation
87108

88-
### Getting Started
89-
90-
See [Effective Neovim: Instant IDE](https://youtu.be/stqUbv-5u2s), covering the
91-
previous version. Note: The install via init.lua is outdated, please follow the
92-
install instructions in this file instead. An updated video is coming soon.
93-
94-
### Recommended Steps
95-
96-
[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo
97-
(so that you have your own copy that you can modify) and then installing you
98-
can install to your machine using the methods above.
99-
100-
> **NOTE**
101-
> Your fork's url will be something like this: `https://github.com/<your_github_username>/kickstart.nvim.git`
102-
103-
#### Examples of adding popularly requested plugins
104-
105-
NOTE: You'll need to uncomment the line in the init.lua that turns on loading custom plugins.
106-
107-
<details>
108-
<summary>Adding autopairs</summary>
109-
110-
This will automatically install [windwp/nvim-autopairs](https://github.com/windwp/nvim-autopairs) and enable it on startup. For more information, see documentation for [lazy.nvim](https://github.com/folke/lazy.nvim).
111-
112-
In the file: `lua/custom/plugins/autopairs.lua`, add:
113-
114-
```lua
115-
-- File: lua/custom/plugins/autopairs.lua
116-
117-
return {
118-
"windwp/nvim-autopairs",
119-
-- Optional dependency
120-
dependencies = { 'hrsh7th/nvim-cmp' },
121-
config = function()
122-
require("nvim-autopairs").setup {}
123-
-- If you want to automatically add `(` after selecting a function or method
124-
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
125-
local cmp = require('cmp')
126-
cmp.event:on(
127-
'confirm_done',
128-
cmp_autopairs.on_confirm_done()
129-
)
130-
end,
131-
}
132-
```
133-
134-
</details>
135-
<details>
136-
<summary>Adding a file tree plugin</summary>
109+
Read through the `init.lua` file in your configuration folder for more
110+
information about extending and exploring Neovim. That also includes
111+
examples of adding popularly requested plugins.
137112

138-
This will install the tree plugin and add the command `:Neotree` for you. You can explore the documentation at [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) for more information.
113+
> [!NOTE]
114+
> For more information about a particular plugin check its repository's documentation.
139115
140-
In the file: `lua/custom/plugins/filetree.lua`, add:
141116

142-
```lua
143-
-- Unless you are still migrating, remove the deprecated commands from v1.x
144-
vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]])
145-
146-
return {
147-
"nvim-neo-tree/neo-tree.nvim",
148-
version = "*",
149-
dependencies = {
150-
"nvim-lua/plenary.nvim",
151-
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
152-
"MunifTanjim/nui.nvim",
153-
},
154-
config = function ()
155-
require('neo-tree').setup {}
156-
end,
157-
}
158-
```
117+
### Getting Started
159118

160-
</details>
119+
[The Only Video You Need to Get Started with Neovim](https://youtu.be/m8C0Cq9Uv9o)
161120

162121
### FAQ
163122

164-
* What should I do if I already have a pre-existing neovim configuration?
165-
* You should back it up, then delete all files associated with it.
166-
* This includes your existing init.lua and the neovim files in `~/.local` which can be deleted with `rm -rf ~/.local/share/nvim/`
123+
* What should I do if I already have a pre-existing Neovim configuration?
124+
* You should back it up and then delete all associated files.
125+
* This includes your existing init.lua and the Neovim files in `~/.local`
126+
which can be deleted with `rm -rf ~/.local/share/nvim/`
167127
* Can I keep my existing configuration in parallel to kickstart?
168-
* Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME` to maintain multiple configurations. For example you can install the kickstart configuration in `~/.config/nvim-kickstart` and create an alias:
128+
* Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME`
129+
to maintain multiple configurations. For example, you can install the kickstart
130+
configuration in `~/.config/nvim-kickstart` and create an alias:
169131
```
170132
alias nvim-kickstart='NVIM_APPNAME="nvim-kickstart" nvim'
171133
```
172-
When you run Neovim using `nvim-kickstart` alias it will use the alternative config directory and the matching local directory `~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim distribution that you would like to try out.
134+
When you run Neovim using `nvim-kickstart` alias it will use the alternative
135+
config directory and the matching local directory
136+
`~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim
137+
distribution that you would like to try out.
173138
* What if I want to "uninstall" this configuration:
174-
* See [lazy.nvim uninstall](https://github.com/folke/lazy.nvim#-uninstalling) information
139+
* See [lazy.nvim uninstall](https://lazy.folke.io/usage#-uninstalling) information
175140
* Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files?
176141
* The main purpose of kickstart is to serve as a teaching tool and a reference
177-
configuration that someone can easily `git clone` as a basis for their own.
142+
configuration that someone can easily use to `git clone` as a basis for their own.
178143
As you progress in learning Neovim and Lua, you might consider splitting `init.lua`
179-
into smaller parts. A fork of kickstart that does this while maintaining the exact
144+
into smaller parts. A fork of kickstart that does this while maintaining the
180145
same functionality is available here:
181146
* [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim)
182147
* Discussions on this topic can be found here:
183148
* [Restructure the configuration](https://github.com/nvim-lua/kickstart.nvim/issues/218)
184149
* [Reorganize init.lua into a multi-file setup](https://github.com/nvim-lua/kickstart.nvim/pull/473)
185150
186-
### Windows Installation
151+
### Install Recipes
152+
153+
Below you can find OS specific install instructions for Neovim and dependencies.
154+
155+
After installing all the dependencies continue with the [Install Kickstart](#Install-Kickstart) step.
156+
157+
#### Windows Installation
187158
188-
Installation may require installing build tools, and updating the run command for `telescope-fzf-native`
159+
<details><summary>Windows with Microsoft C++ Build Tools and CMake</summary>
160+
Installation may require installing build tools and updating the run command for `telescope-fzf-native`
189161
190162
See `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation)
191163
192164
This requires:
193165
194-
- Install CMake, and the Microsoft C++ Build Tools on Windows
166+
- Install CMake and the Microsoft C++ Build Tools on Windows
195167
196168
```lua
197169
{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }
198170
```
199-
200-
Alternatively one can install gcc and make which don't require changing the config,
171+
</details>
172+
<details><summary>Windows with gcc/make using chocolatey</summary>
173+
Alternatively, one can install gcc and make which don't require changing the config,
201174
the easiest way is to use choco:
202175

203176
1. install [chocolatey](https://chocolatey.org/install)
@@ -207,12 +180,60 @@ run in cmd as **admin**:
207180
winget install --accept-source-agreements chocolatey.chocolatey
208181
```
209182

210-
2. install all requirements using choco, exit previous cmd and
211-
open a new one so that choco path is set, run in cmd as **admin**:
183+
2. install all requirements using choco, exit the previous cmd and
184+
open a new one so that choco path is set, and run in cmd as **admin**:
212185
```
213186
choco install -y neovim git ripgrep wget fd unzip gzip mingw make
214187
```
188+
</details>
189+
<details><summary>WSL (Windows Subsystem for Linux)</summary>
190+
191+
```
192+
wsl --install
193+
wsl
194+
sudo add-apt-repository ppa:neovim-ppa/unstable -y
195+
sudo apt update
196+
sudo apt install make gcc ripgrep unzip git xclip neovim
197+
```
198+
</details>
215199

216-
Then continue with the [Install Kickstart](#Install-Kickstart) step.
200+
#### Linux Install
201+
<details><summary>Ubuntu Install Steps</summary>
217202

203+
```
204+
sudo add-apt-repository ppa:neovim-ppa/unstable -y
205+
sudo apt update
206+
sudo apt install make gcc ripgrep unzip git xclip neovim
207+
```
208+
</details>
209+
<details><summary>Debian Install Steps</summary>
210+
211+
```
212+
sudo apt update
213+
sudo apt install make gcc ripgrep unzip git xclip curl
214+
215+
# Now we install nvim
216+
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
217+
sudo rm -rf /opt/nvim-linux-x86_64
218+
sudo mkdir -p /opt/nvim-linux-x86_64
219+
sudo chmod a+rX /opt/nvim-linux-x86_64
220+
sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz
221+
222+
# make it available in /usr/local/bin, distro installs to /usr/bin
223+
sudo ln -sf /opt/nvim-linux-x86_64/bin/nvim /usr/local/bin/
224+
```
225+
</details>
226+
<details><summary>Fedora Install Steps</summary>
227+
228+
```
229+
sudo dnf install -y gcc make git ripgrep fd-find unzip neovim
230+
```
231+
</details>
232+
233+
<details><summary>Arch Install Steps</summary>
234+
235+
```
236+
sudo pacman -S --noconfirm --needed gcc make git ripgrep fd unzip neovim
237+
```
238+
</details>
218239

0 commit comments

Comments
 (0)