Compare commits

..

41 Commits

Author SHA1 Message Date
Brendan Lentz 9a928f56a1
Fix comment to make it more clear what the keymap does (#107)
3 years ago
Christian Chiarulli 839666a6c0
Update README.md
3 years ago
ChristianChiarulli 4365222349 fix opts override
3 years ago
ChristianChiarulli 0a9e1cad51 lots more fixes and pins
3 years ago
ChristianChiarulli 9d0438502f quick fix
3 years ago
Christian Chiarulli bceb377e3c
Update README.md
3 years ago
Christian Chiarulli 1d8f072a68
Update README.md
3 years ago
Christian Chiarulli 3efda23509
Merge pull request #144 from gnmearacaun/handlers
3 years ago
Christian Chiarulli cb5f094ae9
Merge pull request #149 from gnmearacaun/readme
3 years ago
Christian Chiarulli f920985b8b
Merge pull request #145 from gnmearacaun/nvim-tree0.7
3 years ago
Christian Chiarulli efc7a3396c
Merge pull request #146 from mrbrianrt/fix-documentation-error
3 years ago
Christian Chiarulli c50e916a8f
Merge pull request #151 from gnmearacaun/jsonls
3 years ago
Briain O'Driscoll af08b44b08 add or nil({}) to extend function to avoid 'expected table' error
3 years ago
Briain O'Driscoll c369fe07c4 Merge branch 'handlers' of github.com:gnmearacaun/Neovim-from-scratch into handlers
3 years ago
Briain O'Driscoll 8610b9d9a8 amend global on_attach function
3 years ago
Briain O'Driscoll ae4f15e23d bump version to v0.8.0 in the README
3 years ago
Briain O'Driscoll fc52e86ef4 amend global on_attach function
3 years ago
Briain O'Driscoll 23a13baeec remove/upgrade unknown options to fixes errors after update
3 years ago
Brian Thompson bf16500e18
Fix cmp documentation error
3 years ago
Christian Chiarulli 21877b4ced
Merge pull request #129 from williamboman/chore/lsp-server-setup
3 years ago
William Boman 03e34d4260 chore(lsp): remove usage of deprecated lsp_installer.on_server_ready()
3 years ago
Christian Chiarulli 7a082a3306
Merge pull request #32 from Binxptr/master
3 years ago
Binxptr 8f60aa4e42 fix: remove tags file
3 years ago
Binxptr 30a8583c95 fix(readme): update minumum requirements to include nvim-0.7 (nightly)
3 years ago
Christian Chiarulli 0df65666da
pin telescope version (avoids broken project.nvim)
3 years ago
lytex a5f43d65c8
Fix find project keymapping
3 years ago
christianchiarulli 6169d6a10b fix commenting with gc and gcc
3 years ago
christianchiarulli 8cebbf6b11 add funding
3 years ago
ChristianChiarulli e4715d4424 add playlist link
3 years ago
ChristianChiarulli 2caada81b4 note neovim 0.6 requirement
3 years ago
ChristianChiarulli 6824f6203b update readme
3 years ago
ChristianChiarulli c0652b11ab update readme
3 years ago
ChristianChiarulli 29296d07e0 fix close command
3 years ago
ChristianChiarulli db5cedc818 update autocommands
3 years ago
ChristianChiarulli 838930d0bf remove comment mapping
3 years ago
ChristianChiarulli 442c5ad5c4 add quote to readme
3 years ago
ChristianChiarulli 96055cbe42 add qf nobuflisted
3 years ago
christianchiarulli 0161455b19 fix autocommands name
3 years ago
christianchiarulli 5355aa2f5c fix bufferline close button hl
3 years ago
christianchiarulli 1159cc615a add autocommands
3 years ago
christianchiarulli 1d14e44126 add autocommands
3 years ago

@ -0,0 +1,4 @@
# These are supported funding model platforms
github: christianchiarulli
patreon: chrisatmachine

@ -1,20 +1,24 @@
# Neovim from scratch # Neovim from scratch
**Important Update** When I initially created this repo I didn't anticipate the amount of breaking changes, if you'd like to use the same basic config as this one as a base I recommend my new repo: [nvim-basic-ide](https://github.com/LunarVim/nvim-basic-ide)
**Another Update** This repo should work fine with Neovim 0.8, also all packages are pinned so it should remain stable.
Each video will be associated with a branch so checkout the one you are interested in, you can follow along with this [playlist](https://www.youtube.com/watch?v=ctH-a-1eUME&list=PLhoH5vyxr6Qq41NFL4GvhFp-WLd5xzIzZ).
## Try out this config ## Try out this config
Make sure to remove or move your current `nvim` directory Make sure to remove or move your current `nvim` directory
**IMPORTANT** Requires [Neovim v0.8.0]](https://github.com/neovim/neovim/releases). [Upgrade](#upgrade-to-latest-release) if you're on an earlier version.
``` ```
git clone git@github.com:ChristianChiarulli/Neovim-from-scratch.git ~/.config/nvim git clone https://github.com/LunarVim/Neovim-from-scratch.git ~/.config/nvim
``` ```
Run `nvim` and wait for the plugins to be installed Run `nvim` and wait for the plugins to be installed
**NOTE** (You will notice treesitter pulling in a bunch of parsers the next time you open Neovim) **NOTE** (You will notice treesitter pulling in a bunch of parsers the next time you open Neovim)
each video will be associated with a branch so checkout the one you are interested in
## Get healthy ## Get healthy
Open `nvim` and enter the following: Open `nvim` and enter the following:
@ -56,3 +60,20 @@ Next we need to install python support (node is optional)
``` ```
npm i -g neovim npm i -g neovim
``` ```
---
**NOTE** make sure you have [node](https://nodejs.org/en/) installed, I recommend a node manager like [fnm](https://github.com/Schniz/fnm).
### Upgrade to latest release
Assuming you [built from source](https://github.com/neovim/neovim/wiki/Building-Neovim#quick-start), `cd` into the folder where you cloned `neovim` and run the following commands.
```
git pull
make distclean && make CMAKE_BUILD_TYPE=Release
sudo make install
nvim -v
```
> The computing scientist's main challenge is not to get confused by the complexities of his own making.
\- Edsger W. Dijkstra

@ -1,9 +1,8 @@
-- autocmd! remove all autocommands, if entered under a group it will clear that group
vim.cmd [[ vim.cmd [[
augroup _general_settings augroup _general_settings
autocmd! autocmd!
autocmd FileType qf,help,man,lspinfo nnoremap <silent> <buffer> q :close<CR> autocmd FileType qf,help,man,lspinfo nnoremap <silent> <buffer> q :close<CR>
autocmd TextYankPost * silent!lua require('vim.highlight').on_yank({higroup = 'Search', timeout = 200}) autocmd TextYankPost * silent!lua require('vim.highlight').on_yank({higroup = 'Visual', timeout = 200})
autocmd BufWinEnter * :set formatoptions-=cro autocmd BufWinEnter * :set formatoptions-=cro
autocmd FileType qf set nobuflisted autocmd FileType qf set nobuflisted
augroup end augroup end
@ -29,6 +28,10 @@ vim.cmd [[
autocmd! autocmd!
autocmd User AlphaReady set showtabline=0 | autocmd BufUnload <buffer> set showtabline=2 autocmd User AlphaReady set showtabline=0 | autocmd BufUnload <buffer> set showtabline=2
augroup end augroup end
]] ]]
-- Autoformat
-- augroup _lsp
-- autocmd!
-- autocmd BufWritePre * lua vim.lsp.buf.formatting()
-- augroup end

@ -40,7 +40,7 @@ keymap("n", "<A-j>", "<Esc>:m .+1<CR>==gi", opts)
keymap("n", "<A-k>", "<Esc>:m .-2<CR>==gi", opts) keymap("n", "<A-k>", "<Esc>:m .-2<CR>==gi", opts)
-- Insert -- -- Insert --
-- Press jk fast to enter -- Press jk fast to exit insert mode
keymap("i", "jk", "<ESC>", opts) keymap("i", "jk", "<ESC>", opts)
-- Visual -- -- Visual --

@ -0,0 +1,24 @@
local status_ok, lsp_installer = pcall(require, "nvim-lsp-installer")
if not status_ok then
return
end
local lspconfig = require("lspconfig")
local servers = { "jsonls", "sumneko_lua" }
lsp_installer.setup({
ensure_installed = servers,
})
for _, server in pairs(servers) do
local opts = {
on_attach = require("user.lsp.handlers").on_attach,
capabilities = require("user.lsp.handlers").capabilities,
}
local has_custom_opts, server_custom_opts = pcall(require, "user.lsp.settings." .. server)
if has_custom_opts then
opts = vim.tbl_deep_extend("force", opts, server_custom_opts)
end
lspconfig[server].setup(opts)
end

@ -37,27 +37,23 @@ M.setup = function()
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
border = "rounded", border = "rounded",
width = 60,
}) })
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
border = "rounded", border = "rounded",
width = 60,
}) })
end end
local function lsp_highlight_document(client) local function lsp_highlight_document(client)
-- Set autocommands conditional on server_capabilities -- Set autocommands conditional on server_capabilities
if client.resolved_capabilities.document_highlight then local status_ok, illuminate = pcall(require, "illuminate")
vim.api.nvim_exec( if not status_ok then
[[ return
augroup lsp_document_highlight
autocmd! * <buffer>
autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
augroup END
]],
false
)
end end
illuminate.on_attach(client)
-- end
end end
local function lsp_keymaps(bufnr) local function lsp_keymaps(bufnr)
@ -76,15 +72,17 @@ local function lsp_keymaps(bufnr)
bufnr, bufnr,
"n", "n",
"gl", "gl",
'<cmd>lua vim.lsp.diagnostic.show_line_diagnostics({ border = "rounded" })<CR>', '<cmd>lua vim.diagnostic.open_float({ border = "rounded" })<CR>',
opts opts
) )
vim.api.nvim_buf_set_keymap(bufnr, "n", "]d", '<cmd>lua vim.diagnostic.goto_next({ border = "rounded" })<CR>', opts) vim.api.nvim_buf_set_keymap(bufnr, "n", "]d", '<cmd>lua vim.diagnostic.goto_next({ border = "rounded" })<CR>', opts)
vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>q", "<cmd>lua vim.diagnostic.setloclist()<CR>", opts) vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>q", "<cmd>lua vim.diagnostic.setloclist()<CR>", opts)
vim.cmd [[ command! Format execute 'lua vim.lsp.buf.formatting()' ]] vim.cmd([[ command! Format execute 'lua vim.lsp.buf.format{async=true}' ]])
end end
M.on_attach = function(client, bufnr) M.on_attach = function(client, bufnr)
-- vim.notify(client.name .. " starting...")
-- TODO: refactor this into a method that checks if string in list
if client.name == "tsserver" then if client.name == "tsserver" then
client.resolved_capabilities.document_formatting = false client.resolved_capabilities.document_formatting = false
end end

