Skip to content

Commit b3030f4

Browse files
Merge branch 'master' into wip-claude-fix-tsserver
2 parents 7e21eb0 + 9b4fbc5 commit b3030f4

14 files changed

Lines changed: 688 additions & 434 deletions

File tree

.github/ISSUE_TEMPLATE/bug_report.md

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

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

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

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

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

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

.github/workflows/stylua.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,12 @@ jobs:
99
runs-on: ubuntu-latest
1010
steps:
1111
- name: Checkout Code
12-
uses: actions/checkout@v2
12+
uses: actions/checkout@v6
1313
with:
1414
ref: ${{ github.event.pull_request.head.sha }}
1515
- name: Stylua Check
16-
uses: JohnnyMorganz/stylua-action@v3
16+
uses: JohnnyMorganz/stylua-action@v4
1717
with:
1818
token: ${{ secrets.GITHUB_TOKEN }}
1919
version: latest
2020
args: --check .
21-

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,11 @@ test.sh
44
nvim
55

66
spell/
7+
8+
# In your personal fork, you likely want to comment this, since it's recommended to track
9+
# lazy-lock.json in version control - see https://lazy.folke.io/usage/lockfile
10+
# For the official `nvim-lua/kickstart.nvim` git repository, we leave it ignored to avoid unneeded
11+
# merge conflicts.
712
lazy-lock.json
13+
14+
.DS_Store

.stylua.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ indent_type = "Spaces"
44
indent_width = 2
55
quote_style = "AutoPreferSingle"
66
call_parentheses = "None"
7+
collapse_simple_statement = "Always"

README.md

