Compare commits

...

249 Commits

Author SHA1 Message Date
931c6a48bf added plugins 2024-04-27 09:45:42 -06:00
257a9e465d changed some default values, and added transperancy 2024-04-23 17:18:24 -06:00
93ce0fa005 changed bindings 2024-04-23 15:44:59 -06:00
565f387a8b modified config 2024-04-23 13:04:04 -06:00
Adolfo Gante
8df3deb6fe
Update README.md (#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."
2024-04-22 17:15:42 -04:00
Francis Belanger
942b26184c
fix: highlight group clear on each attach (#874) 2024-04-22 15:53:45 -04:00
Francis Belanger
81f270a704
Fix highlight errors when lsp crash or stop (#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>
2024-04-22 11:43:10 -04:00
Vladislav Grechannik
f92fb11d68
Fix deprecation notice of inlay hints (#873) 2024-04-22 07:27:13 -04:00
Damjan 9000
2e68a2c253
Add a commented out example of the classic complete keymaps. Fixes #866 (#868) 2024-04-20 13:14:49 -04:00
Damjan 9000
9f5176fc2a
Minor improvements of debian install instructions. Fixes #859 (#869) 2024-04-20 13:14:24 -04:00
Evan Carroll
931ec5c226
Update README.md (#860)
Attempted fix for #859, provide reasonable Debian install instructions -- comment on GitHub issue with refinement.
2024-04-20 11:55:01 -04:00
GameFuzzy
b07176aef6
fix: restore Mason config timing for DAP startup (again) (#865) 2024-04-19 13:50:42 -04:00
Damjan 9000
f5c9fe8e15
Add gitsigns recommended keymaps as an optional plugin (#858) 2024-04-17 21:00:39 -04:00
Damjan 9000
5e258d276f
Move plugin examples from README to optional plugin files (#831)
* Move autopairs example from README to an optional plugin

* Move neo-tree example from README to an optional plugin
2024-04-17 15:25:54 -04:00
Vladislav Grechannik
5540527fab
Enable inlay hints for the supporting servers (#843) 2024-04-17 14:04:55 -04:00
Chris Patti
6d6b3f38c1
Fix: #847 - add prefer_git to treesitter config (#856) 2024-04-17 14:02:24 -04:00
Damjan 9000
fabeb86d8b
Comment about nerd font selection. Fixes #853 (#854) 2024-04-17 09:59:14 -04:00
rdvm
e2bfa0c66f
Arch, btw (#852)
* Arch, btw

* Add unzip

* Add unzip for Fedora and --needed arg for Arch
2024-04-16 11:29:27 -04:00
Viet
23773900d9
Update README (#832) 2024-04-08 16:13:22 -04:00
Damjan 9000
c4363e4ad8
Add a pull request template (#825) 2024-04-04 10:31:37 -04:00
Damjan 9000
19afab1641
README: move backup and paths from external deps to install section (#819) 2024-04-01 10:36:32 -04:00
Damjan 9000
d605b840a2
Don't lazy load conform plugin (#818) 2024-03-31 20:00:11 -04:00
Damjan 9000
1175f6d25a
Add a keymap space-f to format buffer using conform (#817)
This works also for visual range selection
Copied from conform recipe:
https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
2024-03-31 13:36:43 -04:00
Chris Patti
93fde0556e Add instructions to quit :lazy. Fixes #761 2024-03-27 11:22:28 -04:00
Liu Qisheng
2877a60e00
fix #799 (#800)
Add `'luadoc'`, to the `ensure_installed` of `nvim-treesitter/nvim-treesitter`
2024-03-27 10:16:48 -04:00
Damjan 9000
dbba54cfd8
README: wrap long lines (#784) 2024-03-21 15:47:55 -04:00
E
4c02e29e49
Update README.md (#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.
2024-03-20 14:27:18 -04:00
José Miguel Sarasola
773e482d4b
Add nvim-nio as dependency for nvim-dap-ui (#774)
It's a dependency now
2024-03-18 17:38:14 -04:00
Togglebit
65a5ac404b
Some suggestions and capitalised a few words (#771) 2024-03-18 13:35:53 -04:00
Fredrik Averpil
8e24ca32e3
feat: add linter plugin (#699) 2024-03-18 10:00:48 -04:00
Shane Crowley
b81115d002
assign table to filetype in lua_ls config comment (#770) 2024-03-18 09:57:48 -04:00
Damjan 9000
a222805c61
README: additional install recipes for various OS (#767) 2024-03-17 16:22:58 -04:00
Damjan 9000
ea4335f5af
conform: disable autoformat on save for specified filetypes (#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
2024-03-15 16:53:33 -04:00
stgpepper
da1271db4d
Update README.md (#763)
Added file text to code block for consistency since the other plugin had file also inside code block.
2024-03-15 16:51:41 -04:00
TJ DeVries
7892c0c354 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)
2024-03-15 11:35:07 -04:00
TJ DeVries
5ac4b58f85 doc: add note about advanced luasnip features 2024-03-15 11:18:43 -04:00
Vladislav Grechannik
2f494e59ca
Move friendly snippets to dependencies of LuaSnip (#759)
Co-authored-by: TJ DeVries <devries.timothyj@gmail.com>
2024-03-15 10:35:42 -04:00
Rafael Zasas
452e3a73cf
Add <C-b>/<C-f> cmp mapping to scroll cmp docs (#750) 2024-03-15 10:12:41 -04:00
TLW
7715b7c2ee
doc: add info about timeoutlen (#691)
Add separate comment for `timeoutlen` option
`timeoutlen` option was under unrelated comment with `updatetime` option.
2024-03-15 09:54:49 -04:00
Chris Patti
b529bc3359
Revert "Use cmp-nvim-lua as nvim-cmp source for neovim Lua API (#696)" (#755)
This reverts commit d8a1dbc4b4.
2024-03-12 18:09:47 -04:00
James Karefylakis
d8a1dbc4b4
Use cmp-nvim-lua as nvim-cmp source for neovim Lua API (#696)
* Use cmp-nvim-lua as nvim-cmp source for neovim Lua API

* Move the dependency to a more suitable place
2024-03-12 17:12:35 -04:00
Damjan 9000
000a5c42b0
Added folke/neodev.nvim for proper nvim api completion and annotation (#754)
Fixes nvim-lua/kickstart.nvim#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.
2024-03-12 17:06:12 -04:00
Chiller Dragon
cb1f16b8ca
chore: rename <C-T> to <C-t> for consistency (#719) 2024-03-11 19:20:39 -04:00
Ryan Baumgardner
c0d6f98924
feat: allow treesitter defaults to be overwritten from custom directory (#732) 2024-03-11 19:18:45 -04:00
Damjan 9000
8de494fff2
README.md: update neo-tree example - remove legacy setting (#744) 2024-03-11 17:52:18 -04:00
name.tar.xz
3cfccc01be
use init for colorscheme (#715) 2024-03-09 15:25:08 -05:00
Nora Ayesha
8fae6798b9
Fix typos and whatnot (#731) 2024-03-08 15:26:32 -05:00
Damjan 9000
66e2a5a425
Make the Nerd Font an optional requirement (#716) 2024-03-06 11:49:44 -05:00
Ryan Winchester
f764b7bacd
Add more detail to colorscheme comment (#713) 2024-03-05 20:19:06 -05:00
Chiller Dragon
b83b2b061c
chore: link new installation youtube video (#678) 2024-03-04 08:47:45 -05:00
Chiller Dragon
a02abdb161
chore: remove trailing spaces from readme (#679) 2024-03-04 08:47:11 -05:00
Damjan 9000
c3127f1226
Change statusline location to LINE:COLUMN (#689) 2024-03-04 08:16:50 -05:00
Damjan 9000
c9122e89e3
fix: checkhealth reported nvim version (#685) 2024-03-03 19:32:06 -05:00
TJ DeVries
e6710a461a fix: add note in readme for custom plugins 2024-03-03 03:13:16 -05:00
Damjan 9000
23fc4e59dc
README.md: updated windows install instructions (#674) 2024-03-02 21:12:55 -05:00
Taulant Aliraj
b99af2d6a3
feat: use VimEnter event instead of VeryLazy (#673) 2024-03-02 21:07:58 -05:00
Nhan Luu
94a93643ab
chore: fix typos (#666) 2024-03-01 16:07:34 -05:00
Anton Kastritskii
38828dcaf7
feat: enable lua lsp snipppets (#660) 2024-02-29 13:14:36 -05:00
TJ DeVries
b58666dd15 fixup: updated some style stuff 2024-02-29 12:08:01 -05:00
Damjan 9000
465d6f25c2
Change mini.statusline location format to LINE:COLUMN (#659)
Default mini.statusline location format is:
  'cursor line | total lines │ cursor column | total columns'
2024-02-28 13:23:13 -05:00
brxxlstxrs
18b919c61e
add plugin specs docstring, remove lazy.nvim configuration (empty) table (#652) 2024-02-27 13:08:37 -05:00
TJ DeVries
af4fd2355f fixup: change comment to reflect auto_install 2024-02-26 10:46:31 -05:00
TJ DeVries
1c89b024c8 fixup: add autocommand link for help and description 2024-02-26 10:45:32 -05:00
TJ DeVries
8b5d48a199
rewrite: slimmer, trimmer and more lazy kickstart.nvim (#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
-------------------------------------------------------------------------------
```
2024-02-26 10:03:53 -05:00
rgarber11
7af594fd31
Add Build Step to LuaSnip (#611) 2024-02-05 13:49:19 -05:00
Chris Patti
5d2d81b1ea
Fixes #607. Add hints for new neovim users to learn how to learn. (#615) 2024-02-03 19:15:25 -05:00
Micah Effiong
bc4ad1218b
feat: added contexts for code action - source fix-all errors (#599)
* feat: added contexts for code action - source fix-all errors

* fix: resolve stylua checks

* fix: resolve stylua checks
2024-02-02 15:24:46 -05:00
Damjan 9000
c3ae716fb3
issue: #594 stylua workflow only on official kickstart repo (#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
2024-02-01 11:01:46 -05:00
Nazar
b115814916
Add Onedark Style (#590)
* Add style options to Onedark setup (init.lua)

* stylua init.lua

* Load onedark through `require`

* Improve commenting
2024-01-29 13:52:50 -05:00
Victor Bertin
deaafcf549
Set status line theme to the global colorscheme (#600) 2024-01-29 07:48:14 -05:00
Sreejith I V
2510c29d62
Removed duplicate line (#583) 2024-01-10 09:36:33 -05:00
Damjan 9000
60b93c95d3
README.md: rename the duplicate "Introduction" to "Getting Started" (#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.
2024-01-08 14:44:00 -05:00
Mohamad Alamin Yassin
c11afa2f90
Add Missing Fields to Treesitter Config to Resolve Warnings (#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.
2024-01-08 12:17:01 -05:00
Damjan 9000
c4055a2212
Improve stylua github workflow (#571)
Addressing issue nvim-lua/kickstart.nvim#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
2024-01-03 12:30:37 -05:00
gitressa
d45e5fe855
Move video up on the README.md page (#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.
2024-01-03 10:03:23 -05:00
John Pekcan
4d0dc8d4b1
fix: restore mason config timing for dap startup (#555)
Co-authored-by: John Pekcan <john.pekcan@epicgames.com>
2023-12-23 23:59:59 -05:00
Ari Pollak
e39a8bce9d
Switch cmp up mapping from C-d to C-b to match regular vim up key (#549) 2023-12-21 15:35:28 -05:00
Shashwat Agrawal
76c5b1ec57
feat(cmp): path completion feature (#536) 2023-12-08 08:14:06 -05:00
Damjan 9000
3824342d10
Adds two essential telescope keymaps (#528)
* Added keymap for select Telescope picker

* Added keymap for search in all open files
2023-12-04 10:45:01 -05:00
Damjan 9000
f8c8b08bc1
Add gitsigns recommended keymaps (#531)
* Import gitsigns README.md recommended keymaps (and apply stylua)

the previously added visual mode for ]c [c is kept.

* Add gitsigns keymap descriptions
2023-12-04 10:35:54 -05:00
Damjan 9000
12bd68e8b9
Run stylua (#525) 2023-12-03 14:23:39 -05:00
Damjan 9000
3ca08acf0e
Add a github action on pull request to check lua formatting (#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.
2023-12-02 16:27:13 -05:00
Sudo
39ae0829ac
Use alias instead of a wrapper script (#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
2023-11-30 17:30:55 -05:00
Damjan 9000
afafc9ab19
README.md: update install section formatting (#523) 2023-11-30 04:04:27 -05:00
matt
14cf319dbd
Update README.md (#520) 2023-11-29 19:34:43 -05:00
Tommy Williams
ee9790b381
option to reduce noisy Lua_LS's missing-fields warnings (#511) 2023-11-24 11:55:19 -05:00
Chris Patti
1915cea32e
Merge pull request #505 from j-hui/update-fidget
init.lua: remove 'legacy' tag from fidget.nvim
2023-11-13 15:59:01 -05:00
j-hui
711e5976dd init.lua: remove 'legacy' tag from fidget.nvim 2023-11-13 15:46:34 -05:00
Chris Patti
fa94716dce
Merge pull request #502 from ShashwatAgrawal20/item-selection 2023-11-12 14:38:40 -05:00
Shashwat Agrawal
af4f51b2cd fix(auto-completion): ensure first menu item is selected by default 2023-11-11 20:31:05 +05:30
Chris Patti
a005f15cec
Merge pull request #495 from dam9000/pr-minor-cleanup
Minor cleanups
2023-11-07 10:02:57 -05:00
Damjan 9000
c8dd8e7e0c init.lua: minor edits of section comments for consistency 2023-11-07 11:27:14 +01:00
Damjan 9000
f23484cf88 init.lua: move diagnostic keymaps together with other keymaps 2023-11-07 11:18:15 +01:00
Chris Patti
47974f7db1
Merge pull request #494 from slara/master 2023-11-06 21:07:53 -05:00
Sebastian Lara Menares
1d14453024 Live Grep from Git root falls back to cwd on special buffers 2023-11-06 22:29:05 -03:00
Chris Patti
bced1c2943
Merge pull request #492 from slara/master
add Telescope live_grep on Git root
2023-11-06 16:36:35 -05:00
Chris Patti
1c59dc28c8
Merge pull request #485 from n-a11s/patch-1
Differences in CMD and Powershell env variables.
2023-11-06 15:56:59 -05:00
Sebastian Lara Menares
5ce4f38e1e change keymap to not disrupt existing users of Search by Grep 2023-11-06 15:29:09 -03:00
Sebastian Lara Menares
0fda9af7c9 add Telescope live_grep on Git root 2023-11-06 11:10:16 -03:00
Chris Patti
29c77cd7e5
Merge pull request #486 from dam9000/pr-faq-single-file
README.md: Added a FAQ: why is init.lua a single file
2023-11-03 15:57:52 -04:00
Damjan 9000
1ad1ec2509 README.md: Added a FAQ: why is init.lua a single file 2023-11-03 20:55:42 +01:00
n-a11s
4d2cf48fb6
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.
2023-11-03 13:47:30 +01:00
Chris Patti
99acb843ac
Merge pull request #480 from dam9000/pr-faq-appname
README.md: add a note about NVIM_APPNAME in the FAQ section
2023-10-29 14:17:10 -04:00
Damjan 9000
0dd934ee01 README.md: add a note about NVIM_APPNAME in the FAQ section 2023-10-28 23:41:53 +02:00
Chris Patti
a3f3e08f34
Merge pull request #479 from dam9000/update-readme-lazy-sync 2023-10-26 08:35:53 -04:00
Damjan 9000
68b1981f02 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.
2023-10-26 06:47:18 +02:00
Chris Patti
9b256d9368
Merge pull request #467 from theopn/master
Use Telescope builtin functions for LSP definition and type definition
2023-10-13 15:07:41 -04:00
Theo P
5d8921990b feat(lsp): use Telescope builtin functions for LSP definition and type
definition
2023-10-13 16:22:02 +09:00
Chris Patti
0b659bd508
Merge pull request #462 from Alvaro-Kothe/fix-help-ibl
Fix help for indent-blankline plugin
2023-10-12 11:16:50 -04:00
Alvaro-Kothe
db7189f35c Fix help for indent-blankline plugin
Since version 3 `:help indent_blankline` no longer works. Replace it
with `:help ibl`.
2023-10-10 20:02:44 -03:00
Chris Patti
58f2dbab70
Merge pull request #452 from AshrafMichail23/fix_bash_errors
Fix Treesitter bash errors when editing README.md
2023-10-10 11:31:33 -04:00
Chris Patti
9fe8b20f03
Merge pull request #458 from pedrosantayana/master
Simple misstype fix on README.md
2023-10-10 11:30:54 -04:00
Pedro Santayana
c27b05467a
docs: fix misstype on README.md 2023-10-07 22:34:24 -03:00
Ashraf Michail
01ed2525bb Fix bash errors 2023-10-08 00:25:27 +00:00
Chris Patti
53e925240f
Merge pull request #456 from goatfiles/fix-diagnostic-errors
fix: remove spaces in empty lines
2023-10-07 19:51:19 -04:00
Chris Patti
f70edeec1b
Merge pull request #455 from Anthony-Fiddes/fix-mason-setup
Fix Mason setup bug and run stylua
2023-10-07 19:50:17 -04:00
Anthony Fiddes
36224daa1b Move mason setup up further
This helps if a user needs to find a mason executable
2023-10-07 16:14:26 -07:00
amtoine
21b175d21b
remove spaces in empty lines 2023-10-07 13:49:47 +02:00
Anthony Fiddes
6ffc5a169f Fix Mason setup issue and run stylua. 2023-10-06 16:25:57 -07:00
Chris Patti
f15af9b8be
Merge pull request #448 from AshrafMichail23/main
Defer Treesitter setup to improve startup time of nvim {filename}
2023-10-01 22:05:20 -04:00
Chris Patti
313bd75ca0 Fix git clone instruction - separate code blocks for Windows and UNIX. 2023-09-30 20:06:22 -04:00
Ashraf Michail
4d5f24d6c1 Defer Treesitter setup to improve startup time of nvim {filename} 2023-09-30 00:35:22 +00:00
Chris Patti
daf2dc38fc
Merge pull request #438 from tcld/which_key_documentation
Which key documentation and 2-3 changed keybindings
2023-09-29 15:29:20 -04:00
Chris Patti
fca29aa644
Merge pull request #446 from lukas-reineke/fix-indent-blankline
fix: fix indent-blankline config
2023-09-29 11:31:02 -04:00
Lukas Reineke
7a58588a92 fix: fix indent-blankline config 2023-09-28 23:11:05 +09:00
Chris Patti
e8c70473c9
Merge pull request #443 from emmanuelchucks/patch-1
fix(init.lua): indent blankline v3 setup
2023-09-28 09:28:20 -04:00
Emmanuel Chucks
878ec12318
fix(init.lua): indent blankline v3 setup 2023-09-28 05:57:53 +00:00
Chris Patti
3668af39f4
Merge pull request #442 from Anthony-Fiddes/add-lazy-lock
Remove lazy-lock.json from .gitignore
2023-09-27 20:11:19 -04:00
Anthony Fiddes
aff064f714 Remove lazy-lock.json from .gitignore 2023-09-27 16:44:03 -07:00
tcld
0340f77200 Add documentation for custom which-key groups 2023-09-24 10:24:33 +02:00
Chris Patti
d891f4ac5a
Merge pull request #436 from Chris-Gillis/telescope-config-typo-fix 2023-09-23 19:11:35 -04:00
Christopher Gillis
8443853cfe
Remove extra "r" Search Resume description 2023-09-23 12:10:51 -04:00
Chris Patti
4b31f8ef9e
Merge pull request #422 from saccarosium/master
Iterate over #420
2023-09-13 10:19:55 -04:00
Luca Saccarola
24885f2483 docs: remove archive installation 2023-09-13 16:14:58 +02:00
Chris Patti
c80a77488b
Merge pull request #420 from saccarosium/master
docs: restructure README
2023-09-07 02:30:09 -04:00
Chris Patti
6453352e25
Merge pull request #404 from e-aakash/lsp-goto-implementation
Use telescope for goto implementation
2023-09-07 02:29:31 -04:00
Chris Patti
c010cc71d5
Merge pull request #406 from gangelop/git-keymaps
Revert gitsigns keymaps but fix vimdiff and fugitive conflict
2023-09-06 16:58:20 -04:00
Chris Patti
304b2445cf
Merge pull request #419 from dilshod/patch-1
Add telescope search resume key binding
2023-09-05 15:38:14 -04:00
Luca Saccarola
f3f6a595a2 docs: restructure README 2023-09-05 14:24:39 +02:00
Dilshod Temirkhodjaev
ac9b167860
Add telescope search resume key binding 2023-09-04 17:36:28 +05:00
Chris Patti
1a971cbdcf
Merge pull request #410 from gangelop/TSInstall-javascript
treesitter: ensure 'javascript' installed along with typescript and tsx
2023-08-29 06:53:56 -04:00
George Angelopoulos
a347bb401e 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.
2023-08-27 06:48:22 +03:00
George Angelopoulos
38a0f03231 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 #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.
2023-08-22 07:17:15 +03:00
Chris Patti
1283a0bbe7
Update init.lua
Fix typo in original.

Co-authored-by: Luis G Estrades <luisgarciaestrades@gmail.com>
2023-08-21 17:19:13 -04:00
E. Aakash
f00ff6f6ab Use telescope for goto implementation 2023-08-20 14:43:34 +05:30
Chris Patti
01a1ebed38
Merge pull request #402 from ErikKarlgren/fix-readme-typo
Fix typo in README.md
2023-08-19 14:02:33 -04:00
Erik
555dd8ed27
Fix typo in README.md 2023-08-19 13:38:31 +02:00
Chris Patti
98ad2ee32a
Merge pull request #395 from smiggiddy/smiggiddy-patch-1
Add a link to the external lua-guide now that :help lua-guide is gone.
2023-08-10 15:04:13 -04:00
Smig
d0b47ce958
Update init.lua
added a URL to the lua-guide
may help others who miss the :help lua-guide
2023-08-10 15:00:15 -04:00
Chris Patti
f6d67b69c3
Merge pull request #387 from daanrongen/master 2023-08-06 14:04:28 -04:00
daan
a4ec83a433
fix: missing comma 2023-08-06 16:27:05 +01:00
Chris Patti
5a59fb894c
Merge pull request #384 from pbnj/fix/telescope-fzf-native-as-dependency 2023-08-06 09:51:44 -04:00
Peter Benjamin
8ee4d24b36
fix: fix brackets 2023-08-05 17:31:01 -07:00
Peter Benjamin
b06980a8da
fix(init): turn telescope-fzf-native into a dependecy 2023-08-05 17:28:18 -07:00
Chris Patti
9dcf923f60
Merge pull request #380 from eltociear/patch-1 2023-07-30 15:52:11 -04:00
Ikko Eltociear Ashimine
c2fb482ec1
Fix typo in init.lua
releated -> related
2023-07-31 02:46:27 +09:00
Chris Patti
3dc1c1c4c2
Merge pull request #376 from Numkil/patch-bug
Fix bug when server not explicitely defined in configuration but installed
2023-07-25 12:32:09 -04:00
Merel Jossart
734cc4e94a Fix bug when server not explicitely defined in configuration but installed 2023-07-25 18:30:47 +02:00
Chris Patti
ea028fe0b5
Merge pull request #373 from Numkil/patch-1
Allow easier overriding of default filetypes for LSP
2023-07-24 16:01:36 -04:00
Numkil
29aa5bf42d setup more language servers i use + allow customizing filetypes 2023-07-24 21:57:36 +02:00
Chris Patti
7da1058748
Merge pull request #369 from Dennis-Rall/patch-2 2023-07-21 21:49:13 -04:00
Dennis-Rall
c151235551
Remove fixed line number and describe line 2023-07-20 16:42:46 +02:00
Dennis-Rall
78ab7ee094
Add hint to uncomment line to autodetect plugins 2023-07-20 10:56:15 +02:00
Chris Patti
680e085761
Merge pull request #367 from sevensidedmarble/remove-timeout
Remove timout default
2023-07-17 10:24:54 -04:00
Andrew Stewart
31f867a699
Remove timeout 2023-07-17 10:21:44 -04:00
Chris Patti
7a953188db
Merge pull request #357 from kdheepak/patch-1
Update README.md with a GitHub friendly video example
2023-07-07 14:08:35 -04:00
Chris Patti
55aa0ea3cf
Merge pull request #358 from kdheepak/patch-2
Make init.lua copy-paste friendly
2023-07-07 10:01:37 -04:00
Chris Patti
b5d19fd188
Merge pull request #362 from andres-lowrie/patch-1
fix: correct typo
2023-07-07 10:00:27 -04:00
Andres Lowrie
93ef2e8078
correct typo
Hey y'all 👋 

I think there may have been a typo?
2023-07-07 08:37:12 -05:00
Dheepak Krishnamurthy
a73b2e5f57 docs: Update README.md 📚 2023-07-01 19:07:37 -04:00
Dheepak Krishnamurthy
957655ddb8 Make init.lua copy-paste friendly 2023-07-01 12:40:08 -04:00
Chris Patti
6967424521
Merge pull request #344 from MariaSolOs/deprecated-stylua
Use call_parentheses = "None"
2023-06-22 15:34:47 -04:00
Chris Patti
e68ed2c446
Merge pull request #346 from juangiordana/debug
Add descriptions for debugging keybindings.
2023-06-22 15:32:36 -04:00
Chris Patti
80d8d6947a
Merge pull request #347 from ilian/patch-1
Fix typo in ignorecase comment
2023-06-22 15:32:02 -04:00
ilian
d8b3b774bb Fix typo in ignorecase comment
In order to perform a case-sensitive search with ignorecase, the pattern
should contain `\C` instead of `/C`.
2023-06-18 16:25:55 +02:00
Juan Giordana
c45b17ebab 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.
2023-06-18 00:21:28 -03:00
Maria José Solano
be90f025de
Use call_parentheses 2023-06-16 21:12:11 -07:00
Chris Patti
8064bb63c5
Merge pull request #342 from gfaster/master 2023-06-14 22:22:30 -04:00
Gavin
ac07c5c59c Add legacy tag to fidget to avoid deprecation warning 2023-06-14 17:21:26 -04:00
Chris Patti
5125fd927a
Merge pull request #337 from nvim-lua/enable_python_indent 2023-06-07 21:46:49 -04:00
Chris Patti
e6cb90b2b3 Fixes #336 - Enabale treesitter indent for Python
Tested in my local configuratoin. Indenting works great.
2023-06-07 20:41:30 -04:00
Chris Patti
5e4d24cb2f Revert "Refactor theme and status line into their own file"
This reverts commit cdaa750c86.
2023-06-04 16:10:59 +00:00
Chris Patti
cdaa750c86 Refactor theme and status line into their own file 2023-06-03 10:11:58 -04:00
Chris Patti
e15e7f4bda
Merge pull request #323 from luizcalliari/master
FIX: Conflict with vimdiff keybinding
2023-06-02 15:21:05 -04:00
Chris Patti
853b7c9d9e
Merge pull request #327 from kaminskypavel/patch-1 2023-05-30 06:44:05 -04:00
Pavel 'PK' Kaminsky
1d52d1e68b
Update README.md
fix(docs): whoops missed another instance of `nvim-data`
2023-05-30 11:04:01 +03:00
Chris Patti
2f60b0086f
Merge pull request #326 from kaminskypavel/patch-1 2023-05-29 17:25:23 -04:00
Pavel 'PK' Kaminsky
f2b09aaac7
fix(docs): update windows path to a correct folder 2023-05-29 23:35:45 +03:00
Luiz Antonio Calliari Filho
83b65a1c7d FIX: Conflict with vimdiff keybinding 2023-05-25 22:09:34 -03:00
Chris Patti
f031fa4509
Merge pull request #319 from mech-a/readme
Remove "after/" reference in README and other clean-up items
2023-05-22 16:25:22 -04:00
Gaurav Bhatnagar
8d97b11dd8 refact: remove after/ reference in readme, other clean-up items 2023-05-22 11:30:25 -07:00
Chris Patti
468c25588e
Merge pull request #318 from mech-a/is311
Add cmp comments
2023-05-22 11:28:40 -04:00
Gaurav Bhatnagar
8e8ba26a96 refact: add cmp comments, other 2023-05-21 23:46:09 -07:00
Chris Patti
8a647f4384
Update README.md
Fix for #314 - there's no -data at the end of the nvim dir.
2023-05-21 22:13:02 -04:00
Chris Patti
4d7e4b8a1d
Merge pull request #310 from mech-a/master 2023-05-16 15:45:01 -04:00
Gaurav Bhatnagar
455691bd8d refact: stylua 2023-05-16 12:38:56 -07:00
Chris Patti
a694c380d0
Merge pull request #296 from SamPosh/patch-3 2023-05-16 15:26:14 -04:00
Chris Patti
ded185411f
Merge pull request #203 from luizcalliari/master
Features to move to diffs and show the preview values.
2023-05-15 12:25:01 -04:00
Chris Patti
ce2981db4b
Merge pull request #302 from mech-a/mech-a-patch-1
change luasnip tab jumping to locally jumpable
2023-05-15 12:12:55 -04:00
Chris Patti
9469575bdc
Merge pull request #303 from declan-whiting/get_query_is_deprecated
Telescope to use latest release branch
2023-05-15 12:11:00 -04:00
dec
fa4bf9c378 Udated tree sitter to use latest release branch 2023-05-08 11:02:37 +01:00
Gaurav Bhatnagar
2844f61d96
add local jumping to shift tab 2023-05-07 16:38:44 -07:00
Gaurav Bhatnagar
1c02cec98b
change luasnip tab jumping to locally jumpable 2023-05-07 16:28:13 -07:00
SamPosh
55c52ce45b
Added friendly snippet support 2023-05-02 16:01:46 +05:30
Chris Patti
0470d07c8c
Merge pull request #289 from victorwallsten/master
Add <C-n>, <C-p> mappings to nvim-cmp setup
2023-04-27 16:20:27 -04:00
Victor Wallsten
efdfd6ed82
Add <C-n>, <C-p> mappings to nvim-cmp setup 2023-04-27 09:33:10 +02:00
Chris Patti
3041115415
Merge pull request #288 from sumanth-lingappa/master
corrected git clone command
2023-04-26 14:24:42 -04:00
Sumanth Lingappa
7e39ab77c6
corrected git clone command 2023-04-26 23:49:32 +05:30
Chris Patti
5b74a016b3
Update README.md
Tiny wording changes I requested from https://github.com/nvim-lua/kickstart.nvim/pull/283
2023-04-26 12:24:52 -04:00
Chris Patti
ac31b67aee
Merge pull request #283 from nPHYN1T3/master
A bit of clarification
2023-04-26 12:22:56 -04:00
Chris Patti
7e0a1675d2
Merge pull request #287 from keiwanjamaly/master
Added disconnect emoji for nvim-dap-ui
2023-04-26 11:42:12 -04:00
Keiwan Jamaly
e78ad01dd2
Added disconnect emoji for nvim-dap-ui 2023-04-26 17:37:48 +02:00
Chris Patti
bc3a3d3558
Merge pull request #282 from liepieshov/master
setup a standard binding for searching git files using telescope
2023-04-26 11:24:27 -04:00
nPHYN1T3
df10841feb
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.
2023-04-25 13:21:31 -06:00
nPHYN1T3
821ad95565
Update README.md 2023-04-25 13:15:10 -06:00
nPHYN1T3
604e92ef74
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.
2023-04-25 13:14:17 -06:00
nPHYN1T3
545577b9a1
Fixed Windows style path for home 2023-04-25 10:43:15 -06:00
nPHYN1T3
ad6351a650
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. :)
2023-04-25 10:21:31 -06:00
nPHYN1T3
f3ad4bb518
Update README.md 2023-04-24 15:29:58 -06:00
nPHYN1T3
b5c0b25398
Update README.md 2023-04-24 15:28:27 -06:00
nPHYN1T3
2eff982e1e
Update README.md 2023-04-24 15:21:53 -06:00
Chris Patti
36842aa368
Merge pull request #281 from SamPosh/dapui_toggle
Dapui.toggle keymap is added
2023-04-24 15:50:39 -04:00
liepieshov
0dfc159286 setup a standard binding for searching git files using telescope 2023-04-24 17:57:47 +01:00
SamPosh
9004013a8d
Dapui.toggle is added 2023-04-24 16:40:07 +05:30
Tsanko Tsanev
9924f7e0a0
Fix typo "documention" into "documentation" (#209) 2023-04-13 09:34:27 -04:00
KudoLayton
8d8fbd15bf
fix: move the Mason setup time forward from before (#210)
This commit fix the Mason [#1045](https://github.com/williamboman/mason.nvim/issues/1045) issue. Quickly set up Mason to avoid DAP-related startup error messages.
2023-04-13 09:34:06 -04:00
Jon Earnshaw
06192307f3
Correct command for neo-tree (#216) 2023-04-13 09:28:44 -04:00
Antoine Stevan
0278862ea1
minor modifications on the issue template (#244)
* use real markdown headers for section titles

* add a newline after the initial comment for readability

* make hint indications comments
2023-04-13 09:22:59 -04:00
Kai Windle
c19fe7af24
mason nvim dap 2.0 removed setup_handlers() (#258) 2023-04-12 13:43:08 -04:00
Sebastian Lyng Johansen
9451e1db71
fix: use :TSInstall on build with nvim-treesitter (#261) 2023-04-12 13:42:40 -04:00
Luiz Antonio Calliari Filho
e15e50edaf
Merge branch 'nvim-lua:master' into master 2023-04-10 11:36:21 -03:00
Chris Patti
7cecf4fcb1
help treesitter module has been renamed to vimdoc in master (#248) 2023-04-07 13:11:33 -04:00
Luiz Antonio Calliari Filho
986aa82cd6 FIX: Updating command description. 2023-03-12 20:45:26 -03:00
Luiz Antonio Calliari Filho
c975e0346a
Merge branch 'nvim-lua:master' into master 2023-03-07 22:36:27 -03:00
Luiz Antonio Calliari Filho
66dc5b896d Feat: Simplifying code 2023-03-06 23:26:20 -03:00
Philipp Szechenyi
4a37a0a9b1
added descriptions to Diagnostic keymaps (#191)
* Update init.lua

* Update init.lua
2023-02-27 16:37:28 -05:00
Lucian Boaca
933ddee7d9
Update instructions for neo-tree set up (#200)
For me, setting this variable in the config function didn't work. Putting it outside the return block did the trick.
2023-02-27 16:36:59 -05:00
Luiz Antonio Calliari Filho
187bebcbf9 Adding [+c and ]+c to move to diffs and leader+ph to show a pop up with the preview diff value. 2023-02-26 23:03:34 -03:00
Folke Lemaitre
72364ad9ac
docs: change telescope fzf native to lazy syntax (#185) 2023-02-19 15:32:15 -05:00
Tudor
9f384d76f4
feat: Add clipboard sync by default (#166) 2023-02-17 16:37:36 -05:00
TJ DeVries
3526fbeec9
feat: move to lazy.nvim package manager and add first plugins (#178)
Closes #175
Closes #177
Closes #173
Closes #169
Closes #161
Closes #144
Closes #138
Fixes #136
Closes #137
Closes #131
Closes #117
Closes #130
Closes #115
Closes #86
Closes #105
Closes #70
Fixes #176
Fixes #174
Fixes #160
Fixes #158
2023-02-17 16:31:57 -05:00
Sean
32744c3f66
Add windows init lua location (#121)
* feat: add init.lua location fir Windows

* feat: more specific number of lines
2023-01-11 16:49:00 -05:00
willsmanic
4916072854
added vim to tree-sitter's ensured installed list (#110)
please refer to https://github.com/nvim-treesitter/nvim-treesitter/issues/3092
2023-01-01 21:18:13 -05:00
amalgame21
c4d7212de3
Prevent multiple language servers from being spawned after every file save of init.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
2022-12-28 01:33:44 -05:00
kazenix
39a941c385
Adding cmake documentation to README.md (#85) 2022-12-22 07:45:20 -05:00
TJ DeVries
521940693e
move server config to easy to extend style (#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.
2022-12-20 22:12:39 -05:00
TJ DeVries
aa660e64ce remove python indent: closes #78 2022-12-20 16:03:05 -05:00
Matthias Debernardini
bec7410127
Update intstructions for existing nvim setups (#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.
2022-12-20 13:27:01 -05:00
TJ DeVries
6dccf03fd2
Update issue templates (#72) 2022-12-19 21:29:52 -05:00
18 changed files with 1481 additions and 457 deletions

28
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,28 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
<!-- Any bug report not following this template will be immediately closed. Thanks -->
## Describe the bug
<!-- A clear and concise description of what the bug is. -->
## To Reproduce
<!-- Steps to reproduce the behavior. -->
1. ...
## Desktop
<!-- please complete the following information. -->
- OS:
- Terminal:
## Neovim Version
<!-- Output of running `:version` from inside of neovim. -->
```
```

8
.github/pull_request_template.md vendored Normal file
View File

@ -0,0 +1,8 @@
***************************************************************************
**NOTE**
Please verify that the `base repository` above has the intended destination!
Github by default opens Pull Requests against the parent of a forked repository.
If this is your personal fork and you didn't intend to open a PR for contribution
to the original project then adjust the `base repository` accordingly.
**************************************************************************

21
.github/workflows/stylua.yml vendored Normal file
View File

@ -0,0 +1,21 @@
# Check Lua Formatting
name: Check Lua Formatting
on: pull_request_target
jobs:
stylua-check:
if: github.repository == 'nvim-lua/kickstart.nvim'
name: Stylua Check
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Stylua Check
uses: JohnnyMorganz/stylua-action@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: latest
args: --check .

3
.gitignore vendored
View File

@ -2,3 +2,6 @@ tags
test.sh
.luarc.json
nvim
spell/
lazy-lock.json

View File

@ -3,4 +3,4 @@ line_endings = "Unix"
indent_type = "Spaces"
indent_width = 2
quote_style = "AutoPreferSingle"
no_call_parentheses = true
call_parentheses = "None"

View File

@ -1,34 +0,0 @@
# Build neovim separately in the first stage
FROM alpine:latest AS base
RUN apk --no-cache add \
autoconf \
automake \
build-base \
cmake \
ninja \
coreutils \
curl \
gettext-tiny-dev \
git \
libtool \
pkgconf \
unzip
# Build neovim (and use it as an example codebase
RUN git clone https://github.com/neovim/neovim.git
ARG VERSION=master
RUN cd neovim && git checkout ${VERSION} && make CMAKE_BUILD_TYPE=RelWithDebInfo install
# To support kickstart.nvim
RUN apk --no-cache add \
fd \
ctags \
ripgrep \
git
# Copy the kickstart.nvim init.lua
COPY ./init.lua /root/.config/nvim/init.lua
WORKDIR /neovim

240
README.md
View File

@ -1,62 +1,228 @@
### Introduction
# kickstart.nvim
## Introduction
A starting point for Neovim that is:
* Small (~370 lines)
* Small
* Single-file
* Documented
* Modular
* Completely Documented
Kickstart.nvim targets *only* the latest ['stable'](https://github.com/neovim/neovim/releases/tag/stable) and latest ['nightly'](https://github.com/neovim/neovim/releases/tag/nightly) of Neovim. If you are experiencing issues, please make sure you have the latest versions.
**NOT** a Neovim distribution, but instead a starting point for your configuration.
This repo is meant to be used as a starting point for a user's own configuration; remove the things you don't use and add what you miss. This configuration serves as the reference configuration for the [lspconfig wiki](https://github.com/neovim/nvim-lspconfig/wiki).
## Installation
### Installation
### Install Neovim
* Backup your previous configuration
* Copy and paste the kickstart.nvim `init.lua` into `$HOME/.config/nvim/init.lua`
* Start Neovim (`nvim`) and run `:PackerInstall` - ignore any error message about missing plugins, `:PackerInstall` will fix that shortly
* Restart Neovim
Kickstart.nvim targets *only* the latest
['stable'](https://github.com/neovim/neovim/releases/tag/stable) and latest
['nightly'](https://github.com/neovim/neovim/releases/tag/nightly) of Neovim.
If you are experiencing issues, please make sure you have the latest versions.
If there are languages that you don't want to use, remove their configuration and notes from your `init.lua` after copy and pasting (for example, in the mason configuration).
### Install External Dependencies
### Configuration
External Requirements:
- Basic utils: `git`, `make`, `unzip`, C Compiler (`gcc`)
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation)
- 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
- Language Setup:
- If want to write Typescript, you need `npm`
- If want to write Golang, you will need `go`
- etc.
You could directly modify the `init.lua` file with your personal customizations. This option is the most straightforward, but if you update your config from this repo, you may need to reapply your changes.
> **NOTE**
> See [Install Recipes](#Install-Recipes) for additional Windows and Linux specific notes
> and quick install snippets
An alternative approach is to create a separate `custom.plugins` module to register your own plugins. In addition, you can handle further customizations in the `/after/plugin/` directory (see `:help load-plugins`). See the following examples for more information. Leveraging this technique should make upgrading to a newer version of this repo easier.
### Install Kickstart
#### Example `plugins.lua`
> **NOTE**
> [Backup](#FAQ) your previous configuration (if any exists)
The following is an example of a `plugins.lua` module (located at `$HOME/.config/nvim/lua/custom/plugins.lua`) where you can register your own plugins.
Neovim's configurations are located under the following paths, depending on your OS:
```lua
return function(use)
use({
"folke/which-key.nvim",
config = function()
require("which-key").setup({})
end
})
end
| OS | PATH |
| :- | :--- |
| Linux, MacOS | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |
| Windows (cmd)| `%userprofile%\AppData\Local\nvim\` |
| Windows (powershell)| `$env:USERPROFILE\AppData\Local\nvim\` |
#### Recommended Step
[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo
so that you have your own copy that you can modify, then install by cloning the
fork to your machine using one of the commands below, depending on your OS.
> **NOTE**
> Your fork's url will be something like this:
> `https://github.com/<your_github_username>/kickstart.nvim.git`
#### Clone kickstart.nvim
> **NOTE**
> If following the recommended step above (i.e., forking the repo), replace
> `nvim-lua` with `<your_github_username>` in the commands below
<details><summary> Linux and Mac </summary>
```sh
git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
```
#### Example `defaults.lua`
</details>
For further customizations, you can add a file in the `/after/plugin/` folder (see `:help load-plugins`) to include your own options, keymaps, autogroups, and more. The following is an example `defaults.lua` file (located at `$HOME/.config/nvim/after/plugin/defaults.lua`).
<details><summary> Windows </summary>
```lua
vim.opt.relativenumber = true
If you're using `cmd.exe`:
vim.keymap.set('n', '<leader>sr', require('telescope.builtin').resume, { desc = '[S]earch [R]esume' })
```
git clone https://github.com/nvim-lua/kickstart.nvim.git %userprofile%\AppData\Local\nvim\
```
### Contribution
If you're using `powershell.exe`
Pull-requests are welcome. The goal of this repo is not to create a Neovim configuration framework, but to offer a starting template that shows, by example, available features in Neovim. Some things that will not be included:
```
git clone https://github.com/nvim-lua/kickstart.nvim.git $env:USERPROFILE\AppData\Local\nvim\
```
* Custom language server configuration (null-ls templates)
* Theming beyond a default colorscheme necessary for LSP highlight groups
* Lazy-loading. Kickstart.nvim should start within 40 ms on modern hardware. Please profile and contribute to upstream plugins to optimize startup time instead.
</details>
### Post Installation
Start Neovim
```sh
nvim
```
That's it! Lazy will install all the plugins you have. Use `:Lazy` to view
current plugin status. Hit `q` to close the window.
Read through the `init.lua` file in your configuration folder for more
information about extending and exploring Neovim. That also includes
examples of adding popularly requested plugins.
### Getting Started
[The Only Video You Need to Get Started with Neovim](https://youtu.be/m8C0Cq9Uv9o)
### FAQ
* What should I do if I already have a pre-existing neovim configuration?
* You should back it up and then delete all associated files.
* This includes your existing init.lua and the neovim files in `~/.local`
which can be deleted with `rm -rf ~/.local/share/nvim/`
* Can I keep my existing configuration in parallel to kickstart?
* 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:
```
alias nvim-kickstart='NVIM_APPNAME="nvim-kickstart" nvim'
```
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.
* What if I want to "uninstall" this configuration:
* See [lazy.nvim uninstall](https://github.com/folke/lazy.nvim#-uninstalling) information
* Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files?
* The main purpose of kickstart is to serve as a teaching tool and a reference
configuration that someone can easily use to `git clone` as a basis for their own.
As you progress in learning Neovim and Lua, you might consider splitting `init.lua`
into smaller parts. A fork of kickstart that does this while maintaining the
same functionality is available here:
* [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim)
* Discussions on this topic can be found here:
* [Restructure the configuration](https://github.com/nvim-lua/kickstart.nvim/issues/218)
* [Reorganize init.lua into a multi-file setup](https://github.com/nvim-lua/kickstart.nvim/pull/473)
### Install Recipes
Below you can find OS specific install instructions for Neovim and dependencies.
After installing all the dependencies continue with the [Install Kickstart](#Install-Kickstart) step.
#### Windows Installation
<details><summary>Windows with Microsoft C++ Build Tools and CMake</summary>
Installation may require installing build tools and updating the run command for `telescope-fzf-native`
See `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation)
This requires:
- Install CMake and the Microsoft C++ Build Tools on Windows
```lua
{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }
```
</details>
<details><summary>Windows with gcc/make using chocolatey</summary>
Alternatively, one can install gcc and make which don't require changing the config,
the easiest way is to use choco:
1. install [chocolatey](https://chocolatey.org/install)
either follow the instructions on the page or use winget,
run in cmd as **admin**:
```
winget install --accept-source-agreements chocolatey.chocolatey
```
2. install all requirements using choco, exit previous cmd and
open a new one so that choco path is set, and run in cmd as **admin**:
```
choco install -y neovim git ripgrep wget fd unzip gzip mingw make
```
</details>
<details><summary>WSL (Windows Subsystem for Linux)</summary>
```
wsl --install
wsl
sudo add-apt-repository ppa:neovim-ppa/unstable -y
sudo apt update
sudo apt install make gcc ripgrep unzip neovim
```
</details>
#### Linux Install
<details><summary>Ubuntu Install Steps</summary>
```
sudo add-apt-repository ppa:neovim-ppa/unstable -y
sudo apt update
sudo apt install make gcc ripgrep unzip git neovim
```
</details>
<details><summary>Debian Install Steps</summary>
```
sudo apt update
sudo apt install make gcc ripgrep unzip git 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
# make it available in /usr/local/bin, distro installs to /usr/bin
sudo ln -sf /opt/nvim-linux64/bin/nvim /usr/local/bin/
```
</details>
<details><summary>Fedora Install Steps</summary>
```
sudo dnf install -y gcc make git ripgrep fd-find unzip neovim
```
</details>
<details><summary>Arch Install Steps</summary>
```
sudo pacman -S --noconfirm --needed gcc make git ripgrep fd unzip neovim
```
</details>
Each PR, especially those which increase the line count, should have a description as to why the PR is necessary.

24
doc/kickstart.txt Normal file
View File

@ -0,0 +1,24 @@
================================================================================
INTRODUCTION *kickstart.nvim*
Kickstart.nvim is a project to help you get started on your neovim journey.
*kickstart-is-not*
It is not:
- Complete framework for every plugin under the sun
- Place to add every plugin that could ever be useful
*kickstart-is*
It is:
- Somewhere that has a good start for the most common "IDE" type features:
- autocompletion
- goto-definition
- find references
- fuzzy finding
- and hinting at what more can be done :)
- A place to _kickstart_ your journey.
- You should fork this project and use/modify it so that it matches your
style and preferences. If you don't want to do that, there are probably
other projects that would fit much better for you (and that's great!)!
vim:tw=78:ts=8:ft=help:norl:

3
doc/tags Normal file
View File

@ -0,0 +1,3 @@
kickstart-is kickstart.txt /*kickstart-is*
kickstart-is-not kickstart.txt /*kickstart-is-not*
kickstart.nvim kickstart.txt /*kickstart.nvim*

1262
init.lua

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,5 @@
-- You can add your own plugins here or in other files in this directory!
-- I promise not to create any merge conflicts in this directory :)
--
-- See the kickstart.nvim README for more information
return {}

52
lua/kickstart/health.lua Normal file
View File

@ -0,0 +1,52 @@
--[[
--
-- This file is not required for your own configuration,
-- but helps people determine if their system is setup correctly.
--
--]]
local check_version = function()
local verstr = string.format('%s.%s.%s', vim.version().major, vim.version().minor, vim.version().patch)
if not vim.version.cmp then
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
return
end
if vim.version.cmp(vim.version(), { 0, 9, 4 }) >= 0 then
vim.health.ok(string.format("Neovim version is: '%s'", verstr))
else
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
end
end
local check_external_reqs = function()
-- Basic utils: `git`, `make`, `unzip`
for _, exe in ipairs { 'git', 'make', 'unzip', 'rg' } do
local is_executable = vim.fn.executable(exe) == 1
if is_executable then
vim.health.ok(string.format("Found executable: '%s'", exe))
else
vim.health.warn(string.format("Could not find executable: '%s'", exe))
end
end
return true
end
return {
check = function()
vim.health.start 'kickstart.nvim'
vim.health.info [[NOTE: Not every warning is a 'must-fix' in `:checkhealth`
Fix only warnings for plugins and languages you intend to use.
Mason will give warnings for languages that are not installed.
You do not need to install, unless you want to use those languages!]]
local uv = vim.uv or vim.loop
vim.health.info('System Information: ' .. vim.inspect(uv.os_uname()))
check_version()
check_external_reqs()
end,
}

View File

@ -0,0 +1,16 @@
-- autopairs
-- https://github.com/windwp/nvim-autopairs
return {
'windwp/nvim-autopairs',
event = 'InsertEnter',
-- Optional dependency
dependencies = { 'hrsh7th/nvim-cmp' },
config = function()
require('nvim-autopairs').setup {}
-- If you want to automatically add `(` after selecting a function or method
local cmp_autopairs = require 'nvim-autopairs.completion.cmp'
local cmp = require 'cmp'
cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done())
end,
}

View File

@ -0,0 +1,90 @@
-- debug.lua
--
-- Shows how to use the DAP plugin to debug your code.
--
-- Primarily focused on configuring the debugger for Go, but can
-- be extended to other languages as well. That's why it's called
-- kickstart.nvim and not kitchen-sink.nvim ;)
return {
-- NOTE: Yes, you can install new plugins here!
'mfussenegger/nvim-dap',
-- NOTE: And you can specify dependencies as well
dependencies = {
-- Creates a beautiful debugger UI
'rcarriga/nvim-dap-ui',
-- Required dependency for nvim-dap-ui
'nvim-neotest/nvim-nio',
-- Installs the debug adapters for you
'williamboman/mason.nvim',
'jay-babu/mason-nvim-dap.nvim',
-- Add your own debuggers here
'leoluz/nvim-dap-go',
},
config = function()
local dap = require 'dap'
local dapui = require 'dapui'
require('mason-nvim-dap').setup {
-- Makes a best effort to setup the various debuggers with
-- reasonable debug configurations
automatic_setup = true,
-- You can provide additional configuration to the handlers,
-- see mason-nvim-dap README for more information
handlers = {},
-- You'll need to check that you have the required things installed
-- online, please don't ask me how to install them :)
ensure_installed = {
-- Update this to ensure that you have the debuggers for the langs you want
'delve',
},
}
-- Basic debugging keymaps, feel free to change to your liking!
vim.keymap.set('n', '<F5>', dap.continue, { desc = 'Debug: Start/Continue' })
vim.keymap.set('n', '<F1>', dap.step_into, { desc = 'Debug: Step Into' })
vim.keymap.set('n', '<F2>', dap.step_over, { desc = 'Debug: Step Over' })
vim.keymap.set('n', '<F3>', dap.step_out, { desc = 'Debug: Step Out' })
vim.keymap.set('n', '<leader>b', dap.toggle_breakpoint, { desc = 'Debug: Toggle Breakpoint' })
vim.keymap.set('n', '<leader>B', function()
dap.set_breakpoint(vim.fn.input 'Breakpoint condition: ')
end, { desc = 'Debug: Set Breakpoint' })
-- Dap UI setup
-- For more information, see |:help nvim-dap-ui|
dapui.setup {
-- Set icons to characters that are more likely to work in every terminal.
-- Feel free to remove or use ones that you like more! :)
-- Don't feel like these are good choices.
icons = { expanded = '', collapsed = '', current_frame = '*' },
controls = {
icons = {
pause = '',
play = '',
step_into = '',
step_over = '',
step_out = '',
step_back = 'b',
run_last = '▶▶',
terminate = '',
disconnect = '',
},
},
}
-- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception.
vim.keymap.set('n', '<F7>', dapui.toggle, { desc = 'Debug: See last session result.' })
dap.listeners.after.event_initialized['dapui_config'] = dapui.open
dap.listeners.before.event_terminated['dapui_config'] = dapui.close
dap.listeners.before.event_exited['dapui_config'] = dapui.close
-- Install golang specific config
require('dap-go').setup()
end,
}

View File

@ -0,0 +1,61 @@
-- Adds git related signs to the gutter, as well as utilities for managing changes
-- NOTE: gitsigns is already included in init.lua but contains only the base
-- config. This will add also the recommended keymaps.
return {
{
'lewis6991/gitsigns.nvim',
opts = {
on_attach = function(bufnr)
local gitsigns = require 'gitsigns'
local function map(mode, l, r, opts)
opts = opts or {}
opts.buffer = bufnr
vim.keymap.set(mode, l, r, opts)
end
-- Navigation
map('n', ']c', function()
if vim.wo.diff then
vim.cmd.normal { ']c', bang = true }
else
gitsigns.nav_hunk 'next'
end
end, { desc = 'Jump to next git [c]hange' })
map('n', '[c', function()
if vim.wo.diff then
vim.cmd.normal { '[c', bang = true }
else
gitsigns.nav_hunk 'prev'
end
end, { desc = 'Jump to previous git [c]hange' })
-- Actions
-- visual mode
map('v', '<leader>hs', function()
gitsigns.stage_hunk { vim.fn.line '.', vim.fn.line 'v' }
end, { desc = 'stage git hunk' })
map('v', '<leader>hr', function()
gitsigns.reset_hunk { vim.fn.line '.', vim.fn.line 'v' }
end, { desc = 'reset git hunk' })
-- normal mode
map('n', '<leader>hs', gitsigns.stage_hunk, { desc = 'git [s]tage hunk' })
map('n', '<leader>hr', gitsigns.reset_hunk, { desc = 'git [r]eset hunk' })
map('n', '<leader>hS', gitsigns.stage_buffer, { desc = 'git [S]tage buffer' })
map('n', '<leader>hu', gitsigns.undo_stage_hunk, { desc = 'git [u]ndo stage hunk' })
map('n', '<leader>hR', gitsigns.reset_buffer, { desc = 'git [R]eset buffer' })
map('n', '<leader>hp', gitsigns.preview_hunk, { desc = 'git [p]review hunk' })
map('n', '<leader>hb', gitsigns.blame_line, { desc = 'git [b]lame line' })
map('n', '<leader>hd', gitsigns.diffthis, { desc = 'git [d]iff against index' })
map('n', '<leader>hD', function()
gitsigns.diffthis '@'
end, { desc = 'git [D]iff against last commit' })
-- Toggles
map('n', '<leader>tb', gitsigns.toggle_current_line_blame, { desc = '[T]oggle git show [b]lame line' })
map('n', '<leader>tD', gitsigns.toggle_deleted, { desc = '[T]oggle git show [D]eleted' })
end,
},
},
}

View File

@ -0,0 +1,9 @@
return {
{ -- Add indentation guides even on blank lines
'lukas-reineke/indent-blankline.nvim',
-- Enable `lukas-reineke/indent-blankline.nvim`
-- See `:help ibl`
main = 'ibl',
opts = {},
},
}

View File

@ -0,0 +1,55 @@
return {
{ -- Linting
'mfussenegger/nvim-lint',
event = { 'BufReadPre', 'BufNewFile' },
config = function()
local lint = require 'lint'
lint.linters_by_ft = {
markdown = { 'markdownlint' },
}
-- To allow other plugins to add linters to require('lint').linters_by_ft,
-- instead set linters_by_ft like this:
-- lint.linters_by_ft = lint.linters_by_ft or {}
-- lint.linters_by_ft['markdown'] = { 'markdownlint' }
--
-- However, note that this will enable a set of default linters,
-- which will cause errors unless these tools are available:
-- {
-- clojure = { "clj-kondo" },
-- dockerfile = { "hadolint" },
-- inko = { "inko" },
-- janet = { "janet" },
-- json = { "jsonlint" },
-- markdown = { "vale" },
-- rst = { "vale" },
-- ruby = { "ruby" },
-- terraform = { "tflint" },
-- text = { "vale" }
-- }
--
-- You can disable the default linters by setting their filetypes to nil:
-- lint.linters_by_ft['clojure'] = nil
-- lint.linters_by_ft['dockerfile'] = nil
-- lint.linters_by_ft['inko'] = nil
-- lint.linters_by_ft['janet'] = nil
-- lint.linters_by_ft['json'] = nil
-- lint.linters_by_ft['markdown'] = nil
-- lint.linters_by_ft['rst'] = nil
-- lint.linters_by_ft['ruby'] = nil
-- lint.linters_by_ft['terraform'] = nil
-- lint.linters_by_ft['text'] = nil
-- Create autocommand which carries out the actual linting
-- on the specified events.
local lint_augroup = vim.api.nvim_create_augroup('lint', { clear = true })
vim.api.nvim_create_autocmd({ 'BufEnter', 'BufWritePost', 'InsertLeave' }, {
group = lint_augroup,
callback = function()
require('lint').try_lint()
end,
})
end,
},
}

View File

@ -0,0 +1,25 @@
-- Neo-tree is a Neovim plugin to browse the file system
-- https://github.com/nvim-neo-tree/neo-tree.nvim
return {
'nvim-neo-tree/neo-tree.nvim',
version = '*',
dependencies = {
'nvim-lua/plenary.nvim',
'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended
'MunifTanjim/nui.nvim',
},
cmd = 'Neotree',
keys = {
{ '\\', ':Neotree reveal<CR>', { desc = 'NeoTree reveal' } },
},
opts = {
filesystem = {
window = {
mappings = {
['\\'] = 'close_window',
},
},
},
},
}