Skip to content

Commit 7dd64eb

Browse files
committed
Merge remote-tracking branch 'fork/master' into sync
2 parents b440576 + f0a2108 commit 7dd64eb

11 files changed

Lines changed: 322 additions & 276 deletions

File tree

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ assignees: ''
1010
<!-- Any bug report not following this template will be immediately closed. Thanks -->
1111

1212
## Before Reporting an Issue
13+
1314
- I have read the kickstart.nvim README.md.
1415
- I have read the appropriate plugin's documentation.
1516
- I have searched that this issue has not been reported before.
17+
- I have ran `:checkhealth` and so no obvious issue.
1618

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

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
blank_issues_enabled: false
2+
3+
contact_links:
4+
- name: Help
5+
url: https://github.com/nvim-lua/kickstart.nvim/discussions/categories/q-a
6+
about: Ask the community for help
7+
8+
- name: Ideas
9+
url: https://github.com/nvim-lua/kickstart.nvim/discussions/categories/ideas
10+
about: Share ideas for new features

.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-

.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: 123 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,22 @@ 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`)
2633
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation),
2734
[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)
2836
- Clipboard tool (xclip/xsel/win32yank or other depending on the platform)
2937
- A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons
3038
- if you have it set `vim.g.have_nerd_font` in `init.lua` to true
@@ -61,9 +69,9 @@ fork to your machine using one of the commands below, depending on your OS.
6169
> Your fork's URL will be something like this:
6270
> `https://github.com/<your_github_username>/kickstart.nvim.git`
6371
64-
You likely want to remove `lazy-lock.json` from your fork's `.gitignore` file
65-
too - it's ignored in the kickstart repo to make maintenance easier, but it's
66-
[recommended to track it in version control](https://lazy.folke.io/usage/lockfile).
72+
You likely want to remove `nvim-pack-lock.json` from your fork's `.gitignore`
73+
file too - it's ignored in the kickstart repo to make maintenance easier, but
74+
it's recommended to track it in version control (see `:help vim.pack-lockfile`).
6775

6876
#### Clone kickstart.nvim
6977

@@ -103,8 +111,10 @@ Start Neovim
103111
nvim
104112
```
105113

106-
That's it! Lazy will install all the plugins you have. Use `:Lazy` to view
107-
the current plugin status. Hit `q` to close the window.
114+
That's it! `vim.pack` will install all the plugins from your config. Use
115+
`:lua vim.pack.update(nil, { offline = true })` to inspect plugin state and
116+
`:lua vim.pack.update()` to fetch updates (`:write` applies updates, `:quit`
117+
cancels them).
108118

109119
#### Read The Friendly Documentation
110120

@@ -138,7 +148,8 @@ examples of adding popularly requested plugins.
138148
`~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim
139149
distribution that you would like to try out.
140150
* What if I want to "uninstall" this configuration:
141-
* See [lazy.nvim uninstall](https://lazy.folke.io/usage#-uninstalling) information
151+
* Remove your config directory and local data directory (for example,
152+
`~/.config/nvim` and `~/.local/share/nvim`).
142153
* Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files?
143154
* The main purpose of kickstart is to serve as a teaching tool and a reference
144155
configuration that someone can easily use to `git clone` as a basis for their own.
@@ -154,22 +165,41 @@ examples of adding popularly requested plugins.
154165
155166
Below you can find OS specific install instructions for Neovim and dependencies.
156167
157-
After installing all the dependencies continue with the [Install Kickstart](#Install-Kickstart) step.
168+
After installing all the dependencies continue with the [Install Kickstart](#install-kickstart) step.
158169
159170
#### Windows Installation
160171
161172
<details><summary>Windows with Microsoft C++ Build Tools and CMake</summary>
162-
Installation may require installing build tools and updating the run command for `telescope-fzf-native`
173+
Kickstart's default config is make-only for `telescope-fzf-native.nvim`.
174+
If `make` is unavailable, the plugin is skipped.
163175
164-
See `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation)
176+
Recommended: install `make` (see the chocolatey section below).
165177
166-
This requires:
178+
If you want a CMake-only setup, customize `init.lua` in two places:
167179
168-
- Install CMake and the Microsoft C++ Build Tools on Windows
180+
1. Include `telescope-fzf-native.nvim` when `cmake` is available:
169181
170182
```lua
171-
{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }
183+
if vim.fn.executable 'make' == 1 or vim.fn.executable 'cmake' == 1 then
184+
table.insert(plugins, gh 'nvim-telescope/telescope-fzf-native.nvim')
185+
end
172186
```
187+
188+
2. In the `PackChanged` hook, use CMake when `make` is unavailable:
189+
190+
```lua
191+
if name == 'telescope-fzf-native.nvim' then
192+
if vim.fn.executable 'make' == 1 then
193+
run_build(name, { 'make' }, ev.data.path)
194+
elseif vim.fn.executable 'cmake' == 1 then
195+
run_build(name, { 'cmake', '-S.', '-Bbuild', '-DCMAKE_BUILD_TYPE=Release' }, ev.data.path)
196+
run_build(name, { 'cmake', '--build', 'build', '--config', 'Release', '--target', 'install' }, ev.data.path)
197+
end
198+
return
199+
end
200+
```
201+
202+
See `telescope-fzf-native` documentation for [build details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation).
173203
</details>
174204
<details><summary>Windows with gcc/make using chocolatey</summary>
175205
Alternatively, one can install gcc and make which don't require changing the config,
@@ -185,7 +215,7 @@ winget install --accept-source-agreements chocolatey.chocolatey
185215
2. install all requirements using choco, exit the previous cmd and
186216
open a new one so that choco path is set, and run in cmd as **admin**:
187217
```
188-
choco install -y neovim git ripgrep wget fd unzip gzip mingw make
218+
choco install -y neovim git ripgrep wget fd unzip gzip mingw make tree-sitter
189219
```
190220
</details>
191221
<details><summary>WSL (Windows Subsystem for Linux)</summary>
@@ -195,7 +225,7 @@ wsl --install
195225
wsl
196226
sudo add-apt-repository ppa:neovim-ppa/unstable -y
197227
sudo apt update
198-
sudo apt install make gcc ripgrep unzip git xclip neovim
228+
sudo apt install make gcc ripgrep fd-find tree-sitter-cli unzip git xclip neovim
199229
```
200230
</details>
201231

@@ -205,14 +235,14 @@ sudo apt install make gcc ripgrep unzip git xclip neovim
205235
```
206236
sudo add-apt-repository ppa:neovim-ppa/unstable -y
207237
sudo apt update
208-
sudo apt install make gcc ripgrep unzip git xclip neovim
238+
sudo apt install make gcc ripgrep fd-find tree-sitter-cli unzip git xclip neovim
209239
```
210240
</details>
211241
<details><summary>Debian Install Steps</summary>
212242

213243
```
214244
sudo apt update
215-
sudo apt install make gcc ripgrep unzip git xclip curl
245+
sudo apt install make gcc ripgrep fd-find tree-sitter-cli unzip git xclip curl
216246
217247
# Now we install nvim
218248
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
@@ -228,14 +258,88 @@ sudo ln -sf /opt/nvim-linux-x86_64/bin/nvim /usr/local/bin/
228258
<details><summary>Fedora Install Steps</summary>
229259

230260
```
231-
sudo dnf install -y gcc make git ripgrep fd-find unzip neovim
261+
sudo dnf install -y gcc make git ripgrep fd-find tree-sitter-cli unzip neovim
232262
```
233263
</details>
234264

235265
<details><summary>Arch Install Steps</summary>
236266

237267
```
238-
sudo pacman -S --noconfirm --needed gcc make git ripgrep fd unzip neovim
268+
sudo pacman -S --noconfirm --needed gcc make git ripgrep fd tree-sitter-cli unzip neovim
239269
```
240270
</details>
241271

272+
### Alternative neovim installation methods
273+
274+
For some systems it is not unexpected that the [package manager installation
275+
method](https://github.com/neovim/neovim/blob/master/INSTALL.md#install-from-package)
276+
recommended by neovim is significantly behind. If that is the case for you,
277+
pick one of the following methods that are known to deliver fresh neovim versions very quickly.
278+
They have been picked for their popularity and because they make installing and updating
279+
neovim to the latest versions easy. You can also find more detail about the
280+
available methods being discussed
281+
[here](https://github.com/nvim-lua/kickstart.nvim/issues/1583).
282+
283+
284+
<details><summary>Bob</summary>
285+
286+
[Bob](https://github.com/MordechaiHadad/bob) is a Neovim version manager for
287+
all platforms. Simply install
288+
[rustup](https://rust-lang.github.io/rustup/installation/other.html),
289+
and run the following commands:
290+
291+
```bash
292+
rustup default stable
293+
rustup update stable
294+
cargo install bob-nvim
295+
bob use stable
296+
```
297+
298+
</details>
299+
300+
<details><summary>Homebrew</summary>
301+
302+
[Homebrew](https://brew.sh) is a package manager popular on Mac and Linux.
303+
Simply install using [`brew install`](https://formulae.brew.sh/formula/neovim).
304+
305+
</details>
306+
307+
<details><summary>Flatpak</summary>
308+
309+
Flatpak is a package manager for applications that allows developers to package their applications
310+
just once to make it available on all Linux systems. Simply [install flatpak](https://flatpak.org/setup/)
311+
and setup [flathub](https://flathub.org/setup) to [install neovim](https://flathub.org/apps/io.neovim.nvim).
312+
313+
</details>
314+
315+
<details><summary>asdf and mise-en-place</summary>
316+
317+
[asdf](https://asdf-vm.com/) and [mise](https://mise.jdx.dev/) are tool version managers,
318+
mostly aimed towards project-specific tool versioning. However both support managing tools
319+
globally in the user-space as well:
320+
321+
<details><summary>mise</summary>
322+
323+
[Install mise](https://mise.jdx.dev/getting-started.html), then run:
324+
325+
```bash
326+
mise plugins install neovim
327+
mise use neovim@stable
328+
```
329+
330+
</details>
331+
332+
<details><summary>asdf</summary>
333+
334+
[Install asdf](https://asdf-vm.com/guide/getting-started.html), then run:
335+
336+
```bash
337+
asdf plugin add neovim
338+
asdf install neovim stable
339+
asdf set neovim stable --home
340+
asdf reshim neovim
341+
```
342+
343+
</details>
344+
345+
</details>

lua/kickstart/health.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ local check_version = function()
1212
return
1313
end
1414

15-
if vim.version.ge(vim.version(), '0.10-dev') then
15+
if vim.version.ge(vim.version(), '0.12') then
1616
vim.health.ok(string.format("Neovim version is: '%s'", verstr))
1717
else
1818
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
-- autopairs
22
-- https://github.com/windwp/nvim-autopairs
33

4-
return {
5-
'windwp/nvim-autopairs',
6-
event = 'InsertEnter',
7-
opts = {},
8-
}
4+
vim.pack.add { 'https://github.com/windwp/nvim-autopairs' }
5+
require('nvim-autopairs').setup {}

0 commit comments

Comments
 (0)