summaryrefslogtreecommitdiff
path: root/.config/nvim
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim')
-rw-r--r--.config/nvim/.netrwhist11
-rw-r--r--.config/nvim/after/plugin/harpoon.lua41
-rw-r--r--.config/nvim/after/plugin/lsp.lua20
-rw-r--r--.config/nvim/after/plugin/telescope.lua6
-rw-r--r--.config/nvim/after/plugin/treesitter.lua21
-rw-r--r--.config/nvim/colors/gruvbox.vim1418
-rw-r--r--.config/nvim/init.lua1
-rw-r--r--.config/nvim/init.vim120
-rw-r--r--.config/nvim/lazy-lock.json14
-rw-r--r--.config/nvim/lua/dap_lldb.lua25
-rw-r--r--.config/nvim/lua/jacob/init.lua3
-rw-r--r--.config/nvim/lua/jacob/plugins.lua58
-rw-r--r--.config/nvim/lua/jacob/remaps.lua42
-rw-r--r--.config/nvim/lua/jacob/set.lua32
-rw-r--r--.config/nvim/lua/lsp_config.lua100
15 files changed, 238 insertions, 1674 deletions
diff --git a/.config/nvim/.netrwhist b/.config/nvim/.netrwhist
deleted file mode 100644
index f1f9805..0000000
--- a/.config/nvim/.netrwhist
+++ /dev/null
@@ -1,11 +0,0 @@
-let g:netrw_dirhistmax =10
-let g:netrw_dirhistcnt =9
-let g:netrw_dirhist_9='/Users/jmm/Documents/git/ticalcprograms/FibFinder/src'
-let g:netrw_dirhist_8='/Users/jmm/Documents/git/ticalcprograms/FibFinder'
-let g:netrw_dirhist_7='/Users/jmm/Documents/git/ticalcprograms/FizzBuzz/src'
-let g:netrw_dirhist_6='/opt/CEdev/examples/hello_world/src'
-let g:netrw_dirhist_5='/opt/CEdev/examples/hello_world'
-let g:netrw_dirhist_4='/home/jmm/.config/gzdoom'
-let g:netrw_dirhist_3='/home/jmm/.local/share/xsessions'
-let g:netrw_dirhist_2='/home/jmm/.config/ncmpcpp'
-let g:netrw_dirhist_1='/home/jmm/st/.git'
diff --git a/.config/nvim/after/plugin/harpoon.lua b/.config/nvim/after/plugin/harpoon.lua
new file mode 100644
index 0000000..08b092a
--- /dev/null
+++ b/.config/nvim/after/plugin/harpoon.lua
@@ -0,0 +1,41 @@
+local harpoon = require("harpoon")
+
+-- REQUIRED
+harpoon:setup()
+-- REQUIRED
+
+vim.keymap.set("n", "<leader>a", function() harpoon:list():append() end)
+--vim.keymap.set("n", "<leader>q", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
+
+vim.keymap.set("n", "<C-h>", function() harpoon:list():select(1) end)
+vim.keymap.set("n", "<C-t>", function() harpoon:list():select(2) end)
+vim.keymap.set("n", "<C-n>", function() harpoon:list():select(3) end)
+vim.keymap.set("n", "<C-s>", function() harpoon:list():select(4) end)
+
+-- Toggle previous & next buffers stored within Harpoon list
+vim.keymap.set("n", "<C-S-P>", function() harpoon:list():prev() end)
+vim.keymap.set("n", "<C-S-N>", function() harpoon:list():next() end)
+
+local harpoon = require('harpoon')
+harpoon:setup({})
+
+-- basic telescope configuration
+local conf = require("telescope.config").values
+local function toggle_telescope(harpoon_files)
+ local file_paths = {}
+ for _, item in ipairs(harpoon_files.items) do
+ table.insert(file_paths, item.value)
+ end
+
+ require("telescope.pickers").new({}, {
+ prompt_title = "Harpoon",
+ finder = require("telescope.finders").new_table({
+ results = file_paths,
+ }),
+ previewer = conf.file_previewer({}),
+ sorter = conf.generic_sorter({}),
+ }):find()
+end
+
+vim.keymap.set("n", "<C-e>", function() toggle_telescope(harpoon:list()) end,
+ { desc = "Open harpoon window" })
diff --git a/.config/nvim/after/plugin/lsp.lua b/.config/nvim/after/plugin/lsp.lua
new file mode 100644
index 0000000..0960abc
--- /dev/null
+++ b/.config/nvim/after/plugin/lsp.lua
@@ -0,0 +1,20 @@
+local lsp = require('lsp-zero')
+
+local cmp = require('cmp')
+local cmp_action = require('lsp-zero').cmp_action()
+
+cmp.setup({
+ window = {
+ completion = cmp.config.window.bordered(),
+ documentation = cmp.config.window.bordered(),
+ },
+ mapping = cmp.mapping.preset.insert({
+ ['<C-Space>'] = cmp.mapping.complete(),
+ ['<C-n>'] = cmp_action.luasnip_jump_forward(),
+ ['<C-p>'] = cmp_action.luasnip_jump_backward(),
+ ['<C-u>'] = cmp.mapping.scroll_docs(-4),
+ ['<C-d>'] = cmp.mapping.scroll_docs(4),
+ })
+})
+
+require('lspconfig').clangd.setup({})
diff --git a/.config/nvim/after/plugin/telescope.lua b/.config/nvim/after/plugin/telescope.lua
new file mode 100644
index 0000000..87c9ea6
--- /dev/null
+++ b/.config/nvim/after/plugin/telescope.lua
@@ -0,0 +1,6 @@
+local builtin = require('telescope.builtin')
+vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
+vim.keymap.set('n', '<leader>fp', builtin.git_files, {})
+vim.keymap.set('n', '<leader>ps', function()
+ builtin.grep_string({ search = vim.fn.input("Grep > ") })
+end)
diff --git a/.config/nvim/after/plugin/treesitter.lua b/.config/nvim/after/plugin/treesitter.lua
new file mode 100644
index 0000000..b90bdcd
--- /dev/null
+++ b/.config/nvim/after/plugin/treesitter.lua
@@ -0,0 +1,21 @@
+require'nvim-treesitter.configs'.setup {
+ -- A list of parser names, or "all" (the five listed parsers should always be installed)
+ ensure_installed = { "c", "lua", "vim", "vimdoc", "query" },
+
+ -- 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 = {
+ 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,
+ },
+}
diff --git a/.config/nvim/colors/gruvbox.vim b/.config/nvim/colors/gruvbox.vim
deleted file mode 100644
index 66246fb..0000000
--- a/.config/nvim/colors/gruvbox.vim
+++ /dev/null
@@ -1,1418 +0,0 @@
-" -----------------------------------------------------------------------------
-" File: gruvbox.vim
-" Description: Retro groove color scheme for Vim
-" Author: morhetz <morhetz@gmail.com>
-" Source: https://github.com/morhetz/gruvbox
-" Last Modified: 12 Aug 2017
-" -----------------------------------------------------------------------------
-
-" Supporting code -------------------------------------------------------------
-" Initialisation: {{{
-
-if version > 580
- hi clear
- if exists("syntax_on")
- syntax reset
- endif
-endif
-
-let g:colors_name='gruvbox'
-
-if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256
- finish
-endif
-
-" }}}
-" Global Settings: {{{
-
-if !exists('g:gruvbox_bold')
- let g:gruvbox_bold=1
-endif
-if !exists('g:gruvbox_italic')
- if has('gui_running') || $TERM_ITALICS == 'true'
- let g:gruvbox_italic=1
- else
- let g:gruvbox_italic=0
- endif
-endif
-if !exists('g:gruvbox_undercurl')
- let g:gruvbox_undercurl=1
-endif
-if !exists('g:gruvbox_underline')
- let g:gruvbox_underline=1
-endif
-if !exists('g:gruvbox_inverse')
- let g:gruvbox_inverse=1
-endif
-
-if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1
- let g:gruvbox_guisp_fallback='NONE'
-endif
-
-if !exists('g:gruvbox_improved_strings')
- let g:gruvbox_improved_strings=0
-endif
-
-if !exists('g:gruvbox_improved_warnings')
- let g:gruvbox_improved_warnings=0
-endif
-
-if !exists('g:gruvbox_termcolors')
- let g:gruvbox_termcolors=256
-endif
-
-if !exists('g:gruvbox_invert_indent_guides')
- let g:gruvbox_invert_indent_guides=0
-endif
-
-if exists('g:gruvbox_contrast')
- echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead'
-endif
-
-if !exists('g:gruvbox_contrast_dark')
- let g:gruvbox_contrast_dark='medium'
-endif
-
-if !exists('g:gruvbox_contrast_light')
- let g:gruvbox_contrast_light='medium'
-endif
-
-let s:is_dark=(&background == 'dark')
-
-" }}}
-" Palette: {{{
-
-" setup palette dictionary
-let s:gb = {}
-
-" fill it with absolute colors
-let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33
-let s:gb.dark0 = ['#282828', 235] " 40-40-40
-let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47
-let s:gb.dark1 = ['#3c3836', 237] " 60-56-54
-let s:gb.dark2 = ['#504945', 239] " 80-73-69
-let s:gb.dark3 = ['#665c54', 241] " 102-92-84
-let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100
-let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100
-
-let s:gb.gray_245 = ['#928374', 245] " 146-131-116
-let s:gb.gray_244 = ['#928374', 244] " 146-131-116
-
-let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215
-let s:gb.light0 = ['#fbf1c7', 229] " 253-244-193
-let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188
-let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178
-let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161
-let s:gb.light3 = ['#bdae93', 248] " 189-174-147
-let s:gb.light4 = ['#a89984', 246] " 168-153-132
-let s:gb.light4_256 = ['#a89984', 246] " 168-153-132
-
-let s:gb.bright_red = ['#fb4934', 167] " 251-73-52
-let s:gb.bright_green = ['#b8bb26', 142] " 184-187-38
-let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47
-let s:gb.bright_blue = ['#83a598', 109] " 131-165-152
-let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155
-let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124
-let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25
-
-let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29
-let s:gb.neutral_green = ['#98971a', 106] " 152-151-26
-let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33
-let s:gb.neutral_blue = ['#458588', 66] " 69-133-136
-let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134
-let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106
-let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14
-
-let s:gb.faded_red = ['#9d0006', 88] " 157-0-6
-let s:gb.faded_green = ['#79740e', 100] " 121-116-14
-let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20
-let s:gb.faded_blue = ['#076678', 24] " 7-102-120
-let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113
-let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88
-let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3
-
-" }}}
-" Setup Emphasis: {{{
-
-let s:bold = 'bold,'
-if g:gruvbox_bold == 0
- let s:bold = ''
-endif
-
-let s:italic = 'italic,'
-if g:gruvbox_italic == 0
- let s:italic = ''
-endif
-
-let s:underline = 'underline,'
-if g:gruvbox_underline == 0
- let s:underline = ''
-endif
-
-let s:undercurl = 'undercurl,'
-if g:gruvbox_undercurl == 0
- let s:undercurl = ''
-endif
-
-let s:inverse = 'inverse,'
-if g:gruvbox_inverse == 0
- let s:inverse = ''
-endif
-
-" }}}
-" Setup Colors: {{{
-
-let s:vim_bg = ['bg', 'bg']
-let s:vim_fg = ['fg', 'fg']
-let s:none = ['NONE', 'NONE']
-
-" determine relative colors
-if s:is_dark
- let s:bg0 = s:gb.dark0
- if g:gruvbox_contrast_dark == 'soft'
- let s:bg0 = s:gb.dark0_soft
- elseif g:gruvbox_contrast_dark == 'hard'
- let s:bg0 = s:gb.dark0_hard
- endif
-
- let s:bg1 = s:gb.dark1
- let s:bg2 = s:gb.dark2
- let s:bg3 = s:gb.dark3
- let s:bg4 = s:gb.dark4
-
- let s:gray = s:gb.gray_245
-
- let s:fg0 = s:gb.light0
- let s:fg1 = s:gb.light1
- let s:fg2 = s:gb.light2
- let s:fg3 = s:gb.light3
- let s:fg4 = s:gb.light4
-
- let s:fg4_256 = s:gb.light4_256
-
- let s:red = s:gb.bright_red
- let s:green = s:gb.bright_green
- let s:yellow = s:gb.bright_yellow
- let s:blue = s:gb.bright_blue
- let s:purple = s:gb.bright_purple
- let s:aqua = s:gb.bright_aqua
- let s:orange = s:gb.bright_orange
-else
- let s:bg0 = s:gb.light0
- if g:gruvbox_contrast_light == 'soft'
- let s:bg0 = s:gb.light0_soft
- elseif g:gruvbox_contrast_light == 'hard'
- let s:bg0 = s:gb.light0_hard
- endif
-
- let s:bg1 = s:gb.light1
- let s:bg2 = s:gb.light2
- let s:bg3 = s:gb.light3
- let s:bg4 = s:gb.light4
-
- let s:gray = s:gb.gray_244
-
- let s:fg0 = s:gb.dark0
- let s:fg1 = s:gb.dark1
- let s:fg2 = s:gb.dark2
- let s:fg3 = s:gb.dark3
- let s:fg4 = s:gb.dark4
-
- let s:fg4_256 = s:gb.dark4_256
-
- let s:red = s:gb.faded_red
- let s:green = s:gb.faded_green
- let s:yellow = s:gb.faded_yellow
- let s:blue = s:gb.faded_blue
- let s:purple = s:gb.faded_purple
- let s:aqua = s:gb.faded_aqua
- let s:orange = s:gb.faded_orange
-endif
-
-" reset to 16 colors fallback
-if g:gruvbox_termcolors == 16
- let s:bg0[1] = 0
- let s:fg4[1] = 7
- let s:gray[1] = 8
- let s:red[1] = 9
- let s:green[1] = 10
- let s:yellow[1] = 11
- let s:blue[1] = 12
- let s:purple[1] = 13
- let s:aqua[1] = 14
- let s:fg1[1] = 15
-endif
-
-" save current relative colors back to palette dictionary
-let s:gb.bg0 = s:bg0
-let s:gb.bg1 = s:bg1
-let s:gb.bg2 = s:bg2
-let s:gb.bg3 = s:bg3
-let s:gb.bg4 = s:bg4
-
-let s:gb.gray = s:gray
-
-let s:gb.fg0 = s:fg0
-let s:gb.fg1 = s:fg1
-let s:gb.fg2 = s:fg2
-let s:gb.fg3 = s:fg3
-let s:gb.fg4 = s:fg4
-
-let s:gb.fg4_256 = s:fg4_256
-
-let s:gb.red = s:red
-let s:gb.green = s:green
-let s:gb.yellow = s:yellow
-let s:gb.blue = s:blue
-let s:gb.purple = s:purple
-let s:gb.aqua = s:aqua
-let s:gb.orange = s:orange
-
-" }}}
-" Setup Terminal Colors For Neovim: {{{
-
-if has('nvim')
- let g:terminal_color_0 = s:bg0[0]
- let g:terminal_color_8 = s:gray[0]
-
- let g:terminal_color_1 = s:gb.neutral_red[0]
- let g:terminal_color_9 = s:red[0]
-
- let g:terminal_color_2 = s:gb.neutral_green[0]
- let g:terminal_color_10 = s:green[0]
-
- let g:terminal_color_3 = s:gb.neutral_yellow[0]
- let g:terminal_color_11 = s:yellow[0]
-
- let g:terminal_color_4 = s:gb.neutral_blue[0]
- let g:terminal_color_12 = s:blue[0]
-
- let g:terminal_color_5 = s:gb.neutral_purple[0]
- let g:terminal_color_13 = s:purple[0]
-
- let g:terminal_color_6 = s:gb.neutral_aqua[0]
- let g:terminal_color_14 = s:aqua[0]
-
- let g:terminal_color_7 = s:fg4[0]
- let g:terminal_color_15 = s:fg1[0]
-endif
-
-" }}}
-" Overload Setting: {{{
-
-let s:hls_cursor = s:orange
-if exists('g:gruvbox_hls_cursor')
- let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor)
-endif
-
-let s:number_column = s:none
-if exists('g:gruvbox_number_column')
- let s:number_column = get(s:gb, g:gruvbox_number_column)
-endif
-
-let s:sign_column = s:bg1
-
-if exists('g:gitgutter_override_sign_column_highlight') &&
- \ g:gitgutter_override_sign_column_highlight == 1
- let s:sign_column = s:number_column
-else
- let g:gitgutter_override_sign_column_highlight = 0
-
- if exists('g:gruvbox_sign_column')
- let s:sign_column = get(s:gb, g:gruvbox_sign_column)
- endif
-endif
-
-let s:color_column = s:bg1
-if exists('g:gruvbox_color_column')
- let s:color_column = get(s:gb, g:gruvbox_color_column)
-endif
-
-let s:vert_split = s:bg0
-if exists('g:gruvbox_vert_split')
- let s:vert_split = get(s:gb, g:gruvbox_vert_split)
-endif
-
-let s:invert_signs = ''
-if exists('g:gruvbox_invert_signs')
- if g:gruvbox_invert_signs == 1
- let s:invert_signs = s:inverse
- endif
-endif
-
-let s:invert_selection = s:inverse
-if exists('g:gruvbox_invert_selection')
- if g:gruvbox_invert_selection == 0
- let s:invert_selection = ''
- endif
-endif
-
-let s:invert_tabline = ''
-if exists('g:gruvbox_invert_tabline')
- if g:gruvbox_invert_tabline == 1
- let s:invert_tabline = s:inverse
- endif
-endif
-
-let s:italicize_comments = s:italic
-if exists('g:gruvbox_italicize_comments')
- if g:gruvbox_italicize_comments == 0
- let s:italicize_comments = ''
- endif
-endif
-
-let s:italicize_strings = ''
-if exists('g:gruvbox_italicize_strings')
- if g:gruvbox_italicize_strings == 1
- let s:italicize_strings = s:italic
- endif
-endif
-
-" }}}
-" Highlighting Function: {{{
-
-function! s:HL(group, fg, ...)
- " Arguments: group, guifg, guibg, gui, guisp
-
- " foreground
- let fg = a:fg
-
- " background
- if a:0 >= 1
- let bg = a:1
- else
- let bg = s:none
- endif
-
- " emphasis
- if a:0 >= 2 && strlen(a:2)
- let emstr = a:2
- else
- let emstr = 'NONE,'
- endif
-
- " special fallback
- if a:0 >= 3
- if g:gruvbox_guisp_fallback != 'NONE'
- let fg = a:3
- endif
-
- " bg fallback mode should invert higlighting
- if g:gruvbox_guisp_fallback == 'bg'
- let emstr .= 'inverse,'
- endif
- endif
-
- let histring = [ 'hi', a:group,
- \ 'guifg=' . fg[0], 'ctermfg=' . fg[1],
- \ 'guibg=' . bg[0], 'ctermbg=' . bg[1],
- \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2]
- \ ]
-
- " special
- if a:0 >= 3
- call add(histring, 'guisp=' . a:3[0])
- endif
-
- execute join(histring, ' ')
-endfunction
-
-" }}}
-" Gruvbox Hi Groups: {{{
-
-" memoize common hi groups
-call s:HL('GruvboxFg0', s:fg0)
-call s:HL('GruvboxFg1', s:fg1)
-call s:HL('GruvboxFg2', s:fg2)
-call s:HL('GruvboxFg3', s:fg3)
-call s:HL('GruvboxFg4', s:fg4)
-call s:HL('GruvboxGray', s:gray)
-call s:HL('GruvboxBg0', s:bg0)
-call s:HL('GruvboxBg1', s:bg1)
-call s:HL('GruvboxBg2', s:bg2)
-call s:HL('GruvboxBg3', s:bg3)
-call s:HL('GruvboxBg4', s:bg4)
-
-call s:HL('GruvboxRed', s:red)
-call s:HL('GruvboxRedBold', s:red, s:none, s:bold)
-call s:HL('GruvboxGreen', s:green)
-call s:HL('GruvboxGreenBold', s:green, s:none, s:bold)
-call s:HL('GruvboxYellow', s:yellow)
-call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold)
-call s:HL('GruvboxBlue', s:blue)
-call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold)
-call s:HL('GruvboxPurple', s:purple)
-call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold)
-call s:HL('GruvboxAqua', s:aqua)
-call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold)
-call s:HL('GruvboxOrange', s:orange)
-call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold)
-
-call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs)
-call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs)
-call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs)
-call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs)
-call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs)
-call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs)
-call s:HL('GruvboxOrangeSign', s:orange, s:sign_column, s:invert_signs)
-
-" }}}
-
-" Vanilla colorscheme ---------------------------------------------------------
-" General UI: {{{
-
-" Normal text
-call s:HL('Normal', s:fg1, s:bg0)
-
-" Correct background (see issue #7):
-" --- Problem with changing between dark and light on 256 color terminal
-" --- https://github.com/morhetz/gruvbox/issues/7
-if s:is_dark
- set background=dark
-else
- set background=light
-endif
-
-if version >= 700
- " Screen line that the cursor is
- call s:HL('CursorLine', s:none, s:bg1)
- " Screen column that the cursor is
- hi! link CursorColumn CursorLine
-
- " Tab pages line filler
- call s:HL('TabLineFill', s:bg4, s:bg1, s:invert_tabline)
- " Active tab page label
- call s:HL('TabLineSel', s:green, s:bg1, s:invert_tabline)
- " Not active tab page label
- hi! link TabLine TabLineFill
-
- " Match paired bracket under the cursor
- call s:HL('MatchParen', s:none, s:bg3, s:bold)
-endif
-
-if version >= 703
- " Highlighted screen columns
- call s:HL('ColorColumn', s:none, s:color_column)
-
- " Concealed element: \lambda → λ
- call s:HL('Conceal', s:blue, s:none)
-
- " Line number of CursorLine
- call s:HL('CursorLineNr', s:yellow, s:bg1)
-endif
-
-hi! link NonText GruvboxBg2
-hi! link SpecialKey GruvboxBg2
-
-call s:HL('Visual', s:none, s:bg3, s:invert_selection)
-hi! link VisualNOS Visual
-
-call s:HL('Search', s:yellow, s:bg0, s:inverse)
-call s:HL('IncSearch', s:hls_cursor, s:bg0, s:inverse)
-
-call s:HL('Underlined', s:blue, s:none, s:underline)
-
-call s:HL('StatusLine', s:bg2, s:fg1, s:inverse)
-call s:HL('StatusLineNC', s:bg1, s:fg4, s:inverse)
-
-" The column separating vertically split windows
-call s:HL('VertSplit', s:bg3, s:vert_split)
-
-" Current match in wildmenu completion
-call s:HL('WildMenu', s:blue, s:bg2, s:bold)
-
-" Directory names, special names in listing
-hi! link Directory GruvboxGreenBold
-
-" Titles for output from :set all, :autocmd, etc.
-hi! link Title GruvboxGreenBold
-
-" Error messages on the command line
-call s:HL('ErrorMsg', s:bg0, s:red, s:bold)
-" More prompt: -- More --
-hi! link MoreMsg GruvboxYellowBold
-" Current mode message: -- INSERT --
-hi! link ModeMsg GruvboxYellowBold
-" 'Press enter' prompt and yes/no questions
-hi! link Question GruvboxOrangeBold
-" Warning messages
-hi! link WarningMsg GruvboxRedBold
-
-" }}}
-" Gutter: {{{
-
-" Line number for :number and :# commands
-call s:HL('LineNr', s:bg4, s:number_column)
-
-" Column where signs are displayed
-call s:HL('SignColumn', s:none, s:sign_column)
-
-" Line used for closed folds
-call s:HL('Folded', s:gray, s:bg1, s:italic)
-" Column where folds are displayed
-call s:HL('FoldColumn', s:gray, s:bg1)
-
-" }}}
-" Cursor: {{{
-
-" Character under cursor
-call s:HL('Cursor', s:none, s:none, s:inverse)
-" Visual mode cursor, selection
-hi! link vCursor Cursor
-" Input moder cursor
-hi! link iCursor Cursor
-" Language mapping cursor
-hi! link lCursor Cursor
-
-" }}}
-" Syntax Highlighting: {{{
-
-if g:gruvbox_improved_strings == 0
- hi! link Special GruvboxOrange
-else
- call s:HL('Special', s:orange, s:bg1, s:italicize_strings)
-endif
-
-call s:HL('Comment', s:gray, s:none, s:italicize_comments)
-call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic)
-call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse)
-
-" Generic statement
-hi! link Statement GruvboxRed
-" if, then, else, endif, swicth, etc.
-hi! link Conditional GruvboxRed
-" for, do, while, etc.
-hi! link Repeat GruvboxRed
-" case, default, etc.
-hi! link Label GruvboxRed
-" try, catch, throw
-hi! link Exception GruvboxRed
-" sizeof, "+", "*", etc.
-hi! link Operator Normal
-" Any other keyword
-hi! link Keyword GruvboxRed
-
-" Variable name
-hi! link Identifier GruvboxBlue
-" Function name
-hi! link Function GruvboxGreenBold
-
-" Generic preprocessor
-hi! link PreProc GruvboxAqua
-" Preprocessor #include
-hi! link Include GruvboxAqua
-" Preprocessor #define
-hi! link Define GruvboxAqua
-" Same as Define
-hi! link Macro GruvboxAqua
-" Preprocessor #if, #else, #endif, etc.
-hi! link PreCondit GruvboxAqua
-
-" Generic constant
-hi! link Constant GruvboxPurple
-" Character constant: 'c', '/n'
-hi! link Character GruvboxPurple
-" String constant: "this is a string"
-if g:gruvbox_improved_strings == 0
- call s:HL('String', s:green, s:none, s:italicize_strings)
-else
- call s:HL('String', s:fg1, s:bg1, s:italicize_strings)
-endif
-" Boolean constant: TRUE, false
-hi! link Boolean GruvboxPurple
-" Number constant: 234, 0xff
-hi! link Number GruvboxPurple
-" Floating point constant: 2.3e10
-hi! link Float GruvboxPurple
-
-" Generic type
-hi! link Type GruvboxYellow
-" static, register, volatile, etc
-hi! link StorageClass GruvboxOrange
-" struct, union, enum, etc.
-hi! link Structure GruvboxAqua
-" typedef
-hi! link Typedef GruvboxYellow
-
-" }}}
-" Completion Menu: {{{
-
-if version >= 700
- " Popup menu: normal item
- call s:HL('Pmenu', s:fg1, s:bg2)
- " Popup menu: selected item
- call s:HL('PmenuSel', s:bg2, s:blue, s:bold)
- " Popup menu: scrollbar
- call s:HL('PmenuSbar', s:none, s:bg2)
- " Popup menu: scrollbar thumb
- call s:HL('PmenuThumb', s:none, s:bg4)
-endif
-
-" }}}
-" Diffs: {{{
-
-call s:HL('DiffDelete', s:red, s:bg0, s:inverse)
-call s:HL('DiffAdd', s:green, s:bg0, s:inverse)
-"call s:HL('DiffChange', s:bg0, s:blue)
-"call s:HL('DiffText', s:bg0, s:yellow)
-
-" Alternative setting
-call s:HL('DiffChange', s:aqua, s:bg0, s:inverse)
-call s:HL('DiffText', s:yellow, s:bg0, s:inverse)
-
-" }}}
-" Spelling: {{{
-
-if has("spell")
- " Not capitalised word, or compile warnings
- if g:gruvbox_improved_warnings == 0
- call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red)
- else
- call s:HL('SpellCap', s:green, s:none, s:bold . s:italic)
- endif
- " Not recognized word
- call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue)
- " Wrong spelling for selected region
- call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua)
- " Rare word
- call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple)
-endif
-
-" }}}
-
-" Plugin specific -------------------------------------------------------------
-" EasyMotion: {{{
-
-hi! link EasyMotionTarget Search
-hi! link EasyMotionShade Comment
-
-" }}}
-" Sneak: {{{
-
-hi! link Sneak Search
-hi! link SneakLabel Search
-
-" }}}
-" Indent Guides: {{{
-
-if !exists('g:indent_guides_auto_colors')
- let g:indent_guides_auto_colors = 0
-endif
-
-if g:indent_guides_auto_colors == 0
- if g:gruvbox_invert_indent_guides == 0
- call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2)
- call s:HL('IndentGuidesEven', s:vim_bg, s:bg1)
- else
- call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse)
- call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse)
- endif
-endif
-
-" }}}
-" IndentLine: {{{
-
-if !exists('g:indentLine_color_term')
- let g:indentLine_color_term = s:bg2[1]
-endif
-if !exists('g:indentLine_color_gui')
- let g:indentLine_color_gui = s:bg2[0]
-endif
-
-" }}}
-" Rainbow Parentheses: {{{
-
-if !exists('g:rbpt_colorpairs')
- let g:rbpt_colorpairs =
- \ [
- \ ['blue', '#458588'], ['magenta', '#b16286'],
- \ ['red', '#cc241d'], ['166', '#d65d0e']
- \ ]
-endif
-
-let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ]
-let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ]
-
-if !exists('g:rainbow_conf')
- let g:rainbow_conf = {}
-endif
-if !has_key(g:rainbow_conf, 'guifgs')
- let g:rainbow_conf['guifgs'] = g:rainbow_guifgs
-endif
-if !has_key(g:rainbow_conf, 'ctermfgs')
- let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs
-endif
-
-let g:niji_dark_colours = g:rbpt_colorpairs
-let g:niji_light_colours = g:rbpt_colorpairs
-
-"}}}
-" GitGutter: {{{
-
-hi! link GitGutterAdd GruvboxGreenSign
-hi! link GitGutterChange GruvboxAquaSign
-hi! link GitGutterDelete GruvboxRedSign
-hi! link GitGutterChangeDelete GruvboxAquaSign
-
-" }}}
-" GitCommit: "{{{
-
-hi! link gitcommitSelectedFile GruvboxGreen
-hi! link gitcommitDiscardedFile GruvboxRed
-
-" }}}
-" Signify: {{{
-
-hi! link SignifySignAdd GruvboxGreenSign
-hi! link SignifySignChange GruvboxAquaSign
-hi! link SignifySignDelete GruvboxRedSign
-
-" }}}
-" Syntastic: {{{
-
-call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red)
-call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow)
-
-hi! link SyntasticErrorSign GruvboxRedSign
-hi! link SyntasticWarningSign GruvboxYellowSign
-
-" }}}
-" Signature: {{{
-hi! link SignatureMarkText GruvboxBlueSign
-hi! link SignatureMarkerText GruvboxPurpleSign
-
-" }}}
-" ShowMarks: {{{
-
-hi! link ShowMarksHLl GruvboxBlueSign
-hi! link ShowMarksHLu GruvboxBlueSign
-hi! link ShowMarksHLo GruvboxBlueSign
-hi! link ShowMarksHLm GruvboxBlueSign
-
-" }}}
-" CtrlP: {{{
-
-hi! link CtrlPMatch GruvboxYellow
-hi! link CtrlPNoEntries GruvboxRed
-hi! link CtrlPPrtBase GruvboxBg2
-hi! link CtrlPPrtCursor GruvboxBlue
-hi! link CtrlPLinePre GruvboxBg2
-
-call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold)
-call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold)
-call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold)
-
-" }}}
-" Startify: {{{
-
-hi! link StartifyBracket GruvboxFg3
-hi! link StartifyFile GruvboxFg1
-hi! link StartifyNumber GruvboxBlue
-hi! link StartifyPath GruvboxGray
-hi! link StartifySlash GruvboxGray
-hi! link StartifySection GruvboxYellow
-hi! link StartifySpecial GruvboxBg2
-hi! link StartifyHeader GruvboxOrange
-hi! link StartifyFooter GruvboxBg2
-
-" }}}
-" Vimshell: {{{
-
-let g:vimshell_escape_colors = [
- \ s:bg4[0], s:red[0], s:green[0], s:yellow[0],
- \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0],
- \ s:bg0[0], s:red[0], s:green[0], s:orange[0],
- \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0]
- \ ]
-
-" }}}
-" BufTabLine: {{{
-
-call s:HL('BufTabLineCurrent', s:bg0, s:fg4)
-call s:HL('BufTabLineActive', s:fg4, s:bg2)
-call s:HL('BufTabLineHidden', s:bg4, s:bg1)
-call s:HL('BufTabLineFill', s:bg0, s:bg0)
-
-" }}}
-" Asynchronous Lint Engine: {{{
-
-call s:HL('ALEError', s:none, s:none, s:undercurl, s:red)
-call s:HL('ALEWarning', s:none, s:none, s:undercurl, s:yellow)
-call s:HL('ALEInfo', s:none, s:none, s:undercurl, s:blue)
-
-hi! link ALEErrorSign GruvboxRedSign
-hi! link ALEWarningSign GruvboxYellowSign
-hi! link ALEInfoSign GruvboxBlueSign
-
-" }}}
-" Dirvish: {{{
-
-hi! link DirvishPathTail GruvboxAqua
-hi! link DirvishArg GruvboxYellow
-
-" }}}
-" Netrw: {{{
-
-hi! link netrwDir GruvboxAqua
-hi! link netrwClassify GruvboxAqua
-hi! link netrwLink GruvboxGray
-hi! link netrwSymLink GruvboxFg1
-hi! link netrwExe GruvboxYellow
-hi! link netrwComment GruvboxGray
-hi! link netrwList GruvboxBlue
-hi! link netrwHelpCmd GruvboxAqua
-hi! link netrwCmdSep GruvboxFg3
-hi! link netrwVersion GruvboxGreen
-
-" }}}
-" NERDTree: {{{
-
-hi! link NERDTreeDir GruvboxAqua
-hi! link NERDTreeDirSlash GruvboxAqua
-
-hi! link NERDTreeOpenable GruvboxOrange
-hi! link NERDTreeClosable GruvboxOrange
-
-hi! link NERDTreeFile GruvboxFg1
-hi! link NERDTreeExecFile GruvboxYellow
-
-hi! link NERDTreeUp GruvboxGray
-hi! link NERDTreeCWD GruvboxGreen
-hi! link NERDTreeHelp GruvboxFg1
-
-hi! link NERDTreeToggleOn GruvboxGreen
-hi! link NERDTreeToggleOff GruvboxRed
-
-" }}}
-" Vim Multiple Cursors: {{{
-
-call s:HL('multiple_cursors_cursor', s:none, s:none, s:inverse)
-call s:HL('multiple_cursors_visual', s:none, s:bg2)
-
-" }}}
-" coc.nvim: {{{
-
-hi! link CocErrorSign GruvboxRedSign
-hi! link CocWarningSign GruvboxOrangeSign
-hi! link CocInfoSign GruvboxYellowSign
-hi! link CocHintSign GruvboxBlueSign
-hi! link CocErrorFloat GruvboxRed
-hi! link CocWarningFloat GruvboxOrange
-hi! link CocInfoFloat GruvboxYellow
-hi! link CocHintFloat GruvboxBlue
-hi! link CocDiagnosticsError GruvboxRed
-hi! link CocDiagnosticsWarning GruvboxOrange
-hi! link CocDiagnosticsInfo GruvboxYellow
-hi! link CocDiagnosticsHint GruvboxBlue
-
-hi! link CocSelectedText GruvboxRed
-hi! link CocCodeLens GruvboxGray
-
-call s:HL('CocErrorHighlight', s:none, s:none, s:undercurl, s:red)
-call s:HL('CocWarningHighlight', s:none, s:none, s:undercurl, s:orange)
-call s:HL('CocInfoHighlight', s:none, s:none, s:undercurl, s:yellow)
-call s:HL('CocHintHighlight', s:none, s:none, s:undercurl, s:blue)
-
-" }}}
-
-" Filetype specific -----------------------------------------------------------
-" Diff: {{{
-
-hi! link diffAdded GruvboxGreen
-hi! link diffRemoved GruvboxRed
-hi! link diffChanged GruvboxAqua
-
-hi! link diffFile GruvboxOrange
-hi! link diffNewFile GruvboxYellow
-
-hi! link diffLine GruvboxBlue
-
-" }}}
-" Html: {{{
-
-hi! link htmlTag GruvboxBlue
-hi! link htmlEndTag GruvboxBlue
-
-hi! link htmlTagName GruvboxAquaBold
-hi! link htmlArg GruvboxAqua
-
-hi! link htmlScriptTag GruvboxPurple
-hi! link htmlTagN GruvboxFg1
-hi! link htmlSpecialTagName GruvboxAquaBold
-
-call s:HL('htmlLink', s:fg4, s:none, s:underline)
-
-hi! link htmlSpecialChar GruvboxOrange
-
-call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold)
-call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline)
-call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic)
-call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic)
-
-call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline)
-call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic)
-call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic)
-
-" }}}
-" Xml: {{{
-
-hi! link xmlTag GruvboxBlue
-hi! link xmlEndTag GruvboxBlue
-hi! link xmlTagName GruvboxBlue
-hi! link xmlEqual GruvboxBlue
-hi! link docbkKeyword GruvboxAquaBold
-
-hi! link xmlDocTypeDecl GruvboxGray
-hi! link xmlDocTypeKeyword GruvboxPurple
-hi! link xmlCdataStart GruvboxGray
-hi! link xmlCdataCdata GruvboxPurple
-hi! link dtdFunction GruvboxGray
-hi! link dtdTagName GruvboxPurple
-
-hi! link xmlAttrib GruvboxAqua
-hi! link xmlProcessingDelim GruvboxGray
-hi! link dtdParamEntityPunct GruvboxGray
-hi! link dtdParamEntityDPunct GruvboxGray
-hi! link xmlAttribPunct GruvboxGray
-
-hi! link xmlEntity GruvboxOrange
-hi! link xmlEntityPunct GruvboxOrange
-" }}}
-" Vim: {{{
-
-call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments)
-
-hi! link vimNotation GruvboxOrange
-hi! link vimBracket GruvboxOrange
-hi! link vimMapModKey GruvboxOrange
-hi! link vimFuncSID GruvboxFg3
-hi! link vimSetSep GruvboxFg3
-hi! link vimSep GruvboxFg3
-hi! link vimContinue GruvboxFg3
-
-" }}}
-" Clojure: {{{
-
-hi! link clojureKeyword GruvboxBlue
-hi! link clojureCond GruvboxOrange
-hi! link clojureSpecial GruvboxOrange
-hi! link clojureDefine GruvboxOrange
-
-hi! link clojureFunc GruvboxYellow
-hi! link clojureRepeat GruvboxYellow
-hi! link clojureCharacter GruvboxAqua
-hi! link clojureStringEscape GruvboxAqua
-hi! link clojureException GruvboxRed
-
-hi! link clojureRegexp GruvboxAqua
-hi! link clojureRegexpEscape GruvboxAqua
-call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold)
-hi! link clojureRegexpMod clojureRegexpCharClass
-hi! link clojureRegexpQuantifier clojureRegexpCharClass
-
-hi! link clojureParen GruvboxFg3
-hi! link clojureAnonArg GruvboxYellow
-hi! link clojureVariable GruvboxBlue
-hi! link clojureMacro GruvboxOrange
-
-hi! link clojureMeta GruvboxYellow
-hi! link clojureDeref GruvboxYellow
-hi! link clojureQuote GruvboxYellow
-hi! link clojureUnquote GruvboxYellow
-
-" }}}
-" C: {{{
-
-hi! link cOperator GruvboxPurple
-hi! link cStructure GruvboxOrange
-
-" }}}
-" Python: {{{
-
-hi! link pythonBuiltin GruvboxOrange
-hi! link pythonBuiltinObj GruvboxOrange
-hi! link pythonBuiltinFunc GruvboxOrange
-hi! link pythonFunction GruvboxAqua
-hi! link pythonDecorator GruvboxRed
-hi! link pythonInclude GruvboxBlue
-hi! link pythonImport GruvboxBlue
-hi! link pythonRun GruvboxBlue
-hi! link pythonCoding GruvboxBlue
-hi! link pythonOperator GruvboxRed
-hi! link pythonException GruvboxRed
-hi! link pythonExceptions GruvboxPurple
-hi! link pythonBoolean GruvboxPurple
-hi! link pythonDot GruvboxFg3
-hi! link pythonConditional GruvboxRed
-hi! link pythonRepeat GruvboxRed
-hi! link pythonDottedName GruvboxGreenBold
-
-" }}}
-" CSS: {{{
-
-hi! link cssBraces GruvboxBlue
-hi! link cssFunctionName GruvboxYellow
-hi! link cssIdentifier GruvboxOrange
-hi! link cssClassName GruvboxGreen
-hi! link cssColor GruvboxBlue
-hi! link cssSelectorOp GruvboxBlue
-hi! link cssSelectorOp2 GruvboxBlue
-hi! link cssImportant GruvboxGreen
-hi! link cssVendor GruvboxFg1
-
-hi! link cssTextProp GruvboxAqua
-hi! link cssAnimationProp GruvboxAqua
-hi! link cssUIProp GruvboxYellow
-hi! link cssTransformProp GruvboxAqua
-hi! link cssTransitionProp GruvboxAqua
-hi! link cssPrintProp GruvboxAqua
-hi! link cssPositioningProp GruvboxYellow
-hi! link cssBoxProp GruvboxAqua
-hi! link cssFontDescriptorProp GruvboxAqua
-hi! link cssFlexibleBoxProp GruvboxAqua
-hi! link cssBorderOutlineProp GruvboxAqua
-hi! link cssBackgroundProp GruvboxAqua
-hi! link cssMarginProp GruvboxAqua
-hi! link cssListProp GruvboxAqua
-hi! link cssTableProp GruvboxAqua
-hi! link cssFontProp GruvboxAqua
-hi! link cssPaddingProp GruvboxAqua
-hi! link cssDimensionProp GruvboxAqua
-hi! link cssRenderProp GruvboxAqua
-hi! link cssColorProp GruvboxAqua
-hi! link cssGeneratedContentProp GruvboxAqua
-
-" }}}
-" JavaScript: {{{
-
-hi! link javaScriptBraces GruvboxFg1
-hi! link javaScriptFunction GruvboxAqua
-hi! link javaScriptIdentifier GruvboxRed
-hi! link javaScriptMember GruvboxBlue
-hi! link javaScriptNumber GruvboxPurple
-hi! link javaScriptNull GruvboxPurple
-hi! link javaScriptParens GruvboxFg3
-
-" }}}
-" YAJS: {{{
-
-hi! link javascriptImport GruvboxAqua
-hi! link javascriptExport GruvboxAqua
-hi! link javascriptClassKeyword GruvboxAqua
-hi! link javascriptClassExtends GruvboxAqua
-hi! link javascriptDefault GruvboxAqua
-
-hi! link javascriptClassName GruvboxYellow
-hi! link javascriptClassSuperName GruvboxYellow
-hi! link javascriptGlobal GruvboxYellow
-
-hi! link javascriptEndColons GruvboxFg1
-hi! link javascriptFuncArg GruvboxFg1
-hi! link javascriptGlobalMethod GruvboxFg1
-hi! link javascriptNodeGlobal GruvboxFg1
-hi! link javascriptBOMWindowProp GruvboxFg1
-hi! link javascriptArrayMethod GruvboxFg1
-hi! link javascriptArrayStaticMethod GruvboxFg1
-hi! link javascriptCacheMethod GruvboxFg1
-hi! link javascriptDateMethod GruvboxFg1
-hi! link javascriptMathStaticMethod GruvboxFg1
-
-" hi! link javascriptProp GruvboxFg1
-hi! link javascriptURLUtilsProp GruvboxFg1
-hi! link javascriptBOMNavigatorProp GruvboxFg1
-hi! link javascriptDOMDocMethod GruvboxFg1
-hi! link javascriptDOMDocProp GruvboxFg1
-hi! link javascriptBOMLocationMethod GruvboxFg1
-hi! link javascriptBOMWindowMethod GruvboxFg1
-hi! link javascriptStringMethod GruvboxFg1
-
-hi! link javascriptVariable GruvboxOrange
-" hi! link javascriptVariable GruvboxRed
-" hi! link javascriptIdentifier GruvboxOrange
-" hi! link javascriptClassSuper GruvboxOrange
-hi! link javascriptIdentifier GruvboxOrange
-hi! link javascriptClassSuper GruvboxOrange
-
-" hi! link javascriptFuncKeyword GruvboxOrange
-" hi! link javascriptAsyncFunc GruvboxOrange
-hi! link javascriptFuncKeyword GruvboxAqua
-hi! link javascriptAsyncFunc GruvboxAqua
-hi! link javascriptClassStatic GruvboxOrange
-
-hi! link javascriptOperator GruvboxRed
-hi! link javascriptForOperator GruvboxRed
-hi! link javascriptYield GruvboxRed
-hi! link javascriptExceptions GruvboxRed
-hi! link javascriptMessage GruvboxRed
-
-hi! link javascriptTemplateSB GruvboxAqua
-hi! link javascriptTemplateSubstitution GruvboxFg1
-
-" hi! link javascriptLabel GruvboxBlue
-" hi! link javascriptObjectLabel GruvboxBlue
-" hi! link javascriptPropertyName GruvboxBlue
-hi! link javascriptLabel GruvboxFg1
-hi! link javascriptObjectLabel GruvboxFg1
-hi! link javascriptPropertyName GruvboxFg1
-
-hi! link javascriptLogicSymbols GruvboxFg1
-hi! link javascriptArrowFunc GruvboxYellow
-
-hi! link javascriptDocParamName GruvboxFg4
-hi! link javascriptDocTags GruvboxFg4
-hi! link javascriptDocNotation GruvboxFg4
-hi! link javascriptDocParamType GruvboxFg4
-hi! link javascriptDocNamedParamType GruvboxFg4
-
-hi! link javascriptBrackets GruvboxFg1
-hi! link javascriptDOMElemAttrs GruvboxFg1
-hi! link javascriptDOMEventMethod GruvboxFg1
-hi! link javascriptDOMNodeMethod GruvboxFg1
-hi! link javascriptDOMStorageMethod GruvboxFg1
-hi! link javascriptHeadersMethod GruvboxFg1
-
-hi! link javascriptAsyncFuncKeyword GruvboxRed
-hi! link javascriptAwaitFuncKeyword GruvboxRed
-
-" }}}
-" PanglossJS: {{{
-
-hi! link jsClassKeyword GruvboxAqua
-hi! link jsExtendsKeyword GruvboxAqua
-hi! link jsExportDefault GruvboxAqua
-hi! link jsTemplateBraces GruvboxAqua
-hi! link jsGlobalNodeObjects GruvboxFg1
-hi! link jsGlobalObjects GruvboxFg1
-hi! link jsFunction GruvboxAqua
-hi! link jsFuncParens GruvboxFg3
-hi! link jsParens GruvboxFg3
-hi! link jsNull GruvboxPurple
-hi! link jsUndefined GruvboxPurple
-hi! link jsClassDefinition GruvboxYellow
-
-" }}}
-" TypeScript: {{{
-
-hi! link typeScriptReserved GruvboxAqua
-hi! link typeScriptLabel GruvboxAqua
-hi! link typeScriptFuncKeyword GruvboxAqua
-hi! link typeScriptIdentifier GruvboxOrange
-hi! link typeScriptBraces GruvboxFg1
-hi! link typeScriptEndColons GruvboxFg1
-hi! link typeScriptDOMObjects GruvboxFg1
-hi! link typeScriptAjaxMethods GruvboxFg1
-hi! link typeScriptLogicSymbols GruvboxFg1
-hi! link typeScriptDocSeeTag Comment
-hi! link typeScriptDocParam Comment
-hi! link typeScriptDocTags vimCommentTitle
-hi! link typeScriptGlobalObjects GruvboxFg1
-hi! link typeScriptParens GruvboxFg3
-hi! link typeScriptOpSymbols GruvboxFg3
-hi! link typeScriptHtmlElemProperties GruvboxFg1
-hi! link typeScriptNull GruvboxPurple
-hi! link typeScriptInterpolationDelimiter GruvboxAqua
-
-" }}}
-" PureScript: {{{
-
-hi! link purescriptModuleKeyword GruvboxAqua
-hi! link purescriptModuleName GruvboxFg1
-hi! link purescriptWhere GruvboxAqua
-hi! link purescriptDelimiter GruvboxFg4
-hi! link purescriptType GruvboxFg1
-hi! link purescriptImportKeyword GruvboxAqua
-hi! link purescriptHidingKeyword GruvboxAqua
-hi! link purescriptAsKeyword GruvboxAqua
-hi! link purescriptStructure GruvboxAqua
-hi! link purescriptOperator GruvboxBlue
-
-hi! link purescriptTypeVar GruvboxFg1
-hi! link purescriptConstructor GruvboxFg1
-hi! link purescriptFunction GruvboxFg1
-hi! link purescriptConditional GruvboxOrange
-hi! link purescriptBacktick GruvboxOrange
-
-" }}}
-" CoffeeScript: {{{
-
-hi! link coffeeExtendedOp GruvboxFg3
-hi! link coffeeSpecialOp GruvboxFg3
-hi! link coffeeCurly GruvboxOrange
-hi! link coffeeParen GruvboxFg3
-hi! link coffeeBracket GruvboxOrange
-
-" }}}
-" Ruby: {{{
-
-hi! link rubyStringDelimiter GruvboxGreen
-hi! link rubyInterpolationDelimiter GruvboxAqua
-
-" }}}
-" ObjectiveC: {{{
-
-hi! link objcTypeModifier GruvboxRed
-hi! link objcDirective GruvboxBlue
-
-" }}}
-" Go: {{{
-
-hi! link goDirective GruvboxAqua
-hi! link goConstants GruvboxPurple
-hi! link goDeclaration GruvboxRed
-hi! link goDeclType GruvboxBlue
-hi! link goBuiltins GruvboxOrange
-
-" }}}
-" Lua: {{{
-
-hi! link luaIn GruvboxRed
-hi! link luaFunction GruvboxAqua
-hi! link luaTable GruvboxOrange
-
-" }}}
-" MoonScript: {{{
-
-hi! link moonSpecialOp GruvboxFg3
-hi! link moonExtendedOp GruvboxFg3
-hi! link moonFunction GruvboxFg3
-hi! link moonObject GruvboxYellow
-
-" }}}
-" Java: {{{
-
-hi! link javaAnnotation GruvboxBlue
-hi! link javaDocTags GruvboxAqua
-hi! link javaCommentTitle vimCommentTitle
-hi! link javaParen GruvboxFg3
-hi! link javaParen1 GruvboxFg3
-hi! link javaParen2 GruvboxFg3
-hi! link javaParen3 GruvboxFg3
-hi! link javaParen4 GruvboxFg3
-hi! link javaParen5 GruvboxFg3
-hi! link javaOperator GruvboxOrange
-
-hi! link javaVarArg GruvboxGreen
-
-" }}}
-" Elixir: {{{
-
-hi! link elixirDocString Comment
-
-hi! link elixirStringDelimiter GruvboxGreen
-hi! link elixirInterpolationDelimiter GruvboxAqua
-
-hi! link elixirModuleDeclaration GruvboxYellow
-
-" }}}
-" Scala: {{{
-
-" NB: scala vim syntax file is kinda horrible
-hi! link scalaNameDefinition GruvboxFg1
-hi! link scalaCaseFollowing GruvboxFg1
-hi! link scalaCapitalWord GruvboxFg1
-hi! link scalaTypeExtension GruvboxFg1
-
-hi! link scalaKeyword GruvboxRed
-hi! link scalaKeywordModifier GruvboxRed
-
-hi! link scalaSpecial GruvboxAqua
-hi! link scalaOperator GruvboxFg1
-
-hi! link scalaTypeDeclaration GruvboxYellow
-hi! link scalaTypeTypePostDeclaration GruvboxYellow
-
-hi! link scalaInstanceDeclaration GruvboxFg1
-hi! link scalaInterpolation GruvboxAqua
-
-" }}}
-" Markdown: {{{
-
-call s:HL('markdownItalic', s:fg3, s:none, s:italic)
-
-hi! link markdownH1 GruvboxGreenBold
-hi! link markdownH2 GruvboxGreenBold
-hi! link markdownH3 GruvboxYellowBold
-hi! link markdownH4 GruvboxYellowBold
-hi! link markdownH5 GruvboxYellow
-hi! link markdownH6 GruvboxYellow
-
-hi! link markdownCode GruvboxAqua
-hi! link markdownCodeBlock GruvboxAqua
-hi! link markdownCodeDelimiter GruvboxAqua
-
-hi! link markdownBlockquote GruvboxGray
-hi! link markdownListMarker GruvboxGray
-hi! link markdownOrderedListMarker GruvboxGray
-hi! link markdownRule GruvboxGray
-hi! link markdownHeadingRule GruvboxGray
-
-hi! link markdownUrlDelimiter GruvboxFg3
-hi! link markdownLinkDelimiter GruvboxFg3
-hi! link markdownLinkTextDelimiter GruvboxFg3
-
-hi! link markdownHeadingDelimiter GruvboxOrange
-hi! link markdownUrl GruvboxPurple
-hi! link markdownUrlTitleDelimiter GruvboxGreen
-
-call s:HL('markdownLinkText', s:gray, s:none, s:underline)
-hi! link markdownIdDeclaration markdownLinkText
-
-" }}}
-" Haskell: {{{
-
-" hi! link haskellType GruvboxYellow
-" hi! link haskellOperators GruvboxOrange
-" hi! link haskellConditional GruvboxAqua
-" hi! link haskellLet GruvboxOrange
-"
-hi! link haskellType GruvboxFg1
-hi! link haskellIdentifier GruvboxFg1
-hi! link haskellSeparator GruvboxFg1
-hi! link haskellDelimiter GruvboxFg4
-hi! link haskellOperators GruvboxBlue
-"
-hi! link haskellBacktick GruvboxOrange
-hi! link haskellStatement GruvboxOrange
-hi! link haskellConditional GruvboxOrange
-
-hi! link haskellLet GruvboxAqua
-hi! link haskellDefault GruvboxAqua
-hi! link haskellWhere GruvboxAqua
-hi! link haskellBottom GruvboxAqua
-hi! link haskellBlockKeywords GruvboxAqua
-hi! link haskellImportKeywords GruvboxAqua
-hi! link haskellDeclKeyword GruvboxAqua
-hi! link haskellDeriving GruvboxAqua
-hi! link haskellAssocType GruvboxAqua
-
-hi! link haskellNumber GruvboxPurple
-hi! link haskellPragma GruvboxPurple
-
-hi! link haskellString GruvboxGreen
-hi! link haskellChar GruvboxGreen
-
-" }}}
-" Json: {{{
-
-hi! link jsonKeyword GruvboxGreen
-hi! link jsonQuote GruvboxGreen
-hi! link jsonBraces GruvboxFg1
-hi! link jsonString GruvboxFg1
-
-" }}}
-
-
-" Functions -------------------------------------------------------------------
-" Search Highlighting Cursor {{{
-
-function! GruvboxHlsShowCursor()
- call s:HL('Cursor', s:bg0, s:hls_cursor)
-endfunction
-
-function! GruvboxHlsHideCursor()
- call s:HL('Cursor', s:none, s:none, s:inverse)
-endfunction
-
-" }}}
-
-" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker:
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
new file mode 100644
index 0000000..9c8ca87
--- /dev/null
+++ b/.config/nvim/init.lua
@@ -0,0 +1 @@
+require("jacob")
diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim
deleted file mode 100644
index 7bb71b7..0000000
--- a/.config/nvim/init.vim
+++ /dev/null
@@ -1,120 +0,0 @@
-" Basic setup stuff
-let mapleader=" "
-set number relativenumber
-filetype plugin on
-syntax on
-set wildmode=longest,list,full
-set mouse=a
-set colorcolumn=80
-set autoindent noexpandtab tabstop=4 shiftwidth=4
-
-" Quick Save
-map <leader>w :w<CR>
-
-" Spell check
-map <leader>o :setlocal spell! spelllang=en_us<CR>
-
-" Open a terminal
-map <leader>t :vsplit term://zsh<CR>
-
-" Change Line break to 120
-map <leader>l :set colorcolumn=120<CR>
-" Change Line break to 80
-map <leader>L :set colorcolumn=80<CR>
-
-" Quick Netrw
-map <leader>x :Ex<CR>
-
-" Keyboard shortcuts for harpoon
-
-map <leader>q :lua require("harpoon").ui:toggle_quick_menu(require("harpoon"):list())<CR>
-map <leader>a :lua require("harpoon"):list():append()<CR>
-map <leader>n :lua require("harpoon"):list():next()<CR>
-map <leader>p :lua require("harpoon"):list():prev()<CR>
-
-" Telescope Keyboard shortcuts
-map <leader>ts :Telescope find_files<CR>
-
-" Removes spaces at the end of lines when saving
-autocmd BufWritePre * %s/\s\+$//e
-
-" Center Cursor when entering insert mode
-autocmd InsertEnter * norm zz
-
-" Fixing indenting visual block
-vmap < <gv
-vmap > >gv
-
-" Makes splitting default to the right and to the bottom
-set splitbelow splitright
-
-" Remaps moving keys for splitting
-map <C-h> <C-w>h
-map <C-j> <C-w>j
-map <C-k> <C-w>k
-map <C-l> <C-w>l
-
-" Plugins
-call plug#begin('~/.local/share/nvim/plugged')
-Plug 'junegunn/goyo.vim' " Nice for reading Documents
-Plug 'neoclide/coc.nvim', {'branch': 'release'} " Code Completion
-Plug 'tpope/vim-commentary' " Makes commenting multiple lines easier
-Plug 'NLKNguyen/papercolor-theme'
-Plug 'nvim-lua/plenary.nvim'
-Plug 'nvim-telescope/telescope.nvim', { 'tag': '0.1.x' }
-Plug 'ThePrimeagen/harpoon', { 'branch': 'harpoon2' }
-Plug 'neovim/nvim-lspconfig'
-Plug 'mfussenegger/nvim-dap'
-Plug 'rcarriga/nvim-dap-ui'
-call plug#end()
-
-"Plug 'ms-jpq/coq_nvim', {'branch': 'coq'}
-"Plug 'ms-jpq/coq.artifacts', {'branch': 'artifacts'}
-
-let g:coc_global_extensions = [
- \ 'coc-html',
- \ 'coc-java',
- \ 'coc-tsserver',
- \ 'coc-css',
- \ 'coc-clangd',
- \ 'coc-go',
- \ 'coc-pairs',
- \ 'coc-python',
- \ 'coc-flutter'
- \ ]
-
-lua vim.g.coq_settings = {auto_start = 'shut-up',}
-
-lua require("dap_lldb")
-
-" nvim-dap keybinds
-map <leader>db :lua require("dap").toggle_breakpoint()<CR>
-map <leader>dc :lua require("dap").continue()<CR>
-map <leader>dso :lua require("dap").step_over()<CR>
-map <leader>ds :lua require("dap").step_into()<CR>
-map <leader>dr :lua require("dapui").open({ reset = true })<CR>
-map <leader>dt :lua require("dapui").toggle()<CR>
-
-" Goyo plugin makes text more readable when writing prose:
-map <leader>f :Goyo \| set linebreak<CR>
-
-" Commentary plugin
-map <leader>c :Commentary \| set linebreak<CR>
-
-" runs gofmt when closing a go file.
-autocmd VimLeave *.go !gofmt -w %
-
-" required for harpoon to run
-:lua require("harpoon"):setup()
-
-" This handles gofmt on save
-" https://www.getman.io/posts/programming-go-in-neovim/
-lua require("lsp_config")
-autocmd BufWritePre *.go lua vim.lsp.buf.formatting()
-autocmd BufWritePre *.go lua goimports(1000)
-
-set t_Co=256
-
-set background=light " for the light version of the theme
-
-colorscheme PaperColor
diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json
new file mode 100644
index 0000000..12d569f
--- /dev/null
+++ b/.config/nvim/lazy-lock.json
@@ -0,0 +1,14 @@
+{
+ "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" },
+ "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
+ "harpoon": { "branch": "harpoon2", "commit": "a38be6e0dd4c6db66997deab71fc4453ace97f9c" },
+ "lazy.nvim": { "branch": "main", "commit": "d37a76b87137c777f3d778ed03729d7f332a85f0" },
+ "lsp-zero.nvim": { "branch": "v3.x", "commit": "2b5e9a39b3bf60bfb0cc7c35d5f2e879d4cd72ea" },
+ "nvim-cmp": { "branch": "main", "commit": "97dc716fc914c46577a4f254035ebef1aa72558a" },
+ "nvim-lspconfig": { "branch": "master", "commit": "6e5c78ebc9936ca74add66bda22c566f951b6ee5" },
+ "nvim-treesitter": { "branch": "master", "commit": "7f3179315959bd762abd0f8dbe0361db805fb2d4" },
+ "plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" },
+ "telescope.nvim": { "branch": "master", "commit": "6312868392331c9c0f22725041f1ec2bef57c751" },
+ "tokyonight.nvim": { "branch": "main", "commit": "f4b415bfbce390866a83277db42cf6aa94230728" },
+ "undotree": { "branch": "master", "commit": "aa93a7e5890dbbebbc064cd22260721a6db1a196" }
+} \ No newline at end of file
diff --git a/.config/nvim/lua/dap_lldb.lua b/.config/nvim/lua/dap_lldb.lua
deleted file mode 100644
index 40861d0..0000000
--- a/.config/nvim/lua/dap_lldb.lua
+++ /dev/null
@@ -1,25 +0,0 @@
-local dap = require'dap'
-
-require("dapui").setup()
-
-dap.adapters.lldb = {
- type = 'executable',
- -- absolute path is important here, otherwise the argument in the `runInTerminal` request will default to $CWD/lldb-vscode
- command = '/usr/bin/lldb-vscode',
- name = "lldb"
-}
-dap.configurations.c = {
- {
- name = "Launch",
- type = "lldb",
- request = "launch",
- program = function()
- return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
- end,
- cwd = '${workspaceFolder}',
- stopOnEntry = false,
- args = {},
- runInTerminal = true,
- },
-}
-
diff --git a/.config/nvim/lua/jacob/init.lua b/.config/nvim/lua/jacob/init.lua
new file mode 100644
index 0000000..db8a563
--- /dev/null
+++ b/.config/nvim/lua/jacob/init.lua
@@ -0,0 +1,3 @@
+require("jacob.remaps")
+require("jacob.plugins")
+require("jacob.set")
diff --git a/.config/nvim/lua/jacob/plugins.lua b/.config/nvim/lua/jacob/plugins.lua
new file mode 100644
index 0000000..83675c0
--- /dev/null
+++ b/.config/nvim/lua/jacob/plugins.lua
@@ -0,0 +1,58 @@
+-- Lazy.nvim plugin manager
+local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
+if not vim.loop.fs_stat(lazypath) then
+ vim.fn.system({
+ "git",
+ "clone",
+ "--filter=blob:none",
+ "https://github.com/folke/lazy.nvim.git",
+ "--branch=stable", -- latest stable release
+ lazypath,
+ })
+end
+vim.opt.rtp:prepend(lazypath)
+
+
+require("lazy").setup({
+ {
+ 'nvim-telescope/telescope.nvim', tag = '0.1.6',
+ dependencies = { 'nvim-lua/plenary.nvim' }
+ },
+ {
+ "ThePrimeagen/harpoon",
+ branch = "harpoon2",
+ dependencies = { "nvim-lua/plenary.nvim" }
+ },
+ --{
+ -- "NLKNguyen/papercolor-theme",
+ -- config = function()
+ -- vim.cmd('set t_Co=256')
+ -- vim.cmd('set background=light')
+ -- vim.cmd('colorscheme PaperColor')
+ -- end
+ --},
+ {
+ 'folke/tokyonight.nvim',
+ priority = 1000,
+ init = function()
+ -- Like many other themes, this one has different styles, and you could load
+ -- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'.
+ vim.cmd.colorscheme 'tokyonight-day'
+ end,
+ },
+ {
+ "nvim-treesitter/nvim-treesitter",
+ build = ":TSUpdate",
+ },
+ {
+ "mbbill/undotree",
+ config = function()
+ vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
+ end
+ },
+ {'VonHeikemen/lsp-zero.nvim', branch = 'v3.x'},
+ {'neovim/nvim-lspconfig'},
+ {'hrsh7th/cmp-nvim-lsp'},
+ {'hrsh7th/nvim-cmp'},
+ {'L3MON4D3/LuaSnip'},
+})
diff --git a/.config/nvim/lua/jacob/remaps.lua b/.config/nvim/lua/jacob/remaps.lua
new file mode 100644
index 0000000..02f1709
--- /dev/null
+++ b/.config/nvim/lua/jacob/remaps.lua
@@ -0,0 +1,42 @@
+vim.g.mapleader = " "
+
+-- Netrw Directory Listing
+vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
+
+-- Quick Save
+vim.keymap.set("n", "<leader>w", vim.cmd.w)
+
+vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
+vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
+
+vim.keymap.set("n", "J", "mzJ`z")
+vim.keymap.set("n", "<C-d>", "<C-d>zz")
+vim.keymap.set("n", "<C-u>", "<C-u>zz")
+vim.keymap.set("n", "n", "nzzzv")
+vim.keymap.set("n", "N", "Nzzzv")
+
+-- greatest remap ever
+vim.keymap.set("x", "<leader>p", [["_dP]])
+
+-- next greatest remap ever : asbjornHaland
+vim.keymap.set({"n", "v"}, "<leader>y", [["+y]])
+vim.keymap.set("n", "<leader>Y", [["+Y]])
+
+vim.keymap.set({"n", "v"}, "<leader>d", [["_d]])
+
+vim.keymap.set("n", "Q", "<nop>")
+vim.keymap.set("n", "<C-f>", "<cmd>silent !tmux neww tmux-sessionizer<CR>")
+vim.keymap.set("n", "<leader>f", vim.lsp.buf.format)
+
+vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
+vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
+vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
+vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
+
+vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
+vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
+
+vim.keymap.set("n", "<leader><leader>", function()
+ vim.cmd("so")
+end)
+
diff --git a/.config/nvim/lua/jacob/set.lua b/.config/nvim/lua/jacob/set.lua
new file mode 100644
index 0000000..a71211e
--- /dev/null
+++ b/.config/nvim/lua/jacob/set.lua
@@ -0,0 +1,32 @@
+vim.opt.nu = true
+vim.opt.relativenumber = true
+
+vim.opt.tabstop = 4
+vim.opt.softtabstop = 4
+vim.opt.shiftwidth = 4
+vim.opt.expandtab = true
+
+vim.opt.smartindent = true
+
+vim.opt.wrap = false
+
+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.scrolloff = 8
+vim.opt.signcolumn = "yes"
+vim.opt.isfname:append("@-@")
+
+vim.opt.updatetime = 50
+
+vim.opt.colorcolumn = "80"
+
+vim.opt.mouse = 'a'
+
+vim.opt.list = true
+vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' }
diff --git a/.config/nvim/lua/lsp_config.lua b/.config/nvim/lua/lsp_config.lua
deleted file mode 100644
index be7e018..0000000
--- a/.config/nvim/lua/lsp_config.lua
+++ /dev/null
@@ -1,100 +0,0 @@
-local nvim_lsp = require('lspconfig')
-
-local capabilities = vim.lsp.protocol.make_client_capabilities()
-capabilities.textDocument.completion.completionItem.snippetSupport = true
-
-local on_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
-
- 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', 'ga', '<Cmd>lua vim.lsp.buf.code_action()<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', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<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)
-
- -- Set some keybinds conditional on server capabilities
- if client.resolved_capabilities.document_formatting then
- buf_set_keymap("n", "ff", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
- elseif client.resolved_capabilities.document_range_formatting then
- buf_set_keymap("n", "ff", "<cmd>lua vim.lsp.buf.range_formatting()<CR>", opts)
- end
-
- -- Set autocommands conditional on server_capabilities
- if client.resolved_capabilities.document_highlight then
- vim.api.nvim_exec([[
- hi LspReferenceRead cterm=bold ctermbg=DarkMagenta guibg=LightYellow
- hi LspReferenceText cterm=bold ctermbg=DarkMagenta guibg=LightYellow
- hi LspReferenceWrite cterm=bold ctermbg=DarkMagenta guibg=LightYellow
- augroup lsp_document_highlight
- autocmd! * <buffer>
- autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
- autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
- augroup END
- ]], false)
- end
-end
-
-nvim_lsp.gopls.setup{
- cmd = {'gopls'},
- -- for postfix snippets and analyzers
- capabilities = capabilities,
- settings = {
- gopls = {
- experimentalPostfixCompletions = true,
- analyses = {
- unusedparams = true,
- shadow = true,
- },
- staticcheck = true,
- },
- },
- on_attach = on_attach,
-}
-
- function goimports(timeoutms)
- local context = { source = { organizeImports = true } }
- vim.validate { context = { context, "t", true } }
-
- local params = vim.lsp.util.make_range_params()
- params.context = context
-
- -- See the implementation of the textDocument/codeAction callback
- -- (lua/vim/lsp/handler.lua) for how to do this properly.
- local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params, timeout_ms)
- if not result or next(result) == nil then return end
- local actions = result[1].result
- if not actions then return end
- local action = actions[1]
-
- -- textDocument/codeAction can return either Command[] or CodeAction[]. If it
- -- is a CodeAction, it can have either an edit, a command or both. Edits
- -- should be executed first.
- if action.edit or type(action.command) == "table" then
- if action.edit then
- vim.lsp.util.apply_workspace_edit(action.edit)
- end
- if type(action.command) == "table" then
- vim.lsp.buf.execute_command(action.command)
- end
- else
- vim.lsp.buf.execute_command(action)
- end
- end
-
---vim.lsp.set_log_level("debug") \ No newline at end of file