Skip to content

nvim lua/master #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 82 commits into from
Mar 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
e2bfa0c
Arch, btw (#852)
rdvm Apr 16, 2024
fabeb86
Comment about nerd font selection. Fixes #853 (#854)
dam9000 Apr 17, 2024
6d6b3f3
Fix: #847 - add prefer_git to treesitter config (#856)
feoh Apr 17, 2024
5540527
Enable inlay hints for the supporting servers (#843)
VlaDexa Apr 17, 2024
5e258d2
Move plugin examples from README to optional plugin files (#831)
dam9000 Apr 17, 2024
f5c9fe8
Add gitsigns recommended keymaps as an optional plugin (#858)
dam9000 Apr 18, 2024
b07176a
fix: restore Mason config timing for DAP startup (again) (#865)
GameFuzzy Apr 19, 2024
931ec5c
Update README.md (#860)
EvanCarroll Apr 20, 2024
9f5176f
Minor improvements of debian install instructions. Fixes #859 (#869)
dam9000 Apr 20, 2024
2e68a2c
Add a commented out example of the classic complete keymaps. Fixes #8…
dam9000 Apr 20, 2024
f92fb11
Fix deprecation notice of inlay hints (#873)
VlaDexa Apr 22, 2024
81f270a
Fix highlight errors when lsp crash or stop (#864)
sudo-tee Apr 22, 2024
942b261
fix: highlight group clear on each attach (#874)
sudo-tee Apr 22, 2024
8df3deb
Update README.md (#875)
adoante Apr 22, 2024
b7d5cc8
README: add clipboard tool dependency (#886)
dam9000 Apr 27, 2024
6f6f38a
Move LspDetach handler near kickstart-lsp-highlight group (#900)
dam9000 May 2, 2024
f86f18f
Add diff to treesitter's ensure_installed languages (#908)
rmacklin May 6, 2024
b9bd02d
fix: debug.lua (#918)
smiggiddy May 8, 2024
5aeddfd
Automatically set detached state as needed. (#925)
PerMalmberg May 10, 2024
f5c9195
which-key v3 update (#1022)
VlaDexa Jul 16, 2024
3e55ff1
fix(lazy): added error handling for bootstrap (#1001)
folke Jul 16, 2024
2df5137
fix: add required parsers from nvim-treesitter
tjdevries Jul 18, 2024
202910d
Fix neo-tree keymap description (#932)
dam9000 Jul 21, 2024
1cdf6fb
Remove redundant require (#959)
tjkuson Jul 21, 2024
4bbca64
Make debug lazy loadable (#978)
VlaDexa Jul 21, 2024
c405d3f
Update README.md | %userprofile%\appdata\local -> %localappdata% (#963)
MZhuvka Jul 21, 2024
b36d84d
Make conform.nvim be lazy-loadable again (#977)
VlaDexa Jul 21, 2024
07a9f44
Fix comment about mini.ai example (#985)
rmacklin Jul 21, 2024
7513ec8
Neovim 0.10 updates (#936)
VlaDexa Jul 22, 2024
6207327
Update lazydev config to fix "Undefined field `fs_stat`" LSP error (#…
rmacklin Jul 22, 2024
6f3fe35
lint: fix lsp warning in `vim.lsp.inlay_hint.is_enabled` (#947)
srdtrk Jul 22, 2024
56b9114
Update comment about the toggle inlay hints keymap (#1041)
rmacklin Jul 22, 2024
f00b286
Remove redundant hlsearch option (#1058)
rivenirvana Jul 28, 2024
1cef232
Modify conform comments to prevent deprecation warning when used (#1057)
igniscyan Jul 28, 2024
fd66454
refactor: remove lazydev and luvit-meta as lsp dependencies (#1047)
iton0 Jul 28, 2024
84cc123
performance: defer clipboard because xsel and pbcopy can be slow (#1049)
abeldekat Jul 28, 2024
bb9f84c
Remove treesitter prefer_git option (#1061)
jstrot Jul 30, 2024
1860184
Add explicit dependency of nvim-lspconfig on cmp-nvim-lsp (#1042)
jstrot Jul 30, 2024
c1ae909
Update README.md (#1091)
theoboldalex Aug 22, 2024
554a054
Add note in README about lazy-lock.json (#1090)
mattgallagher92 Aug 22, 2024
ce0c734
Check for loop or uv for lazypath (#1095)
mike-jl Aug 22, 2024
ac78e7d
refactor: update treesitter and which-key config (#1068)
iton0 Aug 23, 2024
d452633
Include visual mode in LSP code action keymap (#1060) (#1064)
bayramkzk Aug 24, 2024
f49cc6c
Enable silent option for default neo-tree plugin keybinding (#1108)
bayramkzk Aug 26, 2024
e4a5300
Fix: updated the windows installation commands (#1101)
pantharshit007 Aug 26, 2024
c76c323
fix: remove deprecated opt for conform.nvim (#1070)
iton0 Aug 26, 2024
24d368f
cleanup: refactor which-key configuration for cleaner setup (#1102)
iton0 Aug 26, 2024
a229761
Fix the which-key spec issue caused by recent cleanup (#1113)
dam9000 Aug 26, 2024
7201dc4
feat: update references of tsserver to ts_ls (#1131)
Cheveniko Sep 10, 2024
4120893
fix: update lazy uninstall information link (#1148)
neitsab Sep 24, 2024
5ed1bc3
Disable linting autocmd for readonly buffers (#1202)
ccjmne Oct 30, 2024
fb7f6a1
samarth-nagar fix: lazy help tag on line 931 (#1167)
samarth-na Oct 30, 2024
d09d9bc
Change diagnostic symbols if vim.g.have_nerd_font is true (#1195)
glmlm Oct 30, 2024
be678aa
Set breakpoint icons and their highlight colors (#1194)
glmlm Oct 30, 2024
2ba39c6
Remove two because there are more than two. (#1213)
winder Oct 30, 2024
e5dc5f6
feat: Change to prepare for upcoming deprecation of configuring diagn…
glmlm Nov 20, 2024
9dfb1b2
Fix nvim-dap not lazy loading (#1216)
kaezrr Nov 20, 2024
8d1ef97
fix: which-key comment typo (#1227)
mihasket Nov 20, 2024
7bc9d19
Tweak outdated comment about lazy's `config` key usage. (#1250)
benfleis Dec 12, 2024
a2df3ea
Use consistent syntax style for { ... } "pseudocode" (#1247)
dragunovartem99 Dec 12, 2024
bcdb4cd
Issue 1249 which key comments (#1263)
benfleis Dec 12, 2024
de44f49
fix(gitsigns): make visual mode descriptions consistent with normal m…
sswensen Dec 15, 2024
e84e187
Fix README.md grammar and typos (#1291)
feketegy Dec 29, 2024
7ddaab3
chore: add pre-issue requirements (#1288)
iton0 Dec 29, 2024
a8f5395
Fix which-key delay settings (#1276)
jensenr30 Dec 29, 2024
db4867a
fix: prevent mason setup from being run twice (#1298)
tomasgareau Jan 7, 2025
f6abf68
chore: remove redundant comment (#1307)
nhld Jan 15, 2025
ff89769
chore: fix typo in bug report issue template (#1306)
nhld Jan 15, 2025
5bdde24
Use luals 3rd library for luv (#1303)
diorman Jan 15, 2025
abdbfce
chore(docs): Update README.md (#1344)
rnevius Feb 15, 2025
71ad926
docs: clarify using opts = {} vs config = function() ... require('plu…
bleacheda Feb 15, 2025
94f551b
fix (#1319): gitsigns deprecated functions (#1321)
ErlanRG Feb 15, 2025
d2c0068
Add a blurb about installing missing emoji on Ubuntu
feoh Feb 17, 2025
db78c0b
fix: arguments for the `vim.lsp.Client.supports_method` method (#1356)
TungstnBallon Feb 17, 2025
76e06fe
feat(diagnostic): add diagnostic config (#1335)
gelocraft Feb 17, 2025
ebca680
perf: load tokyonight.nvim in the intended way (#1360)
warbacon Feb 18, 2025
282cbb9
feat: add basic function signature help (#1358)
rfletchr Feb 18, 2025
7c49ba1
Fix: fix the cmp-nvim-lsp-signature-help link (#1363)
aryan-rajoria Feb 18, 2025
e64aa51
fix: regression introduced in db78c0b217fd9525e2cbcbffd18abbbbddc75b2…
TungstnBallon Feb 18, 2025
ea60b2b
Remove duplicate cmp-path (#1369)
aripollak Feb 19, 2025
34e7d29
Propsed fix for init.lua warnings as per https://github.com/nvim-lua/…
feoh Feb 19, 2025
a85ad21
Merge master
johanvaneck Mar 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ assignees: ''

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

## Before Reporting an Issue
- I have read the kickstart.nvim README.md.
- I have read the appropriate plugin's documentation.
- I have searched that this issue has not been reported before.

- [ ] **By checking this, I confirm that the above steps are completed. I understand leaving this unchecked will result in this report being closed immediately.**

## Describe the bug
<!-- A clear and concise description of what the bug is. -->

Expand All @@ -18,8 +25,8 @@ assignees: ''

## Desktop
<!-- please complete the following information. -->
- OS:
- Terminal:
- OS:
- Terminal:

## Neovim Version
<!-- Output of running `:version` from inside of neovim. -->
Expand Down
128 changes: 46 additions & 82 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,13 @@ If you are experiencing issues, please make sure you have the latest versions.
External Requirements:
- Basic utils: `git`, `make`, `unzip`, C Compiler (`gcc`)
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation)
- Clipboard tool (xclip/xsel/win32yank or other depending on the platform)
- A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons
- if you have it set `vim.g.have_nerd_font` in `init.lua` to true
- Emoji fonts (Ubuntu only, and only if you want emoji!) `sudo apt install fonts-noto-color-emoji`
- Language Setup:
- If want to write Typescript, you need `npm`
- If want to write Golang, you will need `go`
- If you want to write Typescript, you need `npm`
- If you want to write Golang, you will need `go`
- etc.

> **NOTE**
Expand All @@ -45,8 +47,8 @@ Neovim's configurations are located under the following paths, depending on your
| OS | PATH |
| :- | :--- |
| Linux, MacOS | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |
| Windows (cmd)| `%userprofile%\AppData\Local\nvim\` |
| Windows (powershell)| `$env:USERPROFILE\AppData\Local\nvim\` |
| Windows (cmd)| `%localappdata%\nvim\` |
| Windows (powershell)| `$env:LOCALAPPDATA\nvim\` |

#### Recommended Step

Expand All @@ -55,9 +57,13 @@ 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:
> Your fork's URL will be something like this:
> `https://github.com/<your_github_username>/kickstart.nvim.git`

You likely want to remove `lazy-lock.json` from your fork's `.gitignore` file
too - it's ignored in the kickstart repo to make maintenance easier, but it's
[recommended to track it in version control](https://lazy.folke.io/usage/lockfile).

#### Clone kickstart.nvim
> **NOTE**
> If following the recommended step above (i.e., forking the repo), replace
Expand All @@ -76,13 +82,13 @@ git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HO
If you're using `cmd.exe`:

```
git clone https://github.com/nvim-lua/kickstart.nvim.git %userprofile%\AppData\Local\nvim\
git clone https://github.com/nvim-lua/kickstart.nvim.git "%localappdata%\nvim"
```

If you're using `powershell.exe`

```
git clone https://github.com/nvim-lua/kickstart.nvim.git $env:USERPROFILE\AppData\Local\nvim\
git clone https://github.com/nvim-lua/kickstart.nvim.git "${env:LOCALAPPDATA}\nvim"
```

</details>
Expand All @@ -96,83 +102,27 @@ 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.


#### 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:

```lua
-- File: lua/custom/plugins/autopairs.lua

return {
"windwp/nvim-autopairs",
-- 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,
}
```

</details>
<details>
<summary>Adding a file tree plugin</summary>
the current plugin status. Hit `q` to close the window.

This will install the tree plugin and add the command `:Neotree` for you.
For more information, see the documentation at
[neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim).
#### Read The Friendly Documentation

In the file: `lua/custom/plugins/filetree.lua`, add:
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.

```lua
-- File: lua/custom/plugins/filetree.lua

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",
},
config = function ()
require('neo-tree').setup {}
end,
}
```
> [!NOTE]
> For more information about a particular plugin check its repository's documentation.

</details>

### 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?
* 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`
* 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`
Expand All @@ -186,12 +136,12 @@ return {
`~/.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
* See [lazy.nvim uninstall](https://lazy.folke.io/usage#-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
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:
Expand Down Expand Up @@ -230,7 +180,7 @@ run in cmd as **admin**:
winget install --accept-source-agreements chocolatey.chocolatey
```

2. install all requirements using choco, exit previous cmd and
2. install all requirements using choco, exit the 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
Expand All @@ -243,7 +193,7 @@ wsl --install
wsl
sudo add-apt-repository ppa:neovim-ppa/unstable -y
sudo apt update
sudo apt install make gcc ripgrep unzip neovim
sudo apt install make gcc ripgrep unzip git xclip neovim
```
</details>

Expand All @@ -253,23 +203,37 @@ sudo apt install make gcc ripgrep unzip neovim
```
sudo add-apt-repository ppa:neovim-ppa/unstable -y
sudo apt update
sudo apt install make gcc ripgrep unzip git neovim
sudo apt install make gcc ripgrep unzip git xclip 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
sudo apt install make gcc ripgrep unzip git xclip curl

# Now we install nvim
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
sudo rm -rf /opt/nvim-linux-x86_64
sudo mkdir -p /opt/nvim-linux-x86_64
sudo chmod a+rX /opt/nvim-linux-x86_64
sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz

# make it available in /usr/local/bin, distro installs to /usr/bin
sudo ln -sf /opt/nvim-linux-x86_64/bin/nvim /usr/local/bin/
```
</details>
<details><summary>Fedora Install Steps</summary>

```
sudo dnf install -y gcc make git ripgrep fd-find neovim
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>

Loading