Merge branch 'nvim-lua-master'
This commit is contained in:
commit
d61dcfc323
|
|
@ -1,14 +1,17 @@
|
|||
# Check Lua Formatting
|
||||
name: Check Lua Formatting
|
||||
on: pull_request
|
||||
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:
|
||||
|
|
|
|||
59
README.md
59
README.md
|
|
@ -71,6 +71,10 @@ If you would prefer to hide this step and run the plugin sync from the command l
|
|||
nvim --headless "+Lazy! sync" +qa
|
||||
```
|
||||
|
||||
### Getting Started
|
||||
|
||||
See [Effective Neovim: Instant IDE](https://youtu.be/stqUbv-5u2s), covering the previous version. Note: The install via init.lua is outdated, please follow the install instructions in this file instead. An updated video is coming soon.
|
||||
|
||||
### 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 installing you can install to your machine using the methods above.
|
||||
|
|
@ -163,9 +167,6 @@ Each PR, especially those which increase the line count, should have a descripti
|
|||
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
|
||||
* Are there any cool videos about this plugin?
|
||||
* Current iteration of kickstart (coming soon)
|
||||
* Here is one about the previous iteration of kickstart: [video introduction to Kickstart.nvim](https://youtu.be/stqUbv-5u2s). Note the install via init.lua no longer works as specified. Please follow the install instructions in this file instead as they're up to date.
|
||||
* 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 `git clone` as a basis for their own.
|
||||
|
|
@ -191,3 +192,55 @@ This requires:
|
|||
{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }
|
||||
```
|
||||
|
||||
### Hints And Tips For New Neovimmers
|
||||
|
||||
Neovim is a very rich and powerful environment, but it can also feel a bit
|
||||
intimidating for new users trying to find their way around, especially if
|
||||
they're coming from other environments like Visual Studio Code or a traditional
|
||||
IDE.
|
||||
|
||||
There's no way this README can provide you with everything you need to know, but
|
||||
here are a few tips so you can learn how to learn.
|
||||
|
||||
### Use The Help, Luke!
|
||||
|
||||
Neovim's help system is incredibly thorough and extensive. You should really
|
||||
take a moment to get comfortable navigating through help topics, going back and
|
||||
forth, navigating the menus, etc. This won't just help you read the help, it
|
||||
will empower you in the rest of your Neovim journey.
|
||||
|
||||
You can double click on a topic to drill down, and hit Ctrl-o (Hold down the
|
||||
Control key and the 'o' key) to go back.
|
||||
|
||||
Read the first page you get when you run :help carefully. it will serve you
|
||||
well.
|
||||
|
||||
You can also get help on a particular thing by typing ":help <topic>".
|
||||
|
||||
Like, let's say we want to learn more about folding, just type ":help folding".
|
||||
|
||||
### To The Telescope!
|
||||
|
||||
One of the more powerful features you get by installing this project is the
|
||||
brilliant Telescope plugin co-written by @tjdevries.
|
||||
|
||||
Take a minute to browse through ":help telescope" and get a sense for all the
|
||||
amazing superpowers you've gained.
|
||||
|
||||
In particular, there are two Telescope features that are incredible for helping
|
||||
you understand how to do a particular thing or how to configure a particular
|
||||
feature.
|
||||
|
||||
If you're not sure what to look for, try ":Telescope help_tags". Let's say we
|
||||
want to configure Neovim to automatically word wrap. We might type ":Telescope
|
||||
help_tags" and then type w, r, a, p. Notice how the list of results changes with
|
||||
each new letter you type? When you're done you've got a screen full of topics
|
||||
involving word wrap.
|
||||
|
||||
Another common question is "What keys do I hit to make a thing happen?". To get
|
||||
an answer, one way is to use ":Telescope keymaps". You'll get the same list of
|
||||
results that changes to adapt with each new key you press.
|
||||
|
||||
With these hints in mind you should be in good shape to get learning. Remember,
|
||||
you are on a journey of discovery here, adapting your programming environment to
|
||||
your needs. It will take effort, but the rewards are worth it! :)
|
||||
|
|
|
|||
26
init.lua
26
init.lua
|
|
@ -89,7 +89,7 @@ require('lazy').setup({
|
|||
'neovim/nvim-lspconfig',
|
||||
dependencies = {
|
||||
-- Automatically install LSPs to stdpath for neovim
|
||||
'williamboman/mason.nvim',
|
||||
{ 'williamboman/mason.nvim', config = true },
|
||||
'williamboman/mason-lspconfig.nvim',
|
||||
|
||||
-- Useful status updates for LSP
|
||||
|
|
@ -106,7 +106,18 @@ require('lazy').setup({
|
|||
'hrsh7th/nvim-cmp',
|
||||
dependencies = {
|
||||
-- Snippet Engine & its associated nvim-cmp source
|
||||
{
|
||||
'L3MON4D3/LuaSnip',
|
||||
build = (function()
|
||||
-- Build Step is needed for regex support in snippets
|
||||
-- This step is not supported in many windows environments
|
||||
-- Remove the below condition to re-enable on windows
|
||||
if vim.fn.has 'win32' == 1 then
|
||||
return
|
||||
end
|
||||
return 'make install_jsregexp'
|
||||
end)(),
|
||||
},
|
||||
'saadparwaiz1/cmp_luasnip',
|
||||
|
||||
-- Adds LSP completion capabilities
|
||||
|
|
@ -590,7 +601,12 @@ vim.defer_fn(function()
|
|||
|
||||
-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
|
||||
auto_install = false,
|
||||
|
||||
-- Install languages synchronously (only applied to `ensure_installed`)
|
||||
sync_install = false,
|
||||
-- List of parsers to ignore installing
|
||||
ignore_install = {},
|
||||
-- You can specify additional Treesitter modules here: -- For example: -- playground = {--enable = true,-- },
|
||||
modules = {},
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
incremental_selection = {
|
||||
|
|
@ -671,7 +687,9 @@ local on_attach = function(_, bufnr)
|
|||
end
|
||||
|
||||
nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame')
|
||||
nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction')
|
||||
nmap('<leader>ca', function()
|
||||
vim.lsp.buf.code_action { context = { only = { 'quickfix', 'refactor', 'source' } } }
|
||||
end, '[C]ode [A]ction')
|
||||
|
||||
nmap('gd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition')
|
||||
nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
|
||||
|
|
@ -812,7 +830,7 @@ cmp.setup {
|
|||
mapping = cmp.mapping.preset.insert {
|
||||
['<C-n>'] = cmp.mapping.select_next_item(),
|
||||
['<C-p>'] = cmp.mapping.select_prev_item(),
|
||||
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete {},
|
||||
['<CR>'] = cmp.mapping.confirm {
|
||||
|
|
|
|||
Loading…
Reference in New Issue