️ (loading times): Optimize loading sequences

This commit is contained in:
juan 2022-08-07 22:57:52 +08:00
parent 9087e563d8
commit 65baac297f
Signed by: juan
GPG Key ID: 5C1E5093C74F1DC7
4 changed files with 78 additions and 110 deletions

View File

@ -16,8 +16,10 @@ map('', '<A-H>', '<C-w>H', {})
map('', '<A-J>', '<C-w>J', {})
map('', '<A-K>', '<C-w>K', {})
map('', '<A-L>', '<C-w>L', {})
map('', '<A->>', '<C-w>>', {})
map('', '<A-<>', '<C-w><', {})
map('', '<M-S-.>', '<C-w>>', {})
map('', '<M-S-,>', '<C-w><', {})
map('', '<M-S-=>', '<C-w>+', {})
map('', '<M-->', '<C-w>-', {})
map('', '<A-T>', '<C-w>T', {})
-- undo to the last , . or !
@ -28,17 +30,15 @@ map('i', '?', '?<c-g>u', {noremap = true})
-- plugin mappings
-- gitsigns
map('', '<leader>gs', ':Gitsigns toggle_signs<cr>',
{silent = true})
map('', '<leader>gs', ':Gitsigns toggle_signs<cr>', {silent = true})
-- lsp stuff
vim.api.nvim_buf_set_keymap(0, 'n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>',
{noremap = true})
map('', '<leader>K',
'<cmd>lua vim.diagnostic.open_float()<CR>',
{noremap = true})
map('', '<leader>K', '<cmd>lua vim.diagnostic.open_float()<CR>',
{noremap = true})
map('', '<leader>qf',
'<cmd>lua vim.diagnostic.setqflist({open = false})<cr><cmd>Telescope quickfix<cr>',
{silent = true})
'<cmd>lua vim.diagnostic.setqflist({open = false})<cr><cmd>Telescope quickfix<cr>',
{silent = true})
-- toggle tagbar
map('', '<leader>tt', ':TagbarToggle<cr>', {silent = true})
@ -52,19 +52,17 @@ map('', '<leader>fm', ':Neoformat<cr>', {silent = true})
-- toggle Hop
map('', '<leader>b', ':HopWordBC<cr>', {silent = true})
map('', '<leader>w', ':HopWordAC<cr>', {silent = true})
map('', '<leader>l', ':HopWordCurrentLine<cr>',
{silent = true})
map('', '<leader>l', ':HopWordCurrentLine<cr>', {silent = true})
-- telescope stuff
map('', '<leader>fd', ':Telescope fd<cr>', {silent = true})
map('', '<leader>tb', ':Telescope buffers<cr>',
{silent = true})
map('', '<leader>tb', ':Telescope buffers<cr>', {silent = true})
-- Barbar controls
local opts = { noremap = true, silent = true }
local opts = {noremap = true, silent = true}
-- Move to previous/next
map('n', '<A-,>', '<Cmd>BufferPrevious<CR>', opts)
map('n', '<A-.>', '<Cmd>BufferNext<CR>', opts)
map('n', 'gT', '<Cmd>BufferPrevious<CR>', opts)
map('n', 'gt', '<Cmd>BufferNext<CR>', opts)
-- Re-order to previous/next
map('n', '<A-P>', '<Cmd>BufferMovePrevious<CR>', opts)
map('n', '<A-N>', '<Cmd>BufferMoveNext<CR>', opts)

View File

