Update muh editor configs

This commit is contained in:
Gabriel Arazas 2021-11-16 19:55:36 +08:00
parent fb0a118741
commit 9af98f21d2
5 changed files with 538 additions and 124 deletions

View File

@ -17,43 +17,6 @@
(other-window 1)
(org-roam-node-random))
(use-package! org-roam
:hook (org-load . org-roam-mode)
:commands
(org-roam-buffer
org-roam-db-autosync-mode
org-roam-capture
org-roam-node-find)
:preface
(defvar org-roam-directory nil)
(defvar +wiki-directory nil)
:init
(map! :leader
:after org
:map org-roam-dailies-map
(:prefix ("n r" . "org-roam")
:desc "Go to a random node" "r" #'org-roam-node-random
:desc "Go to a random node and split" "R" #'+org-roam-split-to-random-node
:desc "Find node" "f" #'org-roam-node-find
:desc "Org Roam capture" "c" #'org-roam-capture
:desc "Open backlinks buffer" "b" #'org-roam-buffer-toggle
(:prefix ("d" . "dailies")
:desc "Daily note for today" "t" #'org-roam-dailies-goto-today
:desc "Daily note for a specific date" "d" #'org-roam-dailies-goto-date
:desc "Daily note for yesterday" "y" #'org-roam-dailies-goto-yesterday
:desc "Next daily note" "n" #'org-roam-dailies-goto-next-note
:desc "Previous daily note" "N" #'org-roam-dailies-goto-previous-note)))
:config
(setq org-roam-completion-everywhere t
org-roam-directory (file-name-as-directory
(file-truename
(expand-file-name +wiki-directory
org-directory)))
org-roam-dailies-directory (f-join +wiki-directory "daily"))
(org-roam-setup))
(when (featurep! +biblio)
(defvar +wiki-references-filename "references.bib")
(defvar +wiki-bibliography-note-filename "references.org")
@ -64,6 +27,7 @@
"Setup the variables for the wiki config."
(setq +wiki-bibliography-file (f-join +wiki-directory +wiki-references-filename)
+wiki-bibliography-note (f-join +wiki-directory +wiki-bibliography-note-filename)
org-cite-global-bibliography `(,+wiki-bibliography-file)
org-ref-default-bibliography +wiki-bibliography-file
org-ref-bibliography-notes +wiki-bibliography-note
bibtex-completion-bibliography +wiki-bibliography-file
@ -98,16 +62,16 @@
(defvar +wiki-directory nil)
:init
(map! :localleader
:map org-mode-map
:map org-roam-mode-map
(:prefix ("C" . "Anki cards")
"p" #'anki-editor-push-notes
"P" #'+anki-editor-push-all-notes-to-anki
"r" #'anki-editor-retry-failure-notes
"i" #'anki-editor-insert-note
"I" #'anki-editor-cloze-region
"e" #'anki-editor-export-subtree-to-html
"d" #'+anki-editor-reset-note
"D" #'+anki-editor-reset-all-notes))
:desc "Push all cards in current document" :n "p" #'anki-editor-push-notes
:desc "Push all cards in cards directory to Anki" :n "P" #'+anki-editor-push-all-notes-to-anki
:desc "Retry to push failed cards" :n "r" #'anki-editor-retry-failure-notes
:desc "Insert a card in current document" :n "i" #'anki-editor-insert-note
:desc "Create a cloze region" :n "I" #'anki-editor-cloze-region
:desc "Export the subtree as HTML" :n "e" #'anki-editor-export-subtree-to-html
:desc "Remove all anki-editor-related properties in a card" :n "d" #'+anki-editor-reset-note
:desc "Remove all properties in all notes" :n "D" #'+anki-editor-reset-all-notes))
:config
(setq anki-editor-create-decks 't
+anki-cards-directory (f-join +wiki-directory +anki-cards-directory-name))))

View File

@ -3,6 +3,12 @@
(unless (executable-find "sqlite3")
(warn! "Couldn't find SQLite executable."))
(unless (featurep! :lang org)
(warn! "Doom module ':lang org' is not enabled. This is a pointless addition to your configuration WTF"))
(when (featurep! :lang org +roam)
(warn! "org-roam v1 is installed. This module is primarily catered for org-roam v2."))
(when (featurep! +biblio)
(unless (executable-find "anystyle")
(warn! "Couldn't find AnyStyle CLI. The PDF scrapper from org-roam-bibtex will not work."))

View File

@ -25,9 +25,6 @@ require("packer").startup(function()
-- Let the package manager manage itself.
use { "wbthomason/packer.nvim", opt = true }
-- THEMES!
use { "chriskempson/base16-vim" }
-- Custom color themes!
use { "rktjmp/lush.nvim" }
@ -38,14 +35,10 @@ require("packer").startup(function()
use {
"norcalli/nvim-colorizer.lua",
config = function()
require"colorizer".setup()
require("colorizer").setup()
end
}
-- Start flavours
-- Our custom theme
use { "~/.config/nvim/lua/lush_theme/fds-theme.lua" }
-- A snippets engine.
-- One of the must-haves for me.
use {
@ -64,10 +57,27 @@ require("packer").startup(function()
-- Fuzzy finder of lists
use {
"nvim-telescope/telescope.nvim",
"nvim-telescope/telescope.nvim",
config = function()
vim.api.nvim_set_keymap('n', '<leader>ff', '<cmd>Telescope find_files<cr>', { noremap = true })
vim.api.nvim_set_keymap('n', '<leader>fg', '<cmd>Telescope grep_string<cr>', { noremap = true })
vim.api.nvim_set_keymap('n', '<leader>fG', '<cmd>Telescope live_grep<cr>', { noremap = true })
vim.api.nvim_set_keymap('n', '<leader>fb', '<cmd>Telescope buffers<cr>', { noremap = true })
vim.api.nvim_set_keymap('n', '<leader>fh', '<cmd>Telescope help_tags<cr>', { noremap = true })
end,
requires = { {"nvim-lua/popup.nvim"}, {"nvim-lua/plenary.nvim"} }
}
-- Marks in ~~steroids~~ coconut oil
use {
"ThePrimeagen/harpoon",
config = function()
vim.api.nvim_set_keymap("n", "<leader>fm", "<cmd>lua require('harpoon.mark').add_file()<cr>", {})
vim.api.nvim_set_keymap("n", "<leader>fM", "<cmd>lua require('harpoon.ui').toggle_quick_menu()<cr>", {})
end,
requires = { {"nvim-lua/plenary.nvim"} }
}
-- A completion engine.
-- nvim-cmp is mostly explicit by making the configuration process manual unlike bigger plugins like CoC
use {
@ -81,13 +91,18 @@ require("packer").startup(function()
},
config = function()
local cmp = require("cmp")
local t = function(str)
return vim.api.nvim_replace_termcodes(str, true, true, true)
local has_any_words_before = function()
if vim.api.nvim_buf_get_option(0, "buftype") == "prompt" then
return false
end
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
local check_back_space = function()
local col = fn.col(".") - 1
return col == 0 or fn.getline("."):sub(col, col):match("%s") ~= nil
local press = function(key)
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), "n", true)
end
cmp.setup({
@ -109,12 +124,12 @@ require("packer").startup(function()
["<C-Space>"] = cmp.mapping(function(fallback)
if cmp.visible() then
if fn["UltiSnips#CanExpandSnippet"]() == 1 then
return fn.feedkeys(t("<C-R>=UltiSnips#ExpandSnippet()<CR>"))
return press("<C-R>=UltiSnips#ExpandSnippet()<CR>")
end
cmp.select_next_item()
elseif check_back_space() then
fn.feedkeys(t("<cr>"), "n")
elseif has_any_words_before() then
press("<Space>")
else
fallback()
end
@ -124,14 +139,14 @@ require("packer").startup(function()
}),
["<Tab>"] = cmp.mapping(function(fallback)
if fn.complete_info()["selected"] == -1 and fn["UltiSnips#CanExpandSnippet"]() == 1 then
fn.feedkeys(t("<C-R>=UltiSnips#ExpandSnippet()<CR>"))
elseif fn["UltiSnips#CanJumpForwards"]() == 1 then
fn.feedkeys(t("<ESC>:call UltiSnips#JumpForwards()<CR>"))
if cmp.get_selected_entry() == nil and vim.fn["UltiSnips#CanExpandSnippet"]() == 1 then
press("<C-R>=UltiSnips#ExpandSnippet()<CR>")
elseif vim.fn["UltiSnips#CanJumpForwards"]() == 1 then
press("<ESC>:call UltiSnips#JumpForwards()<CR>")
elseif cmp.visible() then
cmp.select_next_item()
elseif check_back_space() then
fn.feedkeys(t("<tab>"), "n")
elseif has_any_words_before() then
press("<Tab>")
else
fallback()
end
@ -142,7 +157,7 @@ require("packer").startup(function()
["<S-Tab>"] = cmp.mapping(function(fallback)
if fn["UltiSnips#CanJumpBackwards"]() == 1 then
return fn.feedkeys(t("<C-R>=UltiSnips#JumpBackwards()<CR>"))
press("<C-R>=UltiSnips#JumpBackwards()<CR>")
elseif cmp.visible() then
cmp.select_previous_item()
else
@ -160,6 +175,7 @@ require("packer").startup(function()
use { "dense-analysis/ale" }
use { "neovim/nvim-lspconfig" }
use { "mfussenegger/nvim-dap" }
use { "puremourning/vimspector" }
-- One of the most popular plugins.
-- Allows to create more substantial status bars.
@ -211,8 +227,6 @@ require("packer").startup(function()
use { "vmchale/dhall-vim" }
end)
-- g['UltiSnipsExpandTrigger'] = "<c-j>"
local t = function(str)
return vim.api.nvim_replace_termcodes(str, true, true, true)
end
@ -258,56 +272,6 @@ map('i', "<Tab>", "v:lua.tab_complete()", { expr = true })
map('s', "<Tab>", "v:lua.tab_complete()", { expr = true })
map('i', "<S-Tab>", "v:lua.s_tab_complete()", { expr = true })
map('s', "<S-Tab>", "v:lua.s_tab_complete()", { expr = true })
map('n', '<leader>ff', '<cmd>Telescope find_files<cr>', { noremap = true })
map('n', '<leader>fg', '<cmd>Telescope grep_string<cr>', { noremap = true })
map('n', '<leader>fG', '<cmd>Telescope live_grep<cr>', { noremap = true })
map('n', '<leader>fb', '<cmd>Telescope buffers<cr>', { noremap = true })
map('n', '<leader>fh', '<cmd>Telescope help_tags<cr>', { noremap = true })
-- LSP config
local nvim_lsp = require('lspconfig')
-- Use an on_attach function to only map the following keys
-- after the language server attaches to the current buffer
local on_attach = function(client, bufnr)
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
-- Enable completion triggered by <c-x><c-o>
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
-- Mappings.
local opts = { noremap=true, silent=true }
-- See `:help vim.lsp.*` for documentation on any of the below functions
buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
end
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
-- Enable the following language servers
local servers = { 'clangd', 'rust_analyzer', 'pyright', 'tsserver' }
for _, lsp in ipairs(servers) do
nvim_lsp[lsp].setup {
on_attach = on_attach,
capabilities = capabilities,
}
end
-- Activating my own modules ala-Doom Emacs.
require('lsp-user-config').setup()

View File

@ -0,0 +1,52 @@
-- LSP config
local nvim_lsp = require('lspconfig')
function setup()
-- Use an on_attach function to only map the following keys
-- after the language server attaches to the current buffer
local on_attach = function(client, bufnr)
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
-- Enable completion triggered by <c-x><c-o>
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
-- Mappings.
local opts = { noremap=true, silent=true }
-- See `:help vim.lsp.*` for documentation on any of the below functions
buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts) buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
end
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
-- Enable the following language servers
local servers = { 'clangd', 'rust_analyzer', 'pyright', 'tsserver' }
for _, lsp in ipairs(servers) do
nvim_lsp[lsp].setup {
on_attach = on_attach,
capabilities = capabilities,
}
end
end
return {
setup = setup,
}

View File

@ -0,0 +1,428 @@
-- CREDITS: pwntester/nautilus.nvim
local lush = require('lush')
local hsl = lush.hsl
--[[
base00 - Default Background
base01 - Lighter Background (Used for status bars)
base02 - Selection Background
base03 - Comments, Invisibles, Line Highlighting
base04 - Dark Foreground (Used for status bars)
base05 - Default Foreground, Caret, Delimiters, Operators
base06 - Light Foreground (Not often used)
base07 - Light Background (Not often used)
base08 - Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
base09 - Integers, Boolean, Constants, XML Attributes, Markup Link Url
base0A - Classes, Markup Bold, Search Text Background
base0B - Strings, Inherited Class, Markup Code, Diff Inserted
base0C - Support, Regular Expressions, Escape Characters, Markup Quotes
base0D - Functions, Methods, Attribute IDs, Headings
base0E - Keywords, Storage, Selector, Markup Italic, Diff Changed
base0F - Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
Alphas are Pantone 534 C = #1B365D
Alphas legends are TU2 = #00a4a9
Modifiers are Pantone 533 C = #1F2A44
Modifiers legends are GMK N6 = #e5a100
Alternate modifiers are GMK N6 = #e5a100
Alternate modifiers legends are Pantone 533 C = #1F2A44
Cello #23395b
Java #02b3af
Orient #005880
Supernova #fbca00
]]--
local base00 = hsl('#2b221f')
local base01 = hsl('#412c26')
local base02 = hsl('#54352c')
local base03 = hsl('#8d5c4c')
local base04 = hsl('#e1bcb2')
local base05 = hsl('#f5ecea')
local base06 = hsl('#fefefe')
local base07 = hsl('#eb8a65')
local base08 = hsl('#d03e68')
local base09 = hsl('#eb914a')
local base0A = hsl('#afa644')
local base0B = hsl('#85b26e')
local base0C = hsl('#df937a')
local base0D = hsl('#a15c40')
local base0E = hsl('#8b7ab9')
local base0F = hsl('#6f3920')
--[[
Define additional colors if defined in the theme. Fallback to base00 - base07
if not defined.
]]
vim.g.terminal_color_0 = base00.hex
vim.g.terminal_color_1 = base08.hex
vim.g.terminal_color_2 = base0B.hex
vim.g.terminal_color_3 = base0A.hex
vim.g.terminal_color_4 = base0D.hex
vim.g.terminal_color_5 = base0E.hex
vim.g.terminal_color_6 = base0C.hex
vim.g.terminal_color_7 = base05.hex
vim.g.terminal_color_8 = base03.hex
vim.g.terminal_color_9 = base08.hex
vim.g.terminal_color_10 = base0B.hex
vim.g.terminal_color_11 = base0A.hex
vim.g.terminal_color_12 = base0D.hex
vim.g.terminal_color_13 = base0E.hex
vim.g.terminal_color_14 = base0C.hex
vim.g.terminal_color_15 = base07.hex
vim.g.terminal_color_background = base00.hex
vim.g.terminal_color_foreground = base0E.hex
return lush(function()
return {
Normal { fg = base05, bg = base00 },
NormalFloat { fg = base05, bg = base01 },
Bold { gui = 'bold' },
Debug { fg = base08 },
Directory { fg = base0D },
Error { fg = base01, bg = base08 },
ErrorMsg { fg = base08 },
Exception { fg = base08 },
FoldColumn { fg = base03 },
Folded { fg = base03, bg = base01 },
Italic { gui = 'italic' },
Macro { fg = base08 },
ModeMsg { fg = base0B },
MoreMsg { fg = base0B },
Question { fg = base0D },
Search { fg = base00, bg = base04 },
IncSearch { fg = base00, bg = base09 },
Substitute { fg = base01, bg = base0A },
SpecialKey { fg = base03 },
TooLong { fg = base08 },
Underlined { fg = base08 },
Visual { bg = base02 },
VisualNOS { fg = base08 },
WarningMsg { fg = base08 },
WildMenu { fg = base08, bg = base0A },
Title { fg = base0D },
Conceal { fg = base0D },
Cursor { fg = base00, bg = base05 },
NonText { fg = base03 },
LineNr { fg = base02, bg = base00 },
LineNrNC { fg = base02, bg = base01 },
SignColumn { fg = base01 },
StatusLine { fg = base02, bg = base01 },
StatusLineNC { fg = base02, bg = base01 },
VertSplit { fg = base02, bg = base00 },
ColorColumn { fg = base01, bg = base01 },
CursorColumn { bg = base01 },
CursorLine { bg = base01 },
CursorLineNr { fg = base0A, bg = base00 },
QuickFixLine { bg = base00 },
QFFileName { fg = base0A },
QFLineNr { fg = base04 },
PMenu { fg = base05, bg = base01 },
PMenuSel { fg = base01, bg = base05 },
TabLineSel { fg = base00, bg = base0A },
TabLine { fg = base03, bg = base00 },
TabLineFill { fg = base03, bg = base00 },
EndOfBuffer { fg = base01 },
-- Standard syntax highlighting
Boolean { fg = base09 },
Character { fg = base08 },
Comment { fg = base03, gui = "italic" },
Conditional { fg = base0E },
Constant { fg = base09 },
Define { fg = base0E },
Delimiter { fg = base0F },
Float { fg = base09 },
Function { fg = base0D },
Identifier { fg = base0A },
Include { fg = base0D },
Keyword { fg = base0E },
Label { fg = base0A },
Number { fg = base03 },
Operator { fg = base03 },
PreProc { fg = base0A },
Repeat { fg = base0A },
Special { fg = base0C },
SpecialChar { fg = base0F },
Statement { fg = base08 },
StorageClass { fg = base0A },
String { fg = base0B },
Structure { fg = base0E },
Tag { fg = base0A },
Todo { fg = base0A, bg = base01 },
Type { fg = base0A },
Typedef { fg = base0A },
---
-- Extra definitions
---
-- Help
HelpDoc { fg = base05, bg = base0D, gui = 'bold,italic' },
HelpIgnore { fg = base0B, gui = 'bold,italic' },
-- C highlighting
cOperator { fg = base0C },
cPreCondit { fg = base0E },
-- C# highlighting
csClass { fg = base0A },
csAttribute { fg = base0A },
csModifier { fg = base0E },
csType { fg = base08 },
csUnspecifiedStatement { fg = base0D },
csContextualStatement { fg = base0E },
csNewDecleration { fg = base08 },
-- CSS highlighting
cssBraces { fg = base05 },
cssClassName { fg = base0E },
cssColor { fg = base0C },
-- Diff highlighting
DiffAdd { fg = base0B, bg = base0B.darken(80) },
DiffAdded { fg = base0B, bg = base0B.darken(80) },
DiffNewFile { fg = base0B, bg = base0B.darken(80) },
DiffDelete { fg = base08, bg = base08.darken(80) },
DiffRemoved { fg = base08, bg = base08.darken(80) },
DiffChange { fg = base03, bg = base03.darken(60) },
DiffFile { fg = base03, bg = base03.darken(60) },
DiffLine { fg = base03, bg = base03.darken(60) },
DiffText { fg = base03, bg = base03.darken(60) },
-- Git highlighting
gitcommitOverflow { fg = base08 },
gitcommitSummary { fg = base0B },
gitcommitComment { fg = base03 },
gitcommitUntracked { fg = base03 },
gitcommitDiscarded { fg = base03 },
gitcommitSelected { fg = base03 },
gitcommitHeader { fg = base0E },
gitcommitSelectedType { fg = base0D },
gitcommitUnmergedType { fg = base0D },
gitcommitDiscardedType { fg = base0D },
gitcommitBranch { fg = base09, gui = 'bold' },
gitcommitUntrackedFile { fg = base0A },
gitcommitUnmergedFile { fg = base08, gui = 'bold' },
gitcommitDiscardedFile { fg = base08, gui = 'bold' },
gitcommitSelectedFile { fg = base0B, gui = 'bold' },
-- GitGutter highlighting
GitGutterAdd { fg = base0B, bg = base01 },
GitGutterChange { fg = base0D, bg = base01 },
GitGutterDelete { fg = base08, bg = base01 },
GitGutterChangeDelete { fg = base0E, bg = base01 },
-- HTML highlighting
htmlBold { fg = base0A },
htmlItalic { fg = base0E },
htmlEndTag { fg = base05 },
htmlTag { fg = base05 },
-- JavaScript highlighting
javaScript { fg = base05 },
javaScriptBraces { fg = base05 },
javaScriptNumber { fg = base09 },
-- pangloss/vim-javascript highlighting
jsOperator { fg = base0D },
jsStatement { fg = base0E },
jsReturn { fg = base0E },
jsThis { fg = base08 },
jsClassDefinition { fg = base0A },
jsFunction { fg = base0E },
jsFuncName { fg = base0D },
jsFuncCall { fg = base0D },
jsClassFuncName { fg = base0D },
jsClassMethodType { fg = base0E },
jsRegexpString { fg = base0C },
jsGlobalObjects { fg = base0A },
jsGlobalNodeObjects { fg = base0A },
jsExceptions { fg = base0A },
jsBuiltins { fg = base0A },
-- Mail highlighting
mailQuoted1 { fg = base0A },
mailQuoted2 { fg = base0B },
mailQuoted3 { fg = base0E },
mailQuoted4 { fg = base0C },
mailQuoted5 { fg = base0D },
mailQuoted6 { fg = base0A },
mailURL { fg = base0D },
mailEmail { fg = base0D },
-- Markdown highlighting
markdownh1 { fg = base0D, gui = 'bold' },
markdownh2 { fg = base0D, gui = 'bold' },
markdownh3 { fg = base0D, gui = 'bold' },
markdownh4 { fg = base0D, gui = 'bold' },
markdownh5 { fg = base0D, gui = 'bold' },
markdownh6 { fg = base0A, gui = 'bold' },
markdownRule { fg = markdownh2.bg, gui = 'bold' },
markdownItalic { fg = base05, gui = 'italic' },
markdownBold { fg = base05, gui = 'bold' },
markdownBoldItalic { fg = base05, gui = 'bold,italic' },
markdownCodeDelimiter { fg = base0B, gui = 'bold' },
markdownCode { fg = base07, bg = base00 },
markdownCodeBlock { fg = base0B },
markdownFootnoteDefinition { fg = base05, gui = 'italic' },
markdownListMarker { fg = base05, gui = 'bold' },
markdownLineBreak { fg = base08, gui = 'underline' },
markdownError { fg = base05, bg = base00 },
markdownHeadingDelimiter { fg = base0D },
markdownUrl { fg = base09 },
markdownFootnote { fg = base0E, gui = 'italic' },
markdownBlockquote { fg = base0C, gui = 'bold' },
markdownLinkText { fg = base08, gui = 'italic' },
-- NERDTree highlighting
NERDTreeDirSlash { fg = base0D },
NERDTreeExecFile { fg = base05 },
-- PHP highlighting
phpMemberSelector { fg = base05 },
phpComparison { fg = base05 },
phpParent { fg = base05 },
phpMethodsVar { fg = base0C },
-- Python highlighting
pythonOperator { fg = base0E },
pythonRepeat { fg = base0E },
pythonInclude { fg = base0E },
pythonStatement { fg = base0E },
-- Ruby highlighting
rubyAttribute { fg = base0D },
rubyConstant { fg = base0A },
rubyInterpolationDelimiter { fg = base0F },
rubyRegexp { fg = base0C },
rubySymbol { fg = base0B },
rubyStringDelimiter { fg = base0B },
-- SASS highlighting
sassidChar { fg = base08 },
sassClassChar { fg = base09 },
sassInclude { fg = base0E },
sassMixing { fg = base0E },
sassMixinName { fg = base0D },
-- Signify highlighting
-- SignifySignAdd { fg = base0B, bg = base00 },
-- SignifySignChange { fg = base03, bg = base00 },
-- SignifySignDelete { fg = base08, bg = base00 },
-- Spelling highlighting
SpellBad { gui = 'undercurl' }, --, base08)
SpellLocal { gui = 'undercurl' }, --, base0C)
SpellCap { gui = 'undercurl' }, --, base0D)
SpellRare { gui = 'undercurl' }, --, base0E)
-- Startify highlighting
StartifyBracket { fg = base03 },
StartifyFile { fg = base07 },
StartifyFooter { fg = base03 },
StartifyHeader { fg = base0B },
StartifyNumber { fg = base09 },
StartifyPath { fg = base03 },
StartifySection { fg = base0E },
StartifySelect { fg = base0C },
StartifySlash { fg = base03 },
StartifySpecial { fg = base03 },
-- Java highlighting
javaOperator { fg = base0D },
-- Vim
-- vimCommand { fg = hue_3, bg = none },
-- vimCommentTitle { fg = mono_3, gui = 'bold' },
-- vimFunction { fg = l.Function, bg = none },
-- vimFuncName { fg = hue_3, bg = none },
-- vimHighlight { fg = hue_2, bg = none },
-- vimLineComment { fg = mono_3, gui = 'italic' },
-- vimParenSep { fg = mono_2 },
-- vimSep { fg = mono_2 },
-- vimUserFunc { fg = hue_1, bg = none },
-- vimUserCommand { fg = hue_1, bg = none },
-- vimVar { fg = hue_5, bg = none },
-- Telescope highlighting
--TelescopeNormal { fg = base05, bg = base00 },
TelescopeNormal { fg = base05, bg = base01 },
TelescopeBorder { fg = base00, bg = base01 },
TelescopePromptPrefix { fg = base0A, bg = base01 },
TelescopeMatching { fg = base0D, bg = base01 },
TelescopeSelection { fg = base0A, bg = base01 },
TelescopeSelectionCaret { fg = base0A, bg = base01 },
--LSP highlighting
LspDiagnosticsDefaultError { fg = base08 },
LspDiagnosticsDefaultWarning { fg = base09 },
LspDiagnosticsDefaultHint { fg = base0A },
LspDiagnosticsDefaultInformation { fg = base0B },
-- XML highlighting
xmlTagName { fg = base0D },
xmlCdatastart { fg = base0A },
xmlEndTag { fg = xmlTagName.bg },
xmlCdataCdata { fg = xmlCdatastart.bg },
-- MatchParen
MatchParen { fg = base07, bg = base08 },
-- CodeQL
CodeqlAstFocus { fg = base00, bg = base03 },
-- TreeSitter
TSError { fg = Error.bg, gui = 'bold' },
TSPunctDelimiter { fg = base05 },
TSPunctBracket { fg = base05 },
TSConstant { fg = Constant.fg },
TSConstBuiltin { fg = Constant.fg },
TSConstMacro { fg = Constant.fg },
TSString { fg = String.fg },
TSStringRegex { fg = base03 },
TSStringEscape { fg = base03 },
TSCharacter { fg = Character.fg },
TSNumber { fg = Number.fg },
TSBoolean { fg = Boolean.fg },
TSFloat { fg = Number.fg },
TSFunction { fg = Function.fg },
TSFuncBuiltin { fg = Function.fg },
TSFuncMacro { fg = Function.fg },
TSParameter { fg = base0D },
TSConstructor { fg = base0E },
TSKeywordFunction { fg = base0E },
TSLiteral { fg = base04, gui = 'bold' },
TSVariable { fg = base03 },
TSVariableBuiltin { fg = base0E },
TSParameterReference { fg = TSParameter.fg },
TSMethod { fg = Function.fg },
TSConditional { fg = Conditional.fg },
TSRepeat { fg = Repeat.fg },
TSLabel { fg = Label.fg },
TSOperator { fg = Operator.fg },
TSKeyword { fg = Keyword.fg },
TSException { fg = Exception.fg },
TSType { fg = Type.fg },
TSTypeBuiltin { fg = Type.fg },
TSStructure { fg = Structure.fg },
TSInclude { fg = Include.fg },
TSAnnotation { fg = base03 },
TSStrong { fg = base05, bg = base00, gui = 'bold' },
TSTitle { fg = base0D },
-- Diff highlighting
GitSignsAdd { fg = base0B, },
GitSignsDelete { fg = base08 },
GitSignsChange { fg = base03 },
-- Indent-Blank-Lines
IndentGuide { fg = base01 },
}
end)