aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/nvim
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2022-08-16 21:47:23 -0500
committerToby Vincent <tobyv13@gmail.com>2022-08-16 21:47:23 -0500
commita460eeeb81d94e99b37869d09ebcc02dd5123a3d (patch)
tree0795e36473b23a363f5b3a3f34e91c748ee6441e /nvim
parent9d0a83246d1e45f9cade10f382b03bc768786b0d (diff)
feat(nvim): improve colorscheme
Diffstat (limited to 'nvim')
-rw-r--r--nvim/.config/nvim/lua/tobyvin/init.lua5
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins.lua16
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/dap.lua38
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/gruvbox-flat.lua41
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua41
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/transparent.lua30
6 files changed, 121 insertions, 50 deletions
diff --git a/nvim/.config/nvim/lua/tobyvin/init.lua b/nvim/.config/nvim/lua/tobyvin/init.lua
index 4eb863c..07900a6 100644
--- a/nvim/.config/nvim/lua/tobyvin/init.lua
+++ b/nvim/.config/nvim/lua/tobyvin/init.lua
@@ -1,11 +1,6 @@
local M = {}
M.setup = function()
- -- load = function(module)
- -- package.loaded[module] = nil
- -- return require(module)
- -- end
-
require("tobyvin.options").setup()
require("tobyvin.autocmds").setup()
require("tobyvin.keymaps").setup()
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins.lua b/nvim/.config/nvim/lua/tobyvin/plugins.lua
index a8f6cd8..2540d4e 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins.lua
@@ -38,13 +38,19 @@ M.plugins = function(use)
-- TODO: implement custom hls using base-16-gruvbox and remove this
use({
"eddyekofo94/gruvbox-flat.nvim",
- requires = { "xiyaowong/nvim-transparent" },
config = function()
require("tobyvin.plugins.gruvbox-flat").setup()
end,
})
use({
+ "xiyaowong/nvim-transparent",
+ config = function()
+ require("tobyvin.plugins.transparent").setup()
+ end,
+ })
+
+ use({
"rmagatti/auto-session",
config = function()
require("auto-session").setup({
@@ -415,7 +421,13 @@ M.plugins = function(use)
use("nacro90/numb.nvim")
use("ThePrimeagen/harpoon")
use("b0o/SchemaStore.nvim")
- use("ggandor/lightspeed.nvim")
+
+ use({
+ "ggandor/leap.nvim",
+ config = function()
+ require("leap").set_default_keymaps()
+ end,
+ })
use({
"ur4ltz/surround.nvim",
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/dap.lua b/nvim/.config/nvim/lua/tobyvin/plugins/dap.lua
index 87a3f37..b38f074 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/dap.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/dap.lua
@@ -4,6 +4,33 @@ local M = {
dapui_tab = nil,
}
+M.highlights = function()
+ local ns_id = 0
+ -- nvim-dap
+ vim.api.nvim_set_hl(ns_id, "DapBreakpoint", { link = "debugBreakpoint" })
+ vim.api.nvim_set_hl(ns_id, "DapStopped", { link = "debugPC" })
+
+ -- nvim-dap-ui
+ vim.api.nvim_set_hl(ns_id, "DapUIVariable", { link = "TSVariable" })
+ vim.api.nvim_set_hl(ns_id, "DapUIScope", { link = "TSNamespace" })
+ vim.api.nvim_set_hl(ns_id, "DapUIType", { link = "Type" })
+ vim.api.nvim_set_hl(ns_id, "DapUIModifiedValue", { link = "Keyword" })
+ vim.api.nvim_set_hl(ns_id, "DapUIDecoration", { link = "PreProc" })
+ vim.api.nvim_set_hl(ns_id, "DapUIThread", { link = "String" })
+ vim.api.nvim_set_hl(ns_id, "DapUIStoppedThread", { link = "Special" })
+ vim.api.nvim_set_hl(ns_id, "DapUIFrameName", { link = "Normal" })
+ vim.api.nvim_set_hl(ns_id, "DapUISource", { link = "TSKeyword" })
+ vim.api.nvim_set_hl(ns_id, "DapUILineNumber", { link = "TSOperator" })
+ vim.api.nvim_set_hl(ns_id, "DapUIFloatBorder", { link = "FloatBorder" })
+ vim.api.nvim_set_hl(ns_id, "DapUIWatchesEmpty", { link = "LspDiagnosticsError" })
+ vim.api.nvim_set_hl(ns_id, "DapUIWatchesValue", { link = "String" })
+ vim.api.nvim_set_hl(ns_id, "DapUIWatchesError", { link = "LspDiagnosticsError" })
+ vim.api.nvim_set_hl(ns_id, "DapUIBreakpointsPath", { link = "Keyword" })
+ vim.api.nvim_set_hl(ns_id, "DapUIBreakpointsInfo", { link = "LspDiagnosticsInfo" })
+ vim.api.nvim_set_hl(ns_id, "DapUIBreakpointsCurrentLine", { link = "DapStopped" })
+ vim.api.nvim_set_hl(ns_id, "DapUIBreakpointsLine", { link = "DapUILineNumber" })
+end
+
M.set_custom_breakpoint = function()
vim.ui.input({ prompt = "Condition: " }, function(condition)
vim.ui.input({ prompt = "Hit condition: " }, function(hit_condition)
@@ -73,10 +100,11 @@ M.progress_start = function(session, body)
hide_from_history = false,
})
+ ---@diagnostic disable-next-line: redundant-value
notif_data.notification.spinner = 1, utils.update_spinner("dap", body.progressId)
end
-M.progress_update = function(session, body)
+M.progress_update = function(_, body)
local notif_data = utils.get_notif_data("dap", body.progressId)
notif_data.notification = vim.notify(utils.format_message(body.message, body.percentage), "info", {
replace = notif_data.notification,
@@ -84,7 +112,7 @@ M.progress_update = function(session, body)
})
end
-M.progress_end = function(session, body)
+M.progress_end = function(_, body)
local notif_data = utils.client_notifs["dap"][body.progressId]
notif_data.notification = vim.notify(body.message and utils.format_message(body.message) or "Complete", "info", {
icon = utils.signs.complete.text,
@@ -183,7 +211,7 @@ M.setup = function()
require("dap-go").setup()
-- Virtual text
- require("nvim-dap-virtual-text").setup()
+ require("nvim-dap-virtual-text").setup({})
-- DAPUI
require("dapui").setup()
@@ -230,6 +258,10 @@ M.setup = function()
nmap("e", M.eval, { desc = "Eval" })
+ vim.api.nvim_create_autocmd("ColorScheme", {
+ callback = M.highlights,
+ })
+
-- Signs
vim.fn.sign_define("DapBreakpoint", utils.debug_signs.breakpoint)
vim.fn.sign_define("DapBreakpointCondition", utils.debug_signs.condition)
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox-flat.lua b/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox-flat.lua
index 9ba6f32..6fa37b7 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox-flat.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox-flat.lua
@@ -1,56 +1,17 @@
----@diagnostic disable: undefined-field
local M = {}
M.setup = function()
vim.opt.background = "dark"
vim.g.gruvbox_flat_style = "hard"
+ vim.g.gruvbox_transparent = true
- local colors = require("gruvbox.colors").setup({})
local theme = require("gruvbox.theme").setup({})
- vim.g.gruvbox_colors = { bg_statusline = "none" }
vim.g.gruvbox_theme = {
debugBreakpoint = { bg = theme.base.SignColumn.bg, fg = "error" },
}
vim.cmd([[colorscheme gruvbox-flat]])
-
- local ns_id = vim.api.nvim_create_namespace("gruvbox")
-
- -- TODO: figure out why these highlights are not being used
- -- Transparent
- vim.api.nvim_set_hl(ns_id, "NormalFloat", { fg = colors.fg, bg = colors.bg_float, sp = "none" })
- vim.api.nvim_set_hl(ns_id, "SignColumn", { fg = colors.fg_gutter, bg = colors.bg, sp = "none" })
- vim.api.nvim_set_hl(ns_id, "Normal", { fg = colors.fg, bg = colors.bg, sp = "none" })
- vim.api.nvim_set_hl(ns_id, "NormalNC", { fg = colors.fg, bg = colors.bg, sp = "none" })
-
- -- nvim-dap
- vim.api.nvim_set_hl(ns_id, "DapBreakpoint", { link = "debugBreakpoint" })
- vim.api.nvim_set_hl(ns_id, "DapStopped", { link = "debugPC" })
-
- -- nvim-dap-ui
- vim.api.nvim_set_hl(ns_id, "DapUIVariable", { link = "TSVariable" })
- vim.api.nvim_set_hl(ns_id, "DapUIScope", { link = "TSNamespace" })
- vim.api.nvim_set_hl(ns_id, "DapUIType", { link = "Type" })
- vim.api.nvim_set_hl(ns_id, "DapUIModifiedValue", { link = "Keyword" })
- vim.api.nvim_set_hl(ns_id, "DapUIDecoration", { link = "PreProc" })
- vim.api.nvim_set_hl(ns_id, "DapUIThread", { link = "String" })
- vim.api.nvim_set_hl(ns_id, "DapUIStoppedThread", { link = "Special" })
- vim.api.nvim_set_hl(ns_id, "DapUIFrameName", { link = "Normal" })
- vim.api.nvim_set_hl(ns_id, "DapUISource", { link = "TSKeyword" })
- vim.api.nvim_set_hl(ns_id, "DapUILineNumber", { link = "TSOperator" })
- vim.api.nvim_set_hl(ns_id, "DapUIFloatBorder", { link = "FloatBorder" })
- vim.api.nvim_set_hl(ns_id, "DapUIWatchesEmpty", { link = "LspDiagnosticsError" })
- vim.api.nvim_set_hl(ns_id, "DapUIWatchesValue", { link = "String" })
- vim.api.nvim_set_hl(ns_id, "DapUIWatchesError", { link = "LspDiagnosticsError" })
- vim.api.nvim_set_hl(ns_id, "DapUIBreakpointsPath", { link = "Keyword" })
- vim.api.nvim_set_hl(ns_id, "DapUIBreakpointsInfo", { link = "LspDiagnosticsInfo" })
- vim.api.nvim_set_hl(ns_id, "DapUIBreakpointsCurrentLine", { link = "DapStopped" })
- vim.api.nvim_set_hl(ns_id, "DapUIBreakpointsLine", { link = "DapUILineNumber" })
-
- require("transparent").setup({
- enable = true,
- })
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua b/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua
index 41022b0..9b21349 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua
@@ -16,6 +16,46 @@ M.diff_source = function()
end
end
+M.theme = function()
+ local config = require("gruvbox.config")
+ local colors = require("gruvbox.colors").setup(config)
+
+ local theme = {
+ normal = {
+ a = { bg = colors.info, fg = colors.black },
+ b = { bg = colors.bg_highlight, fg = colors.info },
+ c = { bg = "none", fg = colors.fg_sidebar, gui = "none" },
+ },
+
+ insert = {
+ a = { bg = colors.gitSigns.add, fg = colors.black },
+ b = { bg = colors.bg_highlight, fg = colors.gitSigns.add },
+ },
+ command = {
+ a = { bg = colors.warning, fg = colors.black },
+ b = { bg = colors.bg_highlight, fg = colors.warning },
+ },
+
+ visual = {
+ a = { bg = colors.warning, fg = colors.black },
+ b = { bg = colors.bg_highlight, fg = colors.warning },
+ },
+
+ replace = {
+ a = { bg = colors.error, fg = colors.black },
+ b = { bg = colors.bg_highlight, fg = colors.error },
+ },
+
+ inactive = {
+ a = { bg = "none", fg = colors.info, gui = "none" },
+ b = { bg = "none", fg = colors.comment, gui = "none" },
+ c = { bg = "none", fg = colors.comment, gui = "none" },
+ },
+ }
+
+ return theme
+end
+
M.setup = function()
local status_ok, lualine = pcall(require, "lualine")
if not status_ok then
@@ -101,6 +141,7 @@ M.setup = function()
lualine.setup({
options = {
+ theme = M.theme(),
refresh = {
statusline = 200,
},
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/transparent.lua b/nvim/.config/nvim/lua/tobyvin/plugins/transparent.lua
new file mode 100644
index 0000000..4a6de02
--- /dev/null
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/transparent.lua
@@ -0,0 +1,30 @@
+local M = {}
+
+M.highlights = function()
+ require("transparent").setup({
+ enable = true,
+ extra_groups = {
+ "Normal",
+ "NormalNC",
+ "StatusLine",
+ "StatusLineNC",
+ "WhichKeyFloat",
+ "CursorLine",
+ "ColorColumn",
+ },
+ })
+end
+
+M.setup = function()
+ local status_ok, _ = pcall(require, "transparent")
+ if not status_ok then
+ vim.notify("failed to load module 'transparent'", "error")
+ return
+ end
+
+ vim.api.nvim_create_autocmd("ColorScheme", {
+ callback = M.highlights,
+ })
+end
+
+return M