@ -3,6 +3,6 @@ if not status_ok then
return return
end end
require "user.lsp.lsp-installer" require "user.lsp.configs"
require("user.lsp.handlers").setup() require("user.lsp.handlers").setup()
require "user.lsp.null-ls" require "user.lsp.null-ls"

@ -1,28 +0,0 @@
local status_ok, lsp_installer = pcall(require, "nvim-lsp-installer")
if not status_ok then
return
end
-- Register a handler that will be called for all installed servers.
-- Alternatively, you may also register handlers on specific server instances instead (see example below).
lsp_installer.on_server_ready(function(server)
local opts = {
on_attach = require("user.lsp.handlers").on_attach,
capabilities = require("user.lsp.handlers").capabilities,
}
if server.name == "jsonls" then
local jsonls_opts = require("user.lsp.settings.jsonls")
opts = vim.tbl_deep_extend("force", jsonls_opts, opts)
end
if server.name == "sumneko_lua" then
local sumneko_opts = require("user.lsp.settings.sumneko_lua")
opts = vim.tbl_deep_extend("force", sumneko_opts, opts)
end
-- This setup() function is exactly the same as lspconfig's setup function.
-- Refer to https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
server:setup(opts)
end)

@ -169,10 +169,7 @@ local schemas = {
} }
local function extend(tab1, tab2) local function extend(tab1, tab2)
if tab2 == nil then for _, value in ipairs(tab2 or {}) do
return tab2
end
for _, value in ipairs(tab2) do
table.insert(tab1, value) table.insert(tab1, value)
end end
return tab1 return tab1

