From 4ec198e9de4c29378a9307f739770e71282d5d45 Mon Sep 17 00:00:00 2001 From: Squibid Date: Fri, 30 Dec 2022 12:44:28 -0500 Subject: fix config not working in other dirs. whoops --- core/auto.lua | 79 --------------- core/init.lua | 5 - core/maps.lua | 98 ------------------ core/opts.lua | 167 ------------------------------- core/overrides/cmp.lua | 122 ---------------------- core/overrides/cmpluasnipchoice.lua | 3 - core/overrides/codewindow.lua | 16 --- core/overrides/colorizer.lua | 8 -- core/overrides/indentblankline.lua | 22 ---- core/overrides/init.lua | 17 ---- core/overrides/lspkind.lua | 1 - core/overrides/lspzero.lua | 17 ---- core/overrides/lualine.lua | 119 ---------------------- core/overrides/modicator.lua | 15 --- core/overrides/neoclip.lua | 9 -- core/overrides/neorg.lua | 17 ---- core/overrides/smartsplits.lua | 7 -- core/overrides/telescope.lua | 33 ------ core/overrides/treesitter.lua | 14 --- core/overrides/treesittercontext.lua | 9 -- core/overrides/trouble.lua | 11 -- core/overrides/whichkey.lua | 8 -- core/plugins.lua | 71 ------------- lua/core/auto.lua | 79 +++++++++++++++ lua/core/init.lua | 5 + lua/core/maps.lua | 98 ++++++++++++++++++ lua/core/opts.lua | 167 +++++++++++++++++++++++++++++++ lua/core/overrides/cmp.lua | 122 ++++++++++++++++++++++ lua/core/overrides/cmpluasnipchoice.lua | 3 + lua/core/overrides/codewindow.lua | 16 +++ lua/core/overrides/colorizer.lua | 8 ++ lua/core/overrides/indentblankline.lua | 22 ++++ lua/core/overrides/init.lua | 17 ++++ lua/core/overrides/lspkind.lua | 1 + lua/core/overrides/lspzero.lua | 17 ++++ lua/core/overrides/lualine.lua | 119 ++++++++++++++++++++++ lua/core/overrides/modicator.lua | 15 +++ lua/core/overrides/neoclip.lua | 9 ++ lua/core/overrides/neorg.lua | 17 ++++ lua/core/overrides/smartsplits.lua | 7 ++ lua/core/overrides/telescope.lua | 33 ++++++ lua/core/overrides/treesitter.lua | 14 +++ lua/core/overrides/treesittercontext.lua | 9 ++ lua/core/overrides/trouble.lua | 11 ++ lua/core/overrides/whichkey.lua | 8 ++ lua/core/plugins.lua | 71 +++++++++++++ 46 files changed, 868 insertions(+), 868 deletions(-) delete mode 100644 core/auto.lua delete mode 100644 core/init.lua delete mode 100644 core/maps.lua delete mode 100644 core/opts.lua delete mode 100644 core/overrides/cmp.lua delete mode 100644 core/overrides/cmpluasnipchoice.lua delete mode 100644 core/overrides/codewindow.lua delete mode 100644 core/overrides/colorizer.lua delete mode 100644 core/overrides/indentblankline.lua delete mode 100644 core/overrides/init.lua delete mode 100644 core/overrides/lspkind.lua delete mode 100644 core/overrides/lspzero.lua delete mode 100644 core/overrides/lualine.lua delete mode 100644 core/overrides/modicator.lua delete mode 100644 core/overrides/neoclip.lua delete mode 100644 core/overrides/neorg.lua delete mode 100644 core/overrides/smartsplits.lua delete mode 100644 core/overrides/telescope.lua delete mode 100644 core/overrides/treesitter.lua delete mode 100644 core/overrides/treesittercontext.lua delete mode 100644 core/overrides/trouble.lua delete mode 100644 core/overrides/whichkey.lua delete mode 100644 core/plugins.lua create mode 100644 lua/core/auto.lua create mode 100644 lua/core/init.lua create mode 100644 lua/core/maps.lua create mode 100644 lua/core/opts.lua create mode 100644 lua/core/overrides/cmp.lua create mode 100644 lua/core/overrides/cmpluasnipchoice.lua create mode 100644 lua/core/overrides/codewindow.lua create mode 100644 lua/core/overrides/colorizer.lua create mode 100644 lua/core/overrides/indentblankline.lua create mode 100644 lua/core/overrides/init.lua create mode 100644 lua/core/overrides/lspkind.lua create mode 100644 lua/core/overrides/lspzero.lua create mode 100644 lua/core/overrides/lualine.lua create mode 100644 lua/core/overrides/modicator.lua create mode 100644 lua/core/overrides/neoclip.lua create mode 100644 lua/core/overrides/neorg.lua create mode 100644 lua/core/overrides/smartsplits.lua create mode 100644 lua/core/overrides/telescope.lua create mode 100644 lua/core/overrides/treesitter.lua create mode 100644 lua/core/overrides/treesittercontext.lua create mode 100644 lua/core/overrides/trouble.lua create mode 100644 lua/core/overrides/whichkey.lua create mode 100644 lua/core/plugins.lua diff --git a/core/auto.lua b/core/auto.lua deleted file mode 100644 index 2733b59..0000000 --- a/core/auto.lua +++ /dev/null @@ -1,79 +0,0 @@ -a.nvim_create_augroup('bufcheck', {clear = true}) - --- highlight yanks -a.nvim_create_autocmd('TextYankPost', { - group = 'bufcheck', - pattern = '*', - callback = function() vim.highlight.on_yank{timeout = 250} end -}) - --- start terminal in insert mode -a.nvim_create_autocmd('TermOpen', { - group = 'bufcheck', - pattern = '*', - command = 'startinsert | set winfixheight' -}) - --- close terminal buffers after shell dies -a.nvim_create_autocmd('TermClose', { - group = 'bufcheck', - pattern = 'term://*', - command = 'call nvim_input("")' -}) - --- start git messages in insert mode -a.nvim_create_autocmd('FileType', { - group = 'bufcheck', - pattern = { 'gitcommit', 'gitrebase', }, - command = 'startinsert | 1' -}) - --- return to last place -a.nvim_create_autocmd('BufRead', { - pattern = '*', - command = [[call setpos(".", getpos("'\""))]] -}) - --- disable color column in certain files -a.nvim_create_autocmd('FileType', { - pattern = { - 'netrw', - "help", - "term", - "gitcommit", - "packer", - "vim", - "Trouble", - "norg" - }, - command = 'set colorcolumn=0' -}) - --- disable intent markers in certain files -a.nvim_create_autocmd('FileType', { - pattern = { - 'netrw', - "help", - "term", - "gitcommit", - "packer", - "vim", - "Trouble", - "norg" - }, - command = 'IndentBlanklineDisable' -}) - --- source and compile lua conf when written -local packer_group = a.nvim_create_augroup('Packer', { clear = true }) -vim.api.nvim_create_autocmd('BufWritePost', { - command = 'source | PackerCompile', - group = packer_group, - pattern = vim.fn.expand '$MYVIMRC', -}) - --- telescope preview opts -a.nvim_create_autocmd('User', { - pattern = 'TelescopePreviewerLoaded', - command = 'setlocal number', -}) diff --git a/core/init.lua b/core/init.lua deleted file mode 100644 index 1f484d2..0000000 --- a/core/init.lua +++ /dev/null @@ -1,5 +0,0 @@ -require('core.plugins') -require('core.opts') -require('core.maps') -require('core.auto') -require('core.overrides.init') diff --git a/core/maps.lua b/core/maps.lua deleted file mode 100644 index 457ed98..0000000 --- a/core/maps.lua +++ /dev/null @@ -1,98 +0,0 @@ -local opts = { noremap = true, silent = true } - --- greatest remap ever -a.nvim_set_keymap("n", "p", "\"_dP", opts) - --- open term buffer -a.nvim_set_keymap("n", "to", "vw:term", opts) - --- esc to go to normal mode in term bufers -a.nvim_set_keymap("t", "", "", opts) - --- open Trouble buffer -a.nvim_set_keymap("n", "tt", ":TroubleToggle", opts) - --- open file viewer -a.nvim_set_keymap("n", "fo", ":Ex", opts) -a.nvim_set_keymap("n", "fs", ":Sex", opts) - --- clear search -a.nvim_set_keymap("n", "", ":nohlsearch:echo", opts) - --- move selected text -a.nvim_set_keymap("v", "", ":m '>+1gv=gv", opts) -a.nvim_set_keymap("v", "", ":m '<-2gv=gv", opts) - --- keep cursor middle -a.nvim_set_keymap("n", "", "mzJ`z", opts) -- when combining lines -a.nvim_set_keymap("n", "n", "nzzzv", opts) -- searching -a.nvim_set_keymap("n", "N", "Nzzzv", opts) -a.nvim_set_keymap("n", "", "zz", opts) -- half page jumping -a.nvim_set_keymap("n", "", "zz", opts) - --- execute order 111 -a.nvim_set_keymap("n", "x", "!chmod +x %", opts) - --- resizing splits -a.nvim_set_keymap("n", '', "SmartResizeLeft", opts) -a.nvim_set_keymap("n", '', "SmartResizeDown", opts) -a.nvim_set_keymap("n", '', "SmartResizeUp", opts) -a.nvim_set_keymap("n", '', "SmartResizeRight", opts) - --- don't blame me pls -a.nvim_set_keymap("n", "", ":Gitsigns toggle_current_line_blame", opts) - --- telescope -a.nvim_set_keymap('n', 'sf', 'Telescope find_files', opts) -a.nvim_set_keymap('n', 'sg', 'Telescope git_commits', opts) -a.nvim_set_keymap('n', 'sb', - 'Telescope current_buffer_fuzzy_find', opts) -a.nvim_set_keymap('n', 'so', 'Telescope oldfiles', opts) -a.nvim_set_keymap('n', 'sc', 'Telescope neoclip unnamed', opts) -a.nvim_set_keymap('n', 'su', 'Telescope undo', opts) -a.nvim_set_keymap('n', 'sd', 'Telescope diagnostics', opts) - --- auto comand keybinds --- add some keybinds to the file view -a.nvim_create_autocmd('FileType', { - pattern = 'netrw', - callback = function() - local bind = function(lhs, rhs) - vim.keymap.set('n', lhs, rhs, {remap = true, buffer = true}) - end - bind('h', '-^') -- Go up a directory - bind('l', '') -- Go down a directory / open a file - bind('.', 'gh') -- Toggle dotfiles - bind('P', 'z') -- Close preview window - bind('', 'q') -- Close netrw - end -}) - --- vbox note taking -function _G.Toggle_venn() - local venn_enabled = vim.inspect(vim.b.venn_enabled) - if venn_enabled == "nil" then - vim.b.venn_enabled = true - cmd[[setlocal ve=all]] - - -- draw a line on HJKL keystokes - a.nvim_buf_set_keymap(0, "n", "J", "j:VBox", {noremap = true}) - a.nvim_buf_set_keymap(0, "n", "K", "k:VBox", {noremap = true}) - a.nvim_buf_set_keymap(0, "n", "L", "l:VBox", {noremap = true}) - a.nvim_buf_set_keymap(0, "n", "H", "h:VBox", {noremap = true}) - - -- draw a box by pressing "f" with visual selection - a.nvim_buf_set_keymap(0, "v", "f", ":VBox", {noremap = true}) - -- make easier to navigate - o.cursorcolumn = true - o.colorcolumn = { 0 } - else - cmd[[setlocal ve=]] - cmd[[mapclear ]] - vim.b.venn_enabled = nil - o.cursorcolumn = false - o.colorcolumn = { 80 } - end -end --- toggle keymappings for venn using v -a.nvim_set_keymap('n', 'v', ":lua Toggle_venn()", { noremap = true}) diff --git a/core/opts.lua b/core/opts.lua deleted file mode 100644 index 5f491e1..0000000 --- a/core/opts.lua +++ /dev/null @@ -1,167 +0,0 @@ -o = vim.opt -g = vim.g -a = vim.api -cmd = vim.cmd - -g.mapleader = " " - ---------------- --- better ui -- ---------------- -o.number = true -o.relativenumber = true -o.numberwidth = 2 -- width o numberline -o.signcolumn = 'yes:1' -- show gutter -o.cursorline = true -- highlights the current line -o.scrolloff = 5 -- # lines below/above cursor -o.showmode = false -- stop vim from showing mode -o.cmdheight = 2 -- vim command height -o.mouse = "" -- no mouse - -o.wrap = true -- wrap lines -o.linebreak = true -- fix where line is wraped -o.emoji = false -- something to do with the spacing of emojis -o.clipboard = 'unnamedplus' -- use system clipboard - --- intenting & tabing -o.expandtab = true -o.smarttab = true -o.cindent = true -o.autoindent = true -o.tabstop = 2 -o.shiftwidth = 2 -o.softtabstop = -1 -- If negative, shiftwidth value is used - --- colors -o.termguicolors = true -cmd('colorscheme jellybeans-nvim') - --- diagnostics -vim.diagnostic.config({ - underline = true, - virtual_text = { prefix = '*', }, -}) - -colors = { - black = '#000000', - black2 = '#161616', - black3 = '#0E0E0E', - black4 = '#101010', - grey = '#1E1E1E', - grey2 = '#404040', - white = '#ffffff', - red = '#E06C75', - orange = '#EA936C', - yellow = '#E5C07B', - green = '#98C379', - blue = '#61AFEF', - purple = '#C678DD', -} - --- width line -o.colorcolumn = { 80 } - --- custom opts -copts = { - tablines = 'colored', -- false, 'colored', and 'wrap' - minimapcolor = colors.grey2, -} - ------------- --- saving -- ------------- -o.swapfile = false -o.undofile = true -o.confirm = true - ------------- --- search -- ------------- -o.ignorecase = true -o.smartcase = true -o.wrapscan = true -o.showmatch = true - ----------------- --- wild menus -- ----------------- -o.wildoptions = 'pum' -o.pumblend = 3 -o.pumheight = 20 - -o.wildignorecase = true -o.wildignore = '*.o' - ------------ --- netrw -- ------------ -g.netrw_banner = 0 -g.netrw_localcopydircmd = 'cp -r' -g.netrw_winsize = 30 -g.netrw_liststyle = 1 - ----------------- --- highlights -- ----------------- -a.nvim_set_hl(0, "ColorColumn", { bg = colors.grey }) -- color column -a.nvim_set_hl(0, "Pmenu", { bg = colors.black2 }) -a.nvim_set_hl(0, "PmenuSel", { bg = colors.grey2 }) -a.nvim_set_hl(0, "CursorLineNr", { fg = colors.white, bold = true }) - --- indent line colors -a.nvim_set_hl(0, "IndentBlanklineIndent1", { fg = colors.red } ) -a.nvim_set_hl(0, "IndentBlanklineIndent2", { fg = colors.orange } ) -a.nvim_set_hl(0, "IndentBlanklineIndent3", { fg = colors.yellow } ) -a.nvim_set_hl(0, "IndentBlanklineIndent4", { fg = colors.green } ) -a.nvim_set_hl(0, "IndentBlanklineIndent5", { fg = colors.blue } ) -a.nvim_set_hl(0, "IndentBlanklineIndent6", { fg = colors.purple } ) - --- code window -a.nvim_set_hl(0, 'CodewindowBorder', {fg = copts.minimapcolor}) - --- diagnostics -a.nvim_set_hl(0, "DiagnosticVirtualTextHint", { fg = "#ffffff", bg = "#1E1E1E" }) -a.nvim_set_hl(0, "DiagnosticVirtualTextInfo", { fg = "#006fd8", bg = "#152f47" }) -a.nvim_set_hl(0, "DiagnosticVirtualTextWarn", { fg = "#E9AD5A", bg = "#533221" }) -a.nvim_set_hl(0, "DiagnosticVirtualTextError", - { fg = "#ED3B44", bg = "#4b1313" }) - --- cmp/treesitter stuff -a.nvim_set_hl(0, "CmpItemMenu", { fg = colors.purple, italic = true }) - -a.nvim_set_hl(0, "CmpItemKindSnippet", { bg = "#A377BF", bold = true }) -a.nvim_set_hl(0, "CmpItemKindText", { bg = "#63bc47", bold = true }) -a.nvim_set_hl(0, "CmpItemKindField", { bg = "#db7093", bold = true }) -a.nvim_set_hl(0, "CmpItemKindVariable", { bg = "#ff8c00", bold = true }) -a.nvim_set_hl(0, "CmpItemKindEnum", { bg = "#FF5733", bold = true }) -a.nvim_set_hl(0, "CmpItemKindFunction", { bg = "#483d8b", bold = true }) -a.nvim_set_hl(0, "CmpItemKindKeyword", { bg = "#FF339C", bold = true }) -a.nvim_set_hl(0, "CmpItemKindProperty", { bg = "#4FBF63", bold = true }) -a.nvim_set_hl(0, "CmpItemKindInterface", { bg = "#1e90ff", bold = true }) -a.nvim_set_hl(0, "CmpItemKindClass", { bg = "#4D4C5C", bold = true }) - -a.nvim_set_hl(0, "TreesitterContext", { bg = colors.grey }) - --- telescope -a.nvim_set_hl(0, "TelescopeMatching", { bg = colors.black3 }) -a.nvim_set_hl(0, "TelescopeNormal", { bg = colors.black3 }) - -a.nvim_set_hl(0, "TelescopePreviewBorder", { bg = colors.black3 }) -a.nvim_set_hl(0, "TelescopePreviewNormal", { bg = colors.black3 }) -a.nvim_set_hl(0, "TelescopePreviewTitle", { bg = colors.black3, - fg = colors.black3 }) - -a.nvim_set_hl(0, "TelescopePromptBorder", { bg = colors.black2 }) -a.nvim_set_hl(0, "TelescopePromptNormal", { bg = colors.black2 }) -a.nvim_set_hl(0, "TelescopePromptPrefix", { bg = colors.black2 }) -a.nvim_set_hl(0, "TelescopePromptTitle", { bg = colors.black2, - fg = colors.black2 }) - -a.nvim_set_hl(0, "TelescopeResultsBorder", { bg = colors.black4 }) -a.nvim_set_hl(0, "TelescopeResultsNormal", { bg = colors.black4 }) -a.nvim_set_hl(0, "TelescopeResultsTitle", { bg = colors.black4, - fg = colors.black4 }) - -a.nvim_set_hl(0, "TelescopeSelection", { bg = colors.black2 }) -a.nvim_set_hl(0, "TelescopeSelectionCaret", { bg = colors.black2, - fg = colors.orange, bold = true }) diff --git a/core/overrides/cmp.lua b/core/overrides/cmp.lua deleted file mode 100644 index 2b6a9cd..0000000 --- a/core/overrides/cmp.lua +++ /dev/null @@ -1,122 +0,0 @@ -local has_words_before = function() - unpack = unpack or table.unpack - local line, col = unpack(a.nvim_win_get_cursor(0)) - return col ~= 0 and a.nvim_buf_get_lines(0, line - 1, line, true) - [1]:sub(col, col):match("%s") == nil -end - -local cmp = require('cmp') -local luasnip = require('luasnip') -require("luasnip.loaders.from_vscode").lazy_load() - -cmp.setup { - completion = { autocomplete = false, }, - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - sources = cmp.config.sources({ - { name = 'nvim_lsp', keyword_length = 3 }, - { name = 'luasnip', keyword_length = 3 }, - { name = 'path' }, - { name = 'buffer', keyword_length = 3, max_item_count = 7 }, - { name = 'calc' }, - }), - window = { - completion = { - winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None", - col_offset = -3, - side_padding = 0, - } - }, - formatting = { - fields = { "kind", "abbr", "menu" }, - format = function(entry, vim_item) - local kind_icons = { - Text = 'Tx', - Snippet = '<>', - Method = ' ', - Function = '{}', - Constructor = ' ', - Field = '""', - Variable = 'x=', - Class = '~{', - Interface = '.h', - Module = ' ', - Property = '@p', - Unit = ' ', - Value = ' ', - Enum = 'E#', - Keyword = '$1', - Color = ' ', - File = ' ', - Reference = ' ', - Folder = ' ', - EnumMember = ' ', - Constant = ' ', - Struct = ' ', - Event = ' ', - Operator = ' ', - TypeParameter = ' ', - } - local menu_items = { - buffer = "buffer", - nvim_lsp = "LSP", - luasnip = "luasnip", - nvim_lua = "lua", - calc = "calc", - } - - vim_item.kind = string.format(' %s ', kind_icons[vim_item.kind]) - vim_item.menu = string.format(' (%s)', menu_items[entry.source.name]) - - return vim_item - end - }, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif has_words_before() then - cmp.complete() - else - fallback() - end - end, { "i", "s" }), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { "i", "s" }), - [''] = cmp.mapping.confirm({ select = true }), - [''] = cmp.mapping.close(), - }), - sorting = { - comparators = { - cmp.config.compare.offset, - cmp.config.compare.exact, - cmp.config.compare.score, - require "cmp-under-comparator".under, - cmp.config.compare.kind, - cmp.config.compare.sort_text, - cmp.config.compare.length, - cmp.config.compare.order, - }, - }, - enabled = function() - local context = require 'cmp.config.context' - if a.nvim_get_mode().mode == 'c' then - return true - else - return not context.in_treesitter_capture("comment") - and not context.in_syntax_group("Comment") - end - end -} diff --git a/core/overrides/cmpluasnipchoice.lua b/core/overrides/cmpluasnipchoice.lua deleted file mode 100644 index 52aa759..0000000 --- a/core/overrides/cmpluasnipchoice.lua +++ /dev/null @@ -1,3 +0,0 @@ -require('cmp_luasnip_choice').setup { - auto_open = true, -} diff --git a/core/overrides/codewindow.lua b/core/overrides/codewindow.lua deleted file mode 100644 index cfc4dad..0000000 --- a/core/overrides/codewindow.lua +++ /dev/null @@ -1,16 +0,0 @@ -local codewindow = require('codewindow') -codewindow.setup({ - show_cursor = false, - minimap_width = 15, - window_border = 'single', - exclude_filetypes = { - "netrw", - "help", - "term", - "gitcommit", - "packer", - "vim", - "Trouble", - }, -}) -codewindow.apply_default_keybinds() diff --git a/core/overrides/colorizer.lua b/core/overrides/colorizer.lua deleted file mode 100644 index a18101e..0000000 --- a/core/overrides/colorizer.lua +++ /dev/null @@ -1,8 +0,0 @@ -require('colorizer').setup { - filetypes = { '*' }, - user_default_options = { - names = false, - RRGGBBAA = true, - AARRGGBB = true, - }, -} diff --git a/core/overrides/indentblankline.lua b/core/overrides/indentblankline.lua deleted file mode 100644 index 0e43c22..0000000 --- a/core/overrides/indentblankline.lua +++ /dev/null @@ -1,22 +0,0 @@ -if copts.tablines == 'colored' then - require("indent_blankline").setup { - space_char_blankline = ' ', - char_highlight_list = { - 'IndentBlanklineIndent1', - 'IndentBlanklineIndent2', - 'IndentBlanklineIndent3', - 'IndentBlanklineIndent4', - 'IndentBlanklineIndent5', - 'IndentBlanklineIndent6', - }, - } -elseif copts.tablines == 'wrap' then - o.list = true - require('indent_blankline').setup { - space_char_blankline = ' ', - show_current_context = true, - show_current_context_start = true, - } -else - g.indent_blankline_char = ' ' -end diff --git a/core/overrides/init.lua b/core/overrides/init.lua deleted file mode 100644 index a8d5d89..0000000 --- a/core/overrides/init.lua +++ /dev/null @@ -1,17 +0,0 @@ -require('core.overrides.indentblankline') -require('core.overrides.lualine') -require('core.overrides.telescope') -require('core.overrides.codewindow') -require('core.overrides.modicator') -require('core.overrides.neorg') -require('core.overrides.whichkey') -require('core.overrides.neoclip') -require('core.overrides.smartsplits') -require('core.overrides.treesitter') -require('core.overrides.treesittercontext') -require('core.overrides.colorizer') -require('core.overrides.trouble') -require('core.overrides.lspzero') -require('core.overrides.cmp') -require('core.overrides.lspkind') -require('core.overrides.cmpluasnipchoice') diff --git a/core/overrides/lspkind.lua b/core/overrides/lspkind.lua deleted file mode 100644 index f2f11d5..0000000 --- a/core/overrides/lspkind.lua +++ /dev/null @@ -1 +0,0 @@ -require('lspkind').init() diff --git a/core/overrides/lspzero.lua b/core/overrides/lspzero.lua deleted file mode 100644 index 108e566..0000000 --- a/core/overrides/lspzero.lua +++ /dev/null @@ -1,17 +0,0 @@ -local lsp = require('lsp-zero') -lsp.set_preferences { - suggest_lsp_servers = true, - setup_servers_on_start = true, - set_lsp_keymaps = true, - configure_diagnostics = true, - cmp_capabilities = true, - manage_nvim_cmp = false, - call_servers = 'local', - sign_icons = { - error = 'x', - warn = '!', - hint = '?', - info = 'i' - } -} -lsp.setup() diff --git a/core/overrides/lualine.lua b/core/overrides/lualine.lua deleted file mode 100644 index 21473f9..0000000 --- a/core/overrides/lualine.lua +++ /dev/null @@ -1,119 +0,0 @@ -local custom = require'lualine.themes.auto' - -custom.normal = { - a = { fg = colors.black, bg = colors.blue, gui = 'bold' }, - b = { fg = colors.black, bg = colors.blue, gui = 'bold' }, - c = { fg = colors.white, bg = colors.grey }, - x = {}, - y = { fg = colors.blue, bg = colors.black2 }, - z = { fg = colors.black2, bg = colors.blue, gui = 'bold' }, -} -custom.insert = { - a = { fg = colors.black, bg = colors.green, gui = 'bold' }, - b = { fg = colors.black, bg = colors.green, gui = 'bold' }, - c = { fg = colors.white, bg = colors.grey }, - x = {}, - y = { fg = colors.green, bg = colors.black2 }, - z = { fg = colors.black2, bg = colors.green, gui = 'bold' }, -} -custom.replace = { - a = { fg = colors.black, bg = colors.orange, gui = 'bold' }, - b = { fg = colors.black, bg = colors.orange, gui = 'bold' }, - c = { fg = colors.white, bg = colors.grey }, - x = {}, - y = { fg = colors.orange, bg = colors.black2 }, - z = { fg = colors.black2, bg = colors.orange, gui = 'bold' }, -} -custom.visual = { - a = { fg = colors.black, bg = colors.purple, gui = 'bold' }, - b = { fg = colors.black, bg = colors.purple, gui = 'bold' }, - c = { fg = colors.white, bg = colors.grey }, - x = {}, - y = { fg = colors.purple, bg = colors.black2 }, - z = { fg = colors.black2, bg = colors.purple, gui = 'bold' }, -} -custom.command = { - a = { fg = colors.black, bg = colors.red, gui = 'bold' }, - b = { fg = colors.black, bg = colors.red, gui = 'bold' }, - c = { fg = colors.white, bg = colors.grey }, - x = {}, - y = { fg = colors.red, bg = colors.black2 }, - z = { fg = colors.black2, bg = colors.red, gui = 'bold' }, -} -custom.terminal = { - a = { fg = colors.black, bg = colors.yellow, gui = 'bold' }, - b = { fg = colors.black, bg = colors.yellow, gui = 'bold' }, - c = { fg = colors.white, bg = colors.grey }, - x = {}, - y = { fg = colors.yellow, bg = colors.black2 }, - z = { fg = colors.black2, bg = colors.yellow, gui = 'bold' }, -} -custom.inactive = { - a = { bg = colors.grey }, - b = { bg = colors.grey }, - c = { bg = colors.grey }, - x = { bg = colors.grey }, - y = { bg = colors.grey }, - z = { bg = colors.grey }, -} - -local function diff_source() - local gitsigns = vim.b.gitsigns_status_dict - if gitsigns then - return { - added = gitsigns.added, - modified = gitsigns.changed, - removed = gitsigns.removed - } - end -end - -require('lualine').setup { - options = { - icons_enabled = false, - component_separators = { left = '', right = '' }, - section_separators = { left = '', right = '' }, - theme = custom, - always_divide_middle = false, - globalstatus = false, - refresh = { - statusline = 100, - tabline = 1000, - winbar = 1000, - } - }, - sections = { - lualine_a = {'mode'}, - lualine_b = { - { 'filetype', - color = { fg = colors.white, bg = colors.grey }, - }, - { 'filename', - filestatus = true, - path = 1, - - symbols = { - modified = '[+]', - readonly = '[=]', - unnamed = 'No Name', - newfile = '[New]', - } - } - }, - lualine_c = { { 'diff', source = diff_source } }, - lualine_x = { - { 'fileformat', - color = { gui = 'bold' } - } - }, - lualine_y = {'progress'}, - lualine_z = { - { 'location', - padding = 1, - } - } - }, - inactive_sections = { - lualine_x = {'location'}, - }, -} diff --git a/core/overrides/modicator.lua b/core/overrides/modicator.lua deleted file mode 100644 index 5cc6925..0000000 --- a/core/overrides/modicator.lua +++ /dev/null @@ -1,15 +0,0 @@ -require('modicator').setup { - show_warnings = true, - highlights = { - modes = { - ['i'] = colors.green, - ['v'] = colors.purple, - ['V'] = colors.purple, - ['�'] = colors.purple, - ['s'] = colors.yellow, - ['S'] = colors.yellow, - ['R'] = colors.orange, - ['c'] = colors.red, - } - } -} diff --git a/core/overrides/neoclip.lua b/core/overrides/neoclip.lua deleted file mode 100644 index a41877d..0000000 --- a/core/overrides/neoclip.lua +++ /dev/null @@ -1,9 +0,0 @@ -require('neoclip').setup { - keys = { - telescope = { - i = { - paste_behind = ' ' - }, - }, - }, -} diff --git a/core/overrides/neorg.lua b/core/overrides/neorg.lua deleted file mode 100644 index 8412901..0000000 --- a/core/overrides/neorg.lua +++ /dev/null @@ -1,17 +0,0 @@ -require('neorg').setup { - load = { - ['core.defaults'] = {}, - ['core.norg.concealer'] = { - config = { - dim_code_blocks = { - width = 'content', - padding = { right = 2, }, - }, - folds = false, - } - }, - ['core.norg.completion'] = { - config = { engine = 'nvim-cmp', } - }, - } -} diff --git a/core/overrides/smartsplits.lua b/core/overrides/smartsplits.lua deleted file mode 100644 index 5e677ab..0000000 --- a/core/overrides/smartsplits.lua +++ /dev/null @@ -1,7 +0,0 @@ -require('smart-splits').setup { - resize_mode = { - hooks = { - on_leave = require('bufresize').register - }, - }, -} diff --git a/core/overrides/telescope.lua b/core/overrides/telescope.lua deleted file mode 100644 index 546a33c..0000000 --- a/core/overrides/telescope.lua +++ /dev/null @@ -1,33 +0,0 @@ -local telescope = require('telescope') -local actions = require('telescope.actions') - -telescope.load_extension('undo') -telescope.setup { - defaults = { - borderchars = { " ", " ", " ", " ", " ", " ", " ", " " }, - sorting_strategy = 'ascending', - layout_config = { - height = 0.9, - prompt_position = 'top', - }, - mappings = { - i = { - [''] = 'which_key', - [''] = actions.move_selection_next, - [''] = actions.move_selection_previous, - [''] = actions.select_default, - [''] = actions.preview_scrolling_up, - [''] = actions.preview_scrolling_down, - }, - n = { - ["gg"] = actions.move_to_top, - ["G"] = actions.move_to_bottom, - }, - }, - } -} - -a.nvim_create_autocmd('User', { - pattern = 'TelescopePreviewerLoaded', - command = 'setlocal number', -}) diff --git a/core/overrides/treesitter.lua b/core/overrides/treesitter.lua deleted file mode 100644 index a4d2dfe..0000000 --- a/core/overrides/treesitter.lua +++ /dev/null @@ -1,14 +0,0 @@ -require('nvim-treesitter.configs').setup { - ensure_installed = { 'help', - 'c', - 'lua', - 'norg', - 'bash', - 'html', - 'make', - }, - highlight = { - enable = true, - additional_vim_regex_highlighting = false, - }, -} diff --git a/core/overrides/treesittercontext.lua b/core/overrides/treesittercontext.lua deleted file mode 100644 index 8a60704..0000000 --- a/core/overrides/treesittercontext.lua +++ /dev/null @@ -1,9 +0,0 @@ -require('treesitter-context').setup { - enable = true, - max_lines = 1, - patterns = { - default = { - 'function', - }, - }, -} diff --git a/core/overrides/trouble.lua b/core/overrides/trouble.lua deleted file mode 100644 index eabbd7e..0000000 --- a/core/overrides/trouble.lua +++ /dev/null @@ -1,11 +0,0 @@ -require("trouble").setup { - icons = false, - fold_open = "v", - fold_closed = ">", - signs = { - error = "[x]", - warning = "[!]", - hint = "[?]", - information = "[i]" - }, -} diff --git a/core/overrides/whichkey.lua b/core/overrides/whichkey.lua deleted file mode 100644 index 65b6ca4..0000000 --- a/core/overrides/whichkey.lua +++ /dev/null @@ -1,8 +0,0 @@ -require("which-key").setup { - icons = { - breadcrumb = '>>', - separator = '->', - }, - window = { winblend = 3, }, - layout = { align = 'center', }, -} diff --git a/core/plugins.lua b/core/plugins.lua deleted file mode 100644 index 306d106..0000000 --- a/core/plugins.lua +++ /dev/null @@ -1,71 +0,0 @@ --- make sure lazy is installed -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not vim.loop.fs_stat(lazypath) then - if not vim.loop.fs_stat(lazypath) then - vim.fn.system({ "git", "clone", "--filter=blob:none", - "https://github.com/folke/lazy.nvim.git", lazypath }) - vim.fn.system({ "git", "-C", lazypath, "checkout", "tags/stable" }) - end -end -vim.opt.rtp:prepend(lazypath) - -require('lazy').setup({ - { 'metalelf0/jellybeans-nvim', - dependencies = 'rktjmp/lush.nvim', - lazy = false, - priority = 1000, - }, - { 'lukas-reineke/indent-blankline.nvim' }, - { 'nvim-lualine/lualine.nvim' }, - { 'nvim-telescope/telescope.nvim', - version = '0.1.*', - dependencies = { - 'nvim-lua/plenary.nvim', - 'debugloop/telescope-undo.nvim', - } - }, - { 'gorbit99/codewindow.nvim' }, - { 'melkster/modicator.nvim' }, - { 'numToStr/Comment.nvim', config = true, }, - { 'jbyuki/venn.nvim' }, - { 'nvim-neorg/neorg', - version = '*', - ft = 'norg', - build = ':Neorg sync-parsers', - dependencies = 'nvim-lua/plenary.nvim', - }, - { 'folke/which-key.nvim' }, - { 'AckslD/nvim-neoclip.lua' }, - { 'mrjones2014/smart-splits.nvim', - dependencies = { 'kwkarlwang/bufresize.nvim', config = true, }, - }, - { 'lewis6991/gitsigns.nvim', config = true, }, - { 'chentoast/marks.nvim', config = true, }, - { 'nvim-treesitter/nvim-treesitter', - dependencies = 'nvim-treesitter/nvim-treesitter-context' - }, - { 'nvchad/nvim-colorizer.lua' }, - { 'folke/trouble.nvim' }, - { 'VonHeikemen/lsp-zero.nvim' }, - { 'hrsh7th/nvim-cmp', - dependencies = { - 'hrsh7th/cmp-buffer', - 'hrsh7th/cmp-path', - 'hrsh7th/cmp-calc', - 'saadparwaiz1/cmp_luasnip', - 'hrsh7th/cmp-nvim-lua', - 'hrsh7th/cmp-nvim-lsp', - 'lukas-reineke/cmp-under-comparator', - 'onsails/lspkind.nvim', - }, - }, - { 'L3MON4D3/LuaSnip', - version = 'v1.*', - dependencies = 'rafamadriz/friendly-snippets', - }, - { 'doxnit/cmp-luasnip-choice' }, - { 'neovim/nvim-lspconfig' }, - { 'williamboman/mason.nvim' }, - { 'williamboman/mason-lspconfig.nvim' }, - { 'windwp/nvim-autopairs', config = true, }, -}) diff --git a/lua/core/auto.lua b/lua/core/auto.lua new file mode 100644 index 0000000..2733b59 --- /dev/null +++ b/lua/core/auto.lua @@ -0,0 +1,79 @@ +a.nvim_create_augroup('bufcheck', {clear = true}) + +-- highlight yanks +a.nvim_create_autocmd('TextYankPost', { + group = 'bufcheck', + pattern = '*', + callback = function() vim.highlight.on_yank{timeout = 250} end +}) + +-- start terminal in insert mode +a.nvim_create_autocmd('TermOpen', { + group = 'bufcheck', + pattern = '*', + command = 'startinsert | set winfixheight' +}) + +-- close terminal buffers after shell dies +a.nvim_create_autocmd('TermClose', { + group = 'bufcheck', + pattern = 'term://*', + command = 'call nvim_input("")' +}) + +-- start git messages in insert mode +a.nvim_create_autocmd('FileType', { + group = 'bufcheck', + pattern = { 'gitcommit', 'gitrebase', }, + command = 'startinsert | 1' +}) + +-- return to last place +a.nvim_create_autocmd('BufRead', { + pattern = '*', + command = [[call setpos(".", getpos("'\""))]] +}) + +-- disable color column in certain files +a.nvim_create_autocmd('FileType', { + pattern = { + 'netrw', + "help", + "term", + "gitcommit", + "packer", + "vim", + "Trouble", + "norg" + }, + command = 'set colorcolumn=0' +}) + +-- disable intent markers in certain files +a.nvim_create_autocmd('FileType', { + pattern = { + 'netrw', + "help", + "term", + "gitcommit", + "packer", + "vim", + "Trouble", + "norg" + }, + command = 'IndentBlanklineDisable' +}) + +-- source and compile lua conf when written +local packer_group = a.nvim_create_augroup('Packer', { clear = true }) +vim.api.nvim_create_autocmd('BufWritePost', { + command = 'source | PackerCompile', + group = packer_group, + pattern = vim.fn.expand '$MYVIMRC', +}) + +-- telescope preview opts +a.nvim_create_autocmd('User', { + pattern = 'TelescopePreviewerLoaded', + command = 'setlocal number', +}) diff --git a/lua/core/init.lua b/lua/core/init.lua new file mode 100644 index 0000000..1f484d2 --- /dev/null +++ b/lua/core/init.lua @@ -0,0 +1,5 @@ +require('core.plugins') +require('core.opts') +require('core.maps') +require('core.auto') +require('core.overrides.init') diff --git a/lua/core/maps.lua b/lua/core/maps.lua new file mode 100644 index 0000000..457ed98 --- /dev/null +++ b/lua/core/maps.lua @@ -0,0 +1,98 @@ +local opts = { noremap = true, silent = true } + +-- greatest remap ever +a.nvim_set_keymap("n", "p", "\"_dP", opts) + +-- open term buffer +a.nvim_set_keymap("n", "to", "vw:term", opts) + +-- esc to go to normal mode in term bufers +a.nvim_set_keymap("t", "", "", opts) + +-- open Trouble buffer +a.nvim_set_keymap("n", "tt", ":TroubleToggle", opts) + +-- open file viewer +a.nvim_set_keymap("n", "fo", ":Ex", opts) +a.nvim_set_keymap("n", "fs", ":Sex", opts) + +-- clear search +a.nvim_set_keymap("n", "", ":nohlsearch:echo", opts) + +-- move selected text +a.nvim_set_keymap("v", "", ":m '>+1gv=gv", opts) +a.nvim_set_keymap("v", "", ":m '<-2gv=gv", opts) + +-- keep cursor middle +a.nvim_set_keymap("n", "", "mzJ`z", opts) -- when combining lines +a.nvim_set_keymap("n", "n", "nzzzv", opts) -- searching +a.nvim_set_keymap("n", "N", "Nzzzv", opts) +a.nvim_set_keymap("n", "", "zz", opts) -- half page jumping +a.nvim_set_keymap("n", "", "zz", opts) + +-- execute order 111 +a.nvim_set_keymap("n", "x", "!chmod +x %", opts) + +-- resizing splits +a.nvim_set_keymap("n", '', "SmartResizeLeft", opts) +a.nvim_set_keymap("n", '', "SmartResizeDown", opts) +a.nvim_set_keymap("n", '', "SmartResizeUp", opts) +a.nvim_set_keymap("n", '', "SmartResizeRight", opts) + +-- don't blame me pls +a.nvim_set_keymap("n", "", ":Gitsigns toggle_current_line_blame", opts) + +-- telescope +a.nvim_set_keymap('n', 'sf', 'Telescope find_files', opts) +a.nvim_set_keymap('n', 'sg', 'Telescope git_commits', opts) +a.nvim_set_keymap('n', 'sb', + 'Telescope current_buffer_fuzzy_find', opts) +a.nvim_set_keymap('n', 'so', 'Telescope oldfiles', opts) +a.nvim_set_keymap('n', 'sc', 'Telescope neoclip unnamed', opts) +a.nvim_set_keymap('n', 'su', 'Telescope undo', opts) +a.nvim_set_keymap('n', 'sd', 'Telescope diagnostics', opts) + +-- auto comand keybinds +-- add some keybinds to the file view +a.nvim_create_autocmd('FileType', { + pattern = 'netrw', + callback = function() + local bind = function(lhs, rhs) + vim.keymap.set('n', lhs, rhs, {remap = true, buffer = true}) + end + bind('h', '-^') -- Go up a directory + bind('l', '') -- Go down a directory / open a file + bind('.', 'gh') -- Toggle dotfiles + bind('P', 'z') -- Close preview window + bind('', 'q') -- Close netrw + end +}) + +-- vbox note taking +function _G.Toggle_venn() + local venn_enabled = vim.inspect(vim.b.venn_enabled) + if venn_enabled == "nil" then + vim.b.venn_enabled = true + cmd[[setlocal ve=all]] + + -- draw a line on HJKL keystokes + a.nvim_buf_set_keymap(0, "n", "J", "j:VBox", {noremap = true}) + a.nvim_buf_set_keymap(0, "n", "K", "k:VBox", {noremap = true}) + a.nvim_buf_set_keymap(0, "n", "L", "l:VBox", {noremap = true}) + a.nvim_buf_set_keymap(0, "n", "H", "h:VBox", {noremap = true}) + + -- draw a box by pressing "f" with visual selection + a.nvim_buf_set_keymap(0, "v", "f", ":VBox", {noremap = true}) + -- make easier to navigate + o.cursorcolumn = true + o.colorcolumn = { 0 } + else + cmd[[setlocal ve=]] + cmd[[mapclear ]] + vim.b.venn_enabled = nil + o.cursorcolumn = false + o.colorcolumn = { 80 } + end +end +-- toggle keymappings for venn using v +a.nvim_set_keymap('n', 'v', ":lua Toggle_venn()", { noremap = true}) diff --git a/lua/core/opts.lua b/lua/core/opts.lua new file mode 100644 index 0000000..5f491e1 --- /dev/null +++ b/lua/core/opts.lua @@ -0,0 +1,167 @@ +o = vim.opt +g = vim.g +a = vim.api +cmd = vim.cmd + +g.mapleader = " " + +--------------- +-- better ui -- +--------------- +o.number = true +o.relativenumber = true +o.numberwidth = 2 -- width o numberline +o.signcolumn = 'yes:1' -- show gutter +o.cursorline = true -- highlights the current line +o.scrolloff = 5 -- # lines below/above cursor +o.showmode = false -- stop vim from showing mode +o.cmdheight = 2 -- vim command height +o.mouse = "" -- no mouse + +o.wrap = true -- wrap lines +o.linebreak = true -- fix where line is wraped +o.emoji = false -- something to do with the spacing of emojis +o.clipboard = 'unnamedplus' -- use system clipboard + +-- intenting & tabing +o.expandtab = true +o.smarttab = true +o.cindent = true +o.autoindent = true +o.tabstop = 2 +o.shiftwidth = 2 +o.softtabstop = -1 -- If negative, shiftwidth value is used + +-- colors +o.termguicolors = true +cmd('colorscheme jellybeans-nvim') + +-- diagnostics +vim.diagnostic.config({ + underline = true, + virtual_text = { prefix = '*', }, +}) + +colors = { + black = '#000000', + black2 = '#161616', + black3 = '#0E0E0E', + black4 = '#101010', + grey = '#1E1E1E', + grey2 = '#404040', + white = '#ffffff', + red = '#E06C75', + orange = '#EA936C', + yellow = '#E5C07B', + green = '#98C379', + blue = '#61AFEF', + purple = '#C678DD', +} + +-- width line +o.colorcolumn = { 80 } + +-- custom opts +copts = { + tablines = 'colored', -- false, 'colored', and 'wrap' + minimapcolor = colors.grey2, +} + +------------ +-- saving -- +------------ +o.swapfile = false +o.undofile = true +o.confirm = true + +------------ +-- search -- +------------ +o.ignorecase = true +o.smartcase = true +o.wrapscan = true +o.showmatch = true + +---------------- +-- wild menus -- +---------------- +o.wildoptions = 'pum' +o.pumblend = 3 +o.pumheight = 20 + +o.wildignorecase = true +o.wildignore = '*.o' + +----------- +-- netrw -- +----------- +g.netrw_banner = 0 +g.netrw_localcopydircmd = 'cp -r' +g.netrw_winsize = 30 +g.netrw_liststyle = 1 + +---------------- +-- highlights -- +---------------- +a.nvim_set_hl(0, "ColorColumn", { bg = colors.grey }) -- color column +a.nvim_set_hl(0, "Pmenu", { bg = colors.black2 }) +a.nvim_set_hl(0, "PmenuSel", { bg = colors.grey2 }) +a.nvim_set_hl(0, "CursorLineNr", { fg = colors.white, bold = true }) + +-- indent line colors +a.nvim_set_hl(0, "IndentBlanklineIndent1", { fg = colors.red } ) +a.nvim_set_hl(0, "IndentBlanklineIndent2", { fg = colors.orange } ) +a.nvim_set_hl(0, "IndentBlanklineIndent3", { fg = colors.yellow } ) +a.nvim_set_hl(0, "IndentBlanklineIndent4", { fg = colors.green } ) +a.nvim_set_hl(0, "IndentBlanklineIndent5", { fg = colors.blue } ) +a.nvim_set_hl(0, "IndentBlanklineIndent6", { fg = colors.purple } ) + +-- code window +a.nvim_set_hl(0, 'CodewindowBorder', {fg = copts.minimapcolor}) + +-- diagnostics +a.nvim_set_hl(0, "DiagnosticVirtualTextHint", { fg = "#ffffff", bg = "#1E1E1E" }) +a.nvim_set_hl(0, "DiagnosticVirtualTextInfo", { fg = "#006fd8", bg = "#152f47" }) +a.nvim_set_hl(0, "DiagnosticVirtualTextWarn", { fg = "#E9AD5A", bg = "#533221" }) +a.nvim_set_hl(0, "DiagnosticVirtualTextError", + { fg = "#ED3B44", bg = "#4b1313" }) + +-- cmp/treesitter stuff +a.nvim_set_hl(0, "CmpItemMenu", { fg = colors.purple, italic = true }) + +a.nvim_set_hl(0, "CmpItemKindSnippet", { bg = "#A377BF", bold = true }) +a.nvim_set_hl(0, "CmpItemKindText", { bg = "#63bc47", bold = true }) +a.nvim_set_hl(0, "CmpItemKindField", { bg = "#db7093", bold = true }) +a.nvim_set_hl(0, "CmpItemKindVariable", { bg = "#ff8c00", bold = true }) +a.nvim_set_hl(0, "CmpItemKindEnum", { bg = "#FF5733", bold = true }) +a.nvim_set_hl(0, "CmpItemKindFunction", { bg = "#483d8b", bold = true }) +a.nvim_set_hl(0, "CmpItemKindKeyword", { bg = "#FF339C", bold = true }) +a.nvim_set_hl(0, "CmpItemKindProperty", { bg = "#4FBF63", bold = true }) +a.nvim_set_hl(0, "CmpItemKindInterface", { bg = "#1e90ff", bold = true }) +a.nvim_set_hl(0, "CmpItemKindClass", { bg = "#4D4C5C", bold = true }) + +a.nvim_set_hl(0, "TreesitterContext", { bg = colors.grey }) + +-- telescope +a.nvim_set_hl(0, "TelescopeMatching", { bg = colors.black3 }) +a.nvim_set_hl(0, "TelescopeNormal", { bg = colors.black3 }) + +a.nvim_set_hl(0, "TelescopePreviewBorder", { bg = colors.black3 }) +a.nvim_set_hl(0, "TelescopePreviewNormal", { bg = colors.black3 }) +a.nvim_set_hl(0, "TelescopePreviewTitle", { bg = colors.black3, + fg = colors.black3 }) + +a.nvim_set_hl(0, "TelescopePromptBorder", { bg = colors.black2 }) +a.nvim_set_hl(0, "TelescopePromptNormal", { bg = colors.black2 }) +a.nvim_set_hl(0, "TelescopePromptPrefix", { bg = colors.black2 }) +a.nvim_set_hl(0, "TelescopePromptTitle", { bg = colors.black2, + fg = colors.black2 }) + +a.nvim_set_hl(0, "TelescopeResultsBorder", { bg = colors.black4 }) +a.nvim_set_hl(0, "TelescopeResultsNormal", { bg = colors.black4 }) +a.nvim_set_hl(0, "TelescopeResultsTitle", { bg = colors.black4, + fg = colors.black4 }) + +a.nvim_set_hl(0, "TelescopeSelection", { bg = colors.black2 }) +a.nvim_set_hl(0, "TelescopeSelectionCaret", { bg = colors.black2, + fg = colors.orange, bold = true }) diff --git a/lua/core/overrides/cmp.lua b/lua/core/overrides/cmp.lua new file mode 100644 index 0000000..2b6a9cd --- /dev/null +++ b/lua/core/overrides/cmp.lua @@ -0,0 +1,122 @@ +local has_words_before = function() + unpack = unpack or table.unpack + local line, col = unpack(a.nvim_win_get_cursor(0)) + return col ~= 0 and a.nvim_buf_get_lines(0, line - 1, line, true) + [1]:sub(col, col):match("%s") == nil +end + +local cmp = require('cmp') +local luasnip = require('luasnip') +require("luasnip.loaders.from_vscode").lazy_load() + +cmp.setup { + completion = { autocomplete = false, }, + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, + sources = cmp.config.sources({ + { name = 'nvim_lsp', keyword_length = 3 }, + { name = 'luasnip', keyword_length = 3 }, + { name = 'path' }, + { name = 'buffer', keyword_length = 3, max_item_count = 7 }, + { name = 'calc' }, + }), + window = { + completion = { + winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None", + col_offset = -3, + side_padding = 0, + } + }, + formatting = { + fields = { "kind", "abbr", "menu" }, + format = function(entry, vim_item) + local kind_icons = { + Text = 'Tx', + Snippet = '<>', + Method = ' ', + Function = '{}', + Constructor = ' ', + Field = '""', + Variable = 'x=', + Class = '~{', + Interface = '.h', + Module = ' ', + Property = '@p', + Unit = ' ', + Value = ' ', + Enum = 'E#', + Keyword = '$1', + Color = ' ', + File = ' ', + Reference = ' ', + Folder = ' ', + EnumMember = ' ', + Constant = ' ', + Struct = ' ', + Event = ' ', + Operator = ' ', + TypeParameter = ' ', + } + local menu_items = { + buffer = "buffer", + nvim_lsp = "LSP", + luasnip = "luasnip", + nvim_lua = "lua", + calc = "calc", + } + + vim_item.kind = string.format(' %s ', kind_icons[vim_item.kind]) + vim_item.menu = string.format(' (%s)', menu_items[entry.source.name]) + + return vim_item + end + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + [''] = cmp.mapping.confirm({ select = true }), + [''] = cmp.mapping.close(), + }), + sorting = { + comparators = { + cmp.config.compare.offset, + cmp.config.compare.exact, + cmp.config.compare.score, + require "cmp-under-comparator".under, + cmp.config.compare.kind, + cmp.config.compare.sort_text, + cmp.config.compare.length, + cmp.config.compare.order, + }, + }, + enabled = function() + local context = require 'cmp.config.context' + if a.nvim_get_mode().mode == 'c' then + return true + else + return not context.in_treesitter_capture("comment") + and not context.in_syntax_group("Comment") + end + end +} diff --git a/lua/core/overrides/cmpluasnipchoice.lua b/lua/core/overrides/cmpluasnipchoice.lua new file mode 100644 index 0000000..52aa759 --- /dev/null +++ b/lua/core/overrides/cmpluasnipchoice.lua @@ -0,0 +1,3 @@ +require('cmp_luasnip_choice').setup { + auto_open = true, +} diff --git a/lua/core/overrides/codewindow.lua b/lua/core/overrides/codewindow.lua new file mode 100644 index 0000000..cfc4dad --- /dev/null +++ b/lua/core/overrides/codewindow.lua @@ -0,0 +1,16 @@ +local codewindow = require('codewindow') +codewindow.setup({ + show_cursor = false, + minimap_width = 15, + window_border = 'single', + exclude_filetypes = { + "netrw", + "help", + "term", + "gitcommit", + "packer", + "vim", + "Trouble", + }, +}) +codewindow.apply_default_keybinds() diff --git a/lua/core/overrides/colorizer.lua b/lua/core/overrides/colorizer.lua new file mode 100644 index 0000000..a18101e --- /dev/null +++ b/lua/core/overrides/colorizer.lua @@ -0,0 +1,8 @@ +require('colorizer').setup { + filetypes = { '*' }, + user_default_options = { + names = false, + RRGGBBAA = true, + AARRGGBB = true, + }, +} diff --git a/lua/core/overrides/indentblankline.lua b/lua/core/overrides/indentblankline.lua new file mode 100644 index 0000000..0e43c22 --- /dev/null +++ b/lua/core/overrides/indentblankline.lua @@ -0,0 +1,22 @@ +if copts.tablines == 'colored' then + require("indent_blankline").setup { + space_char_blankline = ' ', + char_highlight_list = { + 'IndentBlanklineIndent1', + 'IndentBlanklineIndent2', + 'IndentBlanklineIndent3', + 'IndentBlanklineIndent4', + 'IndentBlanklineIndent5', + 'IndentBlanklineIndent6', + }, + } +elseif copts.tablines == 'wrap' then + o.list = true + require('indent_blankline').setup { + space_char_blankline = ' ', + show_current_context = true, + show_current_context_start = true, + } +else + g.indent_blankline_char = ' ' +end diff --git a/lua/core/overrides/init.lua b/lua/core/overrides/init.lua new file mode 100644 index 0000000..a8d5d89 --- /dev/null +++ b/lua/core/overrides/init.lua @@ -0,0 +1,17 @@ +require('core.overrides.indentblankline') +require('core.overrides.lualine') +require('core.overrides.telescope') +require('core.overrides.codewindow') +require('core.overrides.modicator') +require('core.overrides.neorg') +require('core.overrides.whichkey') +require('core.overrides.neoclip') +require('core.overrides.smartsplits') +require('core.overrides.treesitter') +require('core.overrides.treesittercontext') +require('core.overrides.colorizer') +require('core.overrides.trouble') +require('core.overrides.lspzero') +require('core.overrides.cmp') +require('core.overrides.lspkind') +require('core.overrides.cmpluasnipchoice') diff --git a/lua/core/overrides/lspkind.lua b/lua/core/overrides/lspkind.lua new file mode 100644 index 0000000..f2f11d5 --- /dev/null +++ b/lua/core/overrides/lspkind.lua @@ -0,0 +1 @@ +require('lspkind').init() diff --git a/lua/core/overrides/lspzero.lua b/lua/core/overrides/lspzero.lua new file mode 100644 index 0000000..108e566 --- /dev/null +++ b/lua/core/overrides/lspzero.lua @@ -0,0 +1,17 @@ +local lsp = require('lsp-zero') +lsp.set_preferences { + suggest_lsp_servers = true, + setup_servers_on_start = true, + set_lsp_keymaps = true, + configure_diagnostics = true, + cmp_capabilities = true, + manage_nvim_cmp = false, + call_servers = 'local', + sign_icons = { + error = 'x', + warn = '!', + hint = '?', + info = 'i' + } +} +lsp.setup() diff --git a/lua/core/overrides/lualine.lua b/lua/core/overrides/lualine.lua new file mode 100644 index 0000000..21473f9 --- /dev/null +++ b/lua/core/overrides/lualine.lua @@ -0,0 +1,119 @@ +local custom = require'lualine.themes.auto' + +custom.normal = { + a = { fg = colors.black, bg = colors.blue, gui = 'bold' }, + b = { fg = colors.black, bg = colors.blue, gui = 'bold' }, + c = { fg = colors.white, bg = colors.grey }, + x = {}, + y = { fg = colors.blue, bg = colors.black2 }, + z = { fg = colors.black2, bg = colors.blue, gui = 'bold' }, +} +custom.insert = { + a = { fg = colors.black, bg = colors.green, gui = 'bold' }, + b = { fg = colors.black, bg = colors.green, gui = 'bold' }, + c = { fg = colors.white, bg = colors.grey }, + x = {}, + y = { fg = colors.green, bg = colors.black2 }, + z = { fg = colors.black2, bg = colors.green, gui = 'bold' }, +} +custom.replace = { + a = { fg = colors.black, bg = colors.orange, gui = 'bold' }, + b = { fg = colors.black, bg = colors.orange, gui = 'bold' }, + c = { fg = colors.white, bg = colors.grey }, + x = {}, + y = { fg = colors.orange, bg = colors.black2 }, + z = { fg = colors.black2, bg = colors.orange, gui = 'bold' }, +} +custom.visual = { + a = { fg = colors.black, bg = colors.purple, gui = 'bold' }, + b = { fg = colors.black, bg = colors.purple, gui = 'bold' }, + c = { fg = colors.white, bg = colors.grey }, + x = {}, + y = { fg = colors.purple, bg = colors.black2 }, + z = { fg = colors.black2, bg = colors.purple, gui = 'bold' }, +} +custom.command = { + a = { fg = colors.black, bg = colors.red, gui = 'bold' }, + b = { fg = colors.black, bg = colors.red, gui = 'bold' }, + c = { fg = colors.white, bg = colors.grey }, + x = {}, + y = { fg = colors.red, bg = colors.black2 }, + z = { fg = colors.black2, bg = colors.red, gui = 'bold' }, +} +custom.terminal = { + a = { fg = colors.black, bg = colors.yellow, gui = 'bold' }, + b = { fg = colors.black, bg = colors.yellow, gui = 'bold' }, + c = { fg = colors.white, bg = colors.grey }, + x = {}, + y = { fg = colors.yellow, bg = colors.black2 }, + z = { fg = colors.black2, bg = colors.yellow, gui = 'bold' }, +} +custom.inactive = { + a = { bg = colors.grey }, + b = { bg = colors.grey }, + c = { bg = colors.grey }, + x = { bg = colors.grey }, + y = { bg = colors.grey }, + z = { bg = colors.grey }, +} + +local function diff_source() + local gitsigns = vim.b.gitsigns_status_dict + if gitsigns then + return { + added = gitsigns.added, + modified = gitsigns.changed, + removed = gitsigns.removed + } + end +end + +require('lualine').setup { + options = { + icons_enabled = false, + component_separators = { left = '', right = '' }, + section_separators = { left = '', right = '' }, + theme = custom, + always_divide_middle = false, + globalstatus = false, + refresh = { + statusline = 100, + tabline = 1000, + winbar = 1000, + } + }, + sections = { + lualine_a = {'mode'}, + lualine_b = { + { 'filetype', + color = { fg = colors.white, bg = colors.grey }, + }, + { 'filename', + filestatus = true, + path = 1, + + symbols = { + modified = '[+]', + readonly = '[=]', + unnamed = 'No Name', + newfile = '[New]', + } + } + }, + lualine_c = { { 'diff', source = diff_source } }, + lualine_x = { + { 'fileformat', + color = { gui = 'bold' } + } + }, + lualine_y = {'progress'}, + lualine_z = { + { 'location', + padding = 1, + } + } + }, + inactive_sections = { + lualine_x = {'location'}, + }, +} diff --git a/lua/core/overrides/modicator.lua b/lua/core/overrides/modicator.lua new file mode 100644 index 0000000..5cc6925 --- /dev/null +++ b/lua/core/overrides/modicator.lua @@ -0,0 +1,15 @@ +require('modicator').setup { + show_warnings = true, + highlights = { + modes = { + ['i'] = colors.green, + ['v'] = colors.purple, + ['V'] = colors.purple, + ['�'] = colors.purple, + ['s'] = colors.yellow, + ['S'] = colors.yellow, + ['R'] = colors.orange, + ['c'] = colors.red, + } + } +} diff --git a/lua/core/overrides/neoclip.lua b/lua/core/overrides/neoclip.lua new file mode 100644 index 0000000..a41877d --- /dev/null +++ b/lua/core/overrides/neoclip.lua @@ -0,0 +1,9 @@ +require('neoclip').setup { + keys = { + telescope = { + i = { + paste_behind = ' ' + }, + }, + }, +} diff --git a/lua/core/overrides/neorg.lua b/lua/core/overrides/neorg.lua new file mode 100644 index 0000000..8412901 --- /dev/null +++ b/lua/core/overrides/neorg.lua @@ -0,0 +1,17 @@ +require('neorg').setup { + load = { + ['core.defaults'] = {}, + ['core.norg.concealer'] = { + config = { + dim_code_blocks = { + width = 'content', + padding = { right = 2, }, + }, + folds = false, + } + }, + ['core.norg.completion'] = { + config = { engine = 'nvim-cmp', } + }, + } +} diff --git a/lua/core/overrides/smartsplits.lua b/lua/core/overrides/smartsplits.lua new file mode 100644 index 0000000..5e677ab --- /dev/null +++ b/lua/core/overrides/smartsplits.lua @@ -0,0 +1,7 @@ +require('smart-splits').setup { + resize_mode = { + hooks = { + on_leave = require('bufresize').register + }, + }, +} diff --git a/lua/core/overrides/telescope.lua b/lua/core/overrides/telescope.lua new file mode 100644 index 0000000..546a33c --- /dev/null +++ b/lua/core/overrides/telescope.lua @@ -0,0 +1,33 @@ +local telescope = require('telescope') +local actions = require('telescope.actions') + +telescope.load_extension('undo') +telescope.setup { + defaults = { + borderchars = { " ", " ", " ", " ", " ", " ", " ", " " }, + sorting_strategy = 'ascending', + layout_config = { + height = 0.9, + prompt_position = 'top', + }, + mappings = { + i = { + [''] = 'which_key', + [''] = actions.move_selection_next, + [''] = actions.move_selection_previous, + [''] = actions.select_default, + [''] = actions.preview_scrolling_up, + [''] = actions.preview_scrolling_down, + }, + n = { + ["gg"] = actions.move_to_top, + ["G"] = actions.move_to_bottom, + }, + }, + } +} + +a.nvim_create_autocmd('User', { + pattern = 'TelescopePreviewerLoaded', + command = 'setlocal number', +}) diff --git a/lua/core/overrides/treesitter.lua b/lua/core/overrides/treesitter.lua new file mode 100644 index 0000000..a4d2dfe --- /dev/null +++ b/lua/core/overrides/treesitter.lua @@ -0,0 +1,14 @@ +require('nvim-treesitter.configs').setup { + ensure_installed = { 'help', + 'c', + 'lua', + 'norg', + 'bash', + 'html', + 'make', + }, + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, +} diff --git a/lua/core/overrides/treesittercontext.lua b/lua/core/overrides/treesittercontext.lua new file mode 100644 index 0000000..8a60704 --- /dev/null +++ b/lua/core/overrides/treesittercontext.lua @@ -0,0 +1,9 @@ +require('treesitter-context').setup { + enable = true, + max_lines = 1, + patterns = { + default = { + 'function', + }, + }, +} diff --git a/lua/core/overrides/trouble.lua b/lua/core/overrides/trouble.lua new file mode 100644 index 0000000..eabbd7e --- /dev/null +++ b/lua/core/overrides/trouble.lua @@ -0,0 +1,11 @@ +require("trouble").setup { + icons = false, + fold_open = "v", + fold_closed = ">", + signs = { + error = "[x]", + warning = "[!]", + hint = "[?]", + information = "[i]" + }, +} diff --git a/lua/core/overrides/whichkey.lua b/lua/core/overrides/whichkey.lua new file mode 100644 index 0000000..65b6ca4 --- /dev/null +++ b/lua/core/overrides/whichkey.lua @@ -0,0 +1,8 @@ +require("which-key").setup { + icons = { + breadcrumb = '>>', + separator = '->', + }, + window = { winblend = 3, }, + layout = { align = 'center', }, +} diff --git a/lua/core/plugins.lua b/lua/core/plugins.lua new file mode 100644 index 0000000..306d106 --- /dev/null +++ b/lua/core/plugins.lua @@ -0,0 +1,71 @@ +-- make sure lazy is installed +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then + if not vim.loop.fs_stat(lazypath) then + vim.fn.system({ "git", "clone", "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", lazypath }) + vim.fn.system({ "git", "-C", lazypath, "checkout", "tags/stable" }) + end +end +vim.opt.rtp:prepend(lazypath) + +require('lazy').setup({ + { 'metalelf0/jellybeans-nvim', + dependencies = 'rktjmp/lush.nvim', + lazy = false, + priority = 1000, + }, + { 'lukas-reineke/indent-blankline.nvim' }, + { 'nvim-lualine/lualine.nvim' }, + { 'nvim-telescope/telescope.nvim', + version = '0.1.*', + dependencies = { + 'nvim-lua/plenary.nvim', + 'debugloop/telescope-undo.nvim', + } + }, + { 'gorbit99/codewindow.nvim' }, + { 'melkster/modicator.nvim' }, + { 'numToStr/Comment.nvim', config = true, }, + { 'jbyuki/venn.nvim' }, + { 'nvim-neorg/neorg', + version = '*', + ft = 'norg', + build = ':Neorg sync-parsers', + dependencies = 'nvim-lua/plenary.nvim', + }, + { 'folke/which-key.nvim' }, + { 'AckslD/nvim-neoclip.lua' }, + { 'mrjones2014/smart-splits.nvim', + dependencies = { 'kwkarlwang/bufresize.nvim', config = true, }, + }, + { 'lewis6991/gitsigns.nvim', config = true, }, + { 'chentoast/marks.nvim', config = true, }, + { 'nvim-treesitter/nvim-treesitter', + dependencies = 'nvim-treesitter/nvim-treesitter-context' + }, + { 'nvchad/nvim-colorizer.lua' }, + { 'folke/trouble.nvim' }, + { 'VonHeikemen/lsp-zero.nvim' }, + { 'hrsh7th/nvim-cmp', + dependencies = { + 'hrsh7th/cmp-buffer', + 'hrsh7th/cmp-path', + 'hrsh7th/cmp-calc', + 'saadparwaiz1/cmp_luasnip', + 'hrsh7th/cmp-nvim-lua', + 'hrsh7th/cmp-nvim-lsp', + 'lukas-reineke/cmp-under-comparator', + 'onsails/lspkind.nvim', + }, + }, + { 'L3MON4D3/LuaSnip', + version = 'v1.*', + dependencies = 'rafamadriz/friendly-snippets', + }, + { 'doxnit/cmp-luasnip-choice' }, + { 'neovim/nvim-lspconfig' }, + { 'williamboman/mason.nvim' }, + { 'williamboman/mason-lspconfig.nvim' }, + { 'windwp/nvim-autopairs', config = true, }, +}) -- cgit v1.2.1