Compare commits

..

204 Commits

Author SHA1 Message Date
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
Luiz Antonio Calliari Filho
e15e50edaf
Merge branch 'nvim-lua:master' into master 2023-04-10 11:36:21 -03: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
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
10 changed files with 1149 additions and 562 deletions

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 .

2
.gitignore vendored
View File

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

View File

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

267
README.md
View File

@ -1,47 +1,119 @@
# kickstart.nvim # kickstart.nvim
### Introduction ## Introduction
A starting point for Neovim that is: A starting point for Neovim that is:
* Small * Small
* Single-file (with examples of moving to multi-file) * Single-file
* Documented * Completely Documented
* Modular
This repo is meant to be used as by **YOU** to begin your Neovim journey; remove the things you don't use and add what you miss. **NOT** a Neovim distribution, but instead a starting point for your configuration.
Distribution Alternatives: ## Installation
- [LazyVim](https://www.lazyvim.org/): A delightful distribution maintained by @folke (the author of lazy.nvim, the package manager used here)
### Installation ### Install 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. 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.
* Backup your previous configuration ### Install External Dependencies
* (Recommended) Fork this repo (so that you have your own copy that you can modify).
* Clone the kickstart repo into `$HOME/.config/nvim/` (Linux/Mac) or `~/AppData/Local/nvim/` (Windows)
* If you don't want to include it as a git repo, you can just clone it and then move the files to this location
* Start Neovim (`nvim`) and allow `lazy.nvim` to complete installation.
* Restart Neovim
* **You're ready to go!**
Additional system requirements: > **NOTE**
- Make sure to review the readmes of the plugins if you are experiencing errors. In particular: > [Backup](#FAQ) your previous configuration (if any exists)
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation) is required for multiple [telescope](https://github.com/nvim-telescope/telescope.nvim#suggested-dependencies) pickers.
- See as well [Windows Installation](#Windows-Installation)
### Configuration And Extension 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.
* Inside of your fork, feel free to modify any file you like! It's your fork! > **NOTE**
* Then there are two primary configuration options available: > See [Install Recipes](#Install-Recipes) for additional Windows and Linux specific notes
* Include the `lua/kickstart/plugins/*` files in your configuration. > and quick install snippets
* Add new configuration in `lua/custom/plugins/*` files, which will be auto sourced using `lazy.nvim`
* NOTE: To enable this, you need to uncomment `{ import = 'custom.plugins' }` in your `init.lua`
You can also merge updates/changes from the repo back into your fork, to keep up-to-date with any changes for the default configuration Neovim's configurations are located under the following paths, depending on your OS:
#### Example: Adding an autopairs plugin | OS | PATH |
| :- | :--- |
| Linux, MacOS | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |
| Windows (cmd)| `%userprofile%\AppData\Local\nvim\` |
| Windows (powershell)| `$env:USERPROFILE\AppData\Local\nvim\` |
### Install Kickstart
#### 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
```
</details>
<details><summary> Windows </summary>
If you're using `cmd.exe`:
```
git clone https://github.com/nvim-lua/kickstart.nvim.git %userprofile%\AppData\Local\nvim\
```
If you're using `powershell.exe`
```
git clone https://github.com/nvim-lua/kickstart.nvim.git $env:USERPROFILE\AppData\Local\nvim\
```
</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.
Read through the `init.lua` file in your configuration folder for more
information about extending and exploring Neovim.
#### Examples of adding popularly requested plugins
NOTE: You'll need to uncomment the line in the init.lua that turns on loading custom plugins.
<details>
<summary>Adding autopairs</summary>
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).
In the file: `lua/custom/plugins/autopairs.lua`, add: In the file: `lua/custom/plugins/autopairs.lua`, add:
@ -50,22 +122,33 @@ In the file: `lua/custom/plugins/autopairs.lua`, add:
return { return {
"windwp/nvim-autopairs", "windwp/nvim-autopairs",
-- Optional dependency
dependencies = { 'hrsh7th/nvim-cmp' },
config = function() config = function()
require("nvim-autopairs").setup {} 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, end,
} }
``` ```
</details>
<details>
<summary>Adding a file tree plugin</summary>
This will automatically install `nvim-autopairs` and enable it on startup. For more information, see documentation for [lazy.nvim](https://github.com/folke/lazy.nvim). This will install the tree plugin and add the command `:Neotree` for you.
For more information, see the documentation at
#### Example: Adding a file tree plugin [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim).
In the file: `lua/custom/plugins/filetree.lua`, add: In the file: `lua/custom/plugins/filetree.lua`, add:
```lua ```lua
-- Unless you are still migrating, remove the deprecated commands from v1.x -- File: lua/custom/plugins/filetree.lua
vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]])
return { return {
"nvim-neo-tree/neo-tree.nvim", "nvim-neo-tree/neo-tree.nvim",
@ -81,50 +164,114 @@ return {
} }
``` ```
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. </details>
#### Example: Adding a file to change default options ### Getting Started
To change default options, 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`). [The Only Video You Need to Get Started with Neovim](https://youtu.be/m8C0Cq9Uv9o)
```lua
vim.opt.relativenumber = true
vim.keymap.set('n', '<leader>sr', require('telescope.builtin').resume, { desc = '[S]earch [R]esume' })
```
### Contribution
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:
* Custom language server configuration (null-ls templates)
* Theming beyond a default colorscheme necessary for LSP highlight groups
Each PR, especially those which increase the line count, should have a description as to why the PR is necessary.
### FAQ ### FAQ
* What should I do if I already have a pre-existing neovim configuration? * What should I do if I already have a pre-existing neovim configuration?
* You should back it up, then delete all files associated with it. * 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/` * This includes your existing init.lua and the neovim files in `~/.local`
* You may also want to look at the [migration guide for lazy.nvim](https://github.com/folke/lazy.nvim#-migration-guide) 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: * What if I want to "uninstall" this configuration:
* See [lazy.nvim uninstall](https://github.com/folke/lazy.nvim#-uninstalling) information * See [lazy.nvim uninstall](https://github.com/folke/lazy.nvim#-uninstalling) information
* Are there any cool videos about this plugin? * Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files?
* Current iteration of kickstart (coming soon) * The main purpose of kickstart is to serve as a teaching tool and a reference
* Here is one about the previous iteration of kickstart: [video introduction to Kickstart.nvim](https://youtu.be/stqUbv-5u2s). 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)
### Windows Installation ### Install Recipes
Installation may require installing build tools, and updating the run command for `telescope-fzf-native` 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) See `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation)
This requires: This requires:
- Install CMake, and the Microsoft C++ Build Tools on Windows - Install CMake and the Microsoft C++ Build Tools on Windows
```lua ```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' } {'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 neovim
```
</details>
<details><summary>Debian Install Steps</summary>
```
sudo apt update
sudo apt install make gcc ripgrep unzip git
echo "deb https://deb.debian.org/debian unstable main" | sudo tee -a /etc/apt/sources.list
sudo apt update
sudo apt install -t unstable neovim
```
</details>
<details><summary>Fedora Install Steps</summary>
```
sudo dnf install -y gcc make git ripgrep fd-find neovim
```
</details>

1078
init.lua

File diff suppressed because it is too large Load Diff

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

@ -1,74 +0,0 @@
-- autoformat.lua
--
-- Use your language server to automatically format your code on save.
-- Adds additional commands as well to manage the behavior
return {
'neovim/nvim-lspconfig',
config = function()
-- Switch for controlling whether you want autoformatting.
-- Use :KickstartFormatToggle to toggle autoformatting on or off
local format_is_enabled = true
vim.api.nvim_create_user_command('KickstartFormatToggle', function()
format_is_enabled = not format_is_enabled
print('Setting autoformatting to: ' .. tostring(format_is_enabled))
end, {})
-- Create an augroup that is used for managing our formatting autocmds.
-- We need one augroup per client to make sure that multiple clients
-- can attach to the same buffer without interfering with each other.
local _augroups = {}
local get_augroup = function(client)
if not _augroups[client.id] then
local group_name = 'kickstart-lsp-format-' .. client.name
local id = vim.api.nvim_create_augroup(group_name, { clear = true })
_augroups[client.id] = id
end
return _augroups[client.id]
end
-- Whenever an LSP attaches to a buffer, we will run this function.
--
-- See `:help LspAttach` for more information about this autocmd event.
vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup('kickstart-lsp-attach-format', { clear = true }),
-- This is where we attach the autoformatting for reasonable clients
callback = function(args)
local client_id = args.data.client_id
local client = vim.lsp.get_client_by_id(client_id)
local bufnr = args.buf
-- Only attach to clients that support document formatting
if not client.server_capabilities.documentFormattingProvider then
return
end
-- Tsserver usually works poorly. Sorry you work with bad languages
-- You can remove this line if you know what you're doing :)
if client.name == 'tsserver' then
return
end
-- Create an autocmd that will run *before* we save the buffer.
-- Run the formatting command for the LSP that has just attached.
vim.api.nvim_create_autocmd('BufWritePre', {
group = get_augroup(client),
buffer = bufnr,
callback = function()
if not format_is_enabled then
return
end
vim.lsp.buf.format {
async = false,
filter = function(c)
return c.id == client.id
end,
}
end,
})
end,
})
end,
}

View File

@ -14,6 +14,9 @@ return {
-- Creates a beautiful debugger UI -- Creates a beautiful debugger UI
'rcarriga/nvim-dap-ui', 'rcarriga/nvim-dap-ui',
-- Required dependency for nvim-dap-ui
'nvim-neotest/nvim-nio',
-- Installs the debug adapters for you -- Installs the debug adapters for you
'williamboman/mason.nvim', 'williamboman/mason.nvim',
'jay-babu/mason-nvim-dap.nvim', 'jay-babu/mason-nvim-dap.nvim',
@ -43,14 +46,14 @@ return {
} }
-- Basic debugging keymaps, feel free to change to your liking! -- Basic debugging keymaps, feel free to change to your liking!
vim.keymap.set('n', '<F5>', dap.continue) vim.keymap.set('n', '<F5>', dap.continue, { desc = 'Debug: Start/Continue' })
vim.keymap.set('n', '<F1>', dap.step_into) vim.keymap.set('n', '<F1>', dap.step_into, { desc = 'Debug: Step Into' })
vim.keymap.set('n', '<F2>', dap.step_over) vim.keymap.set('n', '<F2>', dap.step_over, { desc = 'Debug: Step Over' })
vim.keymap.set('n', '<F3>', dap.step_out) vim.keymap.set('n', '<F3>', dap.step_out, { desc = 'Debug: Step Out' })
vim.keymap.set('n', '<leader>b', dap.toggle_breakpoint) vim.keymap.set('n', '<leader>b', dap.toggle_breakpoint, { desc = 'Debug: Toggle Breakpoint' })
vim.keymap.set('n', '<leader>B', function() vim.keymap.set('n', '<leader>B', function()
dap.set_breakpoint(vim.fn.input 'Breakpoint condition: ') dap.set_breakpoint(vim.fn.input 'Breakpoint condition: ')
end) end, { desc = 'Debug: Set Breakpoint' })
-- Dap UI setup -- Dap UI setup
-- For more information, see |:help nvim-dap-ui| -- For more information, see |:help nvim-dap-ui|
@ -69,10 +72,14 @@ return {
step_back = 'b', step_back = 'b',
run_last = '▶▶', run_last = '▶▶',
terminate = '', 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.after.event_initialized['dapui_config'] = dapui.open
dap.listeners.before.event_terminated['dapui_config'] = dapui.close dap.listeners.before.event_terminated['dapui_config'] = dapui.close
dap.listeners.before.event_exited['dapui_config'] = dapui.close dap.listeners.before.event_exited['dapui_config'] = dapui.close

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,
},
}