@ -1,26 +1,3 @@
-- following options are the default
-- each of these are documented in `:help nvim-tree.OPTION_NAME`
vim.g.nvim_tree_icons = {
default = "",
symlink = "",
git = {
unstaged = "",
staged = "S",
unmerged = "",
renamed = "",
deleted = "",
untracked = "U",
ignored = "",
},
folder = {
default = "",
open = "",
empty = "",
empty_open = "",
symlink = "",
},
}
local status_ok, nvim_tree = pcall(require, "nvim-tree") local status_ok, nvim_tree = pcall(require, "nvim-tree")
if not status_ok then if not status_ok then
return return
@ -34,75 +11,58 @@ end
local tree_cb = nvim_tree_config.nvim_tree_callback local tree_cb = nvim_tree_config.nvim_tree_callback
nvim_tree.setup { nvim_tree.setup {
disable_netrw = true, update_focused_file = {
hijack_netrw = true,
open_on_setup = false,
ignore_ft_on_setup = {
"startify",
"dashboard",
"alpha",
},
open_on_tab = false,
hijack_cursor = false,
update_cwd = true,
update_to_buf_dir = {
enable = true, enable = true,
auto_open = true, update_cwd = true,
}, },
diagnostics = { renderer = {
enable = true, root_folder_modifier = ":t",
icons = { icons = {
hint = "", glyphs = {
info = "", default = "",
warning = "", symlink = "",
error = "", folder = {
arrow_open = "",
arrow_closed = "",
default = "",
open = "",
empty = "",
empty_open = "",
symlink = "",
symlink_open = "",
}, },
git = {
unstaged = "",
staged = "S",
unmerged = "",
renamed = "",
untracked = "U",
deleted = "",
ignored = "",
}, },
update_focused_file = {
enable = true,
update_cwd = true,
ignore_list = {},
}, },
system_open = {
cmd = nil,
args = {},
}, },
filters = {
dotfiles = false,
custom = {},
}, },
git = { diagnostics = {
enable = true, enable = true,
ignore = true, show_on_dirs = true,
timeout = 500, icons = {
hint = "",
info = "",
warning = "",
error = "",
},
}, },
view = { view = {
width = 30, width = 30,
height = 30, height = 30,
hide_root_folder = false,
side = "left", side = "left",
auto_resize = true,
mappings = { mappings = {
custom_only = false,
list = { list = {
{ key = { "l", "<CR>", "o" }, cb = tree_cb "edit" }, { key = { "l", "<CR>", "o" }, cb = tree_cb "edit" },
{ key = "h", cb = tree_cb "close_node" }, { key = "h", cb = tree_cb "close_node" },
{ key = "v", cb = tree_cb "vsplit" }, { key = "v", cb = tree_cb "vsplit" },
}, },
}, },
number = false,
relativenumber = false,
},
trash = {
cmd = "trash",
require_confirm = true,
},
actions = {
open_file = {
quit_on_open = false,
window_picker = {
enable = false,
},
},
}, },
} }

