summary refs log tree commit diff
path: root/.vim/lua/plugins
diff options
context:
space:
mode:
Diffstat (limited to '.vim/lua/plugins')
-rw-r--r--.vim/lua/plugins/_colorizer.lua8
-rw-r--r--.vim/lua/plugins/_completion.lua17
-rw-r--r--.vim/lua/plugins/_git-messenger.lua3
-rw-r--r--.vim/lua/plugins/_goyo.lua9
-rw-r--r--.vim/lua/plugins/_indent-guides.lua4
-rw-r--r--.vim/lua/plugins/_limelight.lua7
-rw-r--r--.vim/lua/plugins/_lsp.lua78
-rw-r--r--.vim/lua/plugins/_markdown.lua9
-rw-r--r--.vim/lua/plugins/_signify.lua6
-rw-r--r--.vim/lua/plugins/_telescope.lua99
-rw-r--r--.vim/lua/plugins/_treesitter.lua24
-rw-r--r--.vim/lua/plugins/_ultisnips.lua4
-rw-r--r--.vim/lua/plugins/_vimtex.lua8
13 files changed, 276 insertions, 0 deletions
diff --git a/.vim/lua/plugins/_colorizer.lua b/.vim/lua/plugins/_colorizer.lua
new file mode 100644
index 0000000..7b6f678
--- /dev/null
+++ b/.vim/lua/plugins/_colorizer.lua
@@ -0,0 +1,8 @@
+require('colorizer').setup(nil, {
+  name = true;
+  RRGGBB = true;
+  RRGGBBAA = false;
+  rgb_fn = true;
+  hsl_fn = true;
+  mode = 'background';
+})
diff --git a/.vim/lua/plugins/_completion.lua b/.vim/lua/plugins/_completion.lua
new file mode 100644
index 0000000..8a4a92e
--- /dev/null
+++ b/.vim/lua/plugins/_completion.lua
@@ -0,0 +1,17 @@
+local g = vim.g
+local u = require('utils')
+
+g.completion_enable_auto_popup = true
+g.completion_enable_auto_signature = true
+g.completion_enable_auto_paren = false
+g.completion_confirm_key = '<tab>'
+g.completion_enable_snippet = 'UltiSnips'
+g.completion_auto_change_source = true
+g.completion_chain_complete_list = {
+	{complete_items = {'lsp', 'snippet', 'buffers', 'ts', 'path'}},
+	{mode = 'file'},
+}
+
+u.augroup('completion', {
+	{'BufEnter', '*', 'lua require("completion").on_attach()'},
+})
diff --git a/.vim/lua/plugins/_git-messenger.lua b/.vim/lua/plugins/_git-messenger.lua
new file mode 100644
index 0000000..ea1c271
--- /dev/null
+++ b/.vim/lua/plugins/_git-messenger.lua
@@ -0,0 +1,3 @@
+-- vim.g.git_messenger_include_diff = false
+vim.g.git_messenger_always_into_popup = true
+vim.g.git_messenger_close_on_cursor_moved = true
diff --git a/.vim/lua/plugins/_goyo.lua b/.vim/lua/plugins/_goyo.lua
new file mode 100644
index 0000000..e18d2ba
--- /dev/null
+++ b/.vim/lua/plugins/_goyo.lua
@@ -0,0 +1,9 @@
+vim.g.goyo_width = 120
+vim.g.goyo_height = 90
+vim.g.goyo_linenr = false
+require('utils').augroup('goyo_hooks', {
+  {'User', 'GoyoEnter', 'set laststatus=0 scrolloff=999'},
+  {'User', 'GoyoEnter', 'Limelight'},
+  {'User', 'GoyoLeave', 'set laststatus=2 scrolloff=5'},
+  {'User', 'GoyoLeave', 'Limelight!'},
+})
diff --git a/.vim/lua/plugins/_indent-guides.lua b/.vim/lua/plugins/_indent-guides.lua
new file mode 100644
index 0000000..eb3c4aa
--- /dev/null
+++ b/.vim/lua/plugins/_indent-guides.lua
@@ -0,0 +1,4 @@
+vim.g.indent_guides_enable_on_vim_startup = false
+vim.g.indent_guides_start_level = 2
+vim.g.indent_guides_color_change_percent = 2
+vim.g.indent_guides_guide_size = 1
diff --git a/.vim/lua/plugins/_limelight.lua b/.vim/lua/plugins/_limelight.lua
new file mode 100644
index 0000000..b77fdfc
--- /dev/null
+++ b/.vim/lua/plugins/_limelight.lua
@@ -0,0 +1,7 @@
+vim.g.limelight_conceal_ctermfg = 'gray'
+vim.g.limelight_conceal_ctermbg = 'none'
+vim.g.limelight_conceal_guifg = '#828282'
+vim.g.limelight_conceal_guibg = 'none'
+vim.g.limelight_default_coefficient = 0.5
+vim.g.limelight_paragraph_span = 1
+vim.g.limelight_priority = -1
diff --git a/.vim/lua/plugins/_lsp.lua b/.vim/lua/plugins/_lsp.lua
new file mode 100644
index 0000000..9d98aca
--- /dev/null
+++ b/.vim/lua/plugins/_lsp.lua
@@ -0,0 +1,78 @@
+-- lsp config
+
+local lsp     = require('lspconfig')
+local util    = require('lspconfig.util')
+local u       = require('utils')
+
+-- https://github.com/kosayoda/nvim-lightbulb
+require('nvim-lightbulb').update_lightbulb {
+	sign = {
+		enabled = true,
+		priority = 10,
+	},
+	float = {
+		enabled = true,
+		text = '󱉵',
+		win_opts = {},
+	},
+}
+
+local my_attach = function(client)
+	-- attach completion
+	require 'completion'.on_attach(client)
+
+	-- lsp mappings
+	u.map('n', 'K',     '<cmd>lua vim.lsp.buf.hover()<cr>')
+	u.map(0, 'n', '<c-]>', '<cmd>lua vim.lsp.buf.definition()<cr>')
+	u.map(0, 'n', 'grr',   '<cmd>lua vim.lsp.buf.rename()<cr>')
+	u.map(0, 'i', '<c-h>', '<cmd>lua vim.lsp.buf.signature_help()<cr>')
+	u.map(0, 'n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<cr>')
+	u.map(0, 'n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>')
+
+	-- nnoremap <silent> gD <cmd> lua vim.lsp.buf.declaration()<CR>
+	-- nnoremap <silent> gd <cmd> lua vim.lsp.buf.definition()<CR>
+	-- nnoremap <silent> gT <cmd> lua vim.lsp.buf.type_definition()<CR>
+	-- nnoremap <silent> gI <cmd> lua vim.lsp.buf.implementation()<CR>
+	-- nnoremap <silent> gr <cmd> lua vim.lsp.buf.references()<CR>
+	-- nnoremap <silent> g0 <cmd> lua vim.lsp.buf.document_symbol()<CR>
+	-- nnoremap <silent> gW <cmd> lua vim.lsp.buf.workspace_symbol()<CR>
+	-- nnoremap <silent> ;h <cmd> lua vim.lsp.buf.hover()<CR>
+	-- nnoremap <silent> ;s <cmd> lua vim.lsp.buf.signature_help()<CR>
+end
+
+-- lsp.ccls.setup{
+-- 	on_attach = my_attach,
+-- }
+
+lsp.gopls.setup{
+	on_attach = my_attach,
+	root_dir = util.root_pattern('go.mod', '.git'),
+	-- NOTE: this is done to avoid the gopls warning about being outside gopath
+	-- message_level = vim.lsp.protocol.MessageType.Error,
+}
+
+lsp.sumneko_lua.setup{
+	on_attach = my_attach;
+	cmd = { 'lua-language-server' };
+	settings = {
+		Lua = {
+			runtime = {
+				version = 'LuaJIT',
+			},
+			diagnostics = {
+				globals = {'vim'},
+			},
+			workspace = {
+				library = {
+					[vim.fn.expand('$VIMRUNTIME/lua')] = true,
+					[vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true,
+				}
+			}
+		}
+	},
+}
+
+lsp.rust_analyzer.setup{
+	on_attach = my_attach,
+	cmd = { 'env', 'CARGO_TARGET_DIR=/tmp', 'rust-analyzer' },
+}
diff --git a/.vim/lua/plugins/_markdown.lua b/.vim/lua/plugins/_markdown.lua
new file mode 100644
index 0000000..c773d50
--- /dev/null
+++ b/.vim/lua/plugins/_markdown.lua
@@ -0,0 +1,9 @@
+g.vim_markdown_folding_disabled = true
+g.vim_markdown_math = true
+g.vim_markdown_frontmatter = true
+g.vim_markdown_json_frontmatter = true
+g.vim_markdown_toml_frontmatter = true
+g.vim_markdown_folding_level = 2
+g.vim_markdown_strikethrough = true
+g.vim_markdown_auto_insert_bullets = true
+g.vim_markdown_new_list_item_indent = false
diff --git a/.vim/lua/plugins/_signify.lua b/.vim/lua/plugins/_signify.lua
new file mode 100644
index 0000000..a91ecb6
--- /dev/null
+++ b/.vim/lua/plugins/_signify.lua
@@ -0,0 +1,6 @@
+vim.g.signify_sign_change = '~'
+require('utils').map('n', ']h', '<plug>(signify-next-hunk)', {silent=false})
+require('utils').map('n', '[h', '<plug>(signify-prev-hunk)')
+vim.cmd('hi SignifySignChange guibg=NONE ctermbg=NONE')
+vim.cmd('hi SignifySignAdd guibg=NONE ctermbg=NONE')
+vim.cmd('hi SignifySignDelete guibg=NONE ctermbg=NONE')
diff --git a/.vim/lua/plugins/_telescope.lua b/.vim/lua/plugins/_telescope.lua
new file mode 100644
index 0000000..d4f9b89
--- /dev/null
+++ b/.vim/lua/plugins/_telescope.lua
@@ -0,0 +1,99 @@
+-- telescope.nvim et al config
+
+local u = require('utils')
+
+local M = {}
+
+-- TELESCOPE config -- {{{
+require('telescope').setup{
+	defaults = {
+		-- vimgrep_arguments = {
+      -- 'rg',
+      -- '--color=never',
+      -- '--no-heading',
+      -- '--with-filename',
+      -- '--line-number',
+      -- '--column',
+      -- '--smart-case'
+    -- },
+
+		prompt_prefix = ' >',
+		borderchars = {'─', '│', '─', '│', '┌', '┐', '┘', '└'},
+		winblend = 0,
+		preview_cutoff = 120,
+
+		layout_strategy = 'flex',
+		
+		file_previewer   = require('telescope.previewers').vim_buffer_cat_new,
+		grep_previewer   = require('telescope.previewers').vim_buffer_vimgrep_new,
+		qflist_previewer = require('telescope.previewers').vim_buffer_qflist_new,
+
+		extensions = {
+			fzf_writer = {
+				use_highlighter = true,
+				minimum_grep_characters = 4,
+				shorten_path = true,
+			}
+		}
+	}
+}
+-- }}}
+
+-- LOCAL finders -- {{{
+M.wrap = function(opts)
+	opts = opts or {}
+	my_opts = require('telescope.themes').get_dropdown({ width = 110 })
+	return vim.tbl_deep_extend("force", my_opts, opts)
+end
+
+M.live_grep = function()
+	require('telescope').extensions.fzf_writer.staged_grep(M.wrap())
+end
+
+M.repo_search = function()
+	require('telescope').extensions.fzf_writer.files(M.wrap({
+		previewer = false,
+		cwd = require('lspconfig.util').root_pattern('.git')(vim.fn.expand('%:p')),
+	}))
+end
+
+M.wiki = function()
+	require('telescope').extensions.fzf_writer.files(M.wrap({
+		previewer = false,
+		cwd = '~/wiki/',
+	}))
+end
+
+M.devel = function()
+	require('telescope').extensions.fzf_writer.files(M.wrap({
+		previewer = false,
+		cwd = '~/devel/',
+	}))
+end
+-- }}}
+
+-- MAPPINGS -- {{{
+
+u.map('n', ';g', "<cmd>lua require('plugins._telescope').live_grep()<cr>")
+u.map('n', ';r', "<cmd>lua require('plugins._telescope').repo_search()<cr>")
+-- u.map('n', ';w', "<cmd>lua require('plugins._telescope').wiki()<cr>")
+u.map('n', ';d', "<cmd>lua require('plugins._telescope').devel()<cr>")
+
+local mapbuiltin = function(key, fn, previewer)
+	opts = (not previewer and '{ previewer = false }') or '{}'
+	u.map('n', key, "<cmd>lua require('telescope.builtin')."..fn.."(require('plugins._telescope').wrap("..opts.."))<cr>")
+end
+
+mapbuiltin(';f', 'fd', true)
+mapbuiltin(';q', 'quickfix')
+mapbuiltin(';l', 'loclist')
+mapbuiltin(';b', 'buffers')
+mapbuiltin(';t', 'tags')
+mapbuiltin(';lr', 'lsp_references')
+mapbuiltin(';la', 'lsp_code_actions')
+mapbuiltin(';lw', 'lsp_workspace_symbols')
+mapbuiltin(';c', 'command_history')
+
+-- }}}
+
+return M
diff --git a/.vim/lua/plugins/_treesitter.lua b/.vim/lua/plugins/_treesitter.lua
new file mode 100644
index 0000000..ef24286
--- /dev/null
+++ b/.vim/lua/plugins/_treesitter.lua
@@ -0,0 +1,24 @@
+
+require('nvim-treesitter.configs').setup {
+	ensure_installed = { "c", "c_sharp", "javascript", "lua", "bash" },
+	highlight = {
+		enable = false,
+	},
+	indent = {
+		enable = true,
+	},
+	refactor = {
+		navigation = {
+			enable = true,
+			keymaps = {
+				goto_definition = "<c-]>",
+			},
+		},
+		smart_rename = {
+			enable = true,
+			keymaps = {
+				smart_rename = "grr",
+			},
+		},
+	},
+}
diff --git a/.vim/lua/plugins/_ultisnips.lua b/.vim/lua/plugins/_ultisnips.lua
new file mode 100644
index 0000000..f2a6f6e
--- /dev/null
+++ b/.vim/lua/plugins/_ultisnips.lua
@@ -0,0 +1,4 @@
+-- vim.g.UltiSnipsListSnippets = "<c-tab>"
+vim.g.UltiSnipsExpandTrigger = "<Tab>"
+vim.g.UltiSnipsJumpForwardTrigger = "<c-n>"
+vim.g.UltiSnipsJumpBackwardTrigger = "<c-p>"
diff --git a/.vim/lua/plugins/_vimtex.lua b/.vim/lua/plugins/_vimtex.lua
new file mode 100644
index 0000000..2a3d550
--- /dev/null
+++ b/.vim/lua/plugins/_vimtex.lua
@@ -0,0 +1,8 @@
+vim.g.tex_flavor = 'latex'
+vim.g.vimtex_compiler_enabled = 1
+vim.g.vimtex_compiler_method = 'tectonic'
+vim.g.vimtex_compiler_tectonic = "{'executable': 'tectonic'}"
+vim.g.vimtex_view_method = 'zathura'
+-- vim.g.vimtex_view_zathura_check_libsynctex = false
+-- vim.g.vimtex_view_use_temp_files = true
+-- vim.g.vimtex_view_forward_search_on_start = false