diff options
Diffstat (limited to '.config')
| -rw-r--r-- | .config/alacritty.toml | 40 | ||||
| -rw-r--r-- | .config/nvim/colors/mine.lua | 91 | ||||
| -rw-r--r-- | .config/nvim/colors/mine.vim | 63 | ||||
| -rw-r--r-- | .config/nvim/colors/prismatic.vim | 225 | ||||
| -rw-r--r-- | .config/nvim/colors/some_vscode.vim | 61 | ||||
| -rw-r--r-- | .config/nvim/ftplugin/cs.vim | 3 | ||||
| -rw-r--r-- | .config/nvim/init.lua | 96 | ||||
| -rw-r--r-- | .config/nvim/lua/map.lua | 36 | ||||
| -rw-r--r-- | .config/nvim/lua/opt.lua | 27 | ||||
| -rw-r--r-- | .config/nvim/lua/plugin/init.lua | 3 | ||||
| -rw-r--r-- | .config/nvim/lua/plugin/lsp.lua | 81 | ||||
| -rw-r--r-- | .config/nvim/lua/plugin/packer.lua | 18 | ||||
| -rw-r--r-- | .config/nvim/lua/plugin/setup.lua | 12 |
13 files changed, 224 insertions, 532 deletions
diff --git a/.config/alacritty.toml b/.config/alacritty.toml new file mode 100644 index 0000000..b099eff --- /dev/null +++ b/.config/alacritty.toml @@ -0,0 +1,40 @@ +[window] +dynamic_padding = true +opacity = 1 + +[font] +normal = {family="Maple Mono NF", style="Regular"} +bold = {family="Maple Mono NF", style="Bold"} +italic = {family="Maple Mono NF", style="Italic"} +bold_italic = {family="Maple Mono NF", style="Bold Italic"} +offset.x = 0 +offset.y = 0 +size = 13.5 + +[colors] +draw_bold_text_with_bright_colors = true + +[colors.primary] +foreground = "#FFFFFF" +background = "#1A191C" + +[colors.normal] +black = "#333333" +red = "#990911" +green = "#099911" +yellow = "#CC9900" +blue = "#5511CC" +magenta = "#990966" +cyan = "#0077AA" +white = "#999999" + +[colors.bright] +black = "#666666" +red = "#ff2222" +green = "#22ff44" +yellow = "#ffff00" +blue = "#8833FF" +magenta = "#ff4499" +cyan = "#22ccff" +white = "#FFFFFF" + diff --git a/.config/nvim/colors/mine.lua b/.config/nvim/colors/mine.lua new file mode 100644 index 0000000..e88d74b --- /dev/null +++ b/.config/nvim/colors/mine.lua @@ -0,0 +1,91 @@ +---@diagnostic disable: undefined-global + +vim.cmd("hi clear") + +vim.g.colors_name = "mine" +vim.g.background = "dark" + +local colors = { + ["Terminal"] = {link="Normal"}, + ["TermCursor"] = {link="Cursor"}, + ["TermCursorNC"] = {link="Cursor"}, + ["CurSearch"] = {link="Search"}, + ["CursorLineFold"] = {link="CursorLine"}, + ["CursorLineSign"] = {link="CursorLine"}, + ["MessageWindow"] = {link="Pmenu"}, + ["PopupNotification"] = {link="Todo"}, + ["Character"] = {link="String"}, + ["FloatBorder"] = {link="NormalFloat"}, + ["NormalFloat"] = {link="Normal"}, + + ["ModeMsg"] = {fg="#FF88CC", bold=true}, + ["StatusLine"] = {fg="#000000", bg="#AA66DD"}, + ["StatusLineNC"] = {fg="#FFFFFF"}, + ["ColorColumn"] = {bg="#333333"}, + ["WinSeparator"] = {fg="#222222"}, + ["CursorLine"] = {bg="#222222"}, + ["EndOfBuffer"] = {fg="#222222"}, + ["LineNr"] = {fg="#CCCCCC"}, + ["LineNrAbove"] = {fg="#888888"}, + ["LineNrBelow"] = {fg="#888888"}, + ["MatchParen"] = {fg="#EE66AA", bold=true}, + ["Normal"] = {fg="#AAAAAA", bg="#1A191C"}, + ["Pmenu"] = {fg="#FFFFFF", bg="#333333"}, + ["PmenuSel"] = {fg="#333333", bg="#FFFFFF", bold=true}, + ["Search"] = {fg="#333333", bg="#FFFF88", bold=true}, + ["Visual"] = {bg="#333333"}, + + ["Comment"] = {fg="#777777", italic=true}, + + ["Constant"] = {fg="#44FF99"}, + ["Number"] = {fg="#44FF99"}, + ["String"] = {fg="#FFFF00"}, + ["Boolean"] = {fg="#44FF99"}, + + ["Identifier"] = {fg="#FFFFFF"}, + ["Function"] = {fg="#5599EE"}, + ["Statement"] = {fg="#FF4499"}, + ["Label"] = {fg="#FF9944"}, + + ["Operator"] = {fg="#AAAABB"}, + + ["PreProc"] = {fg="#FF4499"}, + ["Typedef"] = {fg="#997FFF"}, + ["Type"] = {fg="#997FFF"}, + + ["StorageClass"] = {fg="#4499FF"}, + ["Structure"] = {fg="#4499FF"}, + + ["Special"] = {fg="#CCCCDD"}, + ["SpecialChar"] = {fg="#FFFFFF", bold=true}, + + ["Error"] = {fg="#FF4444", bold=true, undercurl=true}, + ["Todo"] = {fg="#FFFFFF", bold=true, undercurl=true}, + ["Added"] = {fg="#44FF44"}, + ["Changed"] = {fg="#FFFF44"}, + ["Removed"] = {fg="#FF4444"}, + + ["@constant.builtin"] = {link="Constant"}, + ["@type.builtin"] = {link="Type"}, + ["@function.builtin"] = {link="Function"}, + ["@attribute.builtin"] = {link="@attribute"}, + + ["@keyword.repeat"] = {fg="#DD66FF"}, + ["@keyword.conditional"] = {fg="#FF66DD"}, + + ["@variable"] = {fg="#CCCCCC"}, + ["@variable.parameter.builtin"] = {link="@variable.builtin"}, + ["@variable.parameter"] = {fg="#CCCCCC", italic=true}, + ["@variable.builtin"] = {fg="#DD66FF", italic=true}, + ["@variable.member"] = {fg="#9999FF"}, + + ["@lsp.type.variable"] = {fg="none"}, + ["@lsp.type.parameter"] = {link="@variable.parameter"}, + ["@lsp.type.enumMember"] = {link="Constant"}, + ["@lsp.typemod.variable.static"] = {link="@lsp.typemod.variable.global"}, + ["@lsp.typemod.variable.global"] = {fg="#FFDD66"}, +} + +for k, v in pairs(colors) do + vim.api.nvim_set_hl(0, k, v) +end diff --git a/.config/nvim/colors/mine.vim b/.config/nvim/colors/mine.vim deleted file mode 100644 index d7d57b2..0000000 --- a/.config/nvim/colors/mine.vim +++ /dev/null @@ -1,63 +0,0 @@ -set background=dark - -hi clear -let g:colors_name = "mine" - -hi! link FloatBorder Normal -hi! link NormalFloat Normal -hi! link Terminal Normal -hi! link TermCursor Cursor -hi! link TermCursorNC Cursor -hi! link CurSearch Search -hi! link CursorLineFold CursorLine -hi! link CursorLineSign CursorLine -hi! link MessageWindow Pmenu -hi! link PopupNotification Todo -hi! link Character String - -hi ColorColumn guifg=#333333 guibg=#333333 gui=NONE -hi WinSeparator guifg=#222222 guibg=NONE gui=NONE -hi CursorLine guifg=NONE guibg=NONE gui=NONE -hi EndOfBuffer guifg=#222222 guibg=NONE gui=NONE -hi SignColumn guifg=NONE guibg=NONE gui=NONE -hi LineNr guifg=#666666 guibg=NONE gui=NONE -hi LineNrAbove guifg=#888888 guibg=NONE gui=NONE -hi LineNrBelow guifg=#888888 guibg=NONE gui=NONE -hi MatchParen guifg=#FFFFFF guibg=#FF0000 gui=bold -hi Normal guifg=#AAAAAA guibg=#1A191C gui=NONE -hi Pmenu guifg=#FFFFFF guibg=#333333 gui=NONE -hi PmenuSel guifg=#333333 guibg=#FFFFFF gui=bold,underdouble -hi Search guifg=#333333 guibg=#FFFF88 gui=bold -hi Visual guifg=NONE guibg=#333333 gui=NONE - -hi Comment guifg=#777777 guibg=NONE gui=NONE - -hi Constant guifg=#44FF99 guibg=NONE gui=NONE -hi Number guifg=#44FF99 guibg=NONE gui=NONE -hi String guifg=#FFFF00 guibg=NONE gui=NONE -hi Boolean guifg=#44FF99 guibg=NONE gui=NONE - -hi Identifier guifg=#FFFFFF guibg=NONE gui=NONE -hi Function guifg=#FF4499 guibg=NONE gui=NONE - -hi Statement guifg=#FF9944 guibg=NONE gui=NONE -hi Label guifg=#FF9944 guibg=NONE gui=NONE -hi Operator guifg=#AAAABB guibg=NONE gui=NONE - -hi PreProc guifg=#FF4499 guibg=NONE gui=NONE - -hi Typedef guifg=#997FFF guibg=NONE gui=NONE -hi Type guifg=#997FFF guibg=NONE gui=NONE -hi StorageClass guifg=#4499FF guibg=NONE gui=NONE -hi Structure guifg=#4499FF guibg=NONE gui=bold - -hi Special guifg=#CCCCDD guibg=NONE gui=NONE -hi SpecialChar guifg=#ffffff guibg=NONE gui=bold - -hi Error guifg=#ff4444 guibg=NONE gui=bold,undercurl - -hi Todo guifg=#ffffff guibg=NONE gui=bold,underline - -hi Added guifg=#44FF44 guibg=NONE gui=NONE -hi Changed guifg=#FFFF44 guibg=NONE gui=NONE -hi Removed guifg=#FF4444 guibg=NONE gui=NONE diff --git a/.config/nvim/colors/prismatic.vim b/.config/nvim/colors/prismatic.vim deleted file mode 100644 index a6fe2e3..0000000 --- a/.config/nvim/colors/prismatic.vim +++ /dev/null @@ -1,225 +0,0 @@ -" ============================================================================== -" Name: One Half Dark -" Author: Son A. Pham <[email protected]> -" Url: https://github.com/sonph/onehalf -" License: The MIT License (MIT) -" -" A dark vim color scheme based on Atom's One. See github.com/sonph/onehalf -" for installation instructions, a light color scheme, versions for other -" editors/terminals, and a matching theme for vim-airline. -" ============================================================================== - -set background=dark -highlight clear -syntax reset - -let g:colors_name="onehalfdark" -let colors_name="onehalfdark" - - -let s:black = { "gui": "#242424", "cterm": "236" } -let s:red = { "gui": "#FF5370", "cterm": "168" } -let s:green = { "gui": "#12C359", "cterm": "114" } -let s:yellow = { "gui": "#FAC863", "cterm": "180" } -let s:blue = { "gui": "#10BAF1", "cterm": "75" } -let s:purple = { "gui": "#EF71D5", "cterm": "176" } -let s:cyan = { "gui": "#56b6c2", "cterm": "73" } -let s:white = { "gui": "#C7C7C7", "cterm": "188" } -let s:pink = { "gui": "#C071EF", "cterm": "176" } - -let s:fg = s:white -let s:bg = s:black - -let s:comment_fg = { "gui": "#65737E", "cterm": "241" } -let s:gutter_bg = { "gui": "#242424", "cterm": "236" } -let s:gutter_fg = { "gui": "#514d4d", "cterm": "237" } -let s:non_text = { "gui": "#373C45", "cterm": "239" } - -let s:cursor_line = { "gui": "#403c3c", "cterm": "237" } -let s:color_col = { "gui": "#403c3c", "cterm": "237" } - -let s:selection = { "gui": "#403c3c", "cterm": "239" } -let s:vertsplit = { "gui": "#403c3c", "cterm": "237" } - - -function! s:h(group, fg, bg, attr) - if type(a:fg) == type({}) - exec "hi " . a:group . " guifg=" . a:fg.gui . " ctermfg=" . a:fg.cterm - else - exec "hi " . a:group . " guifg=NONE cterm=NONE" - endif - if type(a:bg) == type({}) - exec "hi " . a:group . " guibg=" . a:bg.gui . " ctermbg=" . a:bg.cterm - else - exec "hi " . a:group . " guibg=NONE ctermbg=NONE" - endif - if a:attr != "" - exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr - else - exec "hi " . a:group . " gui=NONE cterm=NONE" - endif -endfun - - -" User interface colors { -call s:h("Normal", s:fg, s:bg, "") - -call s:h("Cursor", s:bg, s:blue, "") -call s:h("CursorColumn", "", s:cursor_line, "") -call s:h("CursorLine", "", s:cursor_line, "") - -call s:h("LineNr", s:gutter_fg, s:gutter_bg, "") -call s:h("CursorLineNr", s:fg, "", "") - -call s:h("DiffAdd", s:green, "", "") -call s:h("DiffChange", s:yellow, "", "") -call s:h("DiffDelete", s:red, "", "") -call s:h("DiffText", s:blue, "", "") - -call s:h("IncSearch", s:bg, s:yellow, "") -call s:h("Search", s:bg, s:yellow, "") - -call s:h("ErrorMsg", s:fg, "", "") -call s:h("ModeMsg", s:fg, "", "") -call s:h("MoreMsg", s:fg, "", "") -call s:h("WarningMsg", s:red, "", "") -call s:h("Question", s:purple, "", "") - -call s:h("Pmenu", s:fg, s:bg, "") -call s:h("PmenuSel", s:bg, s:fg, "") -call s:h("PmenuSbar", "", s:selection, "") -call s:h("PmenuThumb", "", s:fg, "") - -call s:h("SpellBad", s:red, "", "") -call s:h("SpellCap", s:yellow, "", "") -call s:h("SpellLocal", s:yellow, "", "") -call s:h("SpellRare", s:yellow, "", "") - -call s:h("StatusLine", s:white, s:cursor_line, "") -call s:h("StatusLineNC", s:white, s:bg, "") -call s:h("TabLine", s:comment_fg, s:cursor_line, "") -call s:h("TabLineFill", s:comment_fg, s:cursor_line, "") -call s:h("TabLineSel", s:fg, s:bg, "") - -call s:h("Visual", "", s:selection, "") -call s:h("VisualNOS", "", s:selection, "") - -call s:h("ColorColumn", "", s:color_col, "") -call s:h("Conceal", s:fg, "", "") -call s:h("Directory", s:blue, "", "") -call s:h("VertSplit", s:vertsplit, s:vertsplit, "") -call s:h("Folded", s:fg, "", "") -call s:h("FoldColumn", s:fg, "", "") -call s:h("SignColumn", s:fg, "", "") - -call s:h("MatchParen", s:blue, "", "underline") -call s:h("SpecialKey", s:fg, "", "") -call s:h("Title", s:green, "", "") -call s:h("WildMenu", s:fg, "", "") -" } - - -" Syntax colors { -" Whitespace is defined in Neovim, not Vim. -" See :help hl-Whitespace and :help hl-SpecialKey -call s:h("Whitespace", s:non_text, "", "") -call s:h("NonText", s:non_text, "", "") -call s:h("Comment", s:comment_fg, "", "italic") -call s:h("Constant", s:cyan, "", "") -call s:h("String", s:yellow, "", "") -call s:h("Character", s:yellow, "", "") -call s:h("Number", s:pink, "", "") -call s:h("Boolean", s:red, "", "") -call s:h("Float", s:pink, "", "") - -call s:h("Identifier", s:red, "", "") -call s:h("Function", s:blue, "", "") -call s:h("Statement", s:purple, "", "") - -call s:h("Conditional", s:purple, "", "") -call s:h("Repeat", s:purple, "", "") -call s:h("Label", s:purple, "", "") -call s:h("Operator", s:fg, "", "") -call s:h("Keyword", s:red, "", "") -call s:h("Exception", s:purple, "", "") - -call s:h("PreProc", s:green, "", "") -call s:h("Include", s:purple, "", "") -call s:h("Define", s:purple, "", "") -call s:h("Macro", s:purple, "", "") -call s:h("PreCondit", s:green, "", "") - -call s:h("Type", s:red, "", "") -call s:h("StorageClass", s:green, "", "") -call s:h("Structure", s:green, "", "") -call s:h("Typedef", s:green, "", "") - -call s:h("Special", s:blue, "", "") -call s:h("SpecialChar", s:fg, "", "") -call s:h("Tag", s:fg, "", "") -call s:h("Delimiter", s:fg, "", "") -call s:h("SpecialComment", s:fg, "", "") -call s:h("Debug", s:fg, "", "") -call s:h("Underlined", s:fg, "", "") -call s:h("Ignore", s:fg, "", "") -call s:h("Error", s:red, s:gutter_bg, "") -call s:h("Todo", s:purple, "", "") -" } - - -" Plugins { -" GitGutter -call s:h("GitGutterAdd", s:green, s:gutter_bg, "") -call s:h("GitGutterDelete", s:red, s:gutter_bg, "") -call s:h("GitGutterChange", s:yellow, s:gutter_bg, "") -call s:h("GitGutterChangeDelete", s:red, s:gutter_bg, "") -" Fugitive -call s:h("diffAdded", s:green, "", "") -call s:h("diffRemoved", s:red, "", "") -" } - - -" Git { -call s:h("gitcommitComment", s:comment_fg, "", "") -call s:h("gitcommitUnmerged", s:red, "", "") -call s:h("gitcommitOnBranch", s:fg, "", "") -call s:h("gitcommitBranch", s:purple, "", "") -call s:h("gitcommitDiscardedType", s:red, "", "") -call s:h("gitcommitSelectedType", s:green, "", "") -call s:h("gitcommitHeader", s:fg, "", "") -call s:h("gitcommitUntrackedFile", s:cyan, "", "") -call s:h("gitcommitDiscardedFile", s:red, "", "") -call s:h("gitcommitSelectedFile", s:green, "", "") -call s:h("gitcommitUnmergedFile", s:yellow, "", "") -call s:h("gitcommitFile", s:fg, "", "") -hi link gitcommitNoBranch gitcommitBranch -hi link gitcommitUntracked gitcommitComment -hi link gitcommitDiscarded gitcommitComment -hi link gitcommitSelected gitcommitComment -hi link gitcommitDiscardedArrow gitcommitDiscardedFile -hi link gitcommitSelectedArrow gitcommitSelectedFile -hi link gitcommitUnmergedArrow gitcommitUnmergedFile -" } - -" Fix colors in neovim terminal buffers { - if has('nvim') - let g:terminal_color_0 = s:black.gui - let g:terminal_color_1 = s:red.gui - let g:terminal_color_2 = s:green.gui - let g:terminal_color_3 = s:yellow.gui - let g:terminal_color_4 = s:blue.gui - let g:terminal_color_5 = s:purple.gui - let g:terminal_color_6 = s:cyan.gui - let g:terminal_color_7 = s:white.gui - let g:terminal_color_8 = s:black.gui - let g:terminal_color_9 = s:red.gui - let g:terminal_color_10 = s:green.gui - let g:terminal_color_11 = s:yellow.gui - let g:terminal_color_12 = s:blue.gui - let g:terminal_color_13 = s:purple.gui - let g:terminal_color_14 = s:cyan.gui - let g:terminal_color_15 = s:white.gui - let g:terminal_color_background = s:bg.gui - let g:terminal_color_foreground = s:fg.gui - endif -" } diff --git a/.config/nvim/colors/some_vscode.vim b/.config/nvim/colors/some_vscode.vim deleted file mode 100644 index 05fe46e..0000000 --- a/.config/nvim/colors/some_vscode.vim +++ /dev/null @@ -1,61 +0,0 @@ -set background=dark - -hi clear -let g:colors_name = "mine" - -hi! link Terminal Normal -hi! link TermCursor Cursor -hi! link TermCursorNC Cursor -hi! link CurSearch Search -hi! link CursorLineFold CursorLine -hi! link CursorLineSign CursorLine -hi! link MessageWindow Pmenu -hi! link PopupNotification Todo -hi! link Character String - -hi ColorColumn guifg=#333333 guibg=#333333 gui=NONE -hi WinSeparator guifg=#222222 guibg=NONE gui=NONE -hi CursorLine guifg=NONE guibg=NONE gui=NONE -hi EndOfBuffer guifg=#222222 guibg=NONE gui=NONE -hi SignColumn guifg=NONE guibg=NONE gui=NONE -hi LineNr guifg=#666666 guibg=NONE gui=NONE -hi LineNrAbove guifg=#888888 guibg=NONE gui=NONE -hi LineNrBelow guifg=#888888 guibg=NONE gui=NONE -hi MatchParen guifg=#FFFFFF guibg=#FF0000 gui=bold -hi Normal guifg=#f8f8f0 guibg=#16171d gui=NONE -hi Pmenu guifg=#FFFFFF guibg=#333333 gui=NONE -hi PmenuSel guifg=#333333 guibg=#FFFFFF gui=bold,underdouble -hi Search guifg=#333333 guibg=#FFFF88 gui=bold,italic -hi Visual guifg=NONE guibg=#333333 gui=NONE - -hi Comment guifg=#777777 guibg=NONE gui=italic - -hi Constant guifg=#81f900 guibg=NONE gui=NONE -hi Number guifg=#e373ce guibg=NONE gui=NONE -hi String guifg=#ffca2e guibg=NONE gui=NONE -hi Boolean guifg=#e373ce guibg=NONE gui=italic - -hi Identifier guifg=#FFFFFF guibg=NONE gui=NONE -hi Function guifg=#81f900 guibg=NONE gui=NONE - -hi Statement guifg=#ff3f3a guibg=NONE gui=NONE -hi Label guifg=#ff3f3a guibg=NONE gui=NONE -hi Operator guifg=#ff3f3a guibg=NONE gui=NONE - -hi PreProc guifg=#81f900 guibg=NONE gui=NONE - -hi Typedef guifg=#00a0e4 guibg=NONE gui=italic -hi Type guifg=#00a0e4 guibg=NONE gui=italic -hi StorageClass guifg=#ff3f3a guibg=NONE gui=italic -hi Structure guifg=#19d1e5 guibg=NONE gui=bold,italic - -hi Special guifg=#CCCCDD guibg=NONE gui=NONE -hi SpecialChar guifg=#e373ce guibg=NONE gui=NONE - -hi Error guifg=#ff4444 guibg=NONE gui=bold,undercurl - -hi Todo guifg=#ffffff guibg=NONE gui=bold,italic,underline - -hi Added guifg=#44FF44 guibg=NONE gui=NONE -hi Changed guifg=#FFFF44 guibg=NONE gui=NONE -hi Removed guifg=#FF4444 guibg=NONE gui=NONE diff --git a/.config/nvim/ftplugin/cs.vim b/.config/nvim/ftplugin/cs.vim deleted file mode 100644 index 2dc3520..0000000 --- a/.config/nvim/ftplugin/cs.vim +++ /dev/null @@ -1,3 +0,0 @@ -set tabstop=4 -set shiftwidth=4 -set expandtab diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 7d4a97f..e993929 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,3 +1,93 @@ -require("opt") -require("map") -require("plugin") +---@diagnostic disable: undefined-global + +vim.o.termguicolors = true +vim.o.relativenumber = true +vim.o.number = true +vim.o.cursorline = true +vim.o.cursorlineopt = "line" +vim.o.cc = "80" +vim.o.swapfile = false +vim.o.splitright = true +vim.o.splitbelow = true +vim.o.winborder = "bold" +vim.o.signcolumn = "yes" +vim.o.guicursor = + "n-v:block,i:ver25,r:hor100,i-r:blinkon100,i-r:blinkoff100,n-v:blinkon0" + +local tabwidth = 2 +vim.o.tabstop = tabwidth +vim.o.softtabstop = tabwidth +vim.o.shiftwidth = tabwidth +vim.o.expandtab = true + +require("packer").startup(function(use) + use {"wbthomason/packer.nvim"} + use {"ibhagwan/fzf-lua"} + use {"stevearc/oil.nvim"} + use {"lewis6991/gitsigns.nvim"} + use {"williamboman/mason.nvim"} + use {"neovim/nvim-lspconfig"} + use {"nvim-treesitter/nvim-treesitter"} +end) + +require("gitsigns").setup({}) +require("mason").setup({}) +require("oil").setup({}) +require("fzf-lua").setup(require("fzf-lua.profiles.telescope")) +require("nvim-treesitter.configs").setup({ + ensure_installed = {"lua", "c"}, + highlight = {enable = true} +}) + +vim.cmd.colorscheme("mine") + +vim.g.mapleader = " " +-- $ is actually so incredibly annoying and I hate it so much ugh +vim.keymap.set({"n", "v", "o"}, "+", "$", {}) +vim.keymap.set({"n", "v"}, "<leader>s", ":noh<CR>", {silent=true}) +vim.keymap.set("n", "<leader>e", ":Oil<CR>", {}) +vim.keymap.set("n", "<C-o>", function() FzfLua.files({}) end, {}) +vim.keymap.set("n", "<C-f>", function() FzfLua.grep() end, {}) + +local function scroll(cmd) + return function() + return math.floor(vim.fn.winheight(0) / 4) .. cmd + end +end +vim.keymap.set("n", "<C-d>", scroll("<C-e>"), {expr=true, noremap=true}) +vim.keymap.set("n", "<C-u>", scroll("<C-y>"), {expr=true, noremap=true}) + +require("lspconfig").lua_ls.setup { + settings = { + Lua = { + runtime = { + version = "LuaJIT" + }, + ["diagnostics.disable"] = { + "lowercase-global", + } + } + } +} + +vim.lsp.enable({"lua_ls", "clangd"}) +vim.api.nvim_create_autocmd("LspAttach", { + callback = function(ev) + local client = vim.lsp.get_client_by_id(ev.data.client_id) + + -- trigger autocomplete on every keystroke + local chars = {} + for i = 32, 126 do + table.insert(chars, string.char(i)) + end + client.server_capabilities.completionProvider.triggerCharacters = chars + + if client:supports_method("textDocument/completion") then + vim.lsp.completion.enable(true, client.id, ev.buf, {autotrigger = true}) + end + end, +}) +vim.cmd("set completeopt+=menu,menuone,noinsert") +vim.diagnostic.config({virtual_text = true}) + + diff --git a/.config/nvim/lua/map.lua b/.config/nvim/lua/map.lua deleted file mode 100644 index b52ad22..0000000 --- a/.config/nvim/lua/map.lua +++ /dev/null @@ -1,36 +0,0 @@ -vim.g.mapleader = " " - -local nv = {"n", "v"} - -vim.keymap.set(nv, "gm", "gM", {}) -vim.keymap.set(nv, "gM", "gMi", {}) - --- Make exiting insert mode in terminal mode easier -vim.keymap.set("t", "<ESC>", "<C-\\><C-n>", {}) - --- Center when moving around at high speeds -vim.keymap.set(nv, "<C-u>", "<C-u>zz", {}) -vim.keymap.set(nv, "<C-d>", "<C-d>zz", {}) -vim.keymap.set(nv, "G", "Gzz", {}) - --- Make going to the end of a line as easy as going to the beginning -vim.keymap.set({"n", "v", "o"}, "+", "$", {}) - --- Yanking and pasting -vim.keymap.set(nv, "<leader>y", "\"+y", {}) -vim.keymap.set(nv, "<leader>p", "\"+p", {}) -vim.keymap.set("x", "p", "\"_dP", {}) -vim.keymap.set("x", "<leader>P", "p", {}) - --- Commands -vim.keymap.set(nv, "<leader>c", "<CMD>set invhlsearch<CR>", {silent=true}) -vim.keymap.set("n", "{", "<CMD>cp<CR>", {silent=true}) -vim.keymap.set("n", "}", "<CMD>cn<CR>", {silent=true}) - --- Common typo with me -vim.api.nvim_create_user_command("W", "w", {bang=true}) -vim.api.nvim_create_user_command("Wa", "wa", {bang=true}) -vim.api.nvim_create_user_command("Wq", "wq", {bang=true}) -vim.api.nvim_create_user_command("Wqa", "wqa", {bang=true}) -vim.api.nvim_create_user_command("Q", "q", {bang=true}) -vim.api.nvim_create_user_command("Qa", "qa", {bang=true}) diff --git a/.config/nvim/lua/opt.lua b/.config/nvim/lua/opt.lua deleted file mode 100644 index 446229d..0000000 --- a/.config/nvim/lua/opt.lua +++ /dev/null @@ -1,27 +0,0 @@ -vim.o.termguicolors = true -vim.o.relativenumber = true -vim.o.number = true -vim.o.cursorline = true -vim.o.cursorlineopt = "line" -vim.o.ignorecase = true -vim.o.smartcase = true -vim.o.mouse = "" -vim.o.cc = "80" -vim.o.splitright = true -vim.o.splitbelow = true -local tabwidth = 2 -vim.o.tabstop = tabwidth -vim.o.softtabstop = tabwidth -vim.o.shiftwidth = tabwidth -vim.o.expandtab = true -vim.o.wrap = false - --- Disable line numbers in terminal -vim.api.nvim_create_autocmd("TermOpen", { - callback = function() - vim.o.number = false - vim.o.relativenumber = false - end, -}) - -vim.cmd.colorscheme("mine") diff --git a/.config/nvim/lua/plugin/init.lua b/.config/nvim/lua/plugin/init.lua deleted file mode 100644 index 4e60f98..0000000 --- a/.config/nvim/lua/plugin/init.lua +++ /dev/null @@ -1,3 +0,0 @@ -require("plugin.packer") -require("plugin.setup") -require("plugin.lsp") diff --git a/.config/nvim/lua/plugin/lsp.lua b/.config/nvim/lua/plugin/lsp.lua deleted file mode 100644 index 50eed85..0000000 --- a/.config/nvim/lua/plugin/lsp.lua +++ /dev/null @@ -1,81 +0,0 @@ -local lspconf = require("lspconfig") -local cmp = require("cmp") -local capabilities = require("cmp_nvim_lsp").default_capabilities() - -vim.opt.signcolumn = "yes" - -local servers = { - ["lua_ls"] = { - settings = { - Lua = { - runtime = { - version = "LuaJIT" - }, - }, - }, - }, - ["clangd"] = {}, -} - -for lsp, conf in pairs(servers) do - conf.capabilities = capabilities - lspconf[lsp].setup(conf) -end - -cmp.setup({ - preselect = "item", - completion = { - completeopt = "menu,menuone,noinsert", - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - formatting = { - fields = { "menu", "abbr", "kind" }, - - format = function(entry, item) - local menu_icon = { - nvim_lsp = "L", - buffer = "B", - path = "P", - nvim_lua = "V", - } - - item.menu = menu_icon[entry.source.name] - - return item - end, - }, - mapping = { - ["<CR>"] = cmp.mapping.confirm({ select = false }), - ["<Tab>"] = cmp.mapping.select_next_item(), - ["<S-Tab>"] = cmp.mapping.select_prev_item(), - }, - sources = { - { name = "path" }, - { name = "nvim_lsp" }, - { name = "buffer", keyword_length = 3 }, - }, -}) - -vim.api.nvim_create_autocmd("LspAttach", { - group = vim.api.nvim_create_augroup("UserLspConfig", {}), - callback = function(ev) - vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc" - local opts = { buffer = ev.buf } - vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts) - vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) - vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts) - vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) - vim.keymap.set("n", "go", vim.lsp.buf.type_definition, opts) - vim.keymap.set("n", "<leader>ls", vim.lsp.buf.signature_help, opts) - vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts) - vim.keymap.set("n", "<leader>h", vim.lsp.buf.hover, opts) - vim.keymap.set({"n", "v"}, "<space>ca", vim.lsp.buf.code_action, opts) - vim.keymap.set("n", "<space>f", - function() - vim.lsp.buf.format({async = true}) - end, opts) - end -}) diff --git a/.config/nvim/lua/plugin/packer.lua b/.config/nvim/lua/plugin/packer.lua deleted file mode 100644 index 359ceab..0000000 --- a/.config/nvim/lua/plugin/packer.lua +++ /dev/null @@ -1,18 +0,0 @@ -return require("packer").startup(function(use) - use {"wbthomason/packer.nvim"} - - use {"ibhagwan/fzf-lua"} - use {"stevearc/oil.nvim"} - - use {"lewis6991/gitsigns.nvim"} - - use {"williamboman/mason.nvim"} - use {"neovim/nvim-lspconfig"} - use {"hrsh7th/nvim-cmp"} - use {"hrsh7th/cmp-buffer"} - use {"hrsh7th/cmp-path"} - use {"hrsh7th/cmp-nvim-lsp"} - use {"hrsh7th/cmp-nvim-lua"} - - use {"michaeljsmith/vim-indent-object"} -end) diff --git a/.config/nvim/lua/plugin/setup.lua b/.config/nvim/lua/plugin/setup.lua deleted file mode 100644 index 7a53c6a..0000000 --- a/.config/nvim/lua/plugin/setup.lua +++ /dev/null @@ -1,12 +0,0 @@ ----@diagnostic disable: undefined-global - -require("gitsigns").setup({}) -require("mason").setup({}) - -require("oil").setup({}) -vim.keymap.set("n", "<leader>e", "<CMD>Oil<CR>", {}) - -require("fzf-lua").setup(require("fzf-lua.profiles.telescope")) -vim.keymap.set("n", "<C-o>", function() FzfLua.files({}) end, {}) - -vim.keymap.set("n", "<C-f>", function() FzfLua.grep() end, {}) |
