aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lua/config/bqf.lua4
-rw-r--r--lua/config/compe.lua62
-rw-r--r--lua/config/indent-blankline.lua4
-rw-r--r--lua/config/iron.lua10
-rw-r--r--lua/config/lsp.lua185
-rw-r--r--lua/config/neoscroll.lua24
-rw-r--r--lua/config/nvim-bufferline.lua22
-rw-r--r--lua/config/treesitter.lua12
-rw-r--r--lua/plugins.lua208
9 files changed, 270 insertions, 261 deletions
diff --git a/lua/config/bqf.lua b/lua/config/bqf.lua
index 527405a..5ef5d5b 100644
--- a/lua/config/bqf.lua
+++ b/lua/config/bqf.lua
@@ -1,3 +1,3 @@
-require('bqf').setup({
- auto_resize_height=false
+require("bqf").setup({
+ auto_resize_height = false,
})
diff --git a/lua/config/compe.lua b/lua/config/compe.lua
index 2e8764a..5286a9d 100644
--- a/lua/config/compe.lua
+++ b/lua/config/compe.lua
@@ -1,38 +1,38 @@
-- nvim-compe settings
-require'compe'.setup {
- enabled = true;
- autocomplete = true;
- debug = false;
- min_length = 1;
- preselect = 'enable';
- throttle_time = 80;
- source_timeout = 200;
- incomplete_delay = 400;
- max_abbr_width = 100;
- max_kind_width = 100;
- max_menu_width = 100;
- documentation = true;
+require("compe").setup({
+ enabled = true,
+ autocomplete = true,
+ debug = false,
+ min_length = 1,
+ preselect = "enable",
+ throttle_time = 80,
+ source_timeout = 200,
+ incomplete_delay = 400,
+ max_abbr_width = 100,
+ max_kind_width = 100,
+ max_menu_width = 100,
+ documentation = true,
source = {
- omni = {filetypes = {'tex'}};
- path = true;
- buffer = false;
- spell = {filetypes = {'markdown', 'tex'}};
- emoji = true;
- nvim_lsp = true;
- nvim_lua = true;
- ultisnips = true;
- calc = false;
- vsnip = false;
- };
-}
+ omni = { filetypes = { "tex" } },
+ path = true,
+ buffer = false,
+ spell = { filetypes = { "markdown", "tex" } },
+ emoji = true,
+ nvim_lsp = true,
+ nvim_lua = true,
+ ultisnips = true,
+ calc = false,
+ vsnip = false,
+ },
+})
vim.o.completeopt = "menuone,noselect"
-- nvim-compe mappings
-local compe_map_opts = {expr = true, noremap = true, silent = true}
-vim.api.nvim_set_keymap('i', '<C-Space>', 'compe#complete()', compe_map_opts)
-vim.api.nvim_set_keymap('i', '<CR>', "compe#confirm('<CR>')", compe_map_opts)
-vim.api.nvim_set_keymap('i', '<ESC>', "compe#close('<ESC>')", compe_map_opts)
-vim.api.nvim_set_keymap('i', '<C-f>', "compe#scroll({'delta': +4})", compe_map_opts)
-vim.api.nvim_set_keymap('i', '<C-d>', "compe#scroll({'delta': -4})", compe_map_opts)
+local compe_map_opts = { expr = true, noremap = true, silent = true }
+vim.api.nvim_set_keymap("i", "<C-Space>", "compe#complete()", compe_map_opts)
+vim.api.nvim_set_keymap("i", "<CR>", "compe#confirm('<CR>')", compe_map_opts)
+vim.api.nvim_set_keymap("i", "<ESC>", "compe#close('<ESC>')", compe_map_opts)
+vim.api.nvim_set_keymap("i", "<C-f>", "compe#scroll({'delta': +4})", compe_map_opts)
+vim.api.nvim_set_keymap("i", "<C-d>", "compe#scroll({'delta': -4})", compe_map_opts)
diff --git a/lua/config/indent-blankline.lua b/lua/config/indent-blankline.lua
index 78cc8f9..6db2f72 100644
--- a/lua/config/indent-blankline.lua
+++ b/lua/config/indent-blankline.lua
@@ -1,2 +1,2 @@
-vim.g.indent_blankline_char = '│'
-vim.g.indent_blankline_filetype_exclude = {'help', 'startify', 'git', 'markdown'}
+vim.g.indent_blankline_char = "│"
+vim.g.indent_blankline_filetype_exclude = { "help", "startify", "git", "markdown" }
diff --git a/lua/config/iron.lua b/lua/config/iron.lua
index 926fb6d..74d7046 100644
--- a/lua/config/iron.lua
+++ b/lua/config/iron.lua
@@ -1,7 +1,7 @@
-local iron = require('iron')
-iron.core.set_config{
+local iron = require("iron")
+iron.core.set_config({
preferred = {
- python = 'ipython'
+ python = "ipython",
},
- repl_open_cmd = 'vertical 120 split'
-}
+ repl_open_cmd = "vertical 120 split",
+})
diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua
index 4279a6e..79f6091 100644
--- a/lua/config/lsp.lua
+++ b/lua/config/lsp.lua
@@ -3,39 +3,43 @@ local M = {}
function M.show_line_diagnostics()
local opts = {
focusable = false,
- close_events = {'BufLeave', 'CursorMoved', 'InsertEnter', 'FocusLost'}
+ close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" },
}
vim.lsp.diagnostic.show_line_diagnostics(opts)
end
local custom_attach = function(client, bufnr)
- local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
- local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
+ local function buf_set_keymap(...)
+ vim.api.nvim_buf_set_keymap(bufnr, ...)
+ end
+ local function buf_set_option(...)
+ vim.api.nvim_buf_set_option(bufnr, ...)
+ end
- buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
+ buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
-- Mappings.
- local opts = { noremap=true, silent=true }
- buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
- buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
- buf_set_keymap('n', '<C-]>', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
- buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
- buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
- buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
- buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
- buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
- buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
- buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
- buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
- buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
- buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
- buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
- buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
- buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
-
- vim.cmd [[
+ local opts = { noremap = true, silent = true }
+ buf_set_keymap("n", "gD", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts)
+ buf_set_keymap("n", "gd", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
+ buf_set_keymap("n", "<C-]>", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
+ buf_set_keymap("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
+ buf_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
+ buf_set_keymap("n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
+ buf_set_keymap("n", "<space>wa", "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
+ buf_set_keymap("n", "<space>wr", "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", opts)
+ buf_set_keymap("n", "<space>wl", "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>", opts)
+ buf_set_keymap("n", "<space>D", "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
+ buf_set_keymap("n", "<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
+ buf_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
+ buf_set_keymap("n", "[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", opts)
+ buf_set_keymap("n", "]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", opts)
+ buf_set_keymap("n", "<space>q", "<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>", opts)
+ buf_set_keymap("n", "<space>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>", opts)
+
+ vim.cmd([[
autocmd CursorHold <buffer> lua require('config.lsp').show_line_diagnostics()
- ]]
+ ]])
-- Set some key bindings conditional on server capabilities
if client.resolved_capabilities.document_formatting then
@@ -59,8 +63,8 @@ local custom_attach = function(client, bufnr)
]])
end
- local msg = string.format('Language server %s started!' , client.name)
- vim.api.nvim_echo({{msg, 'MoreMsg'}, }, false, {})
+ local msg = string.format("Language server %s started!", client.name)
+ vim.api.nvim_echo({ { msg, "MoreMsg" } }, false, {})
end
local capabilities = vim.lsp.protocol.make_client_capabilities()
@@ -68,68 +72,68 @@ capabilities.textDocument.completion.completionItem.snippetSupport = true
local lspconfig = require("lspconfig")
-lspconfig.pylsp.setup{
+lspconfig.pylsp.setup({
on_attach = custom_attach,
settings = {
pylsp = {
plugins = {
- pylint = {enabled = true, executable = "pylint"},
- pyflakes = {enabled = false},
- pycodestyle = {enabled = false},
- jedi_completion = {fuzzy = true},
- pyls_isort = {enabled = true},
- pylsp_mypy = {enabled = true}
- }
- }
+ pylint = { enabled = true, executable = "pylint" },
+ pyflakes = { enabled = false },
+ pycodestyle = { enabled = false },
+ jedi_completion = { fuzzy = true },
+ pyls_isort = { enabled = true },
+ pylsp_mypy = { enabled = true },
+ },
+ },
},
flags = {
debounce_text_changes = 200,
- }
-}
+ },
+})
-- lspconfig.pyright.setup{
-- on_attach = custom_attach,
-- }
-lspconfig.clangd.setup{
+lspconfig.clangd.setup({
on_attach = custom_attach,
capabilities = capabilities,
filetypes = { "c", "cpp", "cc" },
flags = {
debounce_text_changes = 500,
- }
-}
+ },
+})
-- set up vim-language-server
-lspconfig.vimls.setup{
+lspconfig.vimls.setup({
on_attach = custom_attach,
flags = {
debounce_text_changes = 500,
- }
-}
+ },
+})
-local sumneko_binary_path = vim.fn.exepath('lua-language-server')
-if vim.g.is_mac or vim.g.is_linux and sumneko_binary_path ~= '' then
- local sumneko_root_path = vim.fn.fnamemodify(sumneko_binary_path, ':h:h:h')
+local sumneko_binary_path = vim.fn.exepath("lua-language-server")
+if vim.g.is_mac or vim.g.is_linux and sumneko_binary_path ~= "" then
+ local sumneko_root_path = vim.fn.fnamemodify(sumneko_binary_path, ":h:h:h")
- local runtime_path = vim.split(package.path, ';')
+ local runtime_path = vim.split(package.path, ";")
table.insert(runtime_path, "lua/?.lua")
table.insert(runtime_path, "lua/?/init.lua")
- require'lspconfig'.sumneko_lua.setup {
+ require("lspconfig").sumneko_lua.setup({
on_attach = custom_attach,
- cmd = {sumneko_binary_path, "-E", sumneko_root_path .. "/main.lua"};
+ cmd = { sumneko_binary_path, "-E", sumneko_root_path .. "/main.lua" },
settings = {
Lua = {
runtime = {
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
- version = 'LuaJIT',
+ version = "LuaJIT",
-- Setup your lua path
path = runtime_path,
},
diagnostics = {
-- Get the language server to recognize the `vim` global
- globals = {'vim'},
+ globals = { "vim" },
},
workspace = {
-- Make the server aware of Neovim runtime files
@@ -141,59 +145,54 @@ if vim.g.is_mac or vim.g.is_linux and sumneko_binary_path ~= '' then
},
},
},
- }
+ })
end
-- Change diagnostic signs.
-vim.fn.sign_define('LspDiagnosticsSignError', { text = "✗", texthl = "LspDiagnosticsDefaultError" })
-vim.fn.sign_define('LspDiagnosticsSignWarning', { text = "!", texthl = "LspDiagnosticsDefaultWarning" })
-vim.fn.sign_define('LspDiagnosticsSignInformation', { text = "", texthl = "LspDiagnosticsDefaultInformation" })
-vim.fn.sign_define('LspDiagnosticsSignHint', { text = "", texthl = "LspDiagnosticsDefaultHint" })
+vim.fn.sign_define("LspDiagnosticsSignError", { text = "✗", texthl = "LspDiagnosticsDefaultError" })
+vim.fn.sign_define("LspDiagnosticsSignWarning", { text = "!", texthl = "LspDiagnosticsDefaultWarning" })
+vim.fn.sign_define("LspDiagnosticsSignInformation", { text = "", texthl = "LspDiagnosticsDefaultInformation" })
+vim.fn.sign_define("LspDiagnosticsSignHint", { text = "", texthl = "LspDiagnosticsDefaultHint" })
+
+vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
+ underline = false,
+ virtual_text = false,
+ signs = true,
+ update_in_insert = false,
+})
+
+-- Refs: https://github.com/neovim/nvim-lspconfig/wiki/UI-customization#show-source-in-diagnostics
+vim.lsp.handlers["textDocument/publishDiagnostics"] = function(_, _, params, client_id, _)
+ local uri = params.uri
+ local bufnr = vim.uri_to_bufnr(uri)
+
+ if not bufnr then
+ return
+ end
+
+ if not vim.api.nvim_buf_is_loaded(bufnr) then
+ return
+ end
+
+ local diagnostics = params.diagnostics
+ for i, v in ipairs(diagnostics) do
+ diagnostics[i].message = string.format("%s: %s", v.source, v.message)
+ end
+ vim.lsp.diagnostic.save(diagnostics, bufnr, client_id)
-vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
- vim.lsp.diagnostic.on_publish_diagnostics, {
+ local config = {
underline = false,
virtual_text = false,
signs = true,
update_in_insert = false,
}
-)
-
--- Refs: https://github.com/neovim/nvim-lspconfig/wiki/UI-customization#show-source-in-diagnostics
-vim.lsp.handlers["textDocument/publishDiagnostics"] =
- function(_, _, params, client_id, _)
- local uri = params.uri
- local bufnr = vim.uri_to_bufnr(uri)
-
- if not bufnr then
- return
- end
-
- if not vim.api.nvim_buf_is_loaded(bufnr) then
- return
- end
-
- local diagnostics = params.diagnostics
- for i, v in ipairs(diagnostics) do
- diagnostics[i].message = string.format("%s: %s", v.source, v.message)
- end
- vim.lsp.diagnostic.save(diagnostics, bufnr, client_id)
-
- local config = {
- underline = false,
- virtual_text = false,
- signs = true,
- update_in_insert = false,
- }
- vim.lsp.diagnostic.display(diagnostics, bufnr, client_id, config)
- end
+ vim.lsp.diagnostic.display(diagnostics, bufnr, client_id, config)
+end
-- The following settings works with the bleeding edge neovim.
-- See https://github.com/neovim/neovim/pull/13998.
-vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(
- vim.lsp.handlers.hover, {
- border = 'rounded'
- }
-)
+vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
+ border = "rounded",
+})
return M
diff --git a/lua/config/neoscroll.lua b/lua/config/neoscroll.lua
index 57e1ff9..45b7c08 100644
--- a/lua/config/neoscroll.lua
+++ b/lua/config/neoscroll.lua
@@ -1,21 +1,21 @@
-require('neoscroll').setup({
- easing_function = "quadratic",
+require("neoscroll").setup({
+ easing_function = "quadratic",
})
local t = {}
-- Syntax: t[keys] = {function, {function arguments}}
-- Use the "sine" easing function
-t['<C-u>'] = {'scroll', {'-vim.wo.scroll', 'true', '20', [['cubic']]}}
-t['<C-d>'] = {'scroll', { 'vim.wo.scroll', 'true', '20', [['cubic']]}}
+t["<C-u>"] = { "scroll", { "-vim.wo.scroll", "true", "20", [['cubic']] } }
+t["<C-d>"] = { "scroll", { "vim.wo.scroll", "true", "20", [['cubic']] } }
-- Use the "circular" easing function
-t['<C-b>'] = {'scroll', {'-vim.api.nvim_win_get_height(0)', 'true', '50', [['cubic']]}}
-t['<C-f>'] = {'scroll', { 'vim.api.nvim_win_get_height(0)', 'true', '50', [['cubic']]}}
+t["<C-b>"] = { "scroll", { "-vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } }
+t["<C-f>"] = { "scroll", { "vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } }
-- Pass "nil" to disable the easing animation (constant scrolling speed)
-t['<C-y>'] = {'scroll', {'-0.10', 'false', '100', nil}}
-t['<C-e>'] = {'scroll', { '0.10', 'false', '100', nil}}
+t["<C-y>"] = { "scroll", { "-0.10", "false", "100", nil } }
+t["<C-e>"] = { "scroll", { "0.10", "false", "100", nil } }
-- When no easing function is provided the default easing function (in this case "quadratic") will be used
-t['zt'] = {'zt', {'10'}}
-t['zz'] = {'zz', {'10'}}
-t['zb'] = {'zb', {'10'}}
+t["zt"] = { "zt", { "10" } }
+t["zz"] = { "zz", { "10" } }
+t["zb"] = { "zb", { "10" } }
-require('neoscroll.config').set_mappings(t)
+require("neoscroll.config").set_mappings(t)
diff --git a/lua/config/nvim-bufferline.lua b/lua/config/nvim-bufferline.lua
index 8697030..772287c 100644
--- a/lua/config/nvim-bufferline.lua
+++ b/lua/config/nvim-bufferline.lua
@@ -1,4 +1,4 @@
-require('bufferline').setup {
+require("bufferline").setup({
options = {
numbers = "buffer_id",
number_style = "superscript",
@@ -7,12 +7,12 @@ require('bufferline').setup {
right_mouse_command = nil,
left_mouse_command = "buffer %d",
middle_mouse_command = nil,
- indicator_icon = '▎',
- buffer_close_icon = '',
- modified_icon = '●',
- close_icon = '',
- left_trunc_marker = '',
- right_trunc_marker = '',
+ indicator_icon = "▎",
+ buffer_close_icon = "",
+ modified_icon = "●",
+ close_icon = "",
+ left_trunc_marker = "",
+ right_trunc_marker = "",
max_name_length = 18,
max_prefix_length = 15,
tab_size = 10,
@@ -22,7 +22,7 @@ require('bufferline').setup {
-- buffer will be hidden.
-- filter out filetypes you don't want to see
- local exclude_ft = {'qf', 'fugitive', 'git'}
+ local exclude_ft = { "qf", "fugitive", "git" }
local cur_ft = vim.bo[bufnr].filetype
local should_filter = vim.tbl_contains(exclude_ft, cur_ft)
@@ -40,6 +40,6 @@ require('bufferline').setup {
separator_style = "slant",
enforce_regular_tabs = false,
always_show_bufferline = true,
- sort_by = 'id'
- }
-}
+ sort_by = "id",
+ },
+})
diff --git a/lua/config/treesitter.lua b/lua/config/treesitter.lua
index a6ac7f7..574b763 100644
--- a/lua/config/treesitter.lua
+++ b/lua/config/treesitter.lua
@@ -1,8 +1,8 @@
-require'nvim-treesitter.configs'.setup {
- ensure_installed = {'python', 'cpp', 'lua'},
- ignore_install = {}, -- List of parsers to ignore installing
+require("nvim-treesitter.configs").setup({
+ ensure_installed = { "python", "cpp", "lua" },
+ ignore_install = {}, -- List of parsers to ignore installing
highlight = {
- enable = true, -- false will disable the whole extension
- disable = {}, -- list of language that will be disabled
+ enable = true, -- false will disable the whole extension
+ disable = {}, -- list of language that will be disabled
},
-}
+})
diff --git a/lua/plugins.lua b/lua/plugins.lua
index ed6b658..0beed39 100644
--- a/lua/plugins.lua
+++ b/lua/plugins.lua
@@ -1,81 +1,80 @@
-local utils = require('utils')
+local utils = require("utils")
local fn = vim.fn
-local packer_install_dir = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
+local packer_install_dir = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
-local plug_url_format = ''
+local plug_url_format = ""
if vim.g.is_linux then
- plug_url_format = 'https://hub.fastgit.org/%s'
+ plug_url_format = "https://hub.fastgit.org/%s"
else
- plug_url_format = 'https://github.com/%s'
+ plug_url_format = "https://github.com/%s"
end
-local packer_repo = string.format(plug_url_format, 'wbthomason/packer.nvim')
-local install_cmd = string.format('10split |term git clone --depth=1 %s %s', packer_repo, packer_install_dir)
+local packer_repo = string.format(plug_url_format, "wbthomason/packer.nvim")
+local install_cmd = string.format("10split |term git clone --depth=1 %s %s", packer_repo, packer_install_dir)
-- Auto-install packer in case it hasn't been installed.
-if fn.glob(packer_install_dir) == '' then
- vim.api.nvim_echo({{'Installing packer.nvim', 'Type'}}, true, {})
+if fn.glob(packer_install_dir) == "" then
+ vim.api.nvim_echo({ { "Installing packer.nvim", "Type" } }, true, {})
vim.cmd(install_cmd)
- vim.cmd('packadd packer.nvim')
+ vim.cmd("packadd packer.nvim")
end
-vim.cmd [[packadd packer.nvim]]
+vim.cmd([[packadd packer.nvim]])
-require('packer').startup(
-{
+require("packer").startup({
function(use)
- use 'wbthomason/packer.nvim'
+ use("wbthomason/packer.nvim")
-- nvim-lsp configuration
- use {'neovim/nvim-lspconfig', config = [[require('config.lsp')]]}
+ use({ "neovim/nvim-lspconfig", config = [[require('config.lsp')]] })
-- auto-completion engine
- use { 'hrsh7th/nvim-compe', event = 'InsertEnter *', config = [[require('config.compe')]] }
+ use({ "hrsh7th/nvim-compe", event = "InsertEnter *", config = [[require('config.compe')]] })
if vim.g.is_mac or vim.g.is_linux then
- use {'nvim-treesitter/nvim-treesitter', run = ':TSUpdate', config = [[require('config.treesitter')]]}
+ use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate", config = [[require('config.treesitter')]] })
end
-- Python syntax highlighting and more
if vim.g.is_win then
- use {'numirias/semshi', ft = 'python', config = 'vim.cmd [[UpdateRemotePlugins]]'}
+ use({ "numirias/semshi", ft = "python", config = "vim.cmd [[UpdateRemotePlugins]]" })
end
-- Python indent (follows the PEP8 style)
- use {'Vimjas/vim-python-pep8-indent', ft = {'python', }}
+ use({ "Vimjas/vim-python-pep8-indent", ft = { "python" } })
-- Python-related text object
- use {'jeetsukumaran/vim-pythonsense', ft = {'python'}}
+ use({ "jeetsukumaran/vim-pythonsense", ft = { "python" } })
- use 'machakann/vim-swap'
+ use("machakann/vim-swap")
-- IDE for Lisp
- if utils.executable('sbcl') then
+ if utils.executable("sbcl") then
-- use 'kovisoft/slimv'
- use {'vlime/vlime', rtp = 'vim/', ft={'lisp', }}
+ use({ "vlime/vlime", rtp = "vim/", ft = { "lisp" } })
end
-- Super fast movement with vim-sneak
- use 'justinmk/vim-sneak'
+ use("justinmk/vim-sneak")
-- Clear highlight search automatically for you
- use 'romainl/vim-cool'
+ use("romainl/vim-cool")
-- Show current search term in different color
- use 'PeterRincker/vim-searchlight'
+ use("PeterRincker/vim-searchlight")
-- Show match number for incsearch
- use 'osyo-manga/vim-anzu'
+ use("osyo-manga/vim-anzu")
-- Stay after pressing * and search selected text
- use 'haya14busa/vim-asterisk'
+ use("haya14busa/vim-asterisk")
-- File search, tag search and more
if vim.g.is_win then
- use 'Yggdroot/LeaderF'
+ use("Yggdroot/LeaderF")
else
- use {'Yggdroot/LeaderF', run = ':LeaderfInstallCExtension'}
+ use({ "Yggdroot/LeaderF", run = ":LeaderfInstallCExtension" })
end
-- Another similar plugin is command-t
@@ -88,147 +87,153 @@ require('packer').startup(
-- use {'mhinz/vim-grepper', cmd = {'Grepper', '<plug>(GrepperOperator)'}}
-- A list of colorscheme plugin you may want to try. Find what suits you.
- use 'lifepillar/vim-gruvbox8'
- use 'ajmwagar/vim-deus'
- use 'lifepillar/vim-solarized8'
- use 'navarasu/onedark.nvim'
- use 'sainnhe/edge'
- use 'sainnhe/sonokai'
- use 'sainnhe/gruvbox-material'
- use 'shaunsingh/nord.nvim'
- use 'NTBBloodbath/doom-one.nvim'
+ use("lifepillar/vim-gruvbox8")
+ use("ajmwagar/vim-deus")
+ use("lifepillar/vim-solarized8")
+ use("navarasu/onedark.nvim")
+ use("sainnhe/edge")
+ use("sainnhe/sonokai")
+ use("sainnhe/gruvbox-material")
+ use("shaunsingh/nord.nvim")
+ use("NTBBloodbath/doom-one.nvim")
-- colorful status line and theme
- use 'vim-airline/vim-airline-themes'
- use 'vim-airline/vim-airline'
+ use("vim-airline/vim-airline-themes")
+ use("vim-airline/vim-airline")
- use {'akinsho/nvim-bufferline.lua', config = [[require('config.nvim-bufferline')]]}
+ use({ "akinsho/nvim-bufferline.lua", config = [[require('config.nvim-bufferline')]] })
-- fancy start screen
- use {'mhinz/vim-startify'}
- use {'lukas-reineke/indent-blankline.nvim', config = [[require('config.indent-blankline')]]}
+ use({ "mhinz/vim-startify" })
+ use({ "lukas-reineke/indent-blankline.nvim", config = [[require('config.indent-blankline')]] })
-- Highlight URLs inside vim
- use 'itchyny/vim-highlighturl'
+ use("itchyny/vim-highlighturl")
-- notification plugin
- use {'rcarriga/nvim-notify', config = 'vim.notify = require("notify")'}
+ use({ "rcarriga/nvim-notify", config = 'vim.notify = require("notify")' })
-- For Windows and Mac, we can open an URL in the browser. For Linux, it may
-- not be possible since we maybe in a server which disables GUI.
if vim.g.is_win or vim.g.is_mac then
-- open URL in browser
- use 'tyru/open-browser.vim'
+ use("tyru/open-browser.vim")
end
-- Only install these plugins if ctags are installed on the system
- if utils.executable('ctags') then
+ if utils.executable("ctags") then
-- plugin to manage your tags
- use 'ludovicchabant/vim-gutentags'
+ use("ludovicchabant/vim-gutentags")
-- show file tags in vim window
- use 'liuchengxu/vista.vim'
+ use("liuchengxu/vista.vim")
end
-- Snippet engine and snippet template
- use 'SirVer/ultisnips'
- use {'honza/vim-snippets', event = {'InsertEnter'}}
+ use("SirVer/ultisnips")
+ use({ "honza/vim-snippets", event = { "InsertEnter" } })
-- Automatic insertion and deletion of a pair of characters
- use 'Raimondi/delimitMate'
+ use("Raimondi/delimitMate")
-- Comment plugin
- use 'tpope/vim-commentary'
+ use("tpope/vim-commentary")
-- Multiple cursor plugin like Sublime Text?
-- use 'mg979/vim-visual-multi'
-- Autosave files on certain events
- use '907th/vim-auto-save'
+ use("907th/vim-auto-save")
-- Show undo history visually
- use 'simnalamburt/vim-mundo'
+ use("simnalamburt/vim-mundo")
-- Manage your yank history
if vim.g.is_win or vim.g.is_mac then
- use 'svermeulen/vim-yoink'
+ use("svermeulen/vim-yoink")
end
-- Handy unix command inside Vim (Rename, Move etc.)
- use 'tpope/vim-eunuch'
+ use("tpope/vim-eunuch")
-- Repeat vim motions
- use 'tpope/vim-repeat'
+ use("tpope/vim-repeat")
-- Show the content of register in preview window
-- Plug 'junegunn/vim-peekaboo'
- use {'jdhao/better-escape.vim', event = {'InsertEnter', }}
+ use({ "jdhao/better-escape.vim", event = { "InsertEnter" } })
if vim.g.is_mac then
- use {'lyokha/vim-xkbswitch', event = {'InsertEnter', }}
+ use({ "lyokha/vim-xkbswitch", event = { "InsertEnter" } })
elseif vim.g.is_win then
- use {'Neur1n/neuims', event = {'InsertEnter', }}
+ use({ "Neur1n/neuims", event = { "InsertEnter" } })
end
-- Syntax check and make
-- use 'neomake/neomake'
-- Auto format tools
- use {'sbdchd/neoformat', cmd = {'Neoformat', }}
+ use({ "sbdchd/neoformat", cmd = { "Neoformat" } })
-- use 'Chiel92/vim-autoformat'
-- Show git change (change, delete, add) signs in vim sign column
- use 'mhinz/vim-signify'
+ use("mhinz/vim-signify")
-- Another similar plugin
-- use 'airblade/vim-gitgutter'
-- Git command inside vim
- use {'tpope/vim-fugitive', event = 'User InGitRepo'}
+ use({ "tpope/vim-fugitive", event = "User InGitRepo" })
-- Better git log display
- use {'rbong/vim-flog', require = 'tpope/vim-fugitive', cmd = {'Flog'}}
+ use({ "rbong/vim-flog", require = "tpope/vim-fugitive", cmd = { "Flog" } })
- use {'kevinhwang91/nvim-bqf', config = [[require('config.bqf')]]}
+ use({ "kevinhwang91/nvim-bqf", config = [[require('config.bqf')]] })
-- Better git commit experience
- use 'rhysd/committia.vim'
+ use("rhysd/committia.vim")
-- Another markdown plugin
- use {'plasticboy/vim-markdown', ft = {'markdown', }}
+ use({ "plasticboy/vim-markdown", ft = { "markdown" } })
-- Faster footnote generation
- use {'vim-pandoc/vim-markdownfootnotes', ft = {'markdown', }}
+ use({ "vim-pandoc/vim-markdownfootnotes", ft = { "markdown" } })
-- Vim tabular plugin for manipulate tabular, required by markdown plugins
- use {'godlygeek/tabular', cmd = {'Tabularize'}}
+ use({ "godlygeek/tabular", cmd = { "Tabularize" } })
-- Markdown JSON header highlight plugin
- use {'elzr/vim-json', ft = {'json', 'markdown'}}
+ use({ "elzr/vim-json", ft = { "json", "markdown" } })
-- Markdown previewing (only for Mac and Windows)
if vim.g.is_win or vim.g.is_mac then
- use {'iamcco/markdown-preview.nvim', run = function() fn['mkdp#util#install']() end, ft = {'markdown'}}
+ use({
+ "iamcco/markdown-preview.nvim",
+ run = function()
+ fn["mkdp#util#install"]()
+ end,
+ ft = { "markdown" },
+ })
end
if vim.g.is_mac then
- use {'rhysd/vim-grammarous', ft = {'markdown', }}
+ use({ "rhysd/vim-grammarous", ft = { "markdown" } })
end
- use 'chrisbra/unicode.vim'
+ use("chrisbra/unicode.vim")
-- Additional powerful text object for vim, this plugin should be studied
-- carefully to use its full power
- use 'wellle/targets.vim'
+ use("wellle/targets.vim")
-- Plugin to manipulate character pairs quickly
-- use 'tpope/vim-surround'
- use 'machakann/vim-sandwich'
+ use("machakann/vim-sandwich")
-- Add indent object for vim (useful for languages like Python)
- use 'michaeljsmith/vim-indent-object'
+ use("michaeljsmith/vim-indent-object")
-- Only use these plugin on Windows and Mac and when LaTeX is installed
- if vim.g.is_win or vim.g.is_mac and utils.executable('latex') then
- use {'lervag/vimtex', ft = {'tex', }}
+ if vim.g.is_win or vim.g.is_mac and utils.executable("latex") then
+ use({ "lervag/vimtex", ft = { "tex" } })
-- use {'matze/vim-tex-fold', ft = {'tex', }}
-- use 'Konfekt/FastFold'
@@ -236,61 +241,66 @@ require('packer').startup(
-- Since tmux is only available on Linux and Mac, we only enable these plugins
-- for Linux and Mac
- if utils.executable('tmux') then
+ if utils.executable("tmux") then
-- .tmux.conf syntax highlighting and setting check
- use {'tmux-plugins/vim-tmux', ft = {'tmux', }}
+ use({ "tmux-plugins/vim-tmux", ft = { "tmux" } })
end
-- Modern matchit implementation
- use 'andymass/vim-matchup'
+ use("andymass/vim-matchup")
- use {'ms-jpq/chadtree', branch = 'chad', run = ':CHADdeps'}
+ use({ "ms-jpq/chadtree", branch = "chad", run = ":CHADdeps" })
-- Smoothie motions
-- use 'psliwka/vim-smoothie'
- use {'karb94/neoscroll.nvim', config = [[require('config.neoscroll')]]}
+ use({ "karb94/neoscroll.nvim", config = [[require('config.neoscroll')]] })
- use 'tpope/vim-scriptease'
+ use("tpope/vim-scriptease")
-- Asynchronous command execution
- use {'skywind3000/asyncrun.vim', opt = true, cmd = {'AsyncRun', }}
+ use({ "skywind3000/asyncrun.vim", opt = true, cmd = { "AsyncRun" } })
-- Another asynchronous plugin
-- Plug 'tpope/vim-dispatch'
- use {'cespare/vim-toml', ft = {'toml',}}
+ use({ "cespare/vim-toml", ft = { "toml" } })
-- Edit text area in browser using nvim
if vim.g.is_win or vim.g.is_mac then
- use {'glacambre/firenvim', run = function() fn['firenvim#install'](0) end}
+ use({
+ "glacambre/firenvim",
+ run = function()
+ fn["firenvim#install"](0)
+ end,
+ })
end
-- Debugger plugin
if vim.g.is_win or vim.g.is_linux then
- use {'sakhnik/nvim-gdb', run = {'bash install.sh'}}
+ use({ "sakhnik/nvim-gdb", run = { "bash install.sh" } })
end
-- Session management plugin
- use 'tpope/vim-obsession'
+ use("tpope/vim-obsession")
-- Calculate statistics for visual selection
- use 'wgurecky/vimSum'
+ use("wgurecky/vimSum")
if vim.g.is_linux then
- use 'ojroques/vim-oscyank'
+ use("ojroques/vim-oscyank")
end
-- REPL for nvim
- use {'hkupty/iron.nvim', config = [[require('config.iron')]]}
+ use({ "hkupty/iron.nvim", config = [[require('config.iron')]] })
-- Show register content
- use "tversteeg/registers.nvim"
+ use("tversteeg/registers.nvim")
-- The missing auto-completion for cmdline!
- use 'gelguy/wilder.nvim'
+ use("gelguy/wilder.nvim")
end,
config = {
max_jobs = 16,
git = {
- default_url_format = plug_url_format
- }
- }
+ default_url_format = plug_url_format,
+ },
+ },
})