Lines changed: 127 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -17,49 +17,65 @@ A starting point for Neovim that is:
1717
Kickstart.nvim targets *only* the latest
1818
['stable'](https://github.com/neovim/neovim/releases/tag/stable) and latest
1919
['nightly'](https://github.com/neovim/neovim/releases/tag/nightly) of Neovim.
20-
If you are experiencing issues, please make sure you have the latest versions.
20+
If you are experiencing issues, please make sure you have at least the latest
21+
stable version. Most likely, you want to install neovim via a [package
22+
manager](https://github.com/neovim/neovim/blob/master/INSTALL.md#install-from-package).
23+
To check your neovim version, run `nvim --version` and make sure it is not
24+
below the latest
25+
['stable'](https://github.com/neovim/neovim/releases/tag/stable) version. If
26+
your chosen install method only gives you an outdated version of neovim, find
27+
alternative [installation methods below](#alternative-neovim-installation-methods).
2128

2229
### Install External Dependencies
2330

2431
External Requirements:
2532
- Basic utils: `git`, `make`, `unzip`, C Compiler (`gcc`)
26-
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation)
33+
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation),
34+
[fd-find](https://github.com/sharkdp/fd#installation)
35+
- [tree-sitter CLI](https://github.com/tree-sitter/tree-sitter/blob/master/crates/cli/README.md#installation)
36+
- Clipboard tool (xclip/xsel/win32yank or other depending on the platform)
2737
- A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons
2838
- if you have it set `vim.g.have_nerd_font` in `init.lua` to true
39+
- Emoji fonts (Ubuntu only, and only if you want emoji!) `sudo apt install fonts-noto-color-emoji`
2940
- Language Setup:
30-
- If want to write Typescript, you need `npm`
31-
- If want to write Golang, you will need `go`
41+
- If you want to write Typescript, you need `npm`
42+
- If you want to write Golang, you will need `go`
3243
- etc.
3344

34-
> **NOTE**
45+
> [!NOTE]
3546
> See [Install Recipes](#Install-Recipes) for additional Windows and Linux specific notes
3647
> and quick install snippets
3748
3849
### Install Kickstart
3950

40-
> **NOTE**
51+
> [!NOTE]
4152
> [Backup](#FAQ) your previous configuration (if any exists)
4253
4354
Neovim's configurations are located under the following paths, depending on your OS:
4455

4556
| OS | PATH |
4657
| :- | :--- |
4758
| Linux, MacOS | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |
48-
| Windows (cmd)| `%userprofile%\AppData\Local\nvim\` |
49-
| Windows (powershell)| `$env:USERPROFILE\AppData\Local\nvim\` |
59+
| Windows (cmd)| `%localappdata%\nvim\` |
60+
| Windows (powershell)| `$env:LOCALAPPDATA\nvim\` |
5061

5162
#### Recommended Step
5263

5364
[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo
5465
so that you have your own copy that you can modify, then install by cloning the
5566
fork to your machine using one of the commands below, depending on your OS.
5667

57-
> **NOTE**
58-
> Your fork's url will be something like this:
68+
> [!NOTE]
69+
> Your fork's URL will be something like this:
5970
> `https://github.com/<your_github_username>/kickstart.nvim.git`
6071
72+
You likely want to remove `lazy-lock.json` from your fork's `.gitignore` file
73+
too - it's ignored in the kickstart repo to make maintenance easier, but it's
74+
[recommended to track it in version control](https://lazy.folke.io/usage/lockfile).
75+
6176
#### Clone kickstart.nvim
62-
> **NOTE**
77+
78+
> [!NOTE]
6379
> If following the recommended step above (i.e., forking the repo), replace
6480
> `nvim-lua` with `<your_github_username>` in the commands below
6581
@@ -76,13 +92,13 @@ git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HO
7692
If you're using `cmd.exe`:
7793

7894
```
79-
git clone https://github.com/nvim-lua/kickstart.nvim.git %userprofile%\AppData\Local\nvim\
95+
git clone https://github.com/nvim-lua/kickstart.nvim.git "%localappdata%\nvim"
8096
```
8197

8298
If you're using `powershell.exe`
8399

84100
```
85-
git clone https://github.com/nvim-lua/kickstart.nvim.git $env:USERPROFILE\AppData\Local\nvim\
101+
git clone https://github.com/nvim-lua/kickstart.nvim.git "${env:LOCALAPPDATA}\nvim"
86102
```
87103

88104
</details>
@@ -96,22 +112,27 @@ nvim
96112
```
97113

98114
That's it! Lazy will install all the plugins you have. Use `:Lazy` to view
99-
current plugin status. Hit `q` to close the window.
115+
the current plugin status. Hit `q` to close the window.
116+
117+
#### Read The Friendly Documentation
100118

101119
Read through the `init.lua` file in your configuration folder for more
102120
information about extending and exploring Neovim. That also includes
103121
examples of adding popularly requested plugins.
104122

123+
> [!NOTE]
124+
> For more information about a particular plugin check its repository's documentation.
125+
105126

106127
### Getting Started
107128

108129
[The Only Video You Need to Get Started with Neovim](https://youtu.be/m8C0Cq9Uv9o)
109130

110131
### FAQ
111132

112-
* What should I do if I already have a pre-existing neovim configuration?
133+
* What should I do if I already have a pre-existing Neovim configuration?
113134
* You should back it up and then delete all associated files.
114-
* This includes your existing init.lua and the neovim files in `~/.local`
135+
* This includes your existing init.lua and the Neovim files in `~/.local`
115136
which can be deleted with `rm -rf ~/.local/share/nvim/`
116137
* Can I keep my existing configuration in parallel to kickstart?
117138
* Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME`
@@ -125,12 +146,12 @@ examples of adding popularly requested plugins.
125146
`~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim
126147
distribution that you would like to try out.
127148
* What if I want to "uninstall" this configuration:
128-
* See [lazy.nvim uninstall](https://github.com/folke/lazy.nvim#-uninstalling) information
149+
* See [lazy.nvim uninstall](https://lazy.folke.io/usage#-uninstalling) information
129150
* Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files?
130151
* The main purpose of kickstart is to serve as a teaching tool and a reference
131152
configuration that someone can easily use to `git clone` as a basis for their own.
132153
As you progress in learning Neovim and Lua, you might consider splitting `init.lua`
133-
into smaller parts. A fork of kickstart that does this while maintaining the
154+
into smaller parts. A fork of kickstart that does this while maintaining the
134155
same functionality is available here:
135156
* [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim)
136157
* Discussions on this topic can be found here:
@@ -141,7 +162,7 @@ examples of adding popularly requested plugins.
141162
142163
Below you can find OS specific install instructions for Neovim and dependencies.
143164
144-
After installing all the dependencies continue with the [Install Kickstart](#Install-Kickstart) step.
165+
After installing all the dependencies continue with the [Install Kickstart](#install-kickstart) step.
145166
146167
#### Windows Installation
147168
@@ -169,10 +190,10 @@ run in cmd as **admin**:
169190
winget install --accept-source-agreements chocolatey.chocolatey
170191
```
171192

172-
2. install all requirements using choco, exit previous cmd and
193+
2. install all requirements using choco, exit the previous cmd and
173194
open a new one so that choco path is set, and run in cmd as **admin**:
174195
```
175-
choco install -y neovim git ripgrep wget fd unzip gzip mingw make
196+
choco install -y neovim git ripgrep wget fd unzip gzip mingw make tree-sitter
176197
```
177198
</details>
178199
<details><summary>WSL (Windows Subsystem for Linux)</summary>
@@ -182,7 +203,7 @@ wsl --install
182203
wsl
183204
sudo add-apt-repository ppa:neovim-ppa/unstable -y
184205
sudo apt update
185-
sudo apt install make gcc ripgrep unzip neovim
206+
sudo apt install make gcc ripgrep fd-find tree-sitter-cli unzip git xclip neovim
186207
```
187208
</details>
188209

@@ -192,37 +213,111 @@ sudo apt install make gcc ripgrep unzip neovim
192213
```
193214
sudo add-apt-repository ppa:neovim-ppa/unstable -y
194215
sudo apt update
195-
sudo apt install make gcc ripgrep unzip git neovim
216+
sudo apt install make gcc ripgrep fd-find tree-sitter-cli unzip git xclip neovim
196217
```
197218
</details>
198219
<details><summary>Debian Install Steps</summary>
199220

200221
```
201222
sudo apt update
202-
sudo apt install make gcc ripgrep unzip git curl
223+
sudo apt install make gcc ripgrep fd-find tree-sitter-cli unzip git xclip curl
203224
204225
# Now we install nvim
205-
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz
206-
sudo rm -rf /opt/nvim-linux64
207-
sudo mkdir -p /opt/nvim-linux64
208-
sudo chmod a+rX /opt/nvim-linux64
209-
sudo tar -C /opt -xzf nvim-linux64.tar.gz
226+
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
227+
sudo rm -rf /opt/nvim-linux-x86_64
228+
sudo mkdir -p /opt/nvim-linux-x86_64
229+
sudo chmod a+rX /opt/nvim-linux-x86_64
230+
sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz
210231
211232
# make it available in /usr/local/bin, distro installs to /usr/bin
212-
sudo ln -sf /opt/nvim-linux64/bin/nvim /usr/local/bin/
233+
sudo ln -sf /opt/nvim-linux-x86_64/bin/nvim /usr/local/bin/
213234
```
214235
</details>
215236
<details><summary>Fedora Install Steps</summary>
216237

217238
```
218-
sudo dnf install -y gcc make git ripgrep fd-find unzip neovim
239+
sudo dnf install -y gcc make git ripgrep fd-find tree-sitter-cli unzip neovim
219240
```
220241
</details>
221242

222243
<details><summary>Arch Install Steps</summary>
223244

224245
```
225-
sudo pacman -S --noconfirm --needed gcc make git ripgrep fd unzip neovim
246+
sudo pacman -S --noconfirm --needed gcc make git ripgrep fd tree-sitter-cli unzip neovim
247+
```
248+
</details>
249+
250+
### Alternative neovim installation methods
251+
252+
For some systems it is not unexpected that the [package manager installation
253+
method](https://github.com/neovim/neovim/blob/master/INSTALL.md#install-from-package)
254+
recommended by neovim is significantly behind. If that is the case for you,
255+
pick one of the following methods that are known to deliver fresh neovim versions very quickly.
256+
They have been picked for their popularity and because they make installing and updating
257+
neovim to the latest versions easy. You can also find more detail about the
258+
available methods being discussed
259+
[here](https://github.com/nvim-lua/kickstart.nvim/issues/1583).
260+
261+
262+
<details><summary>Bob</summary>
263+
264+
[Bob](https://github.com/MordechaiHadad/bob) is a Neovim version manager for
265+
all platforms. Simply install
266+
[rustup](https://rust-lang.github.io/rustup/installation/other.html),
267+
and run the following commands:
268+
269+
```bash
270+
rustup default stable
271+
rustup update stable
272+
cargo install bob-nvim
273+
bob use stable
274+
```
275+
276+
</details>
277+
278+
<details><summary>Homebrew</summary>
279+
280+
[Homebrew](https://brew.sh) is a package manager popular on Mac and Linux.
281+
Simply install using [`brew install`](https://formulae.brew.sh/formula/neovim).
282+
283+
</details>
284+
285+
<details><summary>Flatpak</summary>
286+
287+
Flatpak is a package manager for applications that allows developers to package their applications
288+
just once to make it available on all Linux systems. Simply [install flatpak](https://flatpak.org/setup/)
289+
and setup [flathub](https://flathub.org/setup) to [install neovim](https://flathub.org/apps/io.neovim.nvim).
290+
291+
</details>
292+
293+
<details><summary>asdf and mise-en-place</summary>
294+
295+
[asdf](https://asdf-vm.com/) and [mise](https://mise.jdx.dev/) are tool version managers,
296+
mostly aimed towards project-specific tool versioning. However both support managing tools
297+
globally in the user-space as well:
298+
299+
<details><summary>mise</summary>
300+
301+
[Install mise](https://mise.jdx.dev/getting-started.html), then run:
302+
303+
```bash
304+
mise plugins install neovim
305+
mise use neovim@stable
306+
```
307+
308+
</details>
309+
310+
<details><summary>asdf</summary>
311+
312+
[Install asdf](https://asdf-vm.com/guide/getting-started.html), then run:
313+
314+
```bash
315+
asdf plugin add neovim
316+
asdf install neovim stable
317+
asdf set neovim stable --home
318+
asdf reshim neovim
226319
```
320+
227321
</details>
228322

323+
</details>

0 commit comments

Comments
 (0)