Skip to content

Commit

Permalink
init: default kickstart setup
Browse files Browse the repository at this point in the history
license

Fixed spelling error and missing marker

Removes extra space between "-  Annotation" -> "-Annotation"

Fix typo in help reference

Disable telemetry for sumneko lua lsp

Remove reference to wiki that doesn't exist

Closes #3

Don't pass args to vim.lsp.buf.format/formatting

Args passed by nvim_buf_create_user_command to the callback creates
errors with rust-analyzer on nvim 0.7.x and vim.lsp.buf.formatting.

Move Telescope from master to 0.1.x branch

Follow Telescope's README suggestion and use 0.1.x branch instead of
master

Added cpp to treesitter and ordered TS imports

Replace nvim-lsp-installer with mason.nvim

fix nvim-treesitter-textobjects install warning

Update README.md

Use links to tagged releases rather than hardcoding 0.x and having to change it every few months. Fix markdownlint errors and some spelling, like using the official 'Neovim', not 'neovim'.

lsp.update_ is deprecated

fix: syntax highlights tree-sitter
- `navarasu/onedark.nvim` support both API TS* and the new one @*
- `mjlbach/onedark.nvim` is archived and not support new syntax

reformat to reduce merge conflicts and add fidget

Add optional packer plugins hook (#20)

* Add optional packer plugins hook

* Provide help in README and simplify module

* Fix spelling and tweak verbiage about after/plugin

Update the amount of SLOC in README (#35)

Looks like the project has grown a tad bit :sweat

Enable parameter text objects (#36)

This seems like a natural addition. In classic Vim, I used to use https://github.com/b4winckler/vim-angry for this.

add more explicit note about latest versions of nvim

enh(treesitter): add help into ensure_installed (#39)

closes nvim-lua/kickstart.nvim#38

fixup: add gitignore and style

small changes to default mappings (#41)

Closes #46

note: tell people to remove languages they arent going to use

Fix error on Windows when space in install path (#64)

fix: don't check third party for Lua LSP (#57)

* fix: don't check third party for Lua LSP

Co-authored-by: Sean <44933921+seantwie03@users.noreply.github.com>
Co-authored-by: TJ DeVries <devries.timothyj@gmail.com>
Co-authored-by: Sean <44933921+seantwie03@users.noreply.github.com>

Update issue templates (#72)

Update intstructions for existing nvim setups (#65)

* Update intstructions for existing nvim setups

If you already had a nvim setup, then this makes it so that the kickstarter can work without a problem. Having that file exist and loaded with plugins gives the script many issues.

Also better to have it be a shell command rather than have the script delete a bunch of files on your computer.

remove python indent: closes #78

move server config to easy to extend style (#71)

Move servers to new configuration style.

I will probably cover this in a new shorter video, or maybe in combination with something else.
This should hopefully remove  getting so many people making issues about LSPs that they don't want to.

I can update documentation if what is happening is not clear.

Adding cmake documentation to README.md (#85)

Prevent multiple language servers from being spawned after every file save of init.lua (#96)

* Prevent multiple language servers from being spawned

Prevent multiple language servers from being spawned after every save of init.lua, which eventually leads to high RAM usage and system freeze.

* Supress error messages

add `silent!` in case of error message when nvim-lspconfig is not installed

added vim to tree-sitter's ensured installed list (#110)

please refer to nvim-treesitter/nvim-treesitter#3092

Add windows init lua location (#121)

* feat: add init.lua location fir Windows

* feat: more specific number of lines

feat: move to lazy.nvim package manager and add first plugins (#178)

Closes #175
Closes #177
Closes #173
Closes #169
Closes #161
Closes #144
Closes #138
Fixes #136
Closes #137
Closes #131
Closes #117
Closes #130
Closes #115
Closes #86
Closes #105
Closes #70
Fixes #176
Fixes #174
Fixes #160
Fixes #158

feat: Add clipboard sync by default (#166)

docs: change telescope fzf native to lazy syntax (#185)

Update instructions for neo-tree set up (#200)

For me, setting this variable in the config function didn't work. Putting it outside the return block did the trick.

added descriptions to Diagnostic keymaps (#191)

* Update init.lua

* Update init.lua

help treesitter module has been renamed to vimdoc in master (#248)

fix: use :TSInstall on build with nvim-treesitter (#261)

mason nvim dap 2.0 removed setup_handlers() (#258)

minor modifications on the issue template (#244)

* use real markdown headers for section titles

* add a newline after the initial comment for readability

* make hint indications comments

Correct command for neo-tree (#216)

fix: move the Mason setup time forward from before (#210)

This commit fix the Mason [#1045](williamboman/mason.nvim#1045) issue. Quickly set up Mason to avoid DAP-related startup error messages.

Fix typo "documention" into "documentation" (#209)

Dapui.toggle is added

setup a standard binding for searching git files using telescope

Added disconnect emoji for nvim-dap-ui

Update README.md

Update README.md

Update README.md

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

Fixed Windows style path for home

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.

Update README.md

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.

Update README.md

Tiny wording changes I requested from nvim-lua/kickstart.nvim#283

corrected git clone command

Add <C-n>, <C-p> mappings to nvim-cmp setup

Udated tree sitter to use latest release branch

change luasnip tab jumping to locally jumpable

add local jumping to shift tab

Adding [+c and ]+c to move to diffs and leader+ph to show a pop up with the preview diff value.

Feat: Simplifying code

FIX: Updating command description.

Added friendly snippet support

refact: stylua

Update README.md

Fix for #314 - there's no -data at the end of the nvim dir.

refact: add cmp comments, other

refact: remove after/ reference in readme, other clean-up items

fix(docs): update windows path to a correct folder

Update README.md

fix(docs): whoops missed another instance of `nvim-data`

FIX: Conflict with vimdiff keybinding

Refactor theme and status line into their own file

Revert "Refactor theme and status line into their own file"

This reverts commit cdaa750.

Fixes #336 - Enabale treesitter indent for Python

Tested in my local configuratoin. Indenting works great.

Add legacy tag to fidget to avoid deprecation warning

Fix typo in ignorecase comment

In order to perform a case-sensitive search with ignorecase, the pattern
should contain `\C` instead of `/C`.

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.

Use call_parentheses

correct typo

Hey y'all 👋

I think there may have been a typo?

Make init.lua copy-paste friendly

docs: Update README.md 📚

Remove timeout

Add hint to uncomment line to autodetect plugins

Remove fixed line number and describe line

setup more language servers i use + allow customizing filetypes

Fix bug when server not explicitely defined in configuration but installed

Fix typo in init.lua

releated -> related

fix(init): turn telescope-fzf-native into a dependecy

fix: fix brackets

fix: missing comma

Update init.lua

added a URL to the lua-guide
may help others who miss the :help lua-guide

Fix typo in README.md

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.

Add telescope search resume key binding

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.

Use telescope for goto implementation

Update init.lua

Fix typo in original.

Co-authored-by: Luis G Estrades <luisgarciaestrades@gmail.com>

docs: restructure README

docs: remove archive installation

Remove extra "r" Search Resume description

Remove lazy-lock.json from .gitignore

fix(init.lua): indent blankline v3 setup

fix: fix indent-blankline config

Add documentation for custom which-key groups

Fix git clone instruction - separate code blocks for Windows and UNIX.

Defer Treesitter setup to improve startup time of nvim {filename}

Fix Mason setup issue and run stylua.

Move mason setup up further

This helps if a user needs to find a mason executable

remove spaces in empty lines

docs: fix misstype on README.md

Fix bash errors

Fix help for indent-blankline plugin

Since version 3 `:help indent_blankline` no longer works. Replace it
with `:help ibl`.

feat(lsp): use Telescope builtin functions for LSP definition and type
definition

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.

README.md: add a note about NVIM_APPNAME in the FAQ section

README.md: Added a FAQ: why is init.lua a single file

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.

add Telescope live_grep on Git root

change keymap  to not disrupt existing users of Search by Grep

Live Grep from Git root falls back to cwd on special buffers

init.lua: move diagnostic keymaps together with other keymaps

init.lua: minor edits of section comments for consistency

fix(auto-completion): ensure first menu item is selected by default

init.lua: remove 'legacy' tag from fidget.nvim

option to reduce noisy Lua_LS's missing-fields warnings (#511)

Update README.md (#520)

README.md: update install section formatting (#523)

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

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.

Run stylua (#525)

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

Adds two essential telescope keymaps (#528)

* Added keymap for select Telescope picker

* Added keymap for search in all open files

feat(cmp): path completion feature (#536)

Switch cmp up mapping from C-d to C-b to match regular vim up key (#549)

fix: restore mason config timing for dap startup (#555)

Co-authored-by: John Pekcan <john.pekcan@epicgames.com>

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.

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

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.

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.

Removed duplicate line (#583)

Set status line theme to the global colorscheme (#600)

Add Onedark Style (#590)

* Add style options to Onedark setup (init.lua)

* stylua init.lua

* Load onedark through `require`

* Improve commenting

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

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

Fixes #607. Add hints for new neovim users to learn how to learn. (#615)

Add Build Step to LuaSnip (#611)

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

fixup: add autocommand link for help and description

fixup: change comment to reflect auto_install

add plugin specs docstring, remove lazy.nvim configuration (empty) table (#652)

Change mini.statusline location format to LINE:COLUMN (#659)

Default mini.statusline location format is:
  'cursor line | total lines │ cursor column | total columns'

fixup: updated some style stuff

feat: enable lua lsp snipppets (#660)

chore: fix typos (#666)

feat: use VimEnter event instead of VeryLazy (#673)

README.md: updated windows install instructions (#674)

fix: add note in readme for custom plugins

fix: checkhealth reported nvim version (#685)

Change statusline location to LINE:COLUMN (#689)

chore: remove trailing spaces from readme (#679)

chore: link new installation youtube video (#678)

Add more detail to colorscheme comment (#713)

Make the Nerd Font an optional requirement (#716)

Fix typos and whatnot (#731)

use init for colorscheme (#715)

README.md: update neo-tree example - remove legacy setting (#744)

feat: allow treesitter defaults to be overwritten from custom directory (#732)

chore: rename <C-T> to <C-t> for consistency (#719)

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.

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

Revert "Use `cmp-nvim-lua` as `nvim-cmp` source for neovim Lua API (#696)" (#755)

This reverts commit d8a1dbc.

doc: add info about timeoutlen (#691)

Add separate comment for `timeoutlen` option
`timeoutlen` option was under unrelated comment with `updatetime` option.

Add <C-b>/<C-f> cmp mapping to scroll cmp docs (#750)

Move friendly snippets to dependencies of LuaSnip (#759)

Co-authored-by: TJ DeVries <devries.timothyj@gmail.com>

doc: add note about advanced luasnip features

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)

Update README.md (#763)

Added file text to code block for consistency since the other plugin had file also inside code block.

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
  • Loading branch information
tjdevries authored and guicoelhodev committed Mar 17, 2024
0 parents commit 308c43d
Show file tree
Hide file tree
Showing 13 changed files with 1,340 additions and 0 deletions.
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

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

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

## To Reproduce
<!-- Steps to reproduce the behavior. -->
1. ...

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

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

```
```
21 changes: 21 additions & 0 deletions .github/workflows/stylua.yml
Original file line number Diff line number Diff line change
@@ -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 .

7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
tags
test.sh
.luarc.json
nvim

spell/
lazy-lock.json
6 changes: 6 additions & 0 deletions .stylua.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
column_width = 160
line_endings = "Unix"
indent_type = "Spaces"
indent_width = 2
quote_style = "AutoPreferSingle"
call_parentheses = "None"
19 changes: 19 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
215 changes: 215 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
# kickstart.nvim

## Introduction

A starting point for Neovim that is:

* Small
* Single-file
* Completely Documented

**NOT** a Neovim distribution, but instead a starting point for your configuration.

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

### Install External Dependencies

> **NOTE**
> [Backup](#FAQ) your previous configuration (if any exists)
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.

> **NOTE**
> See [Windows Installation](#Windows-Installation) to double check any additional Windows notes
Neovim's configurations are located under the following paths, depending on your OS:

| 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

Clone kickstart.nvim:

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

### Getting Started

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

### Recommended Steps

[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) and then install. You
can install it on your machine using the methods above.

> **NOTE**
> Your fork's url will be something like this: `https://github.com/<your_github_username>/kickstart.nvim.git`
#### 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>

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

In the file: `lua/custom/plugins/filetree.lua`, add:

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

</details>

### FAQ

* What should I do if I already have a pre-existing neovim configuration?
* You should back it up and then delete all associated files.
* This includes your existing init.lua and the neovim files in `~/.local` which can be deleted with `rm -rf ~/.local/share/nvim/`
* Can I keep my existing configuration in parallel to kickstart?
* Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME` to maintain multiple configurations. For example, you can install the kickstart configuration in `~/.config/nvim-kickstart` and create an alias:
```
alias nvim-kickstart='NVIM_APPNAME="nvim-kickstart" nvim'
```
When you run Neovim using `nvim-kickstart` alias it will use the alternative config directory and the matching local directory `~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim distribution that you would like to try out.
* What if I want to "uninstall" this configuration:
* See [lazy.nvim uninstall](https://github.com/folke/lazy.nvim#-uninstalling) information
* Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files?
* The main purpose of kickstart is to serve as a teaching tool and a reference
configuration that someone can easily use to `git clone` as a basis for their own.
As you progress in learning Neovim and Lua, you might consider splitting `init.lua`
into smaller parts. A fork of kickstart that does this while maintaining the
same functionality is available here:
* [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim)
* Discussions on this topic can be found here:
* [Restructure the configuration](https://github.com/nvim-lua/kickstart.nvim/issues/218)
* [Reorganize init.lua into a multi-file setup](https://github.com/nvim-lua/kickstart.nvim/pull/473)

### Windows Installation

Installation may require installing build tools and updating the run command for `telescope-fzf-native`

See `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation)

This requires:

- Install CMake and the Microsoft C++ Build Tools on Windows

```lua
{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }
```

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

Then, continue with the [Install Kickstart](#Install-Kickstart) step.
24 changes: 24 additions & 0 deletions doc/kickstart.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
================================================================================
INTRODUCTION *kickstart.nvim*

Kickstart.nvim is a project to help you get started on your neovim journey.

*kickstart-is-not*
It is not:
- Complete framework for every plugin under the sun
- Place to add every plugin that could ever be useful

*kickstart-is*
It is:
- Somewhere that has a good start for the most common "IDE" type features:
- autocompletion
- goto-definition
- find references
- fuzzy finding
- and hinting at what more can be done :)
- A place to _kickstart_ your journey.
- You should fork this project and use/modify it so that it matches your
style and preferences. If you don't want to do that, there are probably
other projects that would fit much better for you (and that's great!)!

vim:tw=78:ts=8:ft=help:norl:
3 changes: 3 additions & 0 deletions doc/tags
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
kickstart-is kickstart.txt /*kickstart-is*
kickstart-is-not kickstart.txt /*kickstart-is-not*
kickstart.nvim kickstart.txt /*kickstart.nvim*
Loading

0 comments on commit 308c43d

Please sign in to comment.