This commit is contained in:
Price Hiller 2022-05-06 16:52:44 -05:00
parent 8a93724792
commit 95732019df
5 changed files with 756 additions and 744 deletions

View File

@ -18,7 +18,7 @@ g.indent_blankline_show_trailing_blankline_indent = false
g.indent_blankline_show_first_indent_level = true
require("indent_blankline").setup({
space_char_blankline = " ",
-- space_char_blankline = " ",
show_current_context = true,
show_current_context_start = true,
})

View File

@ -124,6 +124,10 @@ for _, server in ipairs({
"jdtls",
"vuels",
"html",
"vimls",
"ccls",
"clangd",
"cmake",
}) do
lspconfig[server].setup(opts)
end

View File

@ -2,5 +2,7 @@ local neotree = require("neo-tree")
vim.g.neo_tree_remove_legacy_commands = 1
neotree.setup({
use_libuv_file_watcher = true
filesystem = {
use_libuv_file_watcher = true,
},
})

View File

@ -2,21 +2,21 @@ local fn = vim.fn
-- Packer strap, install packer automatically and configure plugins
-- See the end of this file for how the variable `packer_strap` gets used
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
PACKER_STRAP = fn.system({
"git",
"clone",
"--depth",
"1",
"https://github.com/wbthomason/packer.nvim",
'git',
'clone',
'--depth',
'1',
'https://github.com/wbthomason/packer.nvim',
install_path,
})
-- Update the runtime so packer can be used
vim.o.runtimepath = vim.fn.stdpath("data") .. "/site/pack/*/start/*," .. vim.o.runtimepath
vim.o.runtimepath = vim.fn.stdpath('data') .. '/site/pack/*/start/*,' .. vim.o.runtimepath
end
local packer = require("packer")
local packer = require('packer')
packer.init({
max_jobs = 50,
@ -26,30 +26,30 @@ return packer.startup({
function(use)
-- Performance boost on startup
-- keep at top of plugins
use({ "lewis6991/impatient.nvim" })
use({ 'lewis6991/impatient.nvim' })
-- Packer Itself
use({ "wbthomason/packer.nvim" })
use({ 'wbthomason/packer.nvim' })
-- Commonly used library
use({
"nvim-lua/plenary.nvim",
'nvim-lua/plenary.nvim',
})
-- Nvim Notify
use({
"rcarriga/nvim-notify",
'rcarriga/nvim-notify',
config = function()
require("plugins.configs.nvim-notify")
require('plugins.configs.nvim-notify')
end,
})
-- Color schemes
use({ "folke/tokyonight.nvim" })
use({ 'folke/tokyonight.nvim' })
use({
"EdenEast/nightfox.nvim",
'EdenEast/nightfox.nvim',
config = function()
require("nightfox").setup({
require('nightfox').setup({
options = {
transparent = true,
dim_inactive = true,
@ -60,47 +60,47 @@ return packer.startup({
-- Icons for folders, files, etc.
use({
"kyazdani42/nvim-web-devicons",
event = "BufEnter",
'kyazdani42/nvim-web-devicons',
event = 'BufEnter',
})
-- Tab Line at top of editor
use({
"akinsho/nvim-bufferline.lua",
after = "nvim-web-devicons",
requires = { "nvim-web-devicons" },
'akinsho/nvim-bufferline.lua',
after = 'nvim-web-devicons',
requires = { 'nvim-web-devicons' },
config = function()
require("plugins.configs.bufferline")
require('plugins.configs.bufferline')
end,
})
-- Statusline.
use({
"nvim-lualine/lualine.nvim",
'nvim-lualine/lualine.nvim',
after = {
"nvim-bufferline.lua",
"tokyonight.nvim",
'nvim-bufferline.lua',
'tokyonight.nvim',
},
config = function()
require("plugins.configs.statusline")
require('plugins.configs.statusline')
end,
})
-- Indentation Guides
use({
"lukas-reineke/indent-blankline.nvim",
event = "BufEnter",
'lukas-reineke/indent-blankline.nvim',
event = 'BufEnter',
config = function()
require("plugins.configs.indent-blankline")
require('plugins.configs.indent-blankline')
end,
})
-- Treesitter
use({
"nvim-treesitter/nvim-treesitter",
run = ":TSUpdate",
'nvim-treesitter/nvim-treesitter',
run = ':TSUpdate',
config = function()
require("plugins.configs.treesitter")
require('plugins.configs.treesitter')
end,
})
@ -108,133 +108,133 @@ return packer.startup({
-- NOTE: Remove this once treesitter gets up to par
-- NOTE: this is just a placeholder until it is.
use({
"yioneko/nvim-yati",
requires = "nvim-treesitter/nvim-treesitter",
'yioneko/nvim-yati',
requires = 'nvim-treesitter/nvim-treesitter',
})
-- Highlight given color codes
use({
"norcalli/nvim-colorizer.lua",
event = "BufEnter",
'norcalli/nvim-colorizer.lua',
event = 'BufEnter',
config = function()
require("plugins.configs.nvim-colorizer")
require('plugins.configs.nvim-colorizer')
end,
})
-- Dashboard when no file is given to nvim
use({
"glepnir/dashboard-nvim",
'glepnir/dashboard-nvim',
setup = function()
require("plugins.configs.dashboard-nvim")
require('plugins.configs.dashboard-nvim')
end,
})
-- Telescope Extensions
use({
"nvim-telescope/telescope-fzf-native.nvim",
run = "make",
'nvim-telescope/telescope-fzf-native.nvim',
run = 'make',
})
use({
"nvim-telescope/telescope-media-files.nvim",
"nvim-telescope/telescope-file-browser.nvim",
"artart222/telescope_find_directories",
'nvim-telescope/telescope-media-files.nvim',
'nvim-telescope/telescope-file-browser.nvim',
'artart222/telescope_find_directories',
})
-- Telescope
use({
"nvim-telescope/telescope.nvim",
'nvim-telescope/telescope.nvim',
config = function()
require("plugins.configs.telescope-nvim")
require('plugins.configs.telescope-nvim')
end,
})
-- File Tree
use({
"nvim-neo-tree/neo-tree.nvim",
branch = "v2.x",
'nvim-neo-tree/neo-tree.nvim',
branch = 'v2.x',
requires = {
"kyazdani42/nvim-web-devicons",
"nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim",
'kyazdani42/nvim-web-devicons',
'nvim-lua/plenary.nvim',
'MunifTanjim/nui.nvim',
},
config = function()
require("plugins.configs.neotree")
require('plugins.configs.neotree')
end,
})
-- LSP, LSP Installer
use({
"neovim/nvim-lspconfig",
'neovim/nvim-lspconfig',
config = function()
require("plugins.configs.lspconfig")
require('plugins.configs.lspconfig')
end,
})
use({
"williamboman/nvim-lsp-installer",
after = "nvim-lspconfig",
'williamboman/nvim-lsp-installer',
after = 'nvim-lspconfig',
config = function()
require("plugins.configs.lsp")
require('plugins.configs.lsp')
end,
})
-- Lsp Vertical Lines
use({
"https://git.sr.ht/~whynothugo/lsp_lines.nvim",
after = "nvim-lspconfig",
'https://git.sr.ht/~whynothugo/lsp_lines.nvim',
after = 'nvim-lspconfig',
config = function()
require("lsp_lines").register_lsp_virtual_lines()
require('lsp_lines').register_lsp_virtual_lines()
end,
})
-- Display LSP Progress
use({
"j-hui/fidget.nvim",
'j-hui/fidget.nvim',
config = function()
require("plugins.configs.fidget-spinner")
require('plugins.configs.fidget-spinner')
end,
-- after = "nvim-lspconfig"
})
-- Display Lsp Signature
use({
"ray-x/lsp_signature.nvim",
'ray-x/lsp_signature.nvim',
config = function()
require("lsp_signature").setup({
hint_prefix = "",
require('lsp_signature').setup({
hint_prefix = '',
hint_enable = true,
floating_window = false,
toggle_key = "<M-x>",
toggle_key = '<M-x>',
})
end,
})
-- Code Action Menu, prettier ui for LSP code actions
require("packer").use({
"weilbith/nvim-code-action-menu",
cmd = "CodeActionMenu",
require('packer').use({
'weilbith/nvim-code-action-menu',
cmd = 'CodeActionMenu',
})
-- Lsp From Null LS
use({
"jose-elias-alvarez/null-ls.nvim",
'jose-elias-alvarez/null-ls.nvim',
config = function()
require("plugins.configs.null_ls")
require('plugins.configs.null_ls')
end,
})
-- Better LSP Handling for Rust
use({
"simrat39/rust-tools.nvim",
'simrat39/rust-tools.nvim',
config = function()
require("rust-tools").setup({})
require('rust-tools').setup({})
end,
})
-- Autopairs
use({
"windwp/nvim-autopairs",
'windwp/nvim-autopairs',
config = function()
require("nvim-autopairs").setup()
require('nvim-autopairs').setup()
end,
})
@ -251,65 +251,65 @@ return packer.startup({
-- Snippets
use({
"L3MON4D3/LuaSnip",
"https://github.com/saadparwaiz1/cmp_luasnip",
event = "VimEnter",
'L3MON4D3/LuaSnip',
'https://github.com/saadparwaiz1/cmp_luasnip',
event = 'VimEnter',
})
use({
"rafamadriz/friendly-snippets",
'rafamadriz/friendly-snippets',
config = function()
require("luasnip.loaders.from_vscode").load()
require('luasnip.loaders.from_vscode').load()
end,
requires = {
"L3MON4D3/LuaSnip",
"https://github.com/saadparwaiz1/cmp_luasnip",
'L3MON4D3/LuaSnip',
'https://github.com/saadparwaiz1/cmp_luasnip',
},
after = "LuaSnip",
event = "VimEnter",
after = 'LuaSnip',
event = 'VimEnter',
})
-- Code completion
use({
"hrsh7th/nvim-cmp",
'hrsh7th/nvim-cmp',
requires = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
"hrsh7th/cmp-emoji",
"hrsh7th/vim-vsnip",
"hrsh7th/cmp-nvim-lsp-document-symbol",
"hrsh7th/cmp-calc",
"davidsierradz/cmp-conventionalcommits",
"tamago324/cmp-zsh",
"dmitmel/cmp-cmdline-history",
"David-Kunz/cmp-npm",
"lukas-reineke/cmp-rg",
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-path',
'hrsh7th/cmp-cmdline',
'hrsh7th/cmp-emoji',
'hrsh7th/vim-vsnip',
'hrsh7th/cmp-nvim-lsp-document-symbol',
'hrsh7th/cmp-calc',
'davidsierradz/cmp-conventionalcommits',
'tamago324/cmp-zsh',
'dmitmel/cmp-cmdline-history',
'David-Kunz/cmp-npm',
'lukas-reineke/cmp-rg',
},
config = function()
require("plugins.configs._cmp")
require('plugins.configs._cmp')
end,
})
use({ "romgrk/fzy-lua-native", run = "make" })
use({ 'romgrk/fzy-lua-native', run = 'make' })
use({
"tzachar/cmp-fuzzy-buffer",
requires = { "hrsh7th/nvim-cmp", "tzachar/fuzzy.nvim" },
'tzachar/cmp-fuzzy-buffer',
requires = { 'hrsh7th/nvim-cmp', 'tzachar/fuzzy.nvim' },
})
use({ "tzachar/cmp-fuzzy-path", requires = { "hrsh7th/nvim-cmp", "tzachar/fuzzy.nvim" } })
use({ 'tzachar/cmp-fuzzy-path', requires = { 'hrsh7th/nvim-cmp', 'tzachar/fuzzy.nvim' } })
use({
"saecki/crates.nvim",
event = { "BufRead Cargo.toml" },
requires = { { "nvim-lua/plenary.nvim" } },
'saecki/crates.nvim',
event = { 'BufRead Cargo.toml' },
requires = { { 'nvim-lua/plenary.nvim' } },
config = function()
require("crates").setup()
require('crates').setup()
end,
})
-- Show code outline
use({
"simrat39/symbols-outline.nvim",
cmd = { "SymbolsOutline", "SymbolsOutlineOpen", "SymbolsOutlineClose" },
'simrat39/symbols-outline.nvim',
cmd = { 'SymbolsOutline', 'SymbolsOutlineOpen', 'SymbolsOutlineClose' },
config = function()
-- TODO: Clean this up and use the `nvim.api.nvim_set_hl` api
vim.cmd(
@ -320,97 +320,97 @@ return packer.startup({
-- DAP, debugger
use({
"mfussenegger/nvim-dap",
'mfussenegger/nvim-dap',
config = function()
require("dap.ext.vscode").load_launchjs()
require("plugins.configs._dap")
require('dap.ext.vscode').load_launchjs()
require('plugins.configs._dap')
end,
})
-- Python debugger, dapinstall does not play nice with debugpy
use({
"mfussenegger/nvim-dap-python",
after = "nvim-dap",
'mfussenegger/nvim-dap-python',
after = 'nvim-dap',
config = function()
require("plugins.configs.python-dap")
require('plugins.configs.python-dap')
end,
})
-- Virtual Text for DAP
use({
"theHamsta/nvim-dap-virtual-text",
after = "nvim-dap",
'theHamsta/nvim-dap-virtual-text',
after = 'nvim-dap',
config = function()
require("nvim-dap-virtual-text").setup({})
require('nvim-dap-virtual-text').setup({})
end,
})
-- Fancy ui for dap
use({
"rcarriga/nvim-dap-ui",
after = "nvim-dap",
'rcarriga/nvim-dap-ui',
after = 'nvim-dap',
config = function()
require("plugins.configs.dap-ui")
require('plugins.configs.dap-ui')
end,
})
-- Easy align, better than piping out to !column -t
use({
"junegunn/vim-easy-align",
cmd = { "EasyAlign" },
'junegunn/vim-easy-align',
cmd = { 'EasyAlign' },
})
-- Code formatting
use({
"sbdchd/neoformat",
cmd = "Neoformat",
'sbdchd/neoformat',
cmd = 'Neoformat',
config = function()
require("plugins.configs.neoformat")
require('plugins.configs.neoformat')
end,
})
use({
"anuvyklack/pretty-fold.nvim",
requires = "anuvyklack/nvim-keymap-amend",
'anuvyklack/pretty-fold.nvim',
requires = 'anuvyklack/nvim-keymap-amend',
config = function()
require("pretty-fold").setup({
fill_char = " ",
require('pretty-fold').setup({
fill_char = ' ',
})
require("pretty-fold.preview").setup()
require('pretty-fold.preview').setup()
end,
})
-- Stabalize closing buffers
use({
"luukvbaal/stabilize.nvim",
'luukvbaal/stabilize.nvim',
config = function()
require("plugins.configs._stabilize")
require('plugins.configs._stabilize')
end,
})
-- Git signs
use({
"lewis6991/gitsigns.nvim",
event = "BufRead",
'lewis6991/gitsigns.nvim',
event = 'BufRead',
config = function()
require("gitsigns").setup({})
require('gitsigns').setup({})
end,
})
-- Highlight certain comments, TODO, BUG, etc.
use({
"folke/todo-comments.nvim",
event = "BufEnter",
'folke/todo-comments.nvim',
event = 'BufEnter',
config = function()
require("todo-comments").setup({})
require('todo-comments').setup({})
end,
})
-- Show possible key bindings during typing
use({
"folke/which-key.nvim",
'folke/which-key.nvim',
config = function()
require("which-key").setup({
require('which-key').setup({
-- Compatability fix between which-key & modes
plugins = {
presets = {
@ -423,81 +423,81 @@ return packer.startup({
-- Create full path if not existing on write
use({
"jghauser/mkdir.nvim",
cmd = "new",
'jghauser/mkdir.nvim',
cmd = 'new',
config = function()
require("mkdir")
require('mkdir')
end,
})
-- Text commenting
use({
"terrortylor/nvim-comment",
cmd = "CommentToggle",
'terrortylor/nvim-comment',
cmd = 'CommentToggle',
config = function()
require("nvim_comment").setup()
require('nvim_comment').setup()
end,
})
-- Move selections with alt+movement key
use({
"matze/vim-move",
'matze/vim-move',
})
-- Register support in telescope with persistent save
use({
"AckslD/nvim-neoclip.lua",
'AckslD/nvim-neoclip.lua',
requires = {
{ "tami5/sqlite.lua", module = "sqlite" },
{ "nvim-telescope/telescope.nvim" },
{ 'tami5/sqlite.lua', module = 'sqlite' },
{ 'nvim-telescope/telescope.nvim' },
},
config = function()
require("plugins.configs._neoclip")
require('plugins.configs._neoclip')
end,
})
-- Markdown Previewer
use({
"iamcco/markdown-preview.nvim",
run = "cd app && npm install",
'iamcco/markdown-preview.nvim',
run = 'cd app && npm install',
setup = function()
vim.g.mkdp_filetypes = { "markdown" }
vim.g.mkdp_filetypes = { 'markdown' }
end,
ft = { "markdown" },
ft = { 'markdown' },
})
-- Allows manipulation of surrounding characters
use({
"tpope/vim-surround",
'tpope/vim-surround',
})
-- Better Git integration on the command line
use({
"tpope/vim-fugitive",
'tpope/vim-fugitive',
})
-- Ansible Syntax Highlighting
use({
"pearofducks/ansible-vim",
'pearofducks/ansible-vim',
})
-- Better search display
use({
"kevinhwang91/nvim-hlslens",
module = "hlslens",
keys = "/",
'kevinhwang91/nvim-hlslens',
module = 'hlslens',
keys = '/',
})
-- Lsp Diags on scrollbar
use({
"petertriho/nvim-scrollbar",
'petertriho/nvim-scrollbar',
requires = {
"kevinhwang91/nvim-hlslens",
"folke/tokyonight.nvim",
'kevinhwang91/nvim-hlslens',
'folke/tokyonight.nvim',
},
after = "nvim-hlslens",
after = 'nvim-hlslens',
config = function()
require("plugins.configs.diag-scrollbar")
require('plugins.configs.diag-scrollbar')
end,
})
@ -511,28 +511,28 @@ return packer.startup({
-- Discord Rich Presence
use({
"andweeb/presence.nvim",
'andweeb/presence.nvim',
config = function()
require("presence"):setup({})
require('presence'):setup({})
end,
})
-- Note Taking
use({
"nvim-neorg/neorg",
'nvim-neorg/neorg',
config = function()
require("plugins.configs._neorg")
require('plugins.configs._neorg')
end,
requires = {
"nvim-lua/plenary.nvim",
"nvim-neorg/neorg-telescope",
'nvim-lua/plenary.nvim',
'nvim-neorg/neorg-telescope',
},
after = "nvim-treesitter",
after = 'nvim-treesitter',
})
-- Log Syntax Highlighting
use({
"MTDL9/vim-log-highlighting",
'MTDL9/vim-log-highlighting',
})
-- Completions for /, :, ?
@ -547,44 +547,44 @@ return packer.startup({
-- Lots of small modules pulled into
-- one git repository
use({
"echasnovski/mini.nvim",
'echasnovski/mini.nvim',
config = function()
-- Underline matching words to word undor cursor
require("mini.cursorword").setup({})
require('mini.cursorword').setup({})
-- Indent Scope Operations
local indent_scope = require("mini.indentscope")
indent_scope.setup({
symbol = "",
options = {
try_as_border = true,
},
})
-- local indent_scope = require("mini.indentscope")
-- indent_scope.setup({
-- symbol = "▏",
-- options = {
-- try_as_border = true,
-- },
-- })
end,
})
-- Smoother Scrolling
use({
"karb94/neoscroll.nvim",
'karb94/neoscroll.nvim',
config = function()
require("neoscroll").setup({
easing_function = "circular",
require('neoscroll').setup({
easing_function = 'circular',
})
end,
})
-- Highlight cursorlines based on mode
use({
"mvllow/modes.nvim",
'mvllow/modes.nvim',
config = function()
local modes = require("modes")
local modes = require('modes')
modes.setup({
colors = {
visual = "#F959FF",
visual = '#F959FF',
},
ignore_filetypes = {
"neo-tree",
"neo-tree-popup",
"TelescopePrompt",
'neo-tree',
'neo-tree-popup',
'TelescopePrompt',
},
})
end,
@ -592,64 +592,70 @@ return packer.startup({
-- Generate function/class/etc annotations
use({
"danymat/neogen",
requires = "nvim-treesitter/nvim-treesitter",
'danymat/neogen',
requires = 'nvim-treesitter/nvim-treesitter',
config = function()
require("neogen").setup({
snippet_engine = "luasnip",
require('neogen').setup({
snippet_engine = 'luasnip',
})
end,
})
-- Center code, make it visually prettier
use({
"folke/zen-mode.nvim",
'folke/zen-mode.nvim',
config = function()
require("zen-mode").setup({})
require('zen-mode').setup({})
end,
cmd = "ZenMode",
cmd = 'ZenMode',
})
-- Multiple cursor/multiple visual selection support
use({
"mg979/vim-visual-multi",
'mg979/vim-visual-multi',
})
-- Editorconfig support
use({
"gpanders/editorconfig.nvim",
'gpanders/editorconfig.nvim',
})
-- Run snippets in-line
use({
"michaelb/sniprun",
run = "bash ./install.sh",
'michaelb/sniprun',
run = 'bash ./install.sh',
})
-- Maintain last cursor position in files
use({
"ethanholz/nvim-lastplace",
'ethanholz/nvim-lastplace',
config = function()
require("nvim-lastplace").setup({
lastplace_ignore_buftype = { "quickfix", "nofile", "help" },
lastplace_ignore_filetype = { "gitcommit", "gitrebase", "svn", "hgcommit", "fugitive" },
require('nvim-lastplace').setup({
lastplace_ignore_buftype = { 'quickfix', 'nofile', 'help' },
lastplace_ignore_filetype = { 'gitcommit', 'gitrebase', 'svn', 'hgcommit', 'fugitive' },
lastplace_open_folds = true,
})
end,
})
use({
'/Users/pricehiller/Git/Nvim/Learn-Testing/uppercase.nvim',
config = function()
require('uppercase').setup()
end,
})
-- Leave at end!!!
-- Install and deploy packer plugins
-- automatically
if PACKER_STRAP then
vim.notify("Syncing packer from bootstrap")
vim.notify('Syncing packer from bootstrap')
function _G.NotifyRestartNeeded()
local notify_available, _ = require("notify")
local message = "Neovim Restart Required to Finish Installation!"
local notify_available, _ = require('notify')
local message = 'Neovim Restart Required to Finish Installation!'
if notify_available then
vim.notify(message, vim.lsp.log_levels.WARN, {
title = "Packer Strap",
title = 'Packer Strap',
keep = function()
return true
end,
@ -665,15 +671,15 @@ return packer.startup({
]],
false
)
require("packer").sync()
require('packer').sync()
end
end,
config = {
display = {
open_fn = function()
return require("packer.util").float({ border = "double" })
return require('packer.util').float({ border = 'double' })
end,
},
compile_path = vim.fn.stdpath("config") .. "/lua/packer_compiled.lua",
compile_path = vim.fn.stdpath('config') .. '/lua/packer_compiled.lua',
},
})

View File

@ -1,6 +1,6 @@
local U = {}
U.map = function(mode, lhs, rhs, opts)
local options = { noremap = true }
local options = { noremap = true, silent = true }
if opts then
options = vim.tbl_extend("force", options, opts)
end