@ -1,27 +1,27 @@
local fn = vim.fn local fn = vim.fn
-- Automatically install packer -- Automatically install packer
local install_path = fn.stdpath "data" .. "/site/pack/packer/start/packer.nvim" local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
if fn.empty(fn.glob(install_path)) > 0 then if fn.empty(fn.glob(install_path)) > 0 then
PACKER_BOOTSTRAP = fn.system { PACKER_BOOTSTRAP = fn.system({
"git", "git",
"clone", "clone",
"--depth", "--depth",
"1", "1",
"https://github.com/wbthomason/packer.nvim", "https://github.com/wbthomason/packer.nvim",
install_path, install_path,
} })
print "Installing packer close and reopen Neovim..." print("Installing packer close and reopen Neovim...")
vim.cmd [[packadd packer.nvim]] vim.cmd([[packadd packer.nvim]])
end end
-- Autocommand that reloads neovim whenever you save the plugins.lua file -- Autocommand that reloads neovim whenever you save the plugins.lua file
vim.cmd [[ vim.cmd([[
augroup packer_user_config augroup packer_user_config
autocmd! autocmd!
autocmd BufWritePost plugins.lua source <afile> | PackerSync autocmd BufWritePost plugins.lua source <afile> | PackerSync
augroup end augroup end
]] ]])
-- Use a protected call so we don't error out on first use -- Use a protected call so we don't error out on first use
local status_ok, packer = pcall(require, "packer") local status_ok, packer = pcall(require, "packer")
@ -30,69 +30,67 @@ if not status_ok then
end end
-- Have packer use a popup window -- Have packer use a popup window
packer.init { packer.init({
display = { display = {
open_fn = function() open_fn = function()
return require("packer.util").float { border = "rounded" } return require("packer.util").float({ border = "rounded" })
end, end,
}, },
} })
-- Install your plugins here -- Install your plugins here
return packer.startup(function(use) return packer.startup(function(use)
-- My plugins here -- My plugins here
use "wbthomason/packer.nvim" -- Have packer manage itself
use "nvim-lua/popup.nvim" -- An implementation of the Popup API from vim in Neovim use({ "wbthomason/packer.nvim", commit = "00ec5adef58c5ff9a07f11f45903b9dbbaa1b422" }) -- Have packer manage itself
use "nvim-lua/plenary.nvim" -- Useful lua functions used ny lots of plugins use({ "nvim-lua/plenary.nvim", commit = "968a4b9afec0c633bc369662e78f8c5db0eba249" }) -- Useful lua functions used by lots of plugins
use "windwp/nvim-autopairs" -- Autopairs, integrates with both cmp and treesitter use({ "windwp/nvim-autopairs", commit = "fa6876f832ea1b71801c4e481d8feca9a36215ec" }) -- Autopairs, integrates with both cmp and treesitter
use "numToStr/Comment.nvim" -- Easily comment stuff use({ "numToStr/Comment.nvim", commit = "2c26a00f32b190390b664e56e32fd5347613b9e2" })
use "kyazdani42/nvim-web-devicons" use({ "JoosepAlviste/nvim-ts-context-commentstring", commit = "88343753dbe81c227a1c1fd2c8d764afb8d36269" })
use "kyazdani42/nvim-tree.lua" use({ "kyazdani42/nvim-web-devicons", commit = "8d2c5337f0a2d0a17de8e751876eeb192b32310e" })
use "akinsho/bufferline.nvim" use({ "kyazdani42/nvim-tree.lua", commit = "bdb6d4a25410da35bbf7ce0dbdaa8d60432bc243" })
use "moll/vim-bbye" use({ "akinsho/bufferline.nvim", commit = "c78b3ecf9539a719828bca82fc7ddb9b3ba0c353" })
use "nvim-lualine/lualine.nvim" use({ "moll/vim-bbye", commit = "25ef93ac5a87526111f43e5110675032dbcacf56" })
use "akinsho/toggleterm.nvim" use({ "nvim-lualine/lualine.nvim", commit = "3362b28f917acc37538b1047f187ff1b5645ecdd" })
use "ahmedkhalf/project.nvim" use({ "akinsho/toggleterm.nvim", commit = "aaeed9e02167c5e8f00f25156895a6fd95403af8" })
use "lewis6991/impatient.nvim" use({ "ahmedkhalf/project.nvim", commit = "541115e762764bc44d7d3bf501b6e367842d3d4f" })
use "lukas-reineke/indent-blankline.nvim" use({ "lewis6991/impatient.nvim", commit = "969f2c5c90457612c09cf2a13fee1adaa986d350" })
use "goolord/alpha-nvim" use({ "lukas-reineke/indent-blankline.nvim", commit = "6177a59552e35dfb69e1493fd68194e673dc3ee2" })
use "antoinemadec/FixCursorHold.nvim" -- This is needed to fix lsp doc highlight use({ "goolord/alpha-nvim", commit = "ef27a59e5b4d7b1c2fe1950da3fe5b1c5f3b4c94" })
use "folke/which-key.nvim" use("folke/which-key.nvim")
-- Colorschemes -- Colorschemes
-- use "lunarvim/colorschemes" -- A bunch of colorschemes you can try out use({ "folke/tokyonight.nvim", commit = "8223c970677e4d88c9b6b6d81bda23daf11062bb" })
use "lunarvim/darkplus.nvim" use("lunarvim/darkplus.nvim")
-- cmp plugins -- cmp plugins
use "hrsh7th/nvim-cmp" -- The completion plugin use({ "hrsh7th/nvim-cmp", commit = "df6734aa018d6feb4d76ba6bda94b1aeac2b378a" }) -- The completion plugin
use "hrsh7th/cmp-buffer" -- buffer completions use({ "hrsh7th/cmp-buffer", commit = "62fc67a2b0205136bc3e312664624ba2ab4a9323" }) -- buffer completions
use "hrsh7th/cmp-path" -- path completions use({ "hrsh7th/cmp-path", commit = "466b6b8270f7ba89abd59f402c73f63c7331ff6e" }) -- path completions
use "hrsh7th/cmp-cmdline" -- cmdline completions use({ "saadparwaiz1/cmp_luasnip", commit = "a9de941bcbda508d0a45d28ae366bb3f08db2e36" }) -- snippet completions
use "saadparwaiz1/cmp_luasnip" -- snippet completions use({ "hrsh7th/cmp-nvim-lsp", commit = "affe808a5c56b71630f17aa7c38e15c59fd648a8" })
use "hrsh7th/cmp-nvim-lsp" use({ "hrsh7th/cmp-nvim-lua", commit = "d276254e7198ab7d00f117e88e223b4bd8c02d21" })
-- snippets -- snippets
use "L3MON4D3/LuaSnip" --snippet engine use({ "L3MON4D3/LuaSnip", commit = "79b2019c68a2ff5ae4d732d50746c901dd45603a" }) --snippet engine
use "rafamadriz/friendly-snippets" -- a bunch of snippets to use use({ "rafamadriz/friendly-snippets", commit = "d27a83a363e61009278b6598703a763ce9c8e617" }) -- a bunch of snippets to use
-- LSP -- LSP
use "neovim/nvim-lspconfig" -- enable LSP use({ "neovim/nvim-lspconfig", commit = "148c99bd09b44cf3605151a06869f6b4d4c24455" }) -- enable LSP
use "williamboman/nvim-lsp-installer" -- simple to use language server installer use({ "williamboman/nvim-lsp-installer", commit = "e9f13d7acaa60aff91c58b923002228668c8c9e6" }) -- simple to use language server installer
use "tamago324/nlsp-settings.nvim" -- language server settings defined in json for use({ "jose-elias-alvarez/null-ls.nvim", commit = "ff40739e5be6581899b43385997e39eecdbf9465" }) -- for formatters and linters
use "jose-elias-alvarez/null-ls.nvim" -- for formatters and linters
-- Telescope -- Telescope
use "nvim-telescope/telescope.nvim" use({ "nvim-telescope/telescope.nvim", commit = "d96eaa914aab6cfc4adccb34af421bdd496468b0" })
-- Treesitter -- Treesitter
use { use({
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
run = ":TSUpdate", commit = "518e27589c0463af15463c9d675c65e464efc2fe",
} })
use "JoosepAlviste/nvim-ts-context-commentstring"
-- Git -- Git
use "lewis6991/gitsigns.nvim" use({ "lewis6991/gitsigns.nvim", commit = "c18e016864c92ecf9775abea1baaa161c28082c3" })
-- Automatically set up your configuration after cloning packer.nvim -- Automatically set up your configuration after cloning packer.nvim
-- Put this at the end after all plugins -- Put this at the end after all plugins

@ -3,21 +3,15 @@ if not status_ok then
return return
end end
configs.setup { configs.setup({
ensure_installed = "all", -- "all" (parsers with maintainers), or a list of languages ensure_installed = "all", -- one of "all" or a list of languages
sync_install = false, -- install languages synchronously (only applied to `ensure_installed`)
ignore_install = { "" }, -- List of parsers to ignore installing ignore_install = { "" }, -- List of parsers to ignore installing
autopairs = {
enable = true,
},
highlight = { highlight = {
enable = true, -- false will disable the whole extension enable = true, -- false will disable the whole extension
disable = { "" }, -- list of language that will be disabled disable = { "css" }, -- list of language that will be disabled
additional_vim_regex_highlighting = true,
}, },
indent = { enable = true, disable = { "yaml" } }, autopairs = {
context_commentstring = {
enable = true, enable = true,
enable_autocmd = false,
}, },
} indent = { enable = true, disable = { "python", "css" } },
})

@ -15,8 +15,8 @@ local setup = {
-- No actual key bindings are created -- No actual key bindings are created
presets = { presets = {
operators = false, -- adds help for operators like d, y, ... and registers them for motion / text object completion operators = false, -- adds help for operators like d, y, ... and registers them for motion / text object completion
motions = false, -- adds help for motions motions = true, -- adds help for motions
text_objects = false, -- help for text objects triggered after entering an operator text_objects = true, -- help for text objects triggered after entering an operator
windows = true, -- default bindings on <c-w> windows = true, -- default bindings on <c-w>
nav = true, -- misc bindings to work with windows nav = true, -- misc bindings to work with windows
z = true, -- bindings for folds, spelling and others prefixed with z z = true, -- bindings for folds, spelling and others prefixed with z
@ -94,7 +94,7 @@ local mappings = {
"Find files", "Find files",
}, },
["F"] = { "<cmd>Telescope live_grep theme=ivy<cr>", "Find Text" }, ["F"] = { "<cmd>Telescope live_grep theme=ivy<cr>", "Find Text" },
["P"] = { "<cmd>Telescope projects<cr>", "Projects" }, ["P"] = { "<cmd>lua require('telescope').extensions.projects.projects()<cr>", "Projects" },
p = { p = {
name = "Packer", name = "Packer",
@ -139,11 +139,11 @@ local mappings = {
"<cmd>Telescope lsp_workspace_diagnostics<cr>", "<cmd>Telescope lsp_workspace_diagnostics<cr>",
"Workspace Diagnostics", "Workspace Diagnostics",
}, },
f = { "<cmd>lua vim.lsp.buf.formatting()<cr>", "Format" }, f = { "<cmd>lua vim.lsp.buf.format{async=true}<cr>", "Format" },
i = { "<cmd>LspInfo<cr>", "Info" }, i = { "<cmd>LspInfo<cr>", "Info" },
I = { "<cmd>LspInstallInfo<cr>", "Installer Info" }, I = { "<cmd>LspInstallInfo<cr>", "Installer Info" },
j = { j = {
"<cmd>lua vim.diagnostic.goto_next()<CR>", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>",
"Next Diagnostic", "Next Diagnostic",
}, },
k = { k = {
@ -151,7 +151,7 @@ local mappings = {
"Prev Diagnostic", "Prev Diagnostic",
}, },
l = { "<cmd>lua vim.lsp.codelens.run()<cr>", "CodeLens Action" }, l = { "<cmd>lua vim.lsp.codelens.run()<cr>", "CodeLens Action" },
q = { "<cmd>lua vim.diagnostic.setloclist()<cr>", "Quickfix" }, q = { "<cmd>lua vim.lsp.diagnostic.set_loclist()<cr>", "Quickfix" },
r = { "<cmd>lua vim.lsp.buf.rename()<cr>", "Rename" }, r = { "<cmd>lua vim.lsp.buf.rename()<cr>", "Rename" },
s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" }, s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" },
S = { S = {

Loading…
Cancel
Save