@ -4,9 +4,9 @@ vim.cmd [[packadd packer.nvim]]
require('packer').init {
display = {
open_fn = function()
return require("packer.util").float {border = "single"}
return require('packer.util').float {border = 'single'}
end,
prompt_border = "single"
prompt_border = 'single'
},
git = {
clone_timeout = 600 -- Timeout, in seconds, for git clones
@ -26,61 +26,63 @@ return require('packer').startup(function(use)
vim.g.serenade_enable_italic = 1
vim.g.serenade_sign_column_background = 'none'
vim.g.serenade_better_performance = 1
vim.cmd("colorscheme serenade")
vim.cmd('colorscheme serenade')
end
}
use {'kyazdani42/nvim-web-devicons'}
use {
'nvim-lualine/lualine.nvim',
after = {'serenade', 'nvim-web-devicons'},
config = function() require "plugins.statusline" end
config = function() require 'plugins.statusline' end
}
use {
'romgrk/barbar.nvim',
requires = {'kyazdani42/nvim-web-devicons'},
event = 'BufAdd',
after = {'nvim-web-devicons', 'serenade'},
config = function() require "plugins.barbar" end
config = function() require 'plugins.barbar' end
}
-- lsp stuff
use {'neovim/nvim-lspconfig', event = "UIEnter"}
use {'neovim/nvim-lspconfig', event = 'UIEnter'}
use {
'williamboman/nvim-lsp-installer',
config = function() require "plugins.lspinstall" end,
after = 'nvim-lspconfig'
after = 'nvim-lspconfig',
config = function() require 'plugins.lspinstall' end
}
use {'hrsh7th/cmp-nvim-lsp', after = 'nvim-lsp-installer'}
use {
"ray-x/lsp_signature.nvim",
after = "nvim-lsp-installer",
config = function() require "plugins.lsp-signature" end
'ray-x/lsp_signature.nvim',
after = 'nvim-lsp-installer',
config = function() require 'plugins.lsp-signature' end
}
-- tree sitter
use {
'nvim-treesitter/nvim-treesitter',
event = "UIEnter",
config = function() require "plugins.treesitter" end,
event = 'UIEnter',
config = function() require 'plugins.treesitter' end,
run = ':TSUpdate'
}
-- completer
use {'L3MON4D3/LuaSnip', event = "UIEnter"}
use {'L3MON4D3/LuaSnip', event = 'UIEnter'}
use {
event = "InsertEnter",
after = {'nvim-lsp-installer', 'nvim-treesitter', 'LuaSnip'},
"hrsh7th/nvim-cmp",
config = function() require "plugins.cmp" end,
'hrsh7th/nvim-cmp',
event = 'InsertEnter',
after = {'LuaSnip', 'cmp-nvim-lsp', 'nvim-treesitter'},
config = function() require 'plugins.cmp' end,
requires = {
-- local
{'hrsh7th/cmp-cmdline', after = 'nvim-cmp'},
{'hrsh7th/cmp-buffer', after = 'nvim-cmp'},
{'hrsh7th/cmp-path', after = 'nvim-cmp'},
{'petertriho/cmp-git', after = 'nvim-cmp'}, -- end
{'hrsh7th/cmp-path', after = 'nvim-cmp'}, {
'petertriho/cmp-git',
after = 'nvim-cmp',
config = function() require("cmp_git").setup() end
}, {'delphinus/cmp-ctags', after = 'nvim-cmp'}, -- end
-- lsp
{'hrsh7th/cmp-nvim-lsp-document-symbol', after = 'nvim-cmp'},
{'hrsh7th/cmp-nvim-lsp', after = 'nvim-cmp'}, -- end
-- TS
{'hrsh7th/cmp-nvim-lsp-document-symbol', after = 'nvim-cmp'}, -- TS
{'ray-x/cmp-treesitter', after = 'nvim-cmp'}, -- end
-- Snip
{'saadparwaiz1/cmp_luasnip', after = {'nvim-cmp', 'LuaSnip'}}
@ -89,21 +91,21 @@ return require('packer').startup(function(use)
-- formating and editing
use {
"windwp/nvim-autopairs",
'windwp/nvim-autopairs',
after = 'nvim-cmp',
config = function() require("plugins.nvim-autopairs") end
config = function() require('plugins.nvim-autopairs') end
}
use {"sbdchd/neoformat", cmd = "Neoformat"}
use {'sbdchd/neoformat', cmd = 'Neoformat'}
use {
"mattn/emmet-vim",
'mattn/emmet-vim',
ft = {'html', 'htmldjango', 'css', 'markdown'},
setup = function() require "plugins.emmet" end
setup = function() require 'plugins.emmet' end
}
use {"machakann/vim-sandwich", event = "UIEnter"}
use {'machakann/vim-sandwich', event = 'UIEnter'}
use {
'numToStr/Comment.nvim',
event = "UIEnter",
event = 'UIEnter',
config = function() require('Comment').setup() end
}
@ -112,12 +114,12 @@ return require('packer').startup(function(use)
'kyazdani42/nvim-tree.lua',
cmd = 'NvimTreeToggle',
requires = 'kyazdani42/nvim-web-devicons',
config = function() require("plugins.nvim-tree") end
config = function() require('plugins.nvim-tree') end
}
use {
'andymass/vim-matchup',
after = 'nvim-treesitter',
config = function() require "plugins.matchup" end
config = function() require 'plugins.matchup' end
}
use {
'abecodes/tabout.nvim',
@ -126,14 +128,14 @@ return require('packer').startup(function(use)
}
use {
'nvim-telescope/telescope.nvim',
requires = {{'nvim-lua/plenary.nvim'}},
config = function() require "plugins.telescope" end,
event = "UIEnter"
event = 'UIEnter',
requires = {'nvim-lua/plenary.nvim'},
config = function() require 'plugins.telescope' end
}
use {'preservim/tagbar', cmd = 'TagbarToggle'}
use {
'phaazon/hop.nvim',
event = "UIEnter",
event = 'UIEnter',
as = 'hop',
config = function()
require'hop'.setup {keys = 'etovxqpdygfblzhckisuran'}
@ -142,23 +144,24 @@ return require('packer').startup(function(use)
-- eye-candy
use {
"lukas-reineke/indent-blankline.nvim",
after = {"nvim-treesitter"},
config = function() require "plugins.indent-blankline" end
'lukas-reineke/indent-blankline.nvim',
after = {'nvim-treesitter'},
config = function() require 'plugins.indent-blankline' end
}
use {
'lewis6991/gitsigns.nvim',
event = 'UIEnter',
requires = {'nvim-lua/plenary.nvim'},
config = function() require "plugins.gitsigns" end
config = function() require 'plugins.gitsigns' end
}
use {
'p00f/nvim-ts-rainbow',
after = "nvim-treesitter",
config = function() require "plugins.nvim-ts-rainbow" end
after = 'nvim-treesitter',
config = function() require 'plugins.nvim-ts-rainbow' end
}
use {
'nvim-treesitter/nvim-treesitter-context',
after = "nvim-treesitter",
after = 'nvim-treesitter',
config = function()
require'treesitter-context'.setup {
enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
@ -178,27 +181,28 @@ return require('packer').startup(function(use)
}
use {
'winston0410/range-highlight.nvim',
event = "CmdlineEnter",
config = function() require("range-highlight").setup {} end,
event = 'CmdlineEnter',
config = function() require('range-highlight').setup {} end,
requires = 'winston0410/cmd-parser.nvim'
}
use {
'norcalli/nvim-colorizer.lua',
event = "BufEnter",
config = function() require "plugins.nvim-colorizer" end
event = 'BufEnter',
config = function() require 'plugins.nvim-colorizer' end
}
-- integrations
use {"tpope/vim-fugitive", cmd = "G"}
use {'tpope/vim-fugitive', cmd = 'G'}
use {
"mickael-menu/zk-nvim",
requires = {"nvim-telescope/telescope.nvim"},
after = {"telescope.nvim"},
'mickael-menu/zk-nvim',
requires = {'nvim-telescope/telescope.nvim'},
event = 'UIEnter',
after = {'telescope.nvim'},
ft = {'markdown'},
config = function() require "plugins.zk" end
config = function() require 'plugins.zk' end
}
-- fixes and misc. stuff
use {"antoinemadec/FixCursorHold.nvim", event = "UIEnter"}
use {'antoinemadec/FixCursorHold.nvim', event = 'UIEnter'}
end)
-- vim:set shiftwidth=4 tabstop=4:

View File

@ -29,8 +29,8 @@ require'bufferline'.setup {
icon_custom_colors = true,
-- Configure icons on the bufferline.
icon_separator_active = '',
icon_separator_inactive = '',
icon_separator_active = '',
icon_separator_inactive = '|',
icon_close_tab = '',
icon_close_tab_modified = '',
icon_pinned = '',
@ -61,31 +61,3 @@ require'bufferline'.setup {
-- where X is the buffer number. But only a static string is accepted here.
no_name_title = nil
}
-- nvim-tree integration
local nvim_tree_events = require('nvim-tree.events')
local bufferline_state = require('bufferline.state')
-- track the window id of nvim-tree
local id
local function get_tree_size() return vim.api.nvim_win_get_width(id) end
nvim_tree_events.on_tree_open(function()
id = vim.api.nvim_eval('win_getid()')
bufferline_state.set_offset(get_tree_size())
end)
nvim_tree_events.on_tree_resize(function()
if id ~= nil then
if vim.api.nvim_eval('win_gettype(' .. id .. ')') ~= 'unknown' then
bufferline_state.set_offset(get_tree_size())
end
end
end)
nvim_tree_events.on_tree_close(function()
id = nil
bufferline_state.set_offset(0)
end)

View File

@ -49,9 +49,9 @@ cmp.setup({
end
end, {"i", "s"})
}),
sources = cmp.config.sources({
{name = 'nvim_lsp'}, {name = 'treesitter'}, {name = 'luasnip'} -- For luasnip users.
}, {{name = 'buffer'}, {name = 'path'}})
sources = cmp.config.sources({{name = 'nvim_lsp'}}, {{name = 'treesitter'}},
{{name = 'luasnip'}},
{{name = 'buffer'}, {name = 'path'}})
})
-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
@ -68,12 +68,6 @@ cmp.setup.cmdline(':', {
-- Set configuration for specific filetype.
cmp.setup.filetype('gitcommit', {
sources = cmp.config.sources({
{name = 'cmp_git'} -- You can specify the `cmp_git` source if you were installed it.
}, {{name = 'buffer'}})
})
-- Set config for neovim config file
cmp.setup.filetype('lua', {
sources = cmp.config.sources({{name = 'plugins'}}, {{name = 'buffer'}})
sources = cmp.config.sources({{name = 'git'}},
{{name = 'buffer'}})
})