summaryrefslogtreecommitdiff
path: root/config/nvim
diff options
context:
space:
mode:
author2025-12-03 14:04:47 +0300
committer2025-12-03 14:04:47 +0300
commit7f94d67cce04305bf374ffc4d608a0584f266bae (patch)
tree52e90e58342951282e5063c59f0597d9f2e75dff /config/nvim
parentНебольшие апдейты (diff)
downloaddotfiles-7f94d67cce04305bf374ffc4d608a0584f266bae.tar.gz
dotfiles-7f94d67cce04305bf374ffc4d608a0584f266bae.tar.bz2
dotfiles-7f94d67cce04305bf374ffc4d608a0584f266bae.tar.xz
dotfiles-7f94d67cce04305bf374ffc4d608a0584f266bae.zip
03.12.25
Diffstat (limited to 'config/nvim')
-rw-r--r--config/nvim/after/queries/bash/highlights.scm8
-rw-r--r--config/nvim/after/queries/c/highlights.scm34
-rw-r--r--config/nvim/after/queries/c_sharp/highlights.scm15
-rw-r--r--config/nvim/after/queries/clojure/highlights.scm32
-rw-r--r--config/nvim/after/queries/commonlisp/highlights.scm6
-rw-r--r--config/nvim/after/queries/cpp/highlights.scm81
-rw-r--r--config/nvim/after/queries/fennel/highlights.scm23
-rw-r--r--config/nvim/after/queries/fish/highlights.scm16
-rw-r--r--config/nvim/after/queries/go/highlights.scm15
-rw-r--r--config/nvim/after/queries/hare/highlights.scm8
-rw-r--r--config/nvim/after/queries/java/highlights.scm11
-rw-r--r--config/nvim/after/queries/javascript/highlights.scm7
-rw-r--r--config/nvim/after/queries/json/highlights.scm6
-rw-r--r--config/nvim/after/queries/kotlin/highlights.scm24
-rw-r--r--config/nvim/after/queries/lua/highlights.scm27
-rw-r--r--config/nvim/after/queries/python/highlights.scm13
-rw-r--r--config/nvim/after/queries/rust/highlights.scm53
-rw-r--r--config/nvim/after/queries/scala/highlights.scm20
-rw-r--r--config/nvim/after/queries/typescript/highlights.scm20
-rw-r--r--config/nvim/after/queries/vim/highlights.scm12
-rw-r--r--config/nvim/after/queries/zig/highlights.scm5
-rw-r--r--config/nvim/lazy-lock.json8
-rw-r--r--config/nvim/lua/keymaps.lua7
-rw-r--r--config/nvim/lua/options.lua4
-rw-r--r--config/nvim/lua/plugins.lua8
-rw-r--r--config/nvim/lua/plugins/codecompanion.lua18
-rw-r--r--config/nvim/lua/plugins/conform.lua1
-rw-r--r--config/nvim/lua/plugins/dap_go.lua104
-rw-r--r--config/nvim/lua/plugins/dapui.lua1
-rw-r--r--config/nvim/lua/theme/alabaster.lua45
-rw-r--r--config/nvim/lua/theme/asset/hsv-to-rgb.lua29
-rw-r--r--config/nvim/lua/theme/colors.lua871
32 files changed, 1311 insertions, 221 deletions
diff --git a/config/nvim/after/queries/bash/highlights.scm b/config/nvim/after/queries/bash/highlights.scm
new file mode 100644
index 0000000..027baed
--- /dev/null
+++ b/config/nvim/after/queries/bash/highlights.scm
@@ -0,0 +1,8 @@
+;; vim: ft=query
+;; extends
+
+(function_definition
+ name: (word) @AlabasterDefinition)
+
+((program . (comment) @AlabasterHashbang)
+ (#match? @AlabasterHashbang "^#!/"))
diff --git a/config/nvim/after/queries/c/highlights.scm b/config/nvim/after/queries/c/highlights.scm
new file mode 100644
index 0000000..ddf4ab4
--- /dev/null
+++ b/config/nvim/after/queries/c/highlights.scm
@@ -0,0 +1,34 @@
+;; vim: ft=query
+;; extends
+
+(function_declarator
+ declarator: (identifier) @AlabasterDefinition)
+(preproc_function_def
+ name: (identifier) @AlabasterDefinition)
+
+(type_definition
+ type: (struct_specifier
+ name: (type_identifier) @AlabasterDefinition)
+ declarator: (type_identifier) @AlabasterDefinition)
+
+(type_definition
+ type: (struct_specifier)
+ declarator: (type_identifier) @AlabasterDefinition)
+
+(type_definition
+ type: (enum_specifier)
+ declarator: (type_identifier) @AlabasterDefinition)
+
+(struct_specifier
+ name: (type_identifier) @AlabasterDefinition)
+
+(declaration
+ type: (struct_specifier
+ name: (type_identifier) @AlabasterBase))
+
+(enum_specifier
+ name: (type_identifier) @AlabasterDefinition)
+
+(declaration
+ type: (enum_specifier
+ name: (type_identifier) @AlabasterBase))
diff --git a/config/nvim/after/queries/c_sharp/highlights.scm b/config/nvim/after/queries/c_sharp/highlights.scm
new file mode 100644
index 0000000..7658863
--- /dev/null
+++ b/config/nvim/after/queries/c_sharp/highlights.scm
@@ -0,0 +1,15 @@
+;; vim: ft=query
+;; extends
+
+(type_declaration
+ name: (identifier) @AlabasterDefinition)
+(constructor_declaration
+ name: (identifier) @AlabasterDefinition)
+(destructor_declaration
+ name: (identifier) @AlabasterDefinition)
+(method_declaration
+ name: (identifier) @AlabasterDefinition)
+(property_declaration
+ name: (identifier) @AlabasterDefinition)
+(namespace_declaration
+ name: (identifier) @AlabasterDefinition)
diff --git a/config/nvim/after/queries/clojure/highlights.scm b/config/nvim/after/queries/clojure/highlights.scm
new file mode 100644
index 0000000..3b586cd
--- /dev/null
+++ b/config/nvim/after/queries/clojure/highlights.scm
@@ -0,0 +1,32 @@
+;; extends
+(list_lit
+ value: (sym_lit) @_keyword.function
+ (#any-of? @_keyword.function "fn" "fn*" "defn" "defn-")
+ value: (sym_lit)? @AlabasterDefinition
+ value: (vec_lit)
+ (str_lit)? @comment)
+
+(list_lit
+ value: (sym_lit) @_keyword.function
+ (#any-of? @_keyword.function "fn" "fn*" "defn" "defn-")
+ value: (sym_lit)? @AlabasterDefinition
+ value: (list_lit))
+
+(list_lit
+ value: (sym_lit) @_keyword.function
+ (#eq? @_keyword.function "defmacro")
+ value: (sym_lit)? @AlabasterDefinition
+ value: (vec_lit)
+ (str_lit)? @comment)
+
+(list_lit
+ value: (sym_lit) @_include
+ (#eq? @_include "ns")
+ value: (sym_lit) @AlabasterDefinition)
+
+(list_lit
+ value: (kwd_lit) @AlabasterConstant)
+(vec_lit
+ value: (kwd_lit) @AlabasterConstant)
+(map_lit
+ value: (kwd_lit) @AlabasterConstant)
diff --git a/config/nvim/after/queries/commonlisp/highlights.scm b/config/nvim/after/queries/commonlisp/highlights.scm
new file mode 100644
index 0000000..0e83a9c
--- /dev/null
+++ b/config/nvim/after/queries/commonlisp/highlights.scm
@@ -0,0 +1,6 @@
+;; vim: ft=query
+;; extends
+
+(defun
+ (defun_header
+ function_name: (sym_lit) @AlabasterDefinition))
diff --git a/config/nvim/after/queries/cpp/highlights.scm b/config/nvim/after/queries/cpp/highlights.scm
new file mode 100644
index 0000000..db787e9
--- /dev/null
+++ b/config/nvim/after/queries/cpp/highlights.scm
@@ -0,0 +1,81 @@
+;; vim: ft=query
+;; extends
+
+(function_declarator
+ declarator: (qualified_identifier
+ name: (identifier) @AlabasterDefinition))
+
+;; TODO there's probably a lot of duplicates here
+
+(function_definition
+ declarator: (function_declarator
+ declarator: (destructor_name (identifier) @AlabasterDefinition)))
+
+(function_definition
+ declarator: (function_declarator
+ declarator: (field_identifier) @AlabasterDefinition))
+
+(function_definition
+ declarator: (function_declarator
+ declarator: (qualified_identifier
+ name: (destructor_name
+ (identifier) @AlabasterDefinition))))
+
+(declaration
+ declarator: (function_declarator
+ declarator:
+ (destructor_name (identifier) @AlabasterDefinition)))
+
+(field_declaration
+ declarator: (function_declarator
+ declarator: (field_identifier) @AlabasterDefinition))
+
+(field_declaration
+ declarator: (pointer_declarator
+ declarator: (function_declarator
+ declarator:
+ (field_identifier) @AlabasterDefinition)))
+
+(function_declarator
+ declarator: (field_identifier) @AlabasterDefinition)
+
+(function_declarator
+ declarator: (qualified_identifier
+ name: (identifier) @AlabasterDefinition))
+(function_declarator
+ declarator: (qualified_identifier
+ name: (qualified_identifier
+ name: (identifier) @AlabasterDefinition)))
+((function_declarator
+ declarator: (qualified_identifier
+ name: (identifier) @AlabasterDefinition))
+ (#lua-match? @AlabasterDefinition "^[A-Z]"))
+
+(labeled_statement
+ label: (statement_identifier) @AlabasterDefinition)
+
+(type_definition
+ declarator: (type_identifier) @AlabasterDefinition)
+
+(preproc_def
+ name: (identifier) @AlabasterDefinition)
+
+(class_specifier
+ name: (type_identifier) @AlabasterDefinition)
+
+(struct_specifier
+ name: (type_identifier) @AlabasterDefinition)
+
+(struct_specifier
+ name: (type_identifier) @AlabasterDefinition)
+
+(declaration
+ type: (struct_specifier
+ name: (type_identifier) @AlabasterBase))
+
+(enum_specifier
+ name: (type_identifier) @AlabasterDefinition)
+
+(declaration
+ type: (enum_specifier
+ name: (type_identifier) @AlabasterBase))
diff --git a/config/nvim/after/queries/fennel/highlights.scm b/config/nvim/after/queries/fennel/highlights.scm
new file mode 100644
index 0000000..c172336
--- /dev/null
+++ b/config/nvim/after/queries/fennel/highlights.scm
@@ -0,0 +1,23 @@
+;; vim: ft=query
+;; extends
+
+; (fn
+; name: (symbol) @AlabasterDefinition)
+; ; TODO: add this when https://github.com/nvim-treesitter/nvim-treesitter/issues/1788 is fixed
+; ; docstring: (string)? @AlabasterComment
+; (fn
+; name: (multi_symbol (symbol) @AlabasterDefinition))
+
+; (global
+; (binding
+; (symbol) @AlabasterDefinition))
+
+(list
+ (symbol) @function.macro
+ (#match? @function.macro "^macro$")
+ (symbol) @AlabasterDefinition)
+
+
+; ((program . (hashfn) @AlabasterHashbang)
+; (#match? @AlabasterHashbang "^#!/")
+; (#set! "priority" 101))
diff --git a/config/nvim/after/queries/fish/highlights.scm b/config/nvim/after/queries/fish/highlights.scm
new file mode 100644
index 0000000..d23c3b7
--- /dev/null
+++ b/config/nvim/after/queries/fish/highlights.scm
@@ -0,0 +1,16 @@
+;; vim: ft=query
+;; extends
+
+(function_definition
+ name: (word) @AlabasterDefinition)
+
+(command
+ name: (word) @function.builtin
+ (#match? @function.builtin "^set$")
+ argument: (word) @parameter
+ (#any-of? @parameter "-g" "--global" "-U" "--universal" "-x" "--export")
+ argument: (word) @AlabasterDefinition
+ argument: (_))
+
+((program . (comment) @AlabasterHashbang)
+ (#match? @AlabasterHashbang "^#!/"))
diff --git a/config/nvim/after/queries/go/highlights.scm b/config/nvim/after/queries/go/highlights.scm
new file mode 100644
index 0000000..d85f8bb
--- /dev/null
+++ b/config/nvim/after/queries/go/highlights.scm
@@ -0,0 +1,15 @@
+;; vim: ft=query
+;; extends
+
+(package_clause
+ (package_identifier) @AlabasterDefinition)
+
+(const_declaration
+ (const_spec
+ name: (identifier) @AlabasterDefinition))
+
+(function_declaration
+ name: (identifier) @AlabasterDefinition)
+
+(method_declaration
+ name: (field_identifier) @AlabasterDefinition)
diff --git a/config/nvim/after/queries/hare/highlights.scm b/config/nvim/after/queries/hare/highlights.scm
new file mode 100644
index 0000000..67514e2
--- /dev/null
+++ b/config/nvim/after/queries/hare/highlights.scm
@@ -0,0 +1,8 @@
+;; vim: ft=query
+;; extends
+
+(function_declaration
+ name: (identifier) @AlabasterDefinition)
+
+(type_declaration
+ (identifier) @AlabasterDefinition)
diff --git a/config/nvim/after/queries/java/highlights.scm b/config/nvim/after/queries/java/highlights.scm
new file mode 100644
index 0000000..f246f6e
--- /dev/null
+++ b/config/nvim/after/queries/java/highlights.scm
@@ -0,0 +1,11 @@
+;; vim: ft=query
+;; extends
+
+(class_declaration
+ name: (identifier) @AlabasterDefinition)
+(constructor_declaration
+ name: (identifier) @AlabasterDefinition)
+(method_declaration
+ name: (identifier) @AlabasterDefinition)
+(package_declaration
+ (scoped_identifier) @AlabasterDefinition)
diff --git a/config/nvim/after/queries/javascript/highlights.scm b/config/nvim/after/queries/javascript/highlights.scm
new file mode 100644
index 0000000..7f7749c
--- /dev/null
+++ b/config/nvim/after/queries/javascript/highlights.scm
@@ -0,0 +1,7 @@
+;; vim: ft=query
+;; extends
+
+(function_declaration
+ name: (identifier) @AlabasterDefinition)
+
+(undefined) @AlabasterConstant
diff --git a/config/nvim/after/queries/json/highlights.scm b/config/nvim/after/queries/json/highlights.scm
new file mode 100644
index 0000000..3f8ce97
--- /dev/null
+++ b/config/nvim/after/queries/json/highlights.scm
@@ -0,0 +1,6 @@
+;; vim: ft=query
+;; extends
+
+(object
+ (pair
+ key: (string) @AlabasterString))
diff --git a/config/nvim/after/queries/kotlin/highlights.scm b/config/nvim/after/queries/kotlin/highlights.scm
new file mode 100644
index 0000000..17d061d
--- /dev/null
+++ b/config/nvim/after/queries/kotlin/highlights.scm
@@ -0,0 +1,24 @@
+;; vim: ft=query
+;; extends
+(function_declaration
+ (simple_identifier) @AlabasterDefinition)
+
+(class_declaration
+ (type_identifier) @AlabasterDefinition)
+
+(object_declaration
+ (type_identifier) @AlabasterDefinition)
+
+(string_literal) @AlabasterString
+
+(boolean_literal) @AlabasterConstant
+(integer_literal) @AlabasterConstant
+(long_literal) @AlabasterConstant
+(unsigned_literal) @AlabasterConstant
+(real_literal) @AlabasterConstant
+
+(line_comment) @AlabasterHashbang
+(multiline_comment) @Comment
+
+
+(modifiers (annotation (user_type (type_identifier) @AlabasterPunctuation)))
diff --git a/config/nvim/after/queries/lua/highlights.scm b/config/nvim/after/queries/lua/highlights.scm
new file mode 100644
index 0000000..6f0e42d
--- /dev/null
+++ b/config/nvim/after/queries/lua/highlights.scm
@@ -0,0 +1,27 @@
+;; vim: ft=query
+;; extends
+
+(function_declaration
+ name: (identifier) @AlabasterDefinition)
+
+(assignment_statement
+ (variable_list
+ name: (dot_index_expression
+ field: (identifier) @AlabasterDefinition))
+ (expression_list
+ value: (function_definition)))
+
+(assignment_statement
+ (variable_list
+ name: (identifier) @AlabasterDefinition)
+ (expression_list
+ value: (function_definition)))
+
+(function_declaration
+ name: (dot_index_expression
+ field: (identifier) @AlabasterDefinition))
+
+(table_constructor
+ (field name: (identifier) @AlabasterString))
+
+(hash_bang_line) @AlabasterHashbang
diff --git a/config/nvim/after/queries/python/highlights.scm b/config/nvim/after/queries/python/highlights.scm
new file mode 100644
index 0000000..0d5ef66
--- /dev/null
+++ b/config/nvim/after/queries/python/highlights.scm
@@ -0,0 +1,13 @@
+;; vim: ft=query
+;; extends
+
+(function_definition
+ name: (identifier) @AlabasterDefinition)
+(class_definition
+ name: (identifier) @AlabasterDefinition)
+
+((module . (comment) @AlabasterHashbang)
+ (#match? @AlabasterHashbang "^#!/"))
+
+(decorator
+ (identifier) @AlabasterBase)
diff --git a/config/nvim/after/queries/rust/highlights.scm b/config/nvim/after/queries/rust/highlights.scm
new file mode 100644
index 0000000..b250310
--- /dev/null
+++ b/config/nvim/after/queries/rust/highlights.scm
@@ -0,0 +1,53 @@
+;; vim: ft=query
+;; extends
+
+(struct_item
+ name: (type_identifier) @AlabasterDefinition)
+(enum_item
+ name: (type_identifier) @AlabasterDefinition)
+
+(impl_item
+ type: (type_identifier) @AlabasterDefinition)
+
+(impl_item
+ type: (scoped_type_identifier
+ path: (scoped_identifier)
+ name: (type_identifier) @AlabasterDefinition))
+
+(impl_item
+ body: (declaration_list
+ (type_item
+ name: (type_identifier) @AlabasterDefinition)))
+(impl_item
+ type: (generic_type
+ type: (type_identifier) @AlabasterDefinition))
+
+(trait_item
+ name: (type_identifier) @AlabasterDefinition)
+
+(trait_item
+ body: (declaration_list
+ (associated_type
+ name: (type_identifier) @AlabasterDefinition)))
+
+(trait_item
+ body: (declaration_list
+ (function_signature_item
+ name: (identifier) @AlabasterDefinition)))
+
+(function_item
+ name: (identifier) @AlabasterDefinition)
+
+(macro_definition
+ name: (identifier) @AlabasterDefinition)
+
+(for_expression
+ "in" @AlabasterPunctuation)
+(type_arguments
+ "<" @AlabasterPunctuation)
+(type_arguments
+ ">" @AlabasterPunctuation)
+(type_parameters
+ "<" @AlabasterPunctuation)
+(type_parameters
+ ">" @AlabasterPunctuation)
diff --git a/config/nvim/after/queries/scala/highlights.scm b/config/nvim/after/queries/scala/highlights.scm
new file mode 100644
index 0000000..764e08b
--- /dev/null
+++ b/config/nvim/after/queries/scala/highlights.scm
@@ -0,0 +1,20 @@
+; vim: ft=query
+;; extends
+
+(package_clause
+ (package_identifier) @AlabasterDefinition)
+
+(function_definition
+ name: (identifier) @AlabasterDefinition)
+
+(function_declaration
+ name: (identifier) @AlabasterDefinition)
+
+(class_definition
+ name: (identifier) @AlabasterDefinition)
+
+(object_definition
+ name: (identifier) @AlabasterDefinition)
+
+(trait_definition
+ name: (identifier) @AlabasterDefinition)
diff --git a/config/nvim/after/queries/typescript/highlights.scm b/config/nvim/after/queries/typescript/highlights.scm
new file mode 100644
index 0000000..b3cfa8d
--- /dev/null
+++ b/config/nvim/after/queries/typescript/highlights.scm
@@ -0,0 +1,20 @@
+;; vim: ft=query
+;; extends
+
+(interface_declaration
+ name: (type_identifier) @AlabasterDefinition)
+
+(method_definition
+ name: (property_identifier) @AlabasterDefinition)
+
+(function_declaration
+ name: (identifier) @AlabasterDefinition)
+
+(variable_declarator
+ name: (identifier) @AlabasterDefinition
+ value: (arrow_function))
+
+(type_alias_declaration
+ name: (type_identifier) @AlabasterDefinition)
+
+(undefined) @AlabasterConstant
diff --git a/config/nvim/after/queries/vim/highlights.scm b/config/nvim/after/queries/vim/highlights.scm
new file mode 100644
index 0000000..f11905d
--- /dev/null
+++ b/config/nvim/after/queries/vim/highlights.scm
@@ -0,0 +1,12 @@
+;; vim: ft=query
+;; extends
+
+(function_definition
+ (function_declaration
+ name: (scoped_identifier
+ (scope)
+ (identifier) @AlabasterDefinition)))
+
+(function_definition
+ (function_declaration
+ name: (identifier) @AlabasterDefinition))
diff --git a/config/nvim/after/queries/zig/highlights.scm b/config/nvim/after/queries/zig/highlights.scm
new file mode 100644
index 0000000..3b79bef
--- /dev/null
+++ b/config/nvim/after/queries/zig/highlights.scm
@@ -0,0 +1,5 @@
+;; vim: ft=query
+;; extends
+
+(function_declaration
+ name: (identifier) @AlabasterDefinition)
diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json
index cabc14f..65e6eab 100644
--- a/config/nvim/lazy-lock.json
+++ b/config/nvim/lazy-lock.json
@@ -1,6 +1,5 @@
{
"LuaSnip": { "branch": "master", "commit": "5a1e39223db9a0498024a77b8441169d260c8c25" },
- "alabaster.nvim": { "branch": "main", "commit": "1fc9e29fbbce94f127cc8b21960b7e3c85187960" },
"apidocs.nvim": { "branch": "main", "commit": "6f34023f9a14dda5fa1f06d8ffe53e689324d2d2" },
"auto-save.nvim": { "branch": "main", "commit": "37c82fd548e3f5ffc2d9d020a65dac1044584f44" },
"blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" },
@@ -18,9 +17,9 @@
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
"mcphub.nvim": { "branch": "main", "commit": "8ff40b5edc649959bb7e89d25ae18e055554859a" },
"multicursor.nvim": { "branch": "1.0", "commit": "a6cf4e7daaf10a6b14bb7838caf779f0de5070cd" },
- "neogit": { "branch": "master", "commit": "411d615291d9e8f49b377410385febd1e9ce1787" },
+ "neogit": { "branch": "master", "commit": "a24620e541be8814f2357ae334bde947f7dae5a8" },
"nvim-dap": { "branch": "master", "commit": "5860c7c501eb428d3137ee22c522828d20cca0b3" },
- "nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" },
+ "nvim-dap-go": { "branch": "main", "commit": "97924027bbd30b5276d383fb22dcb6bf44da0056" },
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
"nvim-lspconfig": { "branch": "master", "commit": "07f4e93de92e8d4ea7ab99602e3a8c9ac0fb778a" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
@@ -32,7 +31,6 @@
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
- "render-markdown.nvim": { "branch": "main", "commit": "6e0e8902dac70fecbdd8ce557d142062a621ec38" },
"smartcolumn.nvim": { "branch": "main", "commit": "b9cdbdf42f7ac5a659204cd5926017c7ff724a19" },
- "telescope.nvim": { "branch": "master", "commit": "f0caedf064aa8c926325d7fe64c141d29b8e7853" }
+ "telescope.nvim": { "branch": "master", "commit": "e69b434b968a33815e2f02a5c7bd7b8dd4c7d4b2" }
}
diff --git a/config/nvim/lua/keymaps.lua b/config/nvim/lua/keymaps.lua
index 6f06bde..0597937 100644
--- a/config/nvim/lua/keymaps.lua
+++ b/config/nvim/lua/keymaps.lua
@@ -321,6 +321,13 @@ local keys = {
{ desc = "Debug preview" },
},
{
+ "<leader>dt",
+ function()
+ require("dap-go").debug_test()
+ end,
+ { desc = "Debug test" },
+ },
+ {
"<F9>",
function()
local widgets = require("dap.ui.widgets")
diff --git a/config/nvim/lua/options.lua b/config/nvim/lua/options.lua
index d30f768..0cd9c53 100644
--- a/config/nvim/lua/options.lua
+++ b/config/nvim/lua/options.lua
@@ -66,6 +66,4 @@ vim.filetype.add({
},
})
-vim.g.nightflyCursorColor = true
-vim.g.nightflyVirtualTextColor = true
-vim.g.nightflyTransparent = false
+
diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua
index b7e89f0..8adc95f 100644
--- a/config/nvim/lua/plugins.lua
+++ b/config/nvim/lua/plugins.lua
@@ -1,11 +1,4 @@
require("lazy").setup({
- {
- "p00f/alabaster.nvim",
- config = function()
- vim.cmd.colorscheme("alabaster")
- vim.o.termguicolors = true
- end,
- },
{ "nvim-lua/plenary.nvim" },
{
"ray-x/guihua.lua",
@@ -26,7 +19,6 @@ require("lazy").setup({
{
"mfussenegger/nvim-dap",
},
-
require("plugins.multicursor"),
require("plugins.apidocs"),
require("plugins.resize"),
diff --git a/config/nvim/lua/plugins/codecompanion.lua b/config/nvim/lua/plugins/codecompanion.lua
index a657d09..d8eec4a 100644
--- a/config/nvim/lua/plugins/codecompanion.lua
+++ b/config/nvim/lua/plugins/codecompanion.lua
@@ -4,10 +4,6 @@ return {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
{
- "MeanderingProgrammer/render-markdown.nvim",
- ft = { "markdown", "codecompanion" },
- },
- {
"ravitemer/mcphub.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
@@ -43,9 +39,12 @@ return {
adapter = "scbt",
tools = {
opts = {
+ auto_submit_errors = true, -- Send any errors to the LLM automatically?
+ auto_submit_success = true, -- Send any successful output to the LLM automatically?
default_tools = {
"full_stack_dev",
"mcp",
+ "filesystem",
},
},
opts = {
@@ -78,6 +77,17 @@ return {
default = "qwen3-235b-it",
choices = {
"qwen3-235b-it",
+ "Qwen3-Coder-30B-A3B-Instruct-FP8",
+ "qwen2-5-coder-1-5b",
+ },
+ num_ctx = {
+ default = 120000,
+ },
+ think = {
+ default = true,
+ },
+ keep_alive = {
+ default = "5m",
},
},
},
diff --git a/config/nvim/lua/plugins/conform.lua b/config/nvim/lua/plugins/conform.lua
index 3bd4e44..59e761b 100644
--- a/config/nvim/lua/plugins/conform.lua
+++ b/config/nvim/lua/plugins/conform.lua
@@ -10,7 +10,6 @@ return {
html = { "prettier" },
json = { "prettier" },
yaml = { "prettier" },
- markdown = { "prettier" },
graphql = { "prettier" },
lua = { "stylua" },
python = { "isort", "black" },
diff --git a/config/nvim/lua/plugins/dap_go.lua b/config/nvim/lua/plugins/dap_go.lua
index 0864da1..91dcac3 100644
--- a/config/nvim/lua/plugins/dap_go.lua
+++ b/config/nvim/lua/plugins/dap_go.lua
@@ -1,107 +1,5 @@
-local default_config = {
- delve = {
- path = "dlv",
- initialize_timeout_sec = 20,
- port = "${port}",
- args = {},
- build_flags = "",
- -- Automatically handle the issue on delve Windows versions < 1.24.0
- -- where delve needs to be run in attched mode or it will fail (actually crashes).
- detached = vim.fn.has("win32") == 0,
- output_mode = "remote",
- cwd = nil,
- },
- tests = {
- verbose = false,
- },
-}
-
-local function setup_go_configuration(dap, configs)
- local common_debug_configs = {
- {
- type = "go",
- name = "Debug",
- request = "launch",
- program = "${workspaceFolder}",
- outputMode = "remote",
- },
-
- }
-
- if dap.configurations.go == nil then
- dap.configurations.go = {}
- end
-
- for _, config in ipairs(common_debug_configs) do
- table.insert(dap.configurations.go, config)
- end
-
- if configs == nil or configs.dap_configurations == nil then
- return
- end
-
- for _, config in ipairs(configs.dap_configurations) do
- if config.type == "go" then
- table.insert(dap.configurations.go, config)
- end
- end
-end
-
return {
- "leoluz/nvim-dap-go",
+ url = "https://gitrepo.ru/NeonXP/nvim-dap-go.git",
dependencies = { "mfussenegger/nvim-dap" },
opts = true,
- config = function()
- local dap, dapui = require("dap"), require("dapui")
-
- dap.adapters.go = {
- type = "server",
- port = "${port}",
- executable = {
- command = "dlv",
- args = { "dap", "-l", "127.0.0.1:${port}" },
- },
- }
-
- setup_go_configuration(dap, default_config)
-
- dap.defaults.fallback.terminal_win_cmd = "enew | set filetype=dap-terminal"
- dap.listeners.before.attach.dapui_config = function()
- dapui.open()
- end
- dap.listeners.before.launch.dapui_config = function()
- dapui.open()
- end
- dap.listeners.before.event_terminated.dapui_config = function()
- dapui.close()
- end
- dap.listeners.before.event_exited.dapui_config = function()
- dapui.close()
- end
-
- vim.api.nvim_set_hl(0, "DapBreakpoint", { ctermbg = 0, fg = "#993939", bg = "#31353f" })
- vim.api.nvim_set_hl(0, "DapLogPoint", { ctermbg = 0, fg = "#61afef", bg = "#31353f" })
- vim.api.nvim_set_hl(0, "DapStopped", { ctermbg = 0, fg = "#98c379", bg = "#31353f" })
-
- vim.fn.sign_define(
- "DapBreakpoint",
- { text = "!", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" }
- )
- vim.fn.sign_define(
- "DapBreakpointCondition",
- { text = "?", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" }
- )
- vim.fn.sign_define(
- "DapBreakpointRejected",
- { text = "RJ", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" }
- )
- vim.fn.sign_define(
- "DapLogPoint",
- { text = "i", texthl = "DapLogPoint", linehl = "DapLogPoint", numhl = "DapLogPoint" }
- )
- vim.fn.sign_define(
- "DapStopped",
- { text = "→", texthl = "DapStopped", linehl = "DapStopped", numhl = "DapStopped" }
- )
- end,
}
diff --git a/config/nvim/lua/plugins/dapui.lua b/config/nvim/lua/plugins/dapui.lua
index 8530fd1..ad2b6b6 100644
--- a/config/nvim/lua/plugins/dapui.lua
+++ b/config/nvim/lua/plugins/dapui.lua
@@ -3,6 +3,7 @@ return {
dependencies = {
"mfussenegger/nvim-dap",
"nvim-neotest/nvim-nio",
+ "nvim-dap-go",
},
opts = {
icons = {
diff --git a/config/nvim/lua/theme/alabaster.lua b/config/nvim/lua/theme/alabaster.lua
new file mode 100644
index 0000000..7b7e34d
--- /dev/null
+++ b/config/nvim/lua/theme/alabaster.lua
@@ -0,0 +1,45 @@
+local colors
+if vim.o.background == "dark" then
+ colors = {
+ color1 = "#162022",
+ color2 = "#cd974b",
+ color3 = "#cecece",
+ color4 = "#9F9F9F",
+ color5 = "#333333",
+ color6 = "#cc8bc9",
+ }
+else
+ colors = {
+ color1 = "#c9c9c9",
+ color2 = "#cb9000",
+ color3 = "#222222",
+ color4 = "#666666",
+ color5 = "#aaaaaa",
+ color6 = "#7a3e9d",
+ }
+end
+
+return {
+ replace = {
+ a = { fg = colors.color1, bg = nil, gui = "bold" },
+ b = { fg = colors.color3, bg = nil },
+ },
+ inactive = {
+ a = { fg = colors.color4, bg = nil, gui = "bold" },
+ b = { fg = colors.color4, bg = nil },
+ c = { fg = colors.color4, bg = nil },
+ },
+ normal = {
+ a = { fg = colors.color3, bg = nil, gui = "bold" },
+ b = { fg = colors.color3, bg = nil },
+ c = { fg = colors.color3, bg = nil },
+ },
+ visual = {
+ a = { fg = colors.color1, bg = nil, gui = "bold" },
+ b = { fg = colors.color3, bg = nil },
+ },
+ insert = {
+ a = { fg = colors.color1, bg = nil, gui = "bold" },
+ b = { fg = colors.color3, bg = nil },
+ },
+}
diff --git a/config/nvim/lua/theme/asset/hsv-to-rgb.lua b/config/nvim/lua/theme/asset/hsv-to-rgb.lua
deleted file mode 100644
index 5a63f98..0000000
--- a/config/nvim/lua/theme/asset/hsv-to-rgb.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-local function HsvToRgb(h, s, v)
-
- s = s / 100.0
- v = v / 100.0
- h = h / 60.0
-
- local i = math.floor(h) % 6
- local f = h - math.floor(h)
- local p = v * (1.0 - s)
- local q = v * (1.0 - f * s)
- local t = v * (1.0 - (1.0 - f) * s)
-
- local r, g, b = 0, 0, 0
-
- if i == 0 then r, g, b = v, t, p
- elseif i == 1 then r, g, b = q, v, p
- elseif i == 2 then r, g, b = p, v, t
- elseif i == 3 then r, g, b = p, q, v
- elseif i == 4 then r, g, b = t, p, v
- else r, g, b = v, p, q
- end
-
- r = math.floor(r * 255 + 0.5)
- g = math.floor(g * 255 + 0.5)
- b = math.floor(b * 255 + 0.5)
-
- return string.format("#%02x%02x%02x", r, g, b)
-end
-return HsvToRgb
diff --git a/config/nvim/lua/theme/colors.lua b/config/nvim/lua/theme/colors.lua
index 6197328..dd9d491 100644
--- a/config/nvim/lua/theme/colors.lua
+++ b/config/nvim/lua/theme/colors.lua
@@ -1,68 +1,803 @@
-local HsvToRgb = require("theme.asset.hsv-to-rgb")
-local colors = {
-
- black = {HsvToRgb(0, 0, 0), 0},--0 Black
- black_l = {HsvToRgb(0, 0, 10), 0},
- black_ll = {HsvToRgb(0, 0, 20), 0},
-
- gray_dd = {HsvToRgb(0, 0, 30), 8},--8 DarkGray
- gray_d = {HsvToRgb(0, 0, 40), 8},
- gray = {HsvToRgb(0, 0, 50), 7},--7 Gray
- gray_l = {HsvToRgb(0, 0, 60), 7},
- gray_ll = {HsvToRgb(0, 0, 70), 7},
-
- white_dd = {HsvToRgb(0, 0, 80), 15},--15 White
- white_d = {HsvToRgb(0, 0, 90), 15},
- white = {HsvToRgb(0, 0, 100), 15},
-
- red_d = {HsvToRgb(0, 100, 75), 12},--12 Red
- red = {HsvToRgb(0, 100, 100), 12},
- red_l = {HsvToRgb(0, 75, 100), 12},
-
- orange_d = {HsvToRgb(30, 100, 75), 4},--4 DarkRed
- orange = {HsvToRgb(30, 100, 100), 4},
- orange_l = {HsvToRgb(30, 75, 100), 4},
-
- yellow_d = {HsvToRgb(60, 100, 75), 14},--14 Yellow
- yellow = {HsvToRgb(60, 100, 100), 14},
- yellow_l = {HsvToRgb(60, 75, 100), 14},
-
- chartreuse_d = {HsvToRgb(90, 100, 75), 6},--6 DarkYellow
- chartreuse = {HsvToRgb(90, 100, 100), 6},
- chartreuse_l = {HsvToRgb(90, 75, 100), 6},
-
- green_d = {HsvToRgb(120, 100, 75), 10},--10 Green
- green = {HsvToRgb(120, 100, 100), 10},
- green_l = {HsvToRgb(120, 75, 100), 10},
-
- turquoise_d = {HsvToRgb(150, 100, 75), 2},--2 DarkGreen
- turquoise = {HsvToRgb(150, 100, 100), 2},
- turquoise_l = {HsvToRgb(150, 75, 100), 2},
-
- cyan_d = {HsvToRgb(180, 100, 75), 11},--11 Cyan
- cyan = {HsvToRgb(180, 100, 100), 11},
- cyan_l = {HsvToRgb(180, 75, 100), 11},
-
- royal_d = {HsvToRgb(210, 100, 75), 3},--3 DarkCyan
- royal = {HsvToRgb(210, 100, 100), 3},
- royal_l = {HsvToRgb(210, 75, 100), 3},
-
- blue_d = {HsvToRgb(240, 100, 75), 9},--9 Blue
- blue = {HsvToRgb(240, 100, 100), 9},
- blue_l = {HsvToRgb(240, 75, 100), 9},
-
- purple_d = {HsvToRgb(270, 100, 75), 1},--1 DarkBlue
- purple = {HsvToRgb(270, 100, 100), 1},
- purple_l = {HsvToRgb(270, 75, 100), 1},
-
- pink_d = {HsvToRgb(300, 100, 75), 13},--13 Magenta
- pink = {HsvToRgb(300, 100, 100), 13},
- pink_l = {HsvToRgb(300, 75, 100), 13},
-
- salmon_d = {HsvToRgb(330, 100, 75), 5},--5 DarkMagenta
- salmon = {HsvToRgb(330, 100, 100), 5},
- salmon_l = {HsvToRgb(330, 75, 100), 5},
-
- none = {"NONE", "NONE"}
-}
-return colors
+vim.cmd("hi clear")
+if vim.fn.exists("syntax_on") == 1 then
+ vim.cmd("syntax reset")
+end
+
+vim.g.colors_name = "alabaster"
+
+local theme
+---@diagnostic disable: undefined-global
+if vim.o.background == "dark" then
+ -- terminal colors
+ vim.g.terminal_color_0 = "#000000"
+ vim.g.terminal_color_1 = "#d2322d"
+ vim.g.terminal_color_2 = "#6abf40"
+ vim.g.terminal_color_3 = "#cd974b"
+ vim.g.terminal_color_4 = "#217EBC"
+ vim.g.terminal_color_5 = "#9B3596"
+ vim.g.terminal_color_6 = "#178F79"
+ vim.g.terminal_color_7 = "#cecece"
+ vim.g.terminal_color_8 = "#333333"
+ vim.g.terminal_color_9 = "#c33c33"
+ vim.g.terminal_color_10 = "#95cb82"
+ vim.g.terminal_color_11 = "#dfdf8e"
+ vim.g.terminal_color_12 = "#71aed7"
+ vim.g.terminal_color_13 = "#cc8bc9"
+ vim.g.terminal_color_14 = "#47BEA9"
+ vim.g.terminal_color_15 = "#ffffff"
+
+ -- colors
+ local fg = "#cecece"
+ local punct_fg = "#708b8d"
+ local def_fg = "#71ade7"
+ local const_fg = "#cc8bc9"
+ local active = "#cd974b"
+ local string_fg = "#95cb82"
+ local darker_fg = "#7d7d7d"
+ local diffadd = "#6abf40"
+ local diffdelete = "#d2322d"
+ local diffchange = "#ec8013"
+ local statusline = "#162022"
+ local comment = "#dfdf8e"
+ local dim_comment = "#696969"
+ local mistake = {
+ fg = "#c33c33",
+ bg = "#2b1d1e",
+ }
+ local error = "#d13e23"
+ local warn = "#f4b371"
+ local hint = "#8ebeec"
+ local info = "#88cc66"
+ local ansi = {
+ black = "#333333",
+ blue = "#71aed7",
+ brightyellow = "#dfdf8e",
+ cyan = "#47bea9",
+ green = "#95cb82",
+ magenta = "#cc8bc9",
+ red = "#c33c33",
+ white = "#cecece",
+ yellow = "#cd974b",
+ }
+ local comment_fg = vim.g.alabaster_dim_comments and dim_comment or comment
+ local pmenu_bg = "#182325"
+ local float_bg = vim.g.alabaster_floatborder and bg or pmenu_bg
+ local floatborder = vim.g.alabaster_floatborder and { bg = bg, fg = "#333333" }
+ or {
+ bg = float_bg,
+ fg = float_bg,
+ }
+ theme = {
+ Comment = { fg = comment_fg },
+ ColorColumn = { bg = "#182325" },
+ Conceal = { fg = "#b0b0b0" },
+ Cursor = { bg = active, fg = "#000000" },
+ -- lCursor { }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
+ -- CursorIM { }, -- like Cursor, but used when in IME mode |CursorIM|
+ CursorColumn = { bg = "#182325" },
+ CursorLine = { bg = "#182325" },
+ Directory = { fg = ansi.blue },
+ DiffAdd = { bg = "#244032", fg = "#56d364" },
+ DiffDelete = { bg = "#462c32", fg = "#f85149" },
+ DiffText = { fg = "#341a00", bg = "#fff987" },
+ DiffChange = { bg = "#341a00", fg = "#e3b341" },
+ EndOfBuffer = { fg = "#354c50" },
+ -- TermCursor { }, -- cursor in a focused terminal
+ TermCursorNC = { fg = bg, bg = fg },
+ ErrorMsg = { fg = error, bg = mistake.bg },
+ VertSplit = { fg = "#2b3d40" },
+ Folded = { bg = "#182325", fg = "#7d7d7d" },
+ FoldColumn = { bg = bg, fg = "#4d4d4d" },
+ SignColumn = {},
+ IncSearch = { bg = ansi.yellow, fg = bg },
+ -- Substitute { }, -- |:substitute| replacement text highlighting
+ LineNr = { fg = "#5c5c5c" },
+ CursorLineNr = { fg = ansi.blue, bold = 1 },
+ MatchParen = { underline = 1, sp = active },
+ -- ModeMsg { }, -- 'showmode' message (e.g., "-- INSERT -- ")
+ -- MsgArea { }, -- Area for messages and cmdline
+ -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display'
+ MoreMsg = { fg = ansi.green, bold = 1 },
+ NonText = { fg = "#696969" },
+ Normal = { bg = bg, fg = fg },
+ NormalFloat = { bg = float_bg },
+ -- NormalNC { }, -- normal text in non-current windows
+ FloatBorder = floatborder,
+ Pmenu = { bg = pmenu_bg },
+ PmenuSel = { bg = "#354c50" },
+ PmenuSbar = { bg = "#212f31" },
+ PmenuThumb = { bg = "#47666b" },
+ Question = { fg = diffadd },
+ QuickFixLine = { bg = "#182325" },
+ Search = { bg = "#354c50" },
+ SpecialKey = { fg = ansi.cyan },
+ SpellBad = { undercurl = 1, sp = ansi.red },
+ SpellCap = { undercurl = 1, sp = ansi.blue },
+ SpellLocal = { undercurl = 1, sp = ansi.cyan },
+ SpellRare = { undercurl = 1, sp = ansi.magenta },
+ StatusLine = { bg = statusline, fg = fg },
+ StatusLineNC = { bg = statusline, fg = "#9f9f9f" },
+ TabLine = { bg = statusline, fg = "#7d7d7d" },
+ TabLineFill = { bg = statusline },
+ TabLineSel = { bg = statusline, fg = ansi.blue },
+ Title = { fg = const_fg },
+ Visual = { bg = "#293334" },
+ VisualNOS = { bg = "#293334" },
+ WarningMsg = { fg = "#e1ad4c" },
+ WildMenu = { bg = "#354c50" },
+ WinBar = { bg = bg, fg = ansi.white, bold = true },
+ WinBarNC = { bg = bg, fg = "#7d7d7d" },
+
+ --- SYNTAX I: TS groups link to these
+ Constant = { fg = const_fg },
+ String = { fg = string_fg },
+ Character = { fg = const_fg },
+ Number = { fg = const_fg },
+ Boolean = { fg = const_fg },
+ Float = { fg = const_fg },
+ Operator = { fg = punct_fg },
+
+ --- SYNTAX II: TS groups have their own definition, the below are defined to have somewhat working hl w/o treesitter
+ Identifier = { fg = def_fg }, -- ansi.white },
+ Function = { fg = def_fg },
+ Statement = { fg = ansi.white },
+ Conditional = { fg = ansi.white },
+ Repeat = { fg = ansi.white },
+ Label = { fg = def_fg },
+ Keyword = { fg = ansi.white },
+ Exception = { fg = ansi.white },
+ PreProc = { fg = ansi.white },
+ Include = { fg = ansi.white },
+ Define = { fg = ansi.white },
+ Macro = { fg = ansi.white },
+ PreCondit = { fg = ansi.white },
+ Type = { fg = ansi.white },
+ StorageClass = { fg = ansi.white },
+ Structure = { fg = def_fg },
+ Typedef = { fg = def_fg },
+
+ Special = { fg = ansi.yellow },
+ -- TODO better color than diffchange, try reddish
+ -- SpecialChar = { fg = diffchange }, -- special character in a constant
+ -- Tag { }, -- you can use CTRL-] on this
+ -- Delimiter { },
+ SpecialComment = { bg = "#1d292b", fg = ansi.blue },
+ debugPc = { bg = "#0f2534" },
+ debugBreakpoint = { bg = "#b33229" },
+ helpHyperTextJump = { fg = ansi.magenta },
+ helpSectionDelim = { fg = ansi.magenta },
+ helpExample = { fg = ansi.cyan },
+ helpCommand = { fg = ansi.cyan },
+ helpHeadline = { fg = ansi.blue },
+ helpHeader = { fg = ansi.magenta },
+
+ Underlined = { underline = 1 }, -- (preferred) text that stands out, HTML links
+ Italic = { italic = 1 },
+
+ -- ("Ignore", below, may be invisible...)
+ -- Ignore { }, -- (preferred) left blank, hidden |hl-Ignore|
+
+ Error = { bg = mistake.bg, fg = mistake.fg },
+
+ Todo = { bg = "#d0d058", fg = bg },
+
+ --- Diagnostic
+ LspReferenceText = { bg = "#253437" },
+ LspReferenceRead = { bg = "#253437" },
+ LspReferenceWrite = { bg = "#253437", underline = 1, sp = active },
+ LspCodeLens = { fg = "#5c5c5c" },
+ LspCodeLensSeparator = { fg = "#5c5c5c" },
+
+ --- Diagnostic
+ DiagnosticError = { fg = error },
+ DiagnosticWarn = { fg = warn },
+ DiagnosticHint = { fg = hint },
+ DiagnosticInfo = { fg = info },
+ DiagnosticVirtualTextError = { bg = "#350B0B", fg = "#D1503A" },
+ DiagnosticVirtualTextWarn = { bg = "#3F240A", fg = "#C8935D" },
+ DiagnosticVirtualTextHint = { bg = "#1D2B37", fg = "#7E9CB9" },
+ DiagnosticVirtualTextInfo = { bg = "#162C0B", fg = "#7BAC62" },
+
+ --- Treesitter
+ TSAttribute = {},
+ TSConstructor = { fg = ansi.white },
+ TSConditional = { fg = ansi.white },
+ TSConstBuiltin = { fg = const_fg },
+ TSConstMacro = { fg = ansi.white },
+ TSError = { bg = mistake.bg, fg = mistake.fg },
+ TSException = { fg = ansi.white },
+ TSField = { fg = def_fg }, -- ansi.white },
+ TSFunction = { fg = ansi.white },
+ TSFuncBuiltin = { fg = ansi.white },
+ TSFuncMacro = { fg = ansi.white },
+ TSKeyword = { fg = ansi.white },
+ TSKeywordFunction = { fg = ansi.white },
+ TSLabel = { fg = ansi.white },
+ TSMethod = { fg = ansi.white },
+ TSNamespace = { fg = ansi.white },
+ TSNone = { fg = const_fg },
+ TSParameter = { fg = ansi.white },
+ TSParameterReference = { fg = ansi.white },
+ TSProperty = { fg = ansi.white },
+ TSPunctDelimiter = { fg = punct_fg },
+ TSPunctBracket = { fg = "#bababa" },
+ TSPunctSpecial = { fg = punct_fg },
+ TSRepeat = { fg = ansi.white },
+ TSString = { fg = string_fg },
+ TSStringRegex = { bg = "#1d292b", fg = const_fg },
+ TSStringEscape = { bg = "#1d292b", fg = const_fg },
+ TSSymbol = {},
+ TSType = { fg = ansi.white },
+ TSTypeBuiltin = { fg = ansi.white },
+ TSVariable = { fg = ansi.white },
+ TSVariableBuiltin = { fg = ansi.white },
+ TSTag = { fg = ansi.white },
+ TSTagDelimiter = { fg = punct_fg },
+ TSText = { fg = ansi.white },
+ ["@attribute"] = {},
+ ["@constructor"] = { fg = ansi.white },
+ ["@conditional"] = { fg = ansi.white },
+ ["@constant.builtin"] = { fg = const_fg },
+ ["@constant.macro"] = { fg = ansi.white },
+ ["@error"] = { bg = mistake.bg, fg = mistake.fg },
+ ["@exception"] = { fg = ansi.white },
+ ["@field"] = { fg = ansi.white },
+ ["@function"] = { fg = ansi.white },
+ ["@function.builtin"] = { fg = ansi.white },
+ ["@function.macro"] = { fg = ansi.white },
+ ["@keyword"] = { fg = ansi.white },
+ ["@keyword.function"] = { fg = ansi.white },
+ ["@keyword.operator"] = { fg = punct_fg },
+ ["@label"] = { fg = ansi.white },
+ ["@method"] = { fg = ansi.white },
+ ["@module"] = { fg = ansi.white },
+ ["@namespace"] = { fg = ansi.white },
+ ["@none"] = { fg = const_fg },
+ ["@parameter"] = { fg = ansi.white },
+ ["@parameter.reference"] = { fg = ansi.white },
+ ["@property"] = { fg = ansi.white },
+ ["@punctuation.delimiter"] = { fg = punct_fg },
+ ["@punctuation.bracket"] = { fg = "#bababa" },
+ ["@punctuation.special"] = { fg = punct_fg },
+ ["@repeat"] = { fg = ansi.white },
+ ["@string"] = { fg = string_fg },
+ ["@string.regex"] = { bg = "#1d292b", fg = const_fg },
+ ["@string.escape"] = { bg = "#1d292b", fg = const_fg },
+ ["@symbol"] = {},
+ ["@type.builtin"] = { fg = ansi.white },
+ ["@variable"] = { fg = ansi.white },
+ ["@variable.builtin"] = { fg = ansi.white },
+ ["@tag"] = { fg = ansi.white },
+ ["@tag.delimiter"] = { fg = punct_fg },
+ ["@text"] = { fg = ansi.white },
+ ["@text.note"] = { bg = "#1d292b", fg = ansi.blue },
+ ["@text.warning"] = { bg = "#d0d058", fg = bg },
+
+ ["@type"] = { fg = def_fg },
+ ---
+ --- Theme specific
+ ["@AlabasterBase"] = { fg = ansi.white },
+ ["@AlabasterConstant"] = { fg = const_fg },
+ ["@AlabasterDefinition"] = { fg = def_fg },
+ ["@AlabasterPunct"] = { fg = punct_fg },
+ ["@AlabasterString"] = { fg = string_fg },
+ ["@AlabasterHashbang"] = { fg = dim_comment },
+ --- Gitsigns
+ GitSignsAdd = { fg = diffadd },
+ GitSignsChange = { fg = diffchange },
+ GitSignsDelete = { fg = diffdelete },
+ --- Telescope
+ TelescopeBorder = { fg = "#2b3d40" },
+ TelescopeMatching = { fg = "#f09942" },
+ TelescopeMultiSelection = { fg = ansi.magenta },
+ TelescopePromptPrefix = { fg = ansi.blue },
+ TelescopeSelectionCaret = { fg = mistake.fg },
+ TelescopeTitle = { fg = ansi.brightyellow },
+ TelescopeResultsTitle = { fg = ansi.yellow },
+ --- fzf-lua
+ FzfLuaBorder = { fg = "#2b3d40" },
+ --- mini.nvim
+ MiniPickMatchCurrent = { fg = "#f09942" },
+ --- Neogit
+ NeogitPopupActionDisabled = { fg = darker_fg },
+ NeogitPopupActionKey = { fg = ansi.magenta },
+ NeogitPopupOptionDisabled = { fg = darker_fg },
+ NeogitPopupOptionKey = { fg = ansi.blue },
+ NeogitPopupSwitchDisabled = { fg = darker_fg },
+ NeogitPopupSwitchEnabled = { fg = ansi.cyan },
+ NeogitPopupSwitchKey = { fg = ansi.magenta },
+ --- Fugitive
+ diffAdded = { link = "DiffAdd" },
+ diffRemoved = { link = "DiffDelete" },
+ --- Startify
+ StartifyBracket = { fg = darker_fg },
+ StartifyFile = { fg = ansi.white },
+ StartifySection = { fg = ansi.green },
+ StartifySlash = { fg = "#4e6e75" },
+ StartifyPath = { fg = "#4e6e75" },
+ --- Statusline
+ StatuslineAdd = { fg = diffadd, bg = statusline },
+ StatuslineErr = { fg = error, bg = statusline },
+ StatuslineHint = { fg = hint, bg = statusline },
+ StatuslineInfo = { fg = info, bg = statusline },
+ StatuslineWarn = { fg = warn, bg = statusline },
+ StatuslineBlue = { fg = ansi.blue, bg = statusline },
+ StatuslineRed = { fg = ansi.red, bg = statusline },
+ StatuslineGreen = { fg = ansi.green, bg = statusline },
+ StatuslineCyan = { fg = ansi.cyan, bg = statusline },
+ StatuslineMagenta = { fg = ansi.magenta, bg = statusline },
+ --- ALE
+ ALEWarningSign = { fg = warn },
+ --- vim-matchup
+ MatchupVirtualText = { fg = ansi.yellow },
+ --- For `highlight link`
+ AlabasterBlack = { fg = ansi.black },
+ AlabasterBlue = { fg = ansi.blue },
+ AlabasterBrightYellow = { fg = ansi.brightyellow },
+ AlabasterCyan = { fg = ansi.cyan },
+ AlabasterGreen = { fg = ansi.green },
+ AlabasterDarkGreen = { fg = "#6abf40" },
+ AlabasterMagenta = { fg = ansi.magenta },
+ AlabasterRed = { fg = ansi.red },
+ AlabasterWhite = { fg = ansi.white },
+ AlabasterYellow = { fg = ansi.yellow },
+ --- Hop
+ HopNextKey = { fg = ansi.brightyellow },
+ HopNextKey1 = { fg = ansi.cyan },
+ HopNextKey2 = { fg = "#297567" },
+ HopUnmatched = { fg = "#3d3d3d" },
+ --- Lightspeed
+ LightspeedGreyWash = { fg = "#3d3d3d" },
+ --- checkhealth
+ healthSuccess = { fg = ansi.green, bg = bg },
+ --- cmp
+ CmpItemMenuDefault = { fg = ansi.magenta },
+ --- nvim-ts-rainbow
+ rainbowcol1 = { fg = ansi.yellow },
+ rainbowcol2 = { fg = ansi.magenta },
+ rainbowcol3 = { fg = ansi.blue },
+ rainbowcol4 = { fg = ansi.green },
+ rainbowcol5 = { fg = ansi.brightyellow },
+ rainbowcol6 = { fg = ansi.red },
+ rainbowcol7 = { fg = ansi.cyan },
+ --- Iswap
+ ISwapSnipe = { bg = ansi.yellow, fg = bg },
+ ISwapGrey = { fg = "#3d3d3d" },
+ --- vim-dadbod-ui
+ dbui_help = { fg = dim_comment },
+ dbui_connection_source = { fg = dim_comment },
+ --- nvim-dap-virtual-text
+ NvimDapVirtualText = { bg = "#1d292b", fg = ansi.cyan },
+ --- Noice
+ NoiceCmdlineIcon = { link = "AlabasterDarkGreen" },
+ NoiceCmdlinePopupBorder = { link = "AlabasterDarkGreen" },
+ NoiceConfirmBorder = { link = "AlabasterDarkGreen" },
+ NoiceCmdlinePopupBorderCmdline = { link = "AlabasterDarkGreen" },
+ NoiceCmdlineIconCmdline = { link = "AlabasterDarkGreen" },
+ NoiceCmdlinePopupBorderFilter = { link = "AlabasterDarkGreen" },
+ NoiceCmdlineIconFilter = { link = "AlabasterDarkGreen" },
+ NoiceCmdlinePopupBorderLua = { link = "AlabasterDarkGreen" },
+ NoiceCmdlineIconLua = { link = "AlabasterDarkGreen" },
+ NoiceCmdlinePopupBorderSearch = { link = "AlabasterYellow" },
+ NoiceCmdlineIconSearch = { link = "AlabasterYellow" },
+ -- Languages
+ --- asm
+ asmDirective = { fg = dim_comment },
+ nasmLabel = { link = "@AlabasterDefinition" },
+
+ ["@lsp.mod.declaration"] = { fg = fg },
+ ["@lsp.type.enumMember"] = { fg = fg },
+ ["@lsp.type.function"] = { fg = fg },
+ ["@lsp.type.method"] = { fg = fg },
+ ["@lsp.type.selfKeyword"] = { fg = fg },
+ ["@lsp.typemod.class.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.class.definition"] = { fg = def_fg },
+ ["@lsp.typemod.enum.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.enumMember.defaultLibrary"] = { fg = fg },
+ ["@lsp.typemod.function.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.function.definition"] = { fg = def_fg },
+ ["@lsp.typemod.macro.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.method.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.selfKeyword"] = { fg = fg },
+ ["@lsp.typemod.struct.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.type.declaration"] = { fg = def_fg },
+ }
+else
+ -- terminal colors
+ vim.g.terminal_color_0 = "#000000"
+ vim.g.terminal_color_1 = "#aa3731"
+ vim.g.terminal_color_2 = "#448c27"
+ vim.g.terminal_color_3 = "#cb9000"
+ vim.g.terminal_color_4 = "#325cc0"
+ vim.g.terminal_color_5 = "#7a3e9d"
+ vim.g.terminal_color_6 = "#0083b2"
+ vim.g.terminal_color_7 = "#f7f7f7"
+ vim.g.terminal_color_8 = "#777777"
+ vim.g.terminal_color_9 = "#f05050"
+ vim.g.terminal_color_10 = "#60cb00"
+ vim.g.terminal_color_11 = "#ffbc5d"
+ vim.g.terminal_color_12 = "#007acc"
+ vim.g.terminal_color_13 = "#e64ce6"
+ vim.g.terminal_color_14 = "#00aacb"
+ vim.g.terminal_color_15 = "#f7f7f7"
+
+ -- colors
+ local bg = "#f7f7f7"
+ local fg = "#000000"
+ local punct_fg = "#777777"
+ local def_fg = "#325cc0"
+ local const_fg = "#7a3e9d"
+ local active = "#ffbc5d"
+ local active_blue = "#007acc"
+ local string_fg = "#448c27"
+ local darker_fg = "#7d7d7d"
+ local diffadd = "#284918"
+ local diffdelete = "#B40600"
+ local diffchange = "#ec8013"
+ local statusline = "#c9c9c9"
+ local comment = "#aa3731"
+ local dim_comment = "#696969"
+ local mistake = {
+ fg = "#c33c33",
+ bg = "#f8b28f",
+ }
+ local ansi = {
+ black = "#000000",
+ blue = "#325cc0",
+ brightyellow = "#ffbc5d",
+ cyan = "#0083b2",
+ green = "#448c27",
+ magenta = "#7a3e9d",
+ red = "#aa3731",
+ white = "#f7f7f7",
+ yellow = "#cb9000",
+ }
+ local error = "#d13e23"
+ local warn = "#BC7500"
+ local hint = ansi.blue
+ local info = "#278C00"
+ local comment_fg = vim.g.alabaster_dim_comments and dim_comment or comment
+ local pmenu_bg = "#e7e7e7"
+ local float_bg = vim.g.alabaster_floatborder and bg or pmenu_bg
+ local floatborder = vim.g.alabaster_floatborder and { bg = bg, fg = "#999999" }
+ or {
+ bg = float_bg,
+ fg = float_bg,
+ }
+ theme = {
+ Comment = { fg = comment_fg },
+ ColorColumn = { bg = "#E2EEEE" },
+ Conceal = { fg = "#b0b0b0" },
+ Cursor = { bg = "#007acc", fg = "#bfdbfe" },
+ -- lCursor { }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
+ -- CursorIM { }, -- like Cursor, but used when in IME mode |CursorIM|
+ CursorColumn = { bg = "#E2EEEE" },
+ CursorLine = { bg = "#E2EEEE" },
+ Directory = { fg = ansi.blue },
+ DiffAdd = { bg = "#ADFFB7", fg = "#0A7816" },
+ DiffDelete = { bg = "#F8B28F", fg = "#872C28" },
+ DiffText = { fg = "#fff987", bg = "#876004" },
+ DiffChange = { bg = "#fff987", fg = "#341a00" },
+ EndOfBuffer = { fg = "#b6b6b6" },
+ -- TermCursor { }, -- cursor in a focused terminal
+ TermCursorNC = { fg = bg, bg = fg },
+ ErrorMsg = { fg = error, bg = mistake.bg },
+ VertSplit = { fg = "#abbdc0" },
+ Folded = { bg = "#dddddd", fg = "#7d7d7d" },
+ FoldColumn = { bg = bg, fg = "#4d4d4d" },
+ SignColumn = {},
+ IncSearch = { bg = active, fg = fg },
+ -- Substitute { }, -- |:substitute| replacement text highlighting
+ LineNr = { fg = "#7d7c7c" },
+ CursorLineNr = { fg = ansi.blue, bold = 1 },
+ MatchParen = { underline = 1, sp = active },
+ -- ModeMsg { }, -- 'showmode' message (e.g., "-- INSERT -- ")
+ -- MsgArea { }, -- Area for messages and cmdline
+ -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display'
+ MoreMsg = { fg = ansi.green, bold = 1 },
+ NonText = { fg = "#696969" },
+ Normal = { bg = bg, fg = fg },
+ NormalFloat = { bg = float_bg },
+ -- NormalNC { }, -- normal text in non-current windows
+ FloatBorder = floatborder,
+ Pmenu = { bg = pmenu_bg },
+ PmenuSel = { bg = "#c7c7c7" },
+ PmenuSbar = { bg = "#777777" },
+ PmenuThumb = { bg = "#333333" },
+ Question = { fg = ansi.green },
+ QuickFixLine = { bg = "#E2EEEE" },
+ Search = { bg = "#fae9b7", fg = fg },
+ SpecialKey = { fg = ansi.cyan },
+ SpellBad = { undercurl = 1, sp = ansi.red },
+ SpellCap = { undercurl = 1, sp = ansi.blue },
+ SpellLocal = { undercurl = 1, sp = ansi.cyan },
+ SpellRare = { undercurl = 1, sp = ansi.magenta },
+ StatusLine = { bg = statusline, fg = fg },
+ StatusLineNC = { bg = statusline, fg = "#9f9f9f" },
+ TabLine = { bg = statusline, fg = "#7d7d7d" },
+ TabLineFill = { bg = statusline },
+ TabLineSel = { bg = statusline, fg = ansi.blue },
+ Title = { fg = const_fg },
+ Visual = { bg = "#bfdbfe" },
+ VisualNOS = { bg = "#bfdbfe" },
+ WarningMsg = { fg = "#e1ad4c" },
+ WildMenu = { bg = "#999999" },
+ WinBar = { bg = bg, fg = ansi.black, bold = true },
+ WinBarNC = { bg = bg, fg = "#7d7d7d" },
+
+ --- SYNTAX I: TS groups link to these
+ Constant = { fg = const_fg },
+ String = { fg = string_fg },
+ Character = { fg = const_fg },
+ Number = { fg = const_fg },
+ Boolean = { fg = const_fg },
+ Float = { fg = const_fg },
+ Operator = { fg = punct_fg },
+
+ --- SYNTAX II: TS groups have their own definition, the below are defined to have somewhat working hl w/o treesitter
+ Identifier = { fg = ansi.black },
+ Function = { fg = def_fg },
+ Statement = { fg = ansi.black },
+ Conditional = { fg = ansi.black },
+ Repeat = { fg = ansi.black },
+ Label = { fg = def_fg },
+ Keyword = { fg = ansi.black },
+ Exception = { fg = ansi.black },
+ PreProc = { fg = ansi.black },
+ Include = { fg = ansi.black },
+ Define = { fg = ansi.black },
+ Macro = { fg = ansi.black },
+ PreCondit = { fg = ansi.black },
+ Type = { fg = ansi.black },
+ StorageClass = { fg = ansi.black },
+ Structure = { fg = def_fg },
+ Typedef = { fg = def_fg },
+
+ Special = { fg = ansi.yellow },
+ -- TODO better color than diffchange, try reddish
+ -- SpecialChar = { fg = diffchange }, -- special character in a constant
+ -- Tag { }, -- you can use CTRL-] on this
+ -- Delimiter { },
+ SpecialComment = { bg = "#FFDEAA", fg = ansi.blue },
+ debugPc = { bg = "#C7C7EE" },
+ debugBreakpoint = { bg = "#F8B28F" },
+ helpHyperTextJump = { fg = ansi.magenta },
+ helpSectionDelim = { fg = ansi.magenta },
+ helpExample = { fg = ansi.cyan },
+ helpCommand = { fg = ansi.cyan },
+ helpHeadline = { fg = ansi.blue },
+ helpHeader = { fg = ansi.magenta },
+
+ Underlined = { underline = 1 }, -- (preferred) text that stands out, HTML links
+ Italic = { italic = 1 },
+
+ -- ("Ignore", below, may be invisible...)
+ -- Ignore { }, -- (preferred) left blank, hidden |hl-Ignore|
+
+ Error = { bg = mistake.bg, fg = mistake.fg },
+
+ Todo = { bg = "#FFDEAA", fg = ansi.blue },
+
+ --- Diagnostic
+ LspReferenceText = { bg = "#dadada" },
+ LspReferenceRdad = { bg = "#dadada" },
+ LspReferenceWrite = { bg = "#dadada", underline = 1, sp = active_blue },
+ LspCodeLens = { fg = "#999999" },
+ LspCodeLensSeparator = { fg = "#999999" },
+
+ --- Diagnostic
+ DiagnosticError = { fg = error },
+ DiagnosticWarn = { fg = warn },
+ DiagnosticHint = { fg = hint },
+ DiagnosticInfo = { fg = info },
+ DiagnosticVirtualTextError = { bg = "#F8B28F", fg = "#411414" },
+ DiagnosticVirtualTextWarn = { bg = "#fff987", fg = fg },
+ DiagnosticVirtualTextHint = { fg = "#0F171D", bg = "#C3D0DA" },
+ DiagnosticVirtualTextInfo = { bg = "#ADFFB7", fg = "#042F09" },
+
+ --- Treesitter
+ TSAttribute = {},
+ TSConstructor = { fg = ansi.black },
+ TSConditional = { fg = ansi.black },
+ TSConstBuiltin = { fg = const_fg },
+ TSConstMacro = { fg = ansi.black },
+ TSError = { bg = mistake.bg, fg = mistake.fg },
+ TSException = { fg = ansi.black },
+ TSField = { fg = ansi.black },
+ TSFunction = { fg = ansi.black },
+ TSFuncBuiltin = { fg = ansi.black },
+ TSFuncMacro = { fg = ansi.black },
+ TSKeyword = { fg = ansi.black },
+ TSKeywordFunction = { fg = ansi.black },
+ TSLabel = { fg = ansi.black },
+ TSMethod = { fg = ansi.black },
+ TSNamespace = { fg = ansi.black },
+ TSNone = { fg = const_fg },
+ TSParameter = { fg = ansi.black },
+ TSParameterReference = { fg = ansi.black },
+ TSProperty = { fg = ansi.black },
+ TSPunctDelimiter = { fg = punct_fg },
+ TSPunctBracket = { fg = punct_fg },
+ TSPunctSpecial = { fg = punct_fg },
+ TSRepeat = { fg = ansi.black },
+ TSString = { fg = string_fg },
+ TSStringRegex = { bg = bg, fg = "#777777" },
+ TSStringEscape = { bg = bg, fg = "#777777" },
+ TSSymbol = {},
+ TSType = { fg = ansi.black },
+ TSTypeBuiltin = { fg = ansi.black },
+ TSVariable = { fg = ansi.black },
+ TSVariableBuiltin = { fg = ansi.black },
+ TSTag = { fg = ansi.black },
+ TSTagDelimiter = { fg = punct_fg },
+ TSText = { fg = ansi.black },
+
+ ["@attribute"] = {},
+ ["@constructor"] = { fg = ansi.black },
+ ["@conditional"] = { fg = ansi.black },
+ ["@constant.builtin"] = { fg = const_fg },
+ ["@constant.macro"] = { fg = ansi.black },
+ ["@error"] = { bg = mistake.bg, fg = mistake.fg },
+ ["@exception"] = { fg = ansi.black },
+ ["@field"] = { fg = ansi.black },
+ ["@function"] = { fg = ansi.black },
+ ["@function.builtin"] = { fg = ansi.black },
+ ["@function.macro"] = { fg = ansi.black },
+ ["@keyword"] = { fg = ansi.black },
+ ["@keyword.function"] = { fg = ansi.black },
+ ["@label"] = { fg = ansi.black },
+ ["@method"] = { fg = ansi.black },
+ ["@module"] = { fg = ansi.black },
+ ["@namespace"] = { fg = ansi.black },
+ ["@none"] = { fg = const_fg },
+ ["@parameter"] = { fg = ansi.black },
+ ["@parameter.reference"] = { fg = ansi.black },
+ ["@property"] = { fg = ansi.black },
+ ["@punctuation.delimiter"] = { fg = punct_fg },
+ ["@punctuation.bracket"] = { fg = punct_fg },
+ ["@punctuation.special"] = { fg = punct_fg },
+ ["@repeat"] = { fg = ansi.black },
+ ["@string"] = { fg = string_fg },
+ ["@string.regex"] = { bg = bg, fg = "#777777" },
+ ["@string.escape"] = { bg = bg, fg = "#777777" },
+ ["@symbol"] = {},
+ ["@type"] = { fg = ansi.black },
+ ["@type.builtin"] = { fg = ansi.black },
+ ["@variable"] = { fg = ansi.black },
+ ["@variable.builtin"] = { fg = ansi.black },
+ ["@tag"] = { fg = ansi.black },
+ ["@tag.delimiter"] = { fg = punct_fg },
+ ["@text"] = { fg = ansi.black },
+ ["@text.note"] = { bg = "#dddddd", fg = ansi.blue },
+ ["@text.warning"] = { bg = "#FFDEAA", fg = ansi.blue },
+
+ --- Theme specific
+ ["@AlabasterConstant"] = { fg = const_fg },
+ ["@AlabasterDefinition"] = { fg = def_fg },
+ ["@AlabasterPunct"] = { fg = punct_fg },
+ ["@AlabasterString"] = { fg = string_fg },
+ ["@AlabasterHashbang"] = { fg = dim_comment },
+ --- Gitsigns
+ GitSignsAdd = { fg = "#6abf40" },
+ GitSignsChange = { fg = diffchange },
+ GitSignsDelete = { fg = diffdelete },
+ --- Telescope
+ TelescopeBorder = { fg = "#abbdc0" },
+ TelescopeMatching = { fg = "#CC6F14" },
+ TelescopeMultiSelection = { fg = ansi.magenta },
+ TelescopePromptPrefix = { fg = ansi.blue },
+ TelescopeSelectionCaret = { fg = mistake.fg },
+ TelescopeTitle = { fg = ansi.yellow },
+ TelescopeResultsTitle = { fg = ansi.yellow },
+ --- fzf-lua
+ FzfLuaBorder = { fg = "#abbdc0" },
+ --- Neogit
+ NeogitPopupActionDisabled = { fg = darker_fg },
+ NeogitPopupActionKey = { fg = ansi.magenta },
+ NeogitPopupOptionDisabled = { fg = darker_fg },
+ NeogitPopupOptionKey = { fg = ansi.blue },
+ NeogitPopupSwitchDisabled = { fg = darker_fg },
+ NeogitPopupSwitchEnabled = { fg = ansi.cyan },
+ NeogitPopupSwitchKey = { fg = ansi.magenta },
+ --- Fugitive
+ diffAdded = { link = "DiffAdd" },
+ diffRemoved = { link = "DiffDelete" },
+ --- Startify
+ StartifyBracket = { fg = darker_fg },
+ StartifyFile = { fg = ansi.black },
+ StartifySection = { fg = ansi.green },
+ StartifySlash = { fg = "#4e6e75" },
+ StartifyPath = { fg = "#4e6e75" },
+ --- Statusline
+ StatuslineAdd = { fg = diffadd, bg = statusline },
+ StatuslineErr = { fg = "#8E1410", bg = statusline },
+ StatuslineHint = { fg = hint, bg = statusline },
+ StatuslineInfo = { fg = info, bg = statusline },
+ StatuslineWarn = { fg = warn, bg = statusline },
+ StatuslineBlue = { fg = ansi.blue, bg = statusline },
+ StatuslineRed = { fg = ansi.red, bg = statusline },
+ StatuslineGreen = { fg = ansi.green, bg = statusline },
+ StatuslineCyan = { fg = ansi.cyan, bg = statusline },
+ StatuslineMagenta = { fg = ansi.magenta, bg = statusline },
+ --- ALE
+ ALEWarningSign = { fg = warn },
+ --- vim-matchup
+ MatchupVirtualText = { fg = ansi.yellow },
+ --- For `highlight link`
+ AlabasterBlack = { fg = ansi.black },
+ AlabasterBlue = { fg = ansi.blue },
+ AlabasterBrightYellow = { fg = ansi.brightyellow },
+ AlabasterCyan = { fg = ansi.cyan },
+ AlabasterGreen = { fg = ansi.green },
+ AlabasterBrightGreen = { fg = "#60cb00" },
+ AlabasterMagenta = { fg = ansi.magenta },
+ AlabasterRed = { fg = ansi.red },
+ AlabasterWhite = { fg = ansi.black },
+ AlabasterYellow = { fg = ansi.yellow },
+ --- Hop
+ HopNextKey = { fg = ansi.yellow },
+ HopNextKey1 = { fg = ansi.blue },
+ HopNextKey2 = { fg = "#17A2D6" },
+ HopUnmatched = { fg = "#bfbfbf" },
+ --- Lightspeed
+ LightspeedGreyWash = { fg = "#bfbfbf" },
+ --- checkhealth
+ healthSuccess = { fg = ansi.green, bg = bg },
+ --- cmp
+ CmpItemMenuDefault = { fg = ansi.magenta },
+ --- nvim-ts-rainbow
+ rainbowcol1 = { fg = ansi.yellow },
+ rainbowcol2 = { fg = ansi.magenta },
+ rainbowcol3 = { fg = ansi.blue },
+ rainbowcol4 = { fg = ansi.green },
+ rainbowcol5 = { fg = ansi.brightyellow },
+ rainbowcol6 = { fg = ansi.red },
+ rainbowcol7 = { fg = ansi.cyan },
+ --- Iswap
+ ISwapSnipe = { bg = ansi.yellow, fg = bg },
+ ISwapGrey = { fg = "#bfbfbf" },
+ --- vim-dadbod-ui
+ dbui_help = { fg = dim_comment },
+ dbui_connection_source = { fg = dim_comment },
+ --- nvim-dap-virtual-text
+ NvimDapVirtualText = { bg = "#78D2C9", fg = fg },
+ --- Noice
+ NoiceCmdlineIcon = { link = "AlabasterBrightGreen" },
+ NoiceCmdlinePopupBorder = { link = "AlabasterBrightGreen" },
+ NoiceConfirmBorder = { link = "AlabasterBrightGreen" },
+ NoiceCmdlinePopupBorderCmdline = { link = "AlabasterBrightGreen" },
+ NoiceCmdlineIconCmdline = { link = "AlabasterBrightGreen" },
+ NoiceCmdlinePopupBorderFilter = { link = "AlabasterBrightGreen" },
+ NoiceCmdlineIconFilter = { link = "AlabasterBrightGreen" },
+ NoiceCmdlinePopupBorderLua = { link = "AlabasterBrightGreen" },
+ NoiceCmdlineIconLua = { link = "AlabasterBrightGreen" },
+ NoiceCmdlinePopupBorderSearch = { link = "AlabasterYellow" },
+ NoiceCmdlineIconSearch = { link = "AlabasterYellow" },
+ -- Languages
+ --- asm
+ asmDirective = { fg = dim_comment },
+ nasmLabel = { link = "@AlabasterDefinition" },
+ ["@lsp.mod.declaration"] = { fg = fg },
+ ["@lsp.type.enumMember"] = { fg = fg },
+ ["@lsp.type.function"] = { fg = fg },
+ ["@lsp.type.method"] = { fg = fg },
+ ["@lsp.type.selfKeyword"] = { fg = fg },
+ ["@lsp.typemod.class.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.class.definition"] = { fg = def_fg },
+ ["@lsp.typemod.enum.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.enumMember.defaultLibrary"] = { fg = fg },
+ ["@lsp.typemod.function.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.function.definition"] = { fg = def_fg },
+ ["@lsp.typemod.macro.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.method.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.selfKeyword"] = { fg = fg },
+ ["@lsp.typemod.struct.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.type.declaration"] = { fg = def_fg },
+ }
+end
+
+for group, hl in pairs(theme) do
+ vim.api.nvim_set_hl(0, group, hl)
+end
+
+-- vi:nowrap