aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim')
-rw-r--r--.config/nvim/colors/prismatic.vim225
-rw-r--r--.config/nvim/lua/plugin/lsp.lua9
-rw-r--r--.config/nvim/lua/plugin/setup.lua5
3 files changed, 232 insertions, 7 deletions
diff --git a/.config/nvim/colors/prismatic.vim b/.config/nvim/colors/prismatic.vim
new file mode 100644
index 0000000..797f35b
--- /dev/null
+++ b/.config/nvim/colors/prismatic.vim
@@ -0,0 +1,225 @@
+" ==============================================================================
+" 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 = s:blue
+let s:non_text = { "gui": "#373C45", "cterm": "239" }
+
+let s:cursor_line = { "gui": "#403c3c", "cterm": "237" }
+let s:color_col = { "gui": "#313640", "cterm": "237" }
+
+let s:selection = { "gui": "#403c3c", "cterm": "239" }
+let s:vertsplit = { "gui": "#313640", "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:bg, s:fg, "")
+call s:h("PmenuSel", s:fg, s:blue, "")
+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:blue, s:cursor_line, "")
+call s:h("StatusLineNC", s:comment_fg, s:cursor_line, "")
+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/lua/plugin/lsp.lua b/.config/nvim/lua/plugin/lsp.lua
index 51e116e..e13e54b 100644
--- a/.config/nvim/lua/plugin/lsp.lua
+++ b/.config/nvim/lua/plugin/lsp.lua
@@ -10,6 +10,7 @@ require('mason').setup {}
require('mason-lspconfig').setup {
ensure_installed = {
"lua_ls",
+ "rust_analyzer",
"clangd",
},
handlers = {
@@ -31,12 +32,12 @@ cmp.setup {
lsp.on_attach(function(_, buffer)
local opts = { buffer=buffer, remap=false }
- vim.keymap.set("n", "<leader>ld", function() vim.lsp.buf.definition() end, opts)
- vim.keymap.set("n", "<leader>h", function() vim.lsp.buf.hover() end, opts)
- vim.keymap.set("n", "<leader>la", function() vim.lsp.buf.code_action() end, opts)
+ vim.keymap.set("n", "<leader>ld", function() vim.lsp.buf.definition() end, opts)
+ vim.keymap.set("n", "<leader>h", function() vim.lsp.buf.hover() end, opts)
+ vim.keymap.set("n", "<leader>la", function() vim.lsp.buf.code_action() end, opts)
vim.keymap.set("n", "<leader>lrf", function() vim.lsp.buf.references() end, opts)
vim.keymap.set("n", "<leader>lrn", function() vim.lsp.buf.rename() end, opts)
- vim.keymap.set("n", "<leader>ls", function() vim.lsp.buf.signature_help() end, opts)
+ vim.keymap.set("n", "<leader>ls", function() vim.lsp.buf.signature_help() end, opts)
end)
lsp.setup()
diff --git a/.config/nvim/lua/plugin/setup.lua b/.config/nvim/lua/plugin/setup.lua
index 4e0bf01..6e54dc2 100644
--- a/.config/nvim/lua/plugin/setup.lua
+++ b/.config/nvim/lua/plugin/setup.lua
@@ -31,9 +31,6 @@ require("nvim-treesitter.configs").setup {
additional_vim_regex_highlighting = true,
},
indent = { enable = true },
- rainbow = {
- enable = true,
- }
}
do
@@ -44,3 +41,5 @@ do
builtin.grep_string({ search = vim.fn.input("grep>") })
end)
end
+
+vim.keymap.set("n", "<leader>i", "<CMD>TroubleToggle<CR>")