✨ New neovim config based off theprimeagen
This commit is contained in:
parent
74983413b8
commit
393c9eaa8a
19 changed files with 810 additions and 0 deletions
1
.config/nvim/after/plugin/autopairs.lua
Normal file
1
.config/nvim/after/plugin/autopairs.lua
Normal file
|
|
@ -0,0 +1 @@
|
|||
require('nvim-autopairs').setup()
|
||||
1
.config/nvim/after/plugin/colorizer.lua
Normal file
1
.config/nvim/after/plugin/colorizer.lua
Normal file
|
|
@ -0,0 +1 @@
|
|||
require'colorizer'.setup()
|
||||
9
.config/nvim/after/plugin/colors.lua
Normal file
9
.config/nvim/after/plugin/colors.lua
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
function ColorMyPencils(color)
|
||||
color = color or "nord"
|
||||
vim.cmd.colorscheme(color)
|
||||
|
||||
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||
end
|
||||
|
||||
ColorMyPencils()
|
||||
104
.config/nvim/after/plugin/lsp.lua
Normal file
104
.config/nvim/after/plugin/lsp.lua
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
local lsp = require("lsp-zero")
|
||||
|
||||
lsp.preset("recommended")
|
||||
|
||||
lsp.ensure_installed({
|
||||
'tsserver',
|
||||
'eslint',
|
||||
'sumneko_lua',
|
||||
'rust_analyzer',
|
||||
})
|
||||
|
||||
-- Fix Undefined global 'vim'
|
||||
lsp.configure('sumneko_lua', {
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
globals = { 'vim' }
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
local cmp = require('cmp')
|
||||
|
||||
cmp.setup({
|
||||
window = {
|
||||
completion = cmp.config.window.bordered(),
|
||||
documentation = cmp.config.window.bordered(),
|
||||
}
|
||||
})
|
||||
|
||||
local cmp_select = {behavior = cmp.SelectBehavior.Select}
|
||||
local cmp_mappings = lsp.defaults.cmp_mappings({
|
||||
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
|
||||
['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
})
|
||||
|
||||
-- disable completion with tab
|
||||
-- this helps with copilot setup
|
||||
cmp_mappings['<Tab>'] = nil
|
||||
cmp_mappings['<S-Tab>'] = nil
|
||||
|
||||
lsp.setup_nvim_cmp({
|
||||
mapping = cmp_mappings
|
||||
})
|
||||
|
||||
lsp.set_preferences({
|
||||
suggest_lsp_servers = false,
|
||||
sign_icons = {
|
||||
error = 'E',
|
||||
warn = 'W',
|
||||
hint = 'H',
|
||||
info = 'I'
|
||||
}
|
||||
})
|
||||
|
||||
lsp.on_attach(function(client, bufnr)
|
||||
local opts = {buffer = bufnr, remap = false}
|
||||
|
||||
if client.name == "eslint" then
|
||||
vim.cmd.LspStop('eslint')
|
||||
return
|
||||
end
|
||||
|
||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
|
||||
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
|
||||
vim.keymap.set("n", "<leader>vws", vim.lsp.buf.workspace_symbol, opts)
|
||||
vim.keymap.set("n", "<leader>vd", vim.diagnostic.open_float, opts)
|
||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_next, opts)
|
||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_prev, opts)
|
||||
vim.keymap.set("n", "<leader>vca", vim.lsp.buf.code_action, opts)
|
||||
vim.keymap.set("n", "<leader>vrr", vim.lsp.buf.references, opts)
|
||||
vim.keymap.set("n", "<leader>vrn", vim.lsp.buf.rename, opts)
|
||||
vim.keymap.set("i", "<C-h>", vim.lsp.buf.signature_help, opts)
|
||||
end)
|
||||
|
||||
-- function that is used with keybinding cm to toggle autocompletion
|
||||
Mode = require('cmp.types').cmp.TriggerEvent.TextChanged
|
||||
function SetAutoCmp(mode)
|
||||
if mode then
|
||||
cmp.setup({
|
||||
completion = {
|
||||
autocomplete = { Mode }
|
||||
}
|
||||
})
|
||||
Mode = false
|
||||
else
|
||||
cmp.setup({
|
||||
completion = {
|
||||
autocomplete = Mode
|
||||
}
|
||||
})
|
||||
Mode = require('cmp.types').cmp.TriggerEvent.TextChanged
|
||||
end
|
||||
end
|
||||
SetAutoCmp(Mode)
|
||||
lsp.setup()
|
||||
|
||||
vim.diagnostic.config({
|
||||
virtual_text = true,
|
||||
})
|
||||
3
.config/nvim/after/plugin/lualine.lua
Normal file
3
.config/nvim/after/plugin/lualine.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
require('lualine').setup({
|
||||
options = { them = 'nord' }
|
||||
})
|
||||
2
.config/nvim/after/plugin/mardownpreview.lua
Normal file
2
.config/nvim/after/plugin/mardownpreview.lua
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
vim.g.mkdp_browser = 'librewolf'
|
||||
vim.g.mkdp_theme = 'dark'
|
||||
1
.config/nvim/after/plugin/multicursor.lua
Normal file
1
.config/nvim/after/plugin/multicursor.lua
Normal file
|
|
@ -0,0 +1 @@
|
|||
vim.opt.cursorcolumn = true
|
||||
6
.config/nvim/after/plugin/nerdcommenter.lua
Normal file
6
.config/nvim/after/plugin/nerdcommenter.lua
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
-- Create Default Mappings for NerdCommenter
|
||||
vim.g.NERDCreateDefaultMappings = 1
|
||||
-- Add spaces after NerdCommenter delimiters by default
|
||||
vim.g.NERDSpaceDelims = 1
|
||||
-- Enable Comments with Italics
|
||||
-- vim.cmd[[highlight Comment cterm=italic gui=italic]]
|
||||
117
.config/nvim/after/plugin/nvimtree.lua
Normal file
117
.config/nvim/after/plugin/nvimtree.lua
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
-- Nvim_Tree configuration: -- setup with all defaults
|
||||
-- each of these are documented in `:help nvim-tree.OPTION_NAME`
|
||||
require'nvim-tree'.setup { -- BEGIN_DEFAULT_OPTS
|
||||
auto_reload_on_write = true,
|
||||
disable_netrw = false,
|
||||
-- hide_root_folder = false,
|
||||
hijack_cursor = false,
|
||||
hijack_netrw = true,
|
||||
hijack_unnamed_buffer_when_opening = false,
|
||||
ignore_buffer_on_setup = false,
|
||||
open_on_setup = false,
|
||||
open_on_setup_file = false,
|
||||
open_on_tab = false,
|
||||
sort_by = "name",
|
||||
update_cwd = false,
|
||||
view = {
|
||||
width = 25,
|
||||
-- height = 30,
|
||||
side = "right",
|
||||
preserve_window_proportions = true,
|
||||
number = false,
|
||||
relativenumber = false,
|
||||
signcolumn = "yes",
|
||||
mappings = {
|
||||
custom_only = false,
|
||||
list = {
|
||||
-- user mappings go here
|
||||
},
|
||||
},
|
||||
},
|
||||
renderer = {
|
||||
indent_markers = {
|
||||
enable = false,
|
||||
icons = {
|
||||
corner = "└ ",
|
||||
edge = "│ ",
|
||||
none = " ",
|
||||
},
|
||||
},
|
||||
icons = {
|
||||
webdev_colors = true,
|
||||
},
|
||||
},
|
||||
hijack_directories = {
|
||||
enable = true,
|
||||
auto_open = true,
|
||||
},
|
||||
update_focused_file = {
|
||||
enable = false,
|
||||
update_cwd = false,
|
||||
ignore_list = {},
|
||||
},
|
||||
ignore_ft_on_setup = {},
|
||||
system_open = {
|
||||
cmd = nil,
|
||||
args = {},
|
||||
},
|
||||
diagnostics = {
|
||||
enable = false,
|
||||
show_on_dirs = false,
|
||||
icons = {
|
||||
hint = "",
|
||||
info = "",
|
||||
warning = "",
|
||||
error = "",
|
||||
},
|
||||
},
|
||||
filters = {
|
||||
dotfiles = false,
|
||||
custom = {},
|
||||
exclude = {},
|
||||
},
|
||||
git = {
|
||||
enable = true,
|
||||
ignore = true,
|
||||
timeout = 400,
|
||||
},
|
||||
actions = {
|
||||
use_system_clipboard = true,
|
||||
change_dir = {
|
||||
enable = true,
|
||||
global = false,
|
||||
restrict_above_cwd = false,
|
||||
},
|
||||
open_file = {
|
||||
quit_on_open = false,
|
||||
resize_window = false,
|
||||
window_picker = {
|
||||
enable = true,
|
||||
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
|
||||
exclude = {
|
||||
filetype = { "notify", "packer", "qf", "diff", "fugitive", "fugitiveblame" },
|
||||
buftype = { "nofile", "terminal", "help" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
trash = {
|
||||
cmd = "trash",
|
||||
require_confirm = true,
|
||||
},
|
||||
log = {
|
||||
enable = false,
|
||||
truncate = false,
|
||||
types = {
|
||||
all = false,
|
||||
config = false,
|
||||
copy_paste = false,
|
||||
diagnostics = false,
|
||||
git = false,
|
||||
profile = false,
|
||||
},
|
||||
},
|
||||
} -- END_DEFAULT_OPTS for Nvim_Tree
|
||||
|
||||
-- Automatically closes Nvim tree if last window open
|
||||
vim.cmd[[autocmd BufEnter * ++nested if winnr('$') == 1 && bufname() == 'NvimTree_' . tabpagenr() | quit | endif]]
|
||||
1
.config/nvim/after/plugin/rainbow.lua
Normal file
1
.config/nvim/after/plugin/rainbow.lua
Normal file
|
|
@ -0,0 +1 @@
|
|||
vim.g.rainbow_active = 1
|
||||
12
.config/nvim/after/plugin/ripgrep.lua
Normal file
12
.config/nvim/after/plugin/ripgrep.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
-- Enable use of ripgrep
|
||||
require('nvim-ripgrep').setup{
|
||||
runner = require('nvim-ripgrep.run').ripgrep, -- grep command
|
||||
prompt = "❯ ", -- prompt
|
||||
window = {
|
||||
width = 0.8,
|
||||
border = "rounded",
|
||||
};
|
||||
open_qf_fn = function()
|
||||
return vim.api.nvim_command('copen')
|
||||
end,
|
||||
}
|
||||
22
.config/nvim/after/plugin/treesitter.lua
Normal file
22
.config/nvim/after/plugin/treesitter.lua
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
require'nvim-treesitter.configs'.setup {
|
||||
-- A list of parser names, or "all"
|
||||
ensure_installed = {"bash", "c", "c_sharp", "cmake", "cpp", "css", "dockerfile", "go", "html", "http", "java", "javascript", "json", "json5", "jsonc", "lua", "make", "perl", "php", "pug", "python", "regex", "ruby", "toml", "tsx", "typescript", "rust", "vim", "vue", "wgsl", "yaml",},
|
||||
|
||||
-- Install parsers synchronously (only applied to `ensure_installed`)
|
||||
sync_install = false,
|
||||
|
||||
-- Automatically install missing parsers when entering buffer
|
||||
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
|
||||
auto_install = true,
|
||||
|
||||
highlight = {
|
||||
-- `false` will disable the whole extension
|
||||
enable = true,
|
||||
|
||||
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
|
||||
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
||||
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
||||
-- Instead of true it can also be a list of languages
|
||||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
}
|
||||
2
.config/nvim/after/plugin/vimsmoothie.lua
Normal file
2
.config/nvim/after/plugin/vimsmoothie.lua
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
-- Use experimental features of vim-smoothie (gg and G)
|
||||
vim.g.smoothie_experimental_mappings = 1
|
||||
1
.config/nvim/init.lua
Normal file
1
.config/nvim/init.lua
Normal file
|
|
@ -0,0 +1 @@
|
|||
require('neovim')
|
||||
2
.config/nvim/lua/neovim/init.lua
Normal file
2
.config/nvim/lua/neovim/init.lua
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
require("neovim.remap")
|
||||
require("neovim.set")
|
||||
63
.config/nvim/lua/neovim/packer.lua
Normal file
63
.config/nvim/lua/neovim/packer.lua
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
-- This file can be loaded by calling `lua require('plugins')` from your init.vim
|
||||
|
||||
-- Only required if you have packer configured as `opt`
|
||||
vim.cmd [[packadd packer.nvim]]
|
||||
|
||||
return require('packer').startup(function(use)
|
||||
-- Packer can manage itself
|
||||
use 'wbthomason/packer.nvim'
|
||||
use {'nvim-treesitter/nvim-treesitter', run = ':TSUpdate'}
|
||||
use {'nvim-treesitter/playground'}
|
||||
use ({
|
||||
'shaunsingh/nord.nvim',
|
||||
config = function()
|
||||
vim.cmd('colorscheme nord')
|
||||
end
|
||||
})
|
||||
use {'preservim/nerdcommenter'}
|
||||
use {'nvim-lualine/lualine.nvim', requires = { 'kyazdani42/nvim-web-devicons', opt = true }}
|
||||
use {'kyazdani42/nvim-web-devicons'}
|
||||
use {'kyazdani42/nvim-tree.lua'}
|
||||
use {'psliwka/vim-smoothie'}
|
||||
use {'mg979/vim-visual-multi'}
|
||||
use {'Yggdroot/indentLine'}
|
||||
use {'airblade/vim-gitgutter'}
|
||||
use {'f-person/git-blame.nvim'}
|
||||
use {'mattn/emmet-vim'}
|
||||
use {'norcalli/nvim-colorizer.lua'}
|
||||
use {'luochen1990/rainbow'}
|
||||
use {'windwp/nvim-autopairs'}
|
||||
use {'simeji/winresizer'}
|
||||
use {'sbdchd/neoformat'}
|
||||
use {'rhysd/vim-clang-format'}
|
||||
use {'sangdol/mintabline.vim'}
|
||||
use({
|
||||
"iamcco/markdown-preview.nvim",
|
||||
run = function() vim.fn["mkdp#util#install"]() end,
|
||||
})
|
||||
-- use({ "iamcco/markdown-preview.nvim", run = "cd app && npm install", setup = function() vim.g.mkdp_filetypes = { "markdown" } end, ft = { "markdown" }, })
|
||||
use {'junegunn/fzf.vim'}
|
||||
use 'rinx/nvim-ripgrep'
|
||||
|
||||
use {
|
||||
'VonHeikemen/lsp-zero.nvim',
|
||||
requires = {
|
||||
-- LSP Support
|
||||
{'neovim/nvim-lspconfig'},
|
||||
{'williamboman/mason.nvim'},
|
||||
{'williamboman/mason-lspconfig.nvim'},
|
||||
|
||||
-- Autocompletion
|
||||
{'hrsh7th/nvim-cmp'},
|
||||
{'hrsh7th/cmp-buffer'},
|
||||
{'hrsh7th/cmp-path'},
|
||||
{'saadparwaiz1/cmp_luasnip'},
|
||||
{'hrsh7th/cmp-nvim-lsp'},
|
||||
{'hrsh7th/cmp-nvim-lua'},
|
||||
|
||||
-- Snippets
|
||||
{'L3MON4D3/LuaSnip'},
|
||||
{'rafamadriz/friendly-snippets'},
|
||||
}
|
||||
}
|
||||
end)
|
||||
94
.config/nvim/lua/neovim/remap.lua
Executable file
94
.config/nvim/lua/neovim/remap.lua
Executable file
|
|
@ -0,0 +1,94 @@
|
|||
vim.g.mapleader = " "
|
||||
vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
|
||||
|
||||
vim.keymap.set("n", "J", "mzJ`z")
|
||||
|
||||
-- remap for vim-smoothie
|
||||
vim.cmd [[nnoremap <C-D> <cmd>call smoothie#do("\<C-D>zz")<CR>]]
|
||||
vim.cmd [[nnoremap <C-U> <cmd>call smoothie#do("\<C-U>zz")<CR>]]
|
||||
vim.cmd [[nnoremap gg <cmd>call smoothie#do("\<gg>")<CR>]]
|
||||
vim.cmd [[nnoremap <S-g> <cmd>call smoothie#do("\<S-g>zz")<CR>]]
|
||||
|
||||
-- recenter on next/previous search
|
||||
vim.keymap.set("n", "n", "nzzzv")
|
||||
vim.keymap.set("n", "N", "Nzzzv")
|
||||
|
||||
--Toggle NERDCommenter with Ctrl + c
|
||||
vim.keymap.set("n", "<C-c>", "<Plug>NERDCommenterToggle")
|
||||
|
||||
vim.keymap.set("n", "Q", "<nop>")
|
||||
-- reformats
|
||||
vim.keymap.set("n", "<leader>f", vim.lsp.buf.format)
|
||||
|
||||
-- global search and replace
|
||||
vim.keymap.set("n", "<S-s>", ":%s///gI<Left><Left><Left><Left>")
|
||||
vim.keymap.set("n", "<S-y>", ":.,.s///g<Left><Left><Left>")
|
||||
|
||||
-- toggle english spellcheck
|
||||
vim.keymap.set("n", "<F11>", ":set spell!<cr>", { silent = true })
|
||||
|
||||
-- make current file executable
|
||||
vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
|
||||
|
||||
-- Vimium Like Keybindings
|
||||
vim.keymap.set('n', 't', '<c-w>:tabnew<CR>', {})
|
||||
|
||||
vim.keymap.set('n', '<S-tab>', '<c-w>:tabprevious<CR>', {})
|
||||
vim.keymap.set('n', '<S-j>', '<c-w>:tabprevious<CR>', {})
|
||||
vim.keymap.set('n', '<A-left>', '<c-w>:tabprevious<CR>', {})
|
||||
|
||||
vim.keymap.set('n', '<A-tab>', '<c-w>:tabnext<CR>', {})
|
||||
vim.keymap.set('n', '<S-k>', '<c-w>:tabnext<CR>', {})
|
||||
vim.keymap.set('n', '<A-right>', '<c-w>:tabnext<CR>', {})
|
||||
|
||||
-- Use ctrl- [hl] to select the active split!
|
||||
vim.keymap.set('n', '<C-h>', '<c-w>:wincmd h<CR>', {})
|
||||
vim.keymap.set('n', '<C-l>', '<c-w>:wincmd l<CR>', {})
|
||||
|
||||
-- remap Nvim_Tree toggle to CTRL+B
|
||||
vim.keymap.set('n', '<C-b>', '<c-w>:NvimTreeToggle<CR>', {})
|
||||
|
||||
-- Use ctrl - [hl] to select the active split
|
||||
vim.keymap.set('n', '<C-h>', '<c-w>:wincmd h<CR>', {})
|
||||
vim.keymap.set('n', '<C-l>', '<c-w>:wincmd l<CR>', {})
|
||||
|
||||
-- nv creates new vertical split
|
||||
vim.keymap.set('n', 'nv', ':vnew', { silent = true })
|
||||
|
||||
-- shift + p invokes PackerSync
|
||||
vim.keymap.set('n', '<S-p>', '<c-w>:PackerSync<CR>', {})
|
||||
|
||||
-- control + p enable transparency
|
||||
vim.keymap.set('n', '<C-t>', '<c-w>:lua ColorMyPencils()<CR>', {})
|
||||
|
||||
-- open :Mason using msn
|
||||
vim.keymap.set('n', 'msn', ':Mason', { silent = true })
|
||||
|
||||
-- toggle relative line number with shift + x
|
||||
vim.keymap.set('n', '<S-x>', ':set relativenumber! number<cr>', {})
|
||||
|
||||
-- toggle multi-corsor with control + j/k
|
||||
vim.cmd[[nmap <C-j> <C-Down>]]
|
||||
vim.cmd[[nmap <C-k> <C-Up>]]
|
||||
|
||||
-- enable gitblame with ctrl + g
|
||||
vim.keymap.set('n', '<C-g>', '<c-w>:GitBlameToggle<CR>', { silent = true })
|
||||
|
||||
-- shift + m brings up markdown previewer
|
||||
vim.keymap.set('n', '<S-m>', '<c-w>:MarkdownPreview<CR>', {})
|
||||
|
||||
-- invoke neoformat with nf
|
||||
vim.keymap.set('n', 'nf', ':Neoformat<cr>', { silent = true })
|
||||
|
||||
-- format C and C++ Code with cp
|
||||
vim.keymap.set('n', 'cp', ':ClangFormat<cr>', { silent = true })
|
||||
|
||||
-- open fzf with ctrl + p
|
||||
vim.cmd[[nnoremap fzf :silent :FZFExplore]]
|
||||
vim.keymap.set('n', '<C-p>', '<c-w>:FZFExplore<CR>', {})
|
||||
|
||||
-- open ripgrep
|
||||
vim.cmd[[nnoremap rg :silent :Rg]]
|
||||
|
||||
--toggle autocompletion
|
||||
vim.cmd[[nnoremap cmp :silent lua SetAutoCmp(Mode)]]
|
||||
90
.config/nvim/lua/neovim/set.lua
Normal file
90
.config/nvim/lua/neovim/set.lua
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
-- vim.opt.guicursor = ""
|
||||
--
|
||||
vim.opt.nu = true
|
||||
vim.opt.relativenumber = true
|
||||
|
||||
vim.opt.softtabstop = 0
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.expandtab = true
|
||||
|
||||
vim.opt.smartindent = true
|
||||
|
||||
vim.opt.swapfile = false
|
||||
vim.opt.backup = false
|
||||
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
|
||||
vim.opt.undofile = true
|
||||
|
||||
vim.opt.hlsearch = false
|
||||
vim.opt.incsearch = true
|
||||
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
vim.opt.scrolloff = 8
|
||||
vim.opt.signcolumn = "yes"
|
||||
vim.opt.isfname:append("@-@")
|
||||
|
||||
vim.opt.updatetime = 50
|
||||
|
||||
vim.opt.mouse = 'a'
|
||||
vim.opt.autoindent = true
|
||||
vim.opt.smarttab = true
|
||||
vim.opt.ignorecase = true
|
||||
vim.opt.cindent = true
|
||||
vim.opt.tabstop = 8
|
||||
vim.opt.cursorcolumn = true
|
||||
-- Disable folds
|
||||
vim.g.nofoldenable = true
|
||||
-- Fix Splitting
|
||||
vim.opt.splitbelow = true
|
||||
vim.opt.splitright = true
|
||||
|
||||
-- Removes trailing spaces
|
||||
vim.cmd[[function TrimWhiteSpace()
|
||||
%s/\s*$//
|
||||
''
|
||||
endfunction]]
|
||||
--Removes trailing spaces on save
|
||||
vim.cmd[[autocmd FileWritePre * call TrimWhiteSpace()]]
|
||||
vim.cmd[[autocmd FileAppendPre * call TrimWhiteSpace()]]
|
||||
vim.cmd[[autocmd FilterWritePre * call TrimWhiteSpace()]]
|
||||
vim.cmd[[autocmd BufWritePre * call TrimWhiteSpace()]]
|
||||
|
||||
-- Marks end of line, space, and trailing space characters
|
||||
vim.opt.listchars:append({ eol = '↵', trail = '·', space = '·' })
|
||||
vim.opt.list = true
|
||||
|
||||
-- git-blame disabled by default
|
||||
vim.g.gitblame_enabled = 0
|
||||
|
||||
-- vertically center document when entering Insert mode
|
||||
vim.cmd[[autocmd InsertEnter * norm zz]]
|
||||
|
||||
-- enable clipboard
|
||||
vim.cmd[[set clipboard+=unnamedplus]]
|
||||
|
||||
-- enable hard/soft wrap
|
||||
vim.cmd[[set wrap linebreak textwidth=80]]
|
||||
|
||||
-- max tab characters
|
||||
vim.cmd[[let g:mintabline_tab_max_chars = 10 ]]
|
||||
|
||||
-- Search pattern across repository files using fzf
|
||||
vim.cmd[[
|
||||
function! FzfExplore(...)
|
||||
let inpath = substitute(a:1, "'", '', 'g')
|
||||
if inpath == "" || matchend(inpath, '/') == strlen(inpath)
|
||||
execute "cd" getcwd() . '/' . inpath
|
||||
let cwpath = getcwd() . '/'
|
||||
call fzf#run(fzf#wrap(fzf#vim#with_preview({'source': 'ls -1ap', 'dir': cwpath, 'sink': 'FZFExplore', 'options': ['--prompt', cwpath]})))
|
||||
else
|
||||
let file = getcwd() . '/' . inpath
|
||||
execute "e" file
|
||||
endif
|
||||
endfunction]]
|
||||
|
||||
vim.cmd[[command! -nargs=* FZFExplore call FzfExplore(shellescape(<q-args>))]]
|
||||
|
||||
-- fzf is on bottom of screen
|
||||
vim.cmd[[let g:fzf_layout = { 'down': '~30%' }]]
|
||||
|
||||
|
||||
279
.config/nvim/plugin/packer_compiled.lua
Normal file
279
.config/nvim/plugin/packer_compiled.lua
Normal file
|
|
@ -0,0 +1,279 @@
|
|||
-- Automatically generated packer.nvim plugin loader code
|
||||
|
||||
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
|
||||
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
|
||||
return
|
||||
end
|
||||
|
||||
vim.api.nvim_command('packadd packer.nvim')
|
||||
|
||||
local no_errors, error_msg = pcall(function()
|
||||
|
||||
_G._packer = _G._packer or {}
|
||||
_G._packer.inside_compile = true
|
||||
|
||||
local time
|
||||
local profile_info
|
||||
local should_profile = false
|
||||
if should_profile then
|
||||
local hrtime = vim.loop.hrtime
|
||||
profile_info = {}
|
||||
time = function(chunk, start)
|
||||
if start then
|
||||
profile_info[chunk] = hrtime()
|
||||
else
|
||||
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
|
||||
end
|
||||
end
|
||||
else
|
||||
time = function(chunk, start) end
|
||||
end
|
||||
|
||||
local function save_profiles(threshold)
|
||||
local sorted_times = {}
|
||||
for chunk_name, time_taken in pairs(profile_info) do
|
||||
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
|
||||
end
|
||||
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
|
||||
local results = {}
|
||||
for i, elem in ipairs(sorted_times) do
|
||||
if not threshold or threshold and elem[2] > threshold then
|
||||
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
|
||||
end
|
||||
end
|
||||
if threshold then
|
||||
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
|
||||
end
|
||||
|
||||
_G._packer.profile_output = results
|
||||
end
|
||||
|
||||
time([[Luarocks path setup]], true)
|
||||
local package_path_str = "/home/brian/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/brian/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/brian/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/brian/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
|
||||
local install_cpath_pattern = "/home/brian/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
|
||||
if not string.find(package.path, package_path_str, 1, true) then
|
||||
package.path = package.path .. ';' .. package_path_str
|
||||
end
|
||||
|
||||
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
|
||||
package.cpath = package.cpath .. ';' .. install_cpath_pattern
|
||||
end
|
||||
|
||||
time([[Luarocks path setup]], false)
|
||||
time([[try_loadstring definition]], true)
|
||||
local function try_loadstring(s, component, name)
|
||||
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
|
||||
if not success then
|
||||
vim.schedule(function()
|
||||
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
|
||||
end)
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
time([[try_loadstring definition]], false)
|
||||
time([[Defining packer_plugins]], true)
|
||||
_G.packer_plugins = {
|
||||
LuaSnip = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/LuaSnip",
|
||||
url = "https://github.com/L3MON4D3/LuaSnip"
|
||||
},
|
||||
["cmp-buffer"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/cmp-buffer",
|
||||
url = "https://github.com/hrsh7th/cmp-buffer"
|
||||
},
|
||||
["cmp-nvim-lsp"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
|
||||
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
|
||||
},
|
||||
["cmp-nvim-lua"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua",
|
||||
url = "https://github.com/hrsh7th/cmp-nvim-lua"
|
||||
},
|
||||
["cmp-path"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/cmp-path",
|
||||
url = "https://github.com/hrsh7th/cmp-path"
|
||||
},
|
||||
cmp_luasnip = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
|
||||
url = "https://github.com/saadparwaiz1/cmp_luasnip"
|
||||
},
|
||||
["emmet-vim"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/emmet-vim",
|
||||
url = "https://github.com/mattn/emmet-vim"
|
||||
},
|
||||
["friendly-snippets"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/friendly-snippets",
|
||||
url = "https://github.com/rafamadriz/friendly-snippets"
|
||||
},
|
||||
["fzf.vim"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/fzf.vim",
|
||||
url = "https://github.com/junegunn/fzf.vim"
|
||||
},
|
||||
["git-blame.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/git-blame.nvim",
|
||||
url = "https://github.com/f-person/git-blame.nvim"
|
||||
},
|
||||
indentLine = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/indentLine",
|
||||
url = "https://github.com/Yggdroot/indentLine"
|
||||
},
|
||||
["lsp-zero.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/lsp-zero.nvim",
|
||||
url = "https://github.com/VonHeikemen/lsp-zero.nvim"
|
||||
},
|
||||
["lualine.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/lualine.nvim",
|
||||
url = "https://github.com/nvim-lualine/lualine.nvim"
|
||||
},
|
||||
["markdown-preview.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/markdown-preview.nvim",
|
||||
url = "https://github.com/iamcco/markdown-preview.nvim"
|
||||
},
|
||||
["mason-lspconfig.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
|
||||
url = "https://github.com/williamboman/mason-lspconfig.nvim"
|
||||
},
|
||||
["mason.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/mason.nvim",
|
||||
url = "https://github.com/williamboman/mason.nvim"
|
||||
},
|
||||
["mintabline.vim"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/mintabline.vim",
|
||||
url = "https://github.com/sangdol/mintabline.vim"
|
||||
},
|
||||
neoformat = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/neoformat",
|
||||
url = "https://github.com/sbdchd/neoformat"
|
||||
},
|
||||
nerdcommenter = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/nerdcommenter",
|
||||
url = "https://github.com/preservim/nerdcommenter"
|
||||
},
|
||||
["nord.nvim"] = {
|
||||
config = { "\27LJ\2\n4\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\21colorscheme nord\bcmd\bvim\0" },
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/nord.nvim",
|
||||
url = "https://github.com/shaunsingh/nord.nvim"
|
||||
},
|
||||
["nvim-autopairs"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/nvim-autopairs",
|
||||
url = "https://github.com/windwp/nvim-autopairs"
|
||||
},
|
||||
["nvim-cmp"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/nvim-cmp",
|
||||
url = "https://github.com/hrsh7th/nvim-cmp"
|
||||
},
|
||||
["nvim-colorizer.lua"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua",
|
||||
url = "https://github.com/norcalli/nvim-colorizer.lua"
|
||||
},
|
||||
["nvim-lspconfig"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
|
||||
url = "https://github.com/neovim/nvim-lspconfig"
|
||||
},
|
||||
["nvim-ripgrep"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/nvim-ripgrep",
|
||||
url = "https://github.com/rinx/nvim-ripgrep"
|
||||
},
|
||||
["nvim-tree.lua"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
|
||||
url = "https://github.com/kyazdani42/nvim-tree.lua"
|
||||
},
|
||||
["nvim-treesitter"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
|
||||
url = "https://github.com/nvim-treesitter/nvim-treesitter"
|
||||
},
|
||||
["nvim-web-devicons"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
|
||||
url = "https://github.com/kyazdani42/nvim-web-devicons"
|
||||
},
|
||||
["packer.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/packer.nvim",
|
||||
url = "https://github.com/wbthomason/packer.nvim"
|
||||
},
|
||||
playground = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/playground",
|
||||
url = "https://github.com/nvim-treesitter/playground"
|
||||
},
|
||||
rainbow = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/rainbow",
|
||||
url = "https://github.com/luochen1990/rainbow"
|
||||
},
|
||||
["vim-clang-format"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/vim-clang-format",
|
||||
url = "https://github.com/rhysd/vim-clang-format"
|
||||
},
|
||||
["vim-gitgutter"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/vim-gitgutter",
|
||||
url = "https://github.com/airblade/vim-gitgutter"
|
||||
},
|
||||
["vim-smoothie"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/vim-smoothie",
|
||||
url = "https://github.com/psliwka/vim-smoothie"
|
||||
},
|
||||
["vim-visual-multi"] = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/vim-visual-multi",
|
||||
url = "https://github.com/mg979/vim-visual-multi"
|
||||
},
|
||||
winresizer = {
|
||||
loaded = true,
|
||||
path = "/home/brian/.local/share/nvim/site/pack/packer/start/winresizer",
|
||||
url = "https://github.com/simeji/winresizer"
|
||||
}
|
||||
}
|
||||
|
||||
time([[Defining packer_plugins]], false)
|
||||
-- Config for: nord.nvim
|
||||
time([[Config for nord.nvim]], true)
|
||||
try_loadstring("\27LJ\2\n4\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\21colorscheme nord\bcmd\bvim\0", "config", "nord.nvim")
|
||||
time([[Config for nord.nvim]], false)
|
||||
|
||||
_G._packer.inside_compile = false
|
||||
if _G._packer.needs_bufread == true then
|
||||
vim.cmd("doautocmd BufRead")
|
||||
end
|
||||
_G._packer.needs_bufread = false
|
||||
|
||||
if should_profile then save_profiles() end
|
||||
|
||||
end)
|
||||
|
||||
if not no_errors then
|
||||
error_msg = error_msg:gsub('"', '\\"')
|
||||
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue