mirror of https://github.com/helix-editor/helix
Merge branch 'helix-editor:master' into master
commit
5f43a0d6ca
@ -0,0 +1,24 @@
|
|||||||
|
Syntax symbol pickers
|
||||||
|
==
|
||||||
|
|
||||||
|
This adds two new symbol picker commands that use tree-sitter rather than LSP. We run a new `symbols.scm` query across the file and extract tagged things like function definitions, types, classes, etc. For languages with unambiguous syntax this behaves roughly the same as the LSP symbol picker (`<space>s`). It's less precise though since we don't have semantic info about the language. For example it can easily produce false positives for C/C++ because of preprocessor magic.
|
||||||
|
|
||||||
|
The hope is to start introducing LSP-like features for navigation that can work without installing or running a language server. I made these two pickers in particular because I don't like LSP equivalents in ErlangLS - the document symbol picker can take a long time to show up during boot and the workspace symbol picker only searches for module names. The other motivation is to have some navigation features in cases when running a language server is too cumbersome - either to set up or because of resource constraints. For example `clangd` needs a fair amount of setup (`compile_commands.json`) that you might not want to do when quickly reading through a codebase.
|
||||||
|
|
||||||
|
GitHub already uses tree-sitter like this to provide [imprecise code navigation](https://docs.github.com/en/repositories/working-with-files/using-files/navigating-code-on-github#about-navigating-code-on-github). It should be possible to find definitions and references as well like `gd` and `gr` - this is left as a follow-up.
|
||||||
|
|
||||||
|
This PR also adds commands that either open the LSP symbol picker or the syntax one if a language server is not available. This way you can customize a language to not use the LSP symbol pickers, for example:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[language]]
|
||||||
|
name = "erlang"
|
||||||
|
language-servers = [{ name = "erlang-ls", except-features = ["document-symbols", "workspace-symbols"] }]
|
||||||
|
```
|
||||||
|
|
||||||
|
and `<space>s` will use the syntax symbol picker, while `<space>s` on a Rust file will still prefer the language server.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Outstanding question - how closely should we try to match LSP symbol kind? Not at all? Should we have markup specific symbol kinds? (For example see markdown's `symbols.scm`).
|
||||||
|
|
||||||
|
Also this PR needs docs on writing `symbols.scm` queries.
|
@ -1,73 +1,232 @@
|
|||||||
; Keywords
|
; Includes
|
||||||
|
[
|
||||||
|
"import"
|
||||||
|
"provider"
|
||||||
|
"with"
|
||||||
|
"as"
|
||||||
|
"from"
|
||||||
|
] @keyword.control.import
|
||||||
|
|
||||||
|
; Namespaces
|
||||||
|
(module_declaration
|
||||||
|
(identifier) @namespace)
|
||||||
|
|
||||||
|
; Builtins
|
||||||
|
(primitive_type) @type.builtin
|
||||||
|
|
||||||
|
((member_expression
|
||||||
|
object: (identifier) @type.builtin)
|
||||||
|
(#eq? @type.builtin "sys"))
|
||||||
|
|
||||||
|
; Functions
|
||||||
|
(call_expression
|
||||||
|
function: (identifier) @function)
|
||||||
|
|
||||||
|
(user_defined_function
|
||||||
|
name: (identifier) @function)
|
||||||
|
|
||||||
|
; Properties
|
||||||
|
(object_property
|
||||||
|
(identifier) @function.method
|
||||||
|
":" @punctuation.delimiter
|
||||||
|
(_))
|
||||||
|
|
||||||
|
(object_property
|
||||||
|
(compatible_identifier) @function.method
|
||||||
|
":" @punctuation.delimiter
|
||||||
|
(_))
|
||||||
|
|
||||||
|
(property_identifier) @function.method
|
||||||
|
|
||||||
|
; Attributes
|
||||||
|
(decorator
|
||||||
|
"@" @attribute)
|
||||||
|
|
||||||
|
(decorator
|
||||||
|
(call_expression
|
||||||
|
(identifier) @attribute))
|
||||||
|
|
||||||
|
(decorator
|
||||||
|
(call_expression
|
||||||
|
(member_expression
|
||||||
|
object: (identifier) @attribute
|
||||||
|
property: (property_identifier) @attribute)))
|
||||||
|
|
||||||
|
; Types
|
||||||
|
(type_declaration
|
||||||
|
(identifier) @type)
|
||||||
|
|
||||||
|
(type_declaration
|
||||||
|
(identifier)
|
||||||
|
"="
|
||||||
|
(identifier) @type)
|
||||||
|
|
||||||
|
(type
|
||||||
|
(identifier) @type)
|
||||||
|
|
||||||
|
(resource_declaration
|
||||||
|
(identifier) @type)
|
||||||
|
|
||||||
|
(resource_expression
|
||||||
|
(identifier) @type)
|
||||||
|
|
||||||
|
; Parameters
|
||||||
|
(parameter_declaration
|
||||||
|
(identifier) @variable.parameter
|
||||||
|
(_))
|
||||||
|
|
||||||
|
(call_expression
|
||||||
|
function: (_)
|
||||||
|
(arguments
|
||||||
|
(identifier) @variable.parameter))
|
||||||
|
|
||||||
|
(call_expression
|
||||||
|
function: (_)
|
||||||
|
(arguments
|
||||||
|
(member_expression
|
||||||
|
object: (identifier) @variable.parameter)))
|
||||||
|
|
||||||
|
(parameter
|
||||||
|
.
|
||||||
|
(identifier) @variable.parameter)
|
||||||
|
|
||||||
|
; Variables
|
||||||
|
(variable_declaration
|
||||||
|
(identifier) @variable
|
||||||
|
(_))
|
||||||
|
|
||||||
|
(metadata_declaration
|
||||||
|
(identifier) @variable
|
||||||
|
(_))
|
||||||
|
|
||||||
|
(output_declaration
|
||||||
|
(identifier) @variable
|
||||||
|
(_))
|
||||||
|
|
||||||
|
(object_property
|
||||||
|
(_)
|
||||||
|
":"
|
||||||
|
(identifier) @variable)
|
||||||
|
|
||||||
|
(for_statement
|
||||||
|
"for"
|
||||||
|
(for_loop_parameters
|
||||||
|
(loop_variable) @variable
|
||||||
|
(loop_enumerator) @variable))
|
||||||
|
|
||||||
|
; Conditionals
|
||||||
|
"if" @keyword.conditional
|
||||||
|
|
||||||
|
(ternary_expression
|
||||||
|
"?" @keyword.control.conditional
|
||||||
|
":" @keyword.control.conditional)
|
||||||
|
|
||||||
|
; Loops
|
||||||
|
(for_statement
|
||||||
|
"for" @keyword.control.repeat
|
||||||
|
"in"
|
||||||
|
":" @punctuation.delimiter)
|
||||||
|
|
||||||
|
; Keywords
|
||||||
[
|
[
|
||||||
"module"
|
"module"
|
||||||
"var"
|
"metadata"
|
||||||
|
"output"
|
||||||
"param"
|
"param"
|
||||||
"import"
|
|
||||||
"resource"
|
"resource"
|
||||||
"existing"
|
"existing"
|
||||||
"if"
|
|
||||||
"targetScope"
|
"targetScope"
|
||||||
"output"
|
"type"
|
||||||
|
"var"
|
||||||
|
"using"
|
||||||
|
"test"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
; Functions
|
"func" @keyword.function
|
||||||
|
|
||||||
(decorator) @function.builtin
|
"assert" @keyword.control.exception
|
||||||
|
|
||||||
(functionCall) @function
|
; Operators
|
||||||
|
[
|
||||||
|
"+"
|
||||||
|
"-"
|
||||||
|
"*"
|
||||||
|
"/"
|
||||||
|
"%"
|
||||||
|
"||"
|
||||||
|
"&&"
|
||||||
|
"|"
|
||||||
|
"=="
|
||||||
|
"!="
|
||||||
|
"=~"
|
||||||
|
"!~"
|
||||||
|
">"
|
||||||
|
">="
|
||||||
|
"<="
|
||||||
|
"<"
|
||||||
|
"??"
|
||||||
|
"="
|
||||||
|
"!"
|
||||||
|
".?"
|
||||||
|
] @operator
|
||||||
|
|
||||||
(functionCall
|
(subscript_expression
|
||||||
(functionArgument
|
"?" @operator)
|
||||||
(variableAccess) @variable))
|
|
||||||
|
|
||||||
; Literals/Types
|
(nullable_type
|
||||||
|
"?" @operator)
|
||||||
|
|
||||||
[
|
"in" @keyword.operator
|
||||||
"("
|
|
||||||
")"
|
|
||||||
"["
|
|
||||||
"]"
|
|
||||||
"{"
|
|
||||||
"}"
|
|
||||||
] @punctuation.bracket
|
|
||||||
|
|
||||||
(resourceDeclaration
|
; Literals
|
||||||
(string
|
(string) @string
|
||||||
(stringLiteral) @string.special))
|
|
||||||
|
|
||||||
(moduleDeclaration
|
(escape_sequence) @constant.character
|
||||||
(string
|
|
||||||
(stringLiteral) @string.special))
|
|
||||||
|
|
||||||
[
|
(number) @constant.number
|
||||||
(string)
|
|
||||||
(stringLiteral)
|
|
||||||
] @string
|
|
||||||
|
|
||||||
(nullLiteral) @keyword
|
(boolean) @constant.builtin.boolean
|
||||||
(booleanLiteral) @constant.builtin.boolean
|
|
||||||
(integerLiteral) @constant.numeric.integer
|
|
||||||
(comment) @comment
|
|
||||||
|
|
||||||
(string
|
(null) @constant.builtin
|
||||||
(variableAccess
|
|
||||||
(identifier) @variable))
|
|
||||||
|
|
||||||
(type) @type
|
; Misc
|
||||||
|
(compatible_identifier
|
||||||
|
"?" @punctuation.special)
|
||||||
|
|
||||||
; Variables
|
(nullable_return_type) @punctuation.special
|
||||||
|
|
||||||
|
[
|
||||||
|
"{"
|
||||||
|
"}"
|
||||||
|
] @punctuation.bracket
|
||||||
|
|
||||||
(localVariable) @variable
|
[
|
||||||
|
"["
|
||||||
|
"]"
|
||||||
|
] @punctuation.bracket
|
||||||
|
|
||||||
; Statements
|
[
|
||||||
|
"("
|
||||||
|
")"
|
||||||
|
] @punctuation.bracket
|
||||||
|
|
||||||
(object
|
[
|
||||||
(objectProperty
|
"."
|
||||||
(identifier) @identifier))
|
":"
|
||||||
|
"::"
|
||||||
|
"=>"
|
||||||
|
] @punctuation.delimiter
|
||||||
|
|
||||||
(propertyAccess
|
; Interpolation
|
||||||
(identifier) @identifier)
|
(interpolation
|
||||||
|
"${" @punctuation.special
|
||||||
(ifCondition) @keyword.control.conditional
|
"}" @punctuation.special)
|
||||||
|
|
||||||
|
(interpolation
|
||||||
|
(identifier) @variable)
|
||||||
|
|
||||||
|
; Comments
|
||||||
|
[
|
||||||
|
(comment)
|
||||||
|
(diagnostic_comment)
|
||||||
|
] @comment
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
; inherits: yaml
|
@ -0,0 +1 @@
|
|||||||
|
; inherits: yaml
|
@ -0,0 +1 @@
|
|||||||
|
; inherits: yaml
|
@ -0,0 +1 @@
|
|||||||
|
; inherits: yaml
|
@ -0,0 +1,94 @@
|
|||||||
|
[
|
||||||
|
"module"
|
||||||
|
"type"
|
||||||
|
"assume"
|
||||||
|
"const"
|
||||||
|
"var"
|
||||||
|
"val"
|
||||||
|
"nondet"
|
||||||
|
"def"
|
||||||
|
"pure"
|
||||||
|
"action"
|
||||||
|
"temporal"
|
||||||
|
"run"
|
||||||
|
] @keyword
|
||||||
|
|
||||||
|
(match_expr "match" @keyword.control.conditional)
|
||||||
|
|
||||||
|
(if_else_condition
|
||||||
|
"if" @keyword.control.conditional
|
||||||
|
"else" @keyword.control.conditional)
|
||||||
|
|
||||||
|
(import "import" @keyword.control.import)
|
||||||
|
(import "as" @keyword.control.import)
|
||||||
|
(import "from" @keyword.control.import)
|
||||||
|
(export "export" @keyword.control.import)
|
||||||
|
(export "as" @keyword.control.import)
|
||||||
|
|
||||||
|
[
|
||||||
|
"true"
|
||||||
|
"false"
|
||||||
|
"Int"
|
||||||
|
"Nat"
|
||||||
|
"Bool"
|
||||||
|
] @constant.builtin
|
||||||
|
|
||||||
|
[
|
||||||
|
";"
|
||||||
|
"."
|
||||||
|
","
|
||||||
|
] @punctuation.delimiter
|
||||||
|
|
||||||
|
[
|
||||||
|
"-"
|
||||||
|
"+"
|
||||||
|
"*"
|
||||||
|
"/"
|
||||||
|
"%"
|
||||||
|
"<"
|
||||||
|
"<="
|
||||||
|
"="
|
||||||
|
"=="
|
||||||
|
"!="
|
||||||
|
"=>"
|
||||||
|
">"
|
||||||
|
">="
|
||||||
|
"^"
|
||||||
|
"->"
|
||||||
|
] @operator
|
||||||
|
|
||||||
|
(infix_and "and" @operator)
|
||||||
|
(infix_or "or" @operator)
|
||||||
|
(infix_iff "iff" @operator)
|
||||||
|
(infix_implies "implies" @operator)
|
||||||
|
|
||||||
|
(braced_and "and" @keyword)
|
||||||
|
(braced_or "or" @keyword)
|
||||||
|
(braced_all "all" @keyword)
|
||||||
|
(braced_any "any" @keyword)
|
||||||
|
|
||||||
|
[
|
||||||
|
"("
|
||||||
|
")"
|
||||||
|
"["
|
||||||
|
"]"
|
||||||
|
"{"
|
||||||
|
"}"
|
||||||
|
] @punctuation.bracket
|
||||||
|
|
||||||
|
(polymorphic_type
|
||||||
|
(type) @type.parameter)
|
||||||
|
|
||||||
|
(variant_constructor) @type.enum.variant
|
||||||
|
|
||||||
|
(type) @type
|
||||||
|
(int_literal) @constant.numeric.integer
|
||||||
|
(comment) @comment
|
||||||
|
(string) @string
|
||||||
|
|
||||||
|
(operator_application
|
||||||
|
operator: (qualified_identifier) @function)
|
||||||
|
|
||||||
|
(operator_definition
|
||||||
|
name: (qualified_identifier) @function
|
||||||
|
arguments: (typed_argument_list))
|
@ -1,8 +1,29 @@
|
|||||||
((comment) @injection.content
|
((comment) @injection.content (#set! injection.language "comment"))
|
||||||
(#set! injection.language "comment"))
|
|
||||||
|
|
||||||
((raw_js) @injection.content
|
; %re
|
||||||
(#set! injection.language "javascript"))
|
(extension_expression
|
||||||
|
(extension_identifier) @_name
|
||||||
|
(#eq? @_name "re")
|
||||||
|
(expression_statement (_) @injection.content (#set! injection.language "regex")))
|
||||||
|
|
||||||
|
; %raw
|
||||||
|
(extension_expression
|
||||||
|
(extension_identifier) @_name
|
||||||
|
(#eq? @_name "raw")
|
||||||
|
(expression_statement
|
||||||
|
(_ (_) @injection.content (#set! injection.language "javascript"))))
|
||||||
|
|
||||||
|
; %graphql
|
||||||
|
(extension_expression
|
||||||
|
(extension_identifier) @_name
|
||||||
|
(#eq? @_name "graphql")
|
||||||
|
(expression_statement
|
||||||
|
(_ (_) @injection.content (#set! injection.language "graphql"))))
|
||||||
|
|
||||||
|
; %relay
|
||||||
|
(extension_expression
|
||||||
|
(extension_identifier) @_name
|
||||||
|
(#eq? @_name "relay")
|
||||||
|
(expression_statement
|
||||||
|
(_ (_) @injection.content (#set! injection.language "graphql") )))
|
||||||
|
|
||||||
((raw_gql) @injection.content
|
|
||||||
(#set! injection.language "graphql"))
|
|
@ -1,7 +1,7 @@
|
|||||||
(switch_expression) @local.scope
|
(switch_expression) @local.scope
|
||||||
(if_expression) @local.scope
|
|
||||||
|
|
||||||
; Definitions
|
; Definitions
|
||||||
;------------
|
;------------
|
||||||
(type_declaration) @local.defintion
|
(type_declaration) @local.definition
|
||||||
(let_binding) @local.defintion
|
(let_binding) @local.definition
|
||||||
|
(module_declaration) @local.definition
|
||||||
|
@ -0,0 +1,130 @@
|
|||||||
|
(self) @variable.builtin
|
||||||
|
|
||||||
|
(unit_definition (identifier) @function)
|
||||||
|
|
||||||
|
(parameter (identifier) @variable.parameter)
|
||||||
|
|
||||||
|
((pipeline_reg_marker) @keyword)
|
||||||
|
|
||||||
|
(scoped_identifier
|
||||||
|
path: (identifier) @namespace)
|
||||||
|
(scoped_identifier
|
||||||
|
(scoped_identifier
|
||||||
|
name: (identifier) @namespace))
|
||||||
|
|
||||||
|
((builtin_type) @type.builtin)
|
||||||
|
|
||||||
|
((identifier) @type.builtin
|
||||||
|
(#any-of?
|
||||||
|
@type.builtin
|
||||||
|
"uint"
|
||||||
|
"Option"
|
||||||
|
"Memory"))
|
||||||
|
|
||||||
|
((identifier) @type.enum.variant.builtin
|
||||||
|
(#any-of? @type.enum.variant.builtin "Some" "None"))
|
||||||
|
|
||||||
|
((pipeline_stage_name) @label)
|
||||||
|
|
||||||
|
((stage_reference
|
||||||
|
stage: (identifier) @label))
|
||||||
|
|
||||||
|
[
|
||||||
|
"pipeline"
|
||||||
|
"let"
|
||||||
|
"set"
|
||||||
|
"entity"
|
||||||
|
"fn"
|
||||||
|
"reg"
|
||||||
|
"reset"
|
||||||
|
"initial"
|
||||||
|
"inst"
|
||||||
|
"assert"
|
||||||
|
"struct"
|
||||||
|
"enum"
|
||||||
|
"stage"
|
||||||
|
"impl"
|
||||||
|
"port"
|
||||||
|
"decl"
|
||||||
|
"mod"
|
||||||
|
"where"
|
||||||
|
"trait"
|
||||||
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"use"
|
||||||
|
] @keyword.import
|
||||||
|
|
||||||
|
[
|
||||||
|
"$if"
|
||||||
|
"$else"
|
||||||
|
"$config"
|
||||||
|
] @keyword.directive
|
||||||
|
|
||||||
|
((comptime_if ["{" "}"] @keyword.directive))
|
||||||
|
((comptime_else ["{" "}"] @keyword.directive))
|
||||||
|
|
||||||
|
((attribute) ["#" "[" "]"] @punctuation.delimiter)
|
||||||
|
|
||||||
|
[
|
||||||
|
"else"
|
||||||
|
"if"
|
||||||
|
"match"
|
||||||
|
] @keyword.control.conditional
|
||||||
|
|
||||||
|
(bool_literal) @constant.builtin.boolean
|
||||||
|
(int_literal) @constant.numeric.integer
|
||||||
|
|
||||||
|
[
|
||||||
|
"&"
|
||||||
|
"inv"
|
||||||
|
"-"
|
||||||
|
"=>"
|
||||||
|
">"
|
||||||
|
"<"
|
||||||
|
"::<"
|
||||||
|
"::$<"
|
||||||
|
"="
|
||||||
|
"->"
|
||||||
|
"~"
|
||||||
|
"!"
|
||||||
|
] @operator
|
||||||
|
|
||||||
|
|
||||||
|
((op_add) @operator)
|
||||||
|
((op_sub) @operator)
|
||||||
|
((op_mul) @operator)
|
||||||
|
((op_equals) @operator)
|
||||||
|
((op_lt) @operator)
|
||||||
|
((op_gt) @operator)
|
||||||
|
((op_le) @operator)
|
||||||
|
((op_ge) @operator)
|
||||||
|
((op_lshift) @operator)
|
||||||
|
((op_rshift) @operator)
|
||||||
|
((op_bitwise_and) @operator)
|
||||||
|
((op_bitwise_xor) @operator)
|
||||||
|
((op_bitwise_or) @operator)
|
||||||
|
((op_logical_and) @operator)
|
||||||
|
((op_logical_or) @operator)
|
||||||
|
|
||||||
|
|
||||||
|
[
|
||||||
|
(line_comment)
|
||||||
|
(block_comment)
|
||||||
|
] @comment
|
||||||
|
|
||||||
|
[
|
||||||
|
(doc_comment)
|
||||||
|
] @comment.block.documentation
|
||||||
|
|
||||||
|
|
||||||
|
((identifier) @type
|
||||||
|
(#match? @type "[A-Z]"))
|
||||||
|
|
||||||
|
((scoped_identifier
|
||||||
|
name: (identifier) @type)
|
||||||
|
(#match? @type "^[A-Z]"))
|
||||||
|
|
||||||
|
((identifier) @constant
|
||||||
|
(#match? @constant "^[A-Z][A-Z\\d_]*$"))
|
||||||
|
|
@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
[
|
||||||
|
(unit_definition)
|
||||||
|
(struct_definition)
|
||||||
|
(enum_definition)
|
||||||
|
(enum_member)
|
||||||
|
(impl)
|
||||||
|
(mod)
|
||||||
|
(argument_list)
|
||||||
|
(let_binding)
|
||||||
|
(block)
|
||||||
|
(tuple_literal)
|
||||||
|
(array_literal)
|
||||||
|
(paren_expression)
|
||||||
|
(turbofish)
|
||||||
|
(generic_parameters)
|
||||||
|
(named_unpack)
|
||||||
|
(positional_unpack)
|
||||||
|
(tuple_pattern)
|
||||||
|
] @indent
|
||||||
|
|
||||||
|
[
|
||||||
|
"}"
|
||||||
|
"]"
|
||||||
|
")"
|
||||||
|
] @outdent
|
||||||
|
|
@ -0,0 +1,22 @@
|
|||||||
|
(string) @string
|
||||||
|
|
||||||
|
(field_name) @variable.other.member
|
||||||
|
|
||||||
|
(comment) @comment
|
||||||
|
|
||||||
|
(number) @constant.numeric
|
||||||
|
; covers e.g. booleans and "inf"
|
||||||
|
(scalar_value (identifier)) @constant
|
||||||
|
; Covers "-inf"
|
||||||
|
(scalar_value (signed_identifier)) @constant.numeric
|
||||||
|
|
||||||
|
[
|
||||||
|
(open_squiggly)
|
||||||
|
(close_squiggly)
|
||||||
|
(open_square)
|
||||||
|
(close_square)
|
||||||
|
(open_arrow)
|
||||||
|
(close_arrow)
|
||||||
|
] @punctuation.bracket
|
||||||
|
|
||||||
|
"," @punctuation.delimiter
|
@ -0,0 +1,11 @@
|
|||||||
|
[
|
||||||
|
(message_value)
|
||||||
|
(message_list)
|
||||||
|
(scalar_list)
|
||||||
|
] @indent
|
||||||
|
|
||||||
|
[
|
||||||
|
(close_arrow)
|
||||||
|
(close_square)
|
||||||
|
(close_squiggly)
|
||||||
|
] @outdent
|
@ -0,0 +1,12 @@
|
|||||||
|
(message_field
|
||||||
|
(_) @entry.inside) @entry.around
|
||||||
|
|
||||||
|
(scalar_field
|
||||||
|
(_) @entry.inside) @entry.around
|
||||||
|
|
||||||
|
(message_list
|
||||||
|
(_) @entry.around)
|
||||||
|
|
||||||
|
(scalar_list
|
||||||
|
(_) @entry.around)
|
||||||
|
|
@ -0,0 +1,15 @@
|
|||||||
|
(term_declaration) @function.around
|
||||||
|
|
||||||
|
(type_declaration) @class.inside
|
||||||
|
(record) @class.inside
|
||||||
|
|
||||||
|
(comment) @comment.inside
|
||||||
|
(comment)+ @comment.around
|
||||||
|
|
||||||
|
(doc_block) @comment.around
|
||||||
|
|
||||||
|
(literal_list) @entry.around
|
||||||
|
|
||||||
|
(parenthesized_or_tuple_pattern) @entry.around
|
||||||
|
|
||||||
|
(pattern) @entry.around
|
@ -0,0 +1,110 @@
|
|||||||
|
inherits="adwaita-dark"
|
||||||
|
"attribute" = "orange_5"
|
||||||
|
|
||||||
|
"type" = "teal_4"
|
||||||
|
"type.builtin" = "teal_4"
|
||||||
|
|
||||||
|
"constructor" = "blue_4"
|
||||||
|
|
||||||
|
"constant" = "violet_4"
|
||||||
|
"constant.builtin" = { fg = "violet_4", modifiers = ["bold"] }
|
||||||
|
"constant.character" = "teal_5"
|
||||||
|
"constant.numeric" = { fg = "teal_5", modifiers = ["bold"] }
|
||||||
|
"constant.character.escape" = "violet_4"
|
||||||
|
|
||||||
|
"string" = "teal_3"
|
||||||
|
"string.regexp" = "purple_4"
|
||||||
|
"string.special" = "blue_4"
|
||||||
|
|
||||||
|
"comment" = "light_6"
|
||||||
|
|
||||||
|
"variable" = "dark_5"
|
||||||
|
"variable.parameter" = "orange_4"
|
||||||
|
"variable.builtin" = "orange_4"
|
||||||
|
"variable.other" = "teal_4"
|
||||||
|
"variable.other.member" = "teal_5"
|
||||||
|
|
||||||
|
"label" = "purple_4"
|
||||||
|
|
||||||
|
"punctuation" = "dark_4"
|
||||||
|
"punctuation.delimiter" = "dark_4"
|
||||||
|
"punctuation.bracket" = "dark_4"
|
||||||
|
"punctuation.special" = "red_5"
|
||||||
|
|
||||||
|
"keyword" = { fg = "orange_4", modifiers = ["bold"] }
|
||||||
|
"keyword.control" = { fg = "orange_4", modifiers = ["bold"] }
|
||||||
|
"keyword.operator" = "purple_4"
|
||||||
|
"keyword.directive" = { fg = "orange_4", modifiers = ["bold"] }
|
||||||
|
"keyword.function" = "orange_4"
|
||||||
|
"keyword.storage" = { fg = "orange_4", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"operator" = "purple_4"
|
||||||
|
|
||||||
|
"function" = "blue_4"
|
||||||
|
"function.builtin" = "blue_4"
|
||||||
|
"function.macro" = { fg = "blue_4", modifiers = ["bold"] }
|
||||||
|
"function.special" = { fg = "blue_4", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"tag" = "teal_4"
|
||||||
|
|
||||||
|
"namespace" = "orange_4"
|
||||||
|
|
||||||
|
"markup" = "dark_4"
|
||||||
|
"markup.heading" = { fg = "teal_4", modifiers = ["bold"] }
|
||||||
|
"markup.list" = { fg = "orange_4", modifiers = ["bold"] }
|
||||||
|
"markup.bold" = { fg = "dark_4", modifiers = ["bold"] }
|
||||||
|
"markup.italic" = { fg = "dark_4", modifiers = ["italic"] }
|
||||||
|
"markup.link" = { fg = "blue_5", modifiers = ["underlined"] }
|
||||||
|
"markup.quote" = { fg = "dark_3", modifiers = ["italic"] }
|
||||||
|
"diff.plus" = "teal_5"
|
||||||
|
"diff.minus" = "red_3"
|
||||||
|
"diff.delta" = "orange_5"
|
||||||
|
"diff.delta.moved" = "orange_4"
|
||||||
|
|
||||||
|
"ui.background" = { fg = "dark_4", bg = "light_1" }
|
||||||
|
"ui.background.separator" = { fg = "split_and_borders", bg = "light_2" }
|
||||||
|
"ui.cursor" = { fg = "light_2", bg = "dark_5" }
|
||||||
|
"ui.cursor.insert" = { fg = "light_2", bg = "dark_4" }
|
||||||
|
"ui.cursor.primary.insert" = { fg = "light_2", bg = "yellow_5" }
|
||||||
|
"ui.cursor.select" = { fg = "light_2", bg = "dark_5" }
|
||||||
|
"ui.cursor.match" = { fg = "light_2", bg = "blue_1" }
|
||||||
|
"ui.cursor.primary" = { fg = "light_2", bg = "dark_6" }
|
||||||
|
"ui.linenr" = "light_5"
|
||||||
|
"ui.linenr.selected" = { fg = "dark_2", bg = "light_3", modifiers = [
|
||||||
|
"bold",
|
||||||
|
] }
|
||||||
|
"ui.statusline" = { fg = "dark_4", bg = "light_4" }
|
||||||
|
"ui.statusline.inactive" = { fg = "dark_3", bg = "light_3" }
|
||||||
|
"ui.statusline.insert" = { fg = "light_5", bg = "teal_3" }
|
||||||
|
"ui.statusline.select" = { fg = "light_4", bg = "blue_3" }
|
||||||
|
"ui.popup" = { bg = "light_3" }
|
||||||
|
"ui.window" = "split_and_borders"
|
||||||
|
"ui.help" = { bg = "light_3" }
|
||||||
|
"ui.text" = "dark_4"
|
||||||
|
"ui.virtual" = "light_1"
|
||||||
|
"ui.virtual.ruler" = { bg = "light_5"}
|
||||||
|
"ui.menu" = { fg = "dark_4", bg = "light_3" }
|
||||||
|
"ui.menu.selected" = { fg = "dark_4", bg = "blue_1" }
|
||||||
|
"ui.menu.scroll" = { fg = "dark_6", bg = "light_3" }
|
||||||
|
"ui.selection" = { bg = "blue_0" }
|
||||||
|
"ui.selection.primary" = { bg = "blue_0" }
|
||||||
|
"ui.cursorline.primary" = { bg = "light_3" }
|
||||||
|
"ui.virtual.whitespace" = "light_7"
|
||||||
|
|
||||||
|
"warning" = "yellow_4"
|
||||||
|
"error" = "red_5"
|
||||||
|
"info" = "purple_3"
|
||||||
|
"hint" = "blue_3"
|
||||||
|
|
||||||
|
"diagnostic.hint" = { fg = "blue_4", modifiers = ["dim"] }
|
||||||
|
"diagnostic.info" = { fg = "purple_4", modifiers = ["dim"] }
|
||||||
|
"diagnostic.error" = { fg = "red_5", modifiers = ["underlined"] }
|
||||||
|
"diagnostic.warning" = { fg = "yellow_4", modifiers = ["underlined"] }
|
||||||
|
"diagnostic.unnecessary" = { modifiers = ["dim"] }
|
||||||
|
"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
|
||||||
|
|
||||||
|
"ui.bufferline" = { fg = "light_7", bg = "light_2" }
|
||||||
|
"ui.bufferline.active" = { fg = "dark_4", bg = "light_4", modifiers = ["bold"]}
|
||||||
|
|
||||||
|
[palette]
|
||||||
|
blue_0 = "#d3e4f9"
|
@ -0,0 +1,50 @@
|
|||||||
|
# Author: github.com/ETCaton
|
||||||
|
# License: MIT License
|
||||||
|
# Carbonfox
|
||||||
|
#
|
||||||
|
# Based on Helix's Nightfox port with changes to align it to Nightfox's Carbonfox theme
|
||||||
|
# Any 'custom' colors are replicating the result of the linear color blending done in the original
|
||||||
|
# Neovim theme.
|
||||||
|
# https://github.com/EdenEast/nightfox.nvim/blob/d3e8b1acc095baf57af81bb5e89fe7c4359eb619/lua/nightfox/lib/color.lua#L236-L247
|
||||||
|
|
||||||
|
inherits = 'nightfox'
|
||||||
|
|
||||||
|
# DIAGNOSTICS
|
||||||
|
# For brevity: All blends here are a blend between bg1 and the fg value with factor of 0.15
|
||||||
|
"warning" = { fg = "magenta", bg = "#2f2939" }
|
||||||
|
"error.bg" = "#361f29"
|
||||||
|
"info.bg" = "#252c39"
|
||||||
|
"hint" = { fg = "orange", bg = "#1c3433" }
|
||||||
|
|
||||||
|
[palette]
|
||||||
|
black = "#282828"
|
||||||
|
red = "#ee5396"
|
||||||
|
red-dim = "#ca4780"
|
||||||
|
green = "#25be6a"
|
||||||
|
green-dim = "#1fa25a"
|
||||||
|
yellow = "#08bdba"
|
||||||
|
yellow-bright = "#2dc7c4"
|
||||||
|
blue = "#78a9ff"
|
||||||
|
blue-bright = "#8cb6ff"
|
||||||
|
blue-dim = "#6690d9"
|
||||||
|
magenta = "#be95ff"
|
||||||
|
magenta-bright = "#c8a5ff"
|
||||||
|
cyan = "#33b1ff"
|
||||||
|
cyan-bright = "#52bdff"
|
||||||
|
cyan-dim = "#2b96d9"
|
||||||
|
orange = "#3ddbd9"
|
||||||
|
orange-bright = "#5ae0df"
|
||||||
|
pink = "#ff7eb6"
|
||||||
|
pink-bright = "#ff91c1"
|
||||||
|
# spec
|
||||||
|
bg0 = "#0c0c0c"
|
||||||
|
bg1 = "#161616"
|
||||||
|
bg2 = "#252525"
|
||||||
|
bg3 = "#353535"
|
||||||
|
bg4 = "#535353"
|
||||||
|
fg0 = "#f9fbff"
|
||||||
|
fg1 = "#f2f4f8"
|
||||||
|
fg2 = "#b6b8bb"
|
||||||
|
fg3 = "#7b7c7e"
|
||||||
|
sel0 = "#2a2a2a"
|
||||||
|
sel1 = "#525253"
|
@ -0,0 +1,180 @@
|
|||||||
|
## Author: mesmere <95945959+mesmere@users.noreply.github.com>
|
||||||
|
## Original design by Ian Joyner
|
||||||
|
|
||||||
|
"attribute" = { fg = "markup", modifiers = ["italic"] }
|
||||||
|
"comment" = "comments"
|
||||||
|
"comment.block" = "comments"
|
||||||
|
"comment.block.documentation" = "comments"
|
||||||
|
"comment.line" = "comments"
|
||||||
|
#"constant" = ""
|
||||||
|
"constant.builtin" = { fg = "builtins", modifiers = ["italic"] }
|
||||||
|
"constant.character" = "strings"
|
||||||
|
"constant.character.escape" = "symbols"
|
||||||
|
"constant.numeric" = { fg = "constants_numeric", modifiers = ["italic"] }
|
||||||
|
"constructor" = { modifiers = ["italic"] }
|
||||||
|
"function" = { fg = "members" }
|
||||||
|
"function.builtin" = "builtins"
|
||||||
|
"function.macro" = "preprocessor"
|
||||||
|
"function.method" = { fg = "members", modifiers = ["italic"] }
|
||||||
|
#"function.method.private" = ""
|
||||||
|
"function.special" = "preprocessor"
|
||||||
|
"keyword" = { fg = "ui_text" }
|
||||||
|
"keyword.control" = { fg = "keywords", modifiers = ["bold"] }
|
||||||
|
"keyword.directive" = { fg = "preprocessor", modifiers = ["bold"] }
|
||||||
|
#"keyword.function" = ""
|
||||||
|
"keyword.operator" = { fg = "operators", modifiers = ["italic"] }
|
||||||
|
#"keyword.storage" = ""
|
||||||
|
#"label" = ""
|
||||||
|
#"namespace" = ""
|
||||||
|
"operator" = { fg = "operators", modifiers = ["bold"] }
|
||||||
|
#"punctuation" = ""
|
||||||
|
#"punctuation.bracket" = ""
|
||||||
|
#"punctuation.delimiter" = ""
|
||||||
|
"punctuation.special" = "strings"
|
||||||
|
#"special" = ""
|
||||||
|
"string" = "strings"
|
||||||
|
"string.regexp" = "symbols"
|
||||||
|
"string.special" = "symbols"
|
||||||
|
"tag" = "markup"
|
||||||
|
"type" = { modifiers = ["italic"] }
|
||||||
|
#"type.builtin" = ""
|
||||||
|
#"type.enum" = ""
|
||||||
|
#"type.parameter" = ""
|
||||||
|
#"variable" = ""
|
||||||
|
"variable.builtin" = "builtins"
|
||||||
|
"variable.other.member" = { fg = "members", modifiers = ["italic"] }
|
||||||
|
#"variable.other.member.private" = ""
|
||||||
|
#"variable.parameter" = ""
|
||||||
|
"markup" = "markup"
|
||||||
|
"markup.heading" = { fg = "markup_headings", modifiers = ["bold"] }
|
||||||
|
#"markup.heading.marker" = ""
|
||||||
|
"markup.list" = "markup_lists"
|
||||||
|
"markup.bold" = { modifiers = ["bold"] }
|
||||||
|
"markup.italic" = { modifiers = ["italic"] }
|
||||||
|
"markup.strikethrough" = { modifiers = ["crossed_out"] }
|
||||||
|
"markup.link.url" = { fg = "strings", underline.style = "line" } # Match HTML href/src attributes.
|
||||||
|
#"markup.link.label" = ""
|
||||||
|
"markup.link.text" = "ui_text"
|
||||||
|
"markup.quote" = { fg = "black", modifiers = ["italic"] }
|
||||||
|
"markup.raw" = "strings"
|
||||||
|
#"markup.raw.inline" = ""
|
||||||
|
#"markup.raw.block" = ""
|
||||||
|
|
||||||
|
"diff.delta" = "diff_delta"
|
||||||
|
"diff.minus" = "diff_minus"
|
||||||
|
"diff.plus" = "diff_plus"
|
||||||
|
|
||||||
|
"ui.background" = { bg = "ui_background" }
|
||||||
|
#"ui.background.separator" = ""
|
||||||
|
"ui.bufferline" = { fg = "ui_text_dim", bg = "ui_background_accent" }
|
||||||
|
"ui.bufferline.active" = { fg = "ui_text", bg = "ui_background_accent" }
|
||||||
|
"ui.bufferline.background" = { bg = "ui_background_accent" }
|
||||||
|
#"ui.cursor" = { modifiers = ['reversed'] }
|
||||||
|
"ui.cursor.insert" = { bg = "ui_mode_insert_accent" }
|
||||||
|
"ui.cursor.match" = { modifiers = ['reversed'] }
|
||||||
|
"ui.cursor.normal" = { bg = "ui_mode_normal_accent" }
|
||||||
|
"ui.cursor.select" = { bg = "ui_mode_select_accent" }
|
||||||
|
#"ui.cursor.primary" = ""
|
||||||
|
"ui.cursor.primary.insert" = { bg = "ui_mode_insert" }
|
||||||
|
#"ui.cursor.primary.match" = ""
|
||||||
|
"ui.cursor.primary.normal" = { bg = "ui_mode_normal" }
|
||||||
|
"ui.cursor.primary.select" = { bg = "ui_mode_select" }
|
||||||
|
"ui.cursorcolumn.primary" = { bg = "ui_background_accent" }
|
||||||
|
#"ui.cursorcolumn.secondary" = ""
|
||||||
|
"ui.cursorline.primary" = { bg = "ui_background_accent" }
|
||||||
|
#"ui.cursorline.secondary" = ""
|
||||||
|
"ui.debug.active" = { fg = "ui_debug_breakpoint" }
|
||||||
|
"ui.debug.breakpoint" = { fg = "ui_debug_breakpoint" }
|
||||||
|
"ui.gutter" = { bg = "ui_background" }
|
||||||
|
"ui.gutter.selected" = { bg = "ui_background_accent" }
|
||||||
|
"ui.help" = { fg = "ui_text", bg = "ui_menu" }
|
||||||
|
"ui.highlight" = { fg = "ui_highlight_line_text", bg = "ui_highlight_line" } # fg is not respected https://github.com/helix-editor/helix/issues/11141
|
||||||
|
"ui.highlight.frameline" = { fg = "ui_highlight_line_text", bg = "ui_highlight_line" }
|
||||||
|
"ui.linenr" = "ui_text_dim"
|
||||||
|
"ui.linenr.selected" = { fg = "ui_text_dim", bg = "ui_background_accent" }
|
||||||
|
"ui.menu" = { fg = "ui_menu_text", bg = "ui_menu" }
|
||||||
|
"ui.menu.scroll" = { fg = "ui_menu_handle", bg = "ui_menu_selected" }
|
||||||
|
"ui.menu.selected" = { fg = "ui_text", bg = "ui_menu_selected" }
|
||||||
|
#"ui.picker" = { fg = "ui_text", bg = "ui_menu" } # Styling the picker is currently unsupported.
|
||||||
|
"ui.picker.header" = { bg = "ui_background_accent" }
|
||||||
|
"ui.picker.header.column" = "ui_text"
|
||||||
|
"ui.picker.header.column.active" = { fg = "ui_text", modifiers = ["bold"], underline = { style = "line" } }
|
||||||
|
"ui.popup" = { fg = "ui_text", bg = "ui_background_accent" }
|
||||||
|
"ui.popup.info" = { fg = "ui_text", bg = "ui_menu" }
|
||||||
|
"ui.selection" = { bg = "ui_selection" }
|
||||||
|
#"ui.selection.primary" = { bg = "ui_selection", underline.style = "line" }
|
||||||
|
"ui.statusline" = { fg = "ui_text", bg = "ui_background_accent" }
|
||||||
|
#"ui.statusline.inactive" = { fg = "", bg = "" }
|
||||||
|
"ui.statusline.insert" = { fg = "ui_mode_insert_text", bg = "ui_mode_insert", modifiers = ["bold"] }
|
||||||
|
"ui.statusline.normal" = { fg = "ui_mode_normal_text", bg = "ui_mode_normal", modifiers = ["bold"] }
|
||||||
|
"ui.statusline.select" = { fg = "ui_mode_select_text", bg = "ui_mode_select", modifiers = ["bold"] }
|
||||||
|
"ui.text" = "ui_text"
|
||||||
|
"ui.text.focus" = { fg = "ui_text", modifiers = ["bold"] }
|
||||||
|
"ui.text.inactive" = "ui_text_dim"
|
||||||
|
#"ui.text.info" = ""
|
||||||
|
"ui.virtual.indent-guide" = "ui_text_dim"
|
||||||
|
"ui.virtual.inlay-hint" = "ui_text_dim"
|
||||||
|
#"ui.virtual.inlay-hint.parameter" = ""
|
||||||
|
#"ui.virtual.inlay-hint.type" = ""
|
||||||
|
"ui.virtual.jump-label" = { fg = "white", bg = "ui_jumplabel", modifiers = ["bold"] }
|
||||||
|
"ui.virtual.ruler" = { bg = "ui_background_accent" }
|
||||||
|
"ui.virtual.whitespace" = "ui_text_dim"
|
||||||
|
"ui.virtual.wrap" = "ui_text_dim"
|
||||||
|
"ui.window" = "ui_split_line"
|
||||||
|
|
||||||
|
info = { fg = 'ui_diagnostic_info' }
|
||||||
|
hint = { fg = 'ui_diagnostic_hint', modifiers = ['bold'] }
|
||||||
|
warning = { fg = 'ui_diagnostic_warning', modifiers = ['bold'] }
|
||||||
|
error = { fg = 'ui_diagnostic_error', modifiers = ['bold'] }
|
||||||
|
|
||||||
|
"diagnostic.info" = { fg = "ui_diagnostic_info", underline = { style = "curl", color = "ui_diagnostic_info" } }
|
||||||
|
"diagnostic.hint" = { fg = "ui_diagnostic_hint", underline = { style = "curl", color = "ui_diagnostic_hint" } }
|
||||||
|
"diagnostic.warning" = { fg = "ui_diagnostic_warning", underline = { style = "curl", color = "ui_diagnostic_warning" } }
|
||||||
|
"diagnostic.error" = { fg = "ui_diagnostic_error", underline = { style = "curl", color = "ui_diagnostic_error" } }
|
||||||
|
"diagnostic.unnecessary" = { modifiers = ["dim"] }
|
||||||
|
"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
|
||||||
|
|
||||||
|
[palette]
|
||||||
|
builtins = "#585cf6"
|
||||||
|
comments = "#00b418"
|
||||||
|
constants_numeric = "#cd0000"
|
||||||
|
diff_delta = "#0000a2"
|
||||||
|
diff_minus = "#990000"
|
||||||
|
diff_plus = "#00b418"
|
||||||
|
keywords = "#0100b6"
|
||||||
|
markup = "#1c02ff"
|
||||||
|
markup_headings = "#0c07ff"
|
||||||
|
markup_lists = "#b90690"
|
||||||
|
members = "#0206ff"
|
||||||
|
operators = "#0100b6"
|
||||||
|
preprocessor = "#0c450d"
|
||||||
|
strings = "#d80800"
|
||||||
|
symbols = "#26b31a"
|
||||||
|
ui_background = "#ffffff"
|
||||||
|
ui_background_accent = "#ededed"
|
||||||
|
ui_highlight_line = "#0100b6"
|
||||||
|
ui_highlight_line_text = "#ffffff"
|
||||||
|
ui_debug_breakpoint = "#990000"
|
||||||
|
ui_diagnostic_error = "#990000"
|
||||||
|
ui_diagnostic_hint = "#06960e"
|
||||||
|
ui_diagnostic_info = "#808080"
|
||||||
|
ui_diagnostic_warning = "#fafa28"
|
||||||
|
ui_jumplabel = "#990000"
|
||||||
|
ui_menu = "#c3dcff"
|
||||||
|
ui_menu_selected = "#a3bcdf"
|
||||||
|
ui_menu_handle = "#839cbf"
|
||||||
|
ui_menu_text = "#000000"
|
||||||
|
ui_mode_insert = "#009608"
|
||||||
|
ui_mode_insert_accent = "#73e678"
|
||||||
|
ui_mode_insert_text = "#ffffff"
|
||||||
|
ui_mode_normal = "#444444"
|
||||||
|
ui_mode_normal_accent = "#cccccc"
|
||||||
|
ui_mode_normal_text = "#ffffff"
|
||||||
|
ui_mode_select = "#000096"
|
||||||
|
ui_mode_select_accent = "#7373e6"
|
||||||
|
ui_mode_select_text = "#ffffff"
|
||||||
|
ui_selection = "#c3dcff"
|
||||||
|
ui_split_line = "#000000"
|
||||||
|
ui_statusline = "#000000"
|
||||||
|
ui_text = "#000000"
|
||||||
|
ui_text_dim = "#808080"
|
@ -0,0 +1,41 @@
|
|||||||
|
# Author : portalsurfer <https://github.com/PORTALSURFER>
|
||||||
|
|
||||||
|
inherits = "hex_steel"
|
||||||
|
|
||||||
|
[palette]
|
||||||
|
t1 = "#121211"
|
||||||
|
t2 = "#1e1f1b"
|
||||||
|
t3 = "#4c513a"
|
||||||
|
t4 = "#5a6052"
|
||||||
|
t5 = "#6f6d6f"
|
||||||
|
t8 = "#7e808a"
|
||||||
|
t7 = "#b1b354"
|
||||||
|
t10 = "#6fa197"
|
||||||
|
t9 = "#3f4a4e"
|
||||||
|
t6 = "#98acaa"
|
||||||
|
t11 = "#6fd7a8"
|
||||||
|
|
||||||
|
highlight = "#ff2e5f"
|
||||||
|
highlight_two = "#0affa9"
|
||||||
|
highlight_three = "#d7ff52"
|
||||||
|
|
||||||
|
black = "#000000"
|
||||||
|
|
||||||
|
selection = "#290019"
|
||||||
|
selection_fg = "#c8e732"
|
||||||
|
|
||||||
|
comment = "#396884"
|
||||||
|
comment_doc = "#234048"
|
||||||
|
|
||||||
|
error = "#c73500"
|
||||||
|
warning = "#dcbb00"
|
||||||
|
display = "#57ff89"
|
||||||
|
info = "#dad7d5"
|
||||||
|
|
||||||
|
hints = "#313d3c"
|
||||||
|
ruler = "#21221e"
|
||||||
|
|
||||||
|
diff_minus = "#ff4000"
|
||||||
|
diff_delta = "#16a7c7"
|
||||||
|
diff_plus = "#c9d400"
|
||||||
|
diff_delta_moved = "#0048bd"
|
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2021 James Simpson
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
@ -0,0 +1,16 @@
|
|||||||
|
# Seoul256 Dark Hard
|
||||||
|
# Author : EricHenry
|
||||||
|
# Original Creator: https://github.com/junegunn/seoul256.vim
|
||||||
|
|
||||||
|
inherits = "seoul256-dark"
|
||||||
|
|
||||||
|
"ui.background" = { bg = "gray1" }
|
||||||
|
"ui.gutter" = { bg = "gray2" }
|
||||||
|
"ui.cursorline.primary" = { bg = "gray" }
|
||||||
|
"ui.gutter.selected" = { bg = "gray" }
|
||||||
|
"ui.linenr.selected" = { bg = "gray", fg = "magenta", modifiers = ["bold"] }
|
||||||
|
"ui.virtual.inlay-hint" = { fg = "gray4", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"ui.help" = { bg = "gray" }
|
||||||
|
"ui.popup" = { bg = "gray" }
|
||||||
|
"ui.menu" = { bg = "gray" }
|
@ -0,0 +1,15 @@
|
|||||||
|
# Seoul256 Dark Soft
|
||||||
|
# Author : EricHenry
|
||||||
|
# Original Creator: https://github.com/junegunn/seoul256.vim
|
||||||
|
|
||||||
|
inherits = "seoul256-dark"
|
||||||
|
|
||||||
|
"ui.background" = { bg = "gray8" }
|
||||||
|
"ui.gutter" = { bg = "gray6" }
|
||||||
|
"ui.cursorline.primary" = { bg = "gray5" }
|
||||||
|
"ui.gutter.selected" = { bg = "gray5" }
|
||||||
|
"ui.linenr.selected" = { bg = "gray5", fg = "magenta", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"ui.help" = { bg = "gray5" }
|
||||||
|
"ui.popup" = { bg = "gray5" }
|
||||||
|
"ui.menu" = { bg = "gray5" }
|
@ -0,0 +1,161 @@
|
|||||||
|
# Seoul256 Dark
|
||||||
|
# Author : EricHenry
|
||||||
|
# Original Creator: https://github.com/junegunn/seoul256.vim
|
||||||
|
|
||||||
|
# Syntax highlighting configuration
|
||||||
|
"attribute" = { fg = "yellow" }
|
||||||
|
"comment" = { fg = "green1" }
|
||||||
|
"constant" = { fg = "blue5" }
|
||||||
|
"constant.numeric" = { fg = "yellow1" }
|
||||||
|
"constant.builtin.boolean" = { fg = "purple" }
|
||||||
|
"constant.character.escape" = { fg = "salmon" }
|
||||||
|
"constructor" = { fg = "yellow" }
|
||||||
|
"function" = { fg = "yellow2" }
|
||||||
|
"function.builtin" = { fg = "blue1" }
|
||||||
|
"function.method" = { fg = "salmon" }
|
||||||
|
"function.macro" = { fg = "yellow2" }
|
||||||
|
"keyword" = { fg = "mauve" }
|
||||||
|
"label" = { fg = "magenta" }
|
||||||
|
"namespace" = { fg = "cyan" }
|
||||||
|
"operator" = { fg = "yellow3" }
|
||||||
|
"punctuation" = { fg = "brown" }
|
||||||
|
"special" = { fg = "yellow2" }
|
||||||
|
"string" = { fg = "blue" }
|
||||||
|
"type" = { fg = "yellow" }
|
||||||
|
"type.builtin" = { fg = "salmon" }
|
||||||
|
"variable" = { fg = "white" }
|
||||||
|
"variable.builtin" = { fg = "salmon" }
|
||||||
|
"variable.parameter" = { fg = "white" }
|
||||||
|
"variable.other.member" = { fg = "white" }
|
||||||
|
|
||||||
|
"markup.heading" = { fg = "salmon2", modifiers = ["bold"] }
|
||||||
|
"markup.raw.inline" = { fg = "green" }
|
||||||
|
"markup.bold" = { fg = "yellow1", modifiers = ["bold"] }
|
||||||
|
"markup.italic" = { fg = "magenta1", modifiers = ["italic"] }
|
||||||
|
"markup.strikethrough" = { modifiers = ["crossed_out"] }
|
||||||
|
"markup.list" = { fg = "salmon" }
|
||||||
|
"markup.quote" = { fg = "yellow" }
|
||||||
|
"markup.link.url" = { fg = "cyan", modifiers = ["underlined"] }
|
||||||
|
"markup.link.text" = { fg = "salmon2" }
|
||||||
|
|
||||||
|
"diff.plus" = { fg = "green3" }
|
||||||
|
"diff.delta" = { fg = "blue1" }
|
||||||
|
"diff.minus" = { fg = "magenta3" }
|
||||||
|
|
||||||
|
"diagnostic.info".underline = { color = "cyan", style = "curl" }
|
||||||
|
"diagnostic.hint".underline = { color = "green1", style = "curl" }
|
||||||
|
"diagnostic.warning".underline = { color = "yellow1", style = "curl" }
|
||||||
|
"diagnostic.error".underline = { color = "red", style = "curl" }
|
||||||
|
"diagnostic.unnecessary" = { modifiers = ["dim"] }
|
||||||
|
"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
|
||||||
|
"info" = { fg = "blue2", modifiers = ["bold"] }
|
||||||
|
"hint" = { fg = "blue3", modifiers = ["bold"] }
|
||||||
|
"warning" = { fg = "yellow", modifiers = ["bold"] }
|
||||||
|
"error" = { fg = "red", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"ui.background" = { bg = "gray4" }
|
||||||
|
"ui.gutter" = { bg = "gray5" }
|
||||||
|
"ui.gutter.selected" = { bg = "gray3" }
|
||||||
|
"ui.virtual" = { fg = "gray6" }
|
||||||
|
"ui.virtual.indent-guide" = { fg = "gray6" }
|
||||||
|
"ui.virtual.whitespace" = { fg = "gray6" }
|
||||||
|
"ui.virtual.ruler" = { bg = "gray5" }
|
||||||
|
"ui.virtual.inlay-hint" = { fg = "gray9", modifiers = ["bold"] }
|
||||||
|
"ui.virtual.jump-label" = { fg = "red", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"ui.cursor" = { fg = "white", modifiers = ["reversed"] }
|
||||||
|
"ui.cursor.primary" = { fg = "white", modifiers = ["reversed"] }
|
||||||
|
"ui.cursor.match" = { bg = "gray4", modifiers = ["underlined"] }
|
||||||
|
"ui.cursor.insert" = { fg = "blue1" }
|
||||||
|
|
||||||
|
"ui.selection" = { bg = "magenta2" }
|
||||||
|
"ui.selection.primary" = { bg = "blue4" }
|
||||||
|
"ui.cursorline.primary" = { bg = "gray3" }
|
||||||
|
|
||||||
|
"ui.highlight" = { bg = "gray5" }
|
||||||
|
"ui.highlight.frameline" = { bg = "red" }
|
||||||
|
|
||||||
|
"ui.linenr" = { fg = "yellow4" }
|
||||||
|
"ui.linenr.selected" = { bg = "gray3", fg = "magenta", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"ui.statusline" = { fg = "magenta2", bg = "yellow2" }
|
||||||
|
"ui.statusline.inactive" = { fg = "gray6", bg = "black" }
|
||||||
|
"ui.statusline.normal" = { fg = "black", bg = "blue2" }
|
||||||
|
"ui.statusline.insert" = { fg = "black", bg = "green2" }
|
||||||
|
"ui.statusline.select" = { fg = "black", bg = "magenta" }
|
||||||
|
|
||||||
|
"ui.text" = { fg = "white" }
|
||||||
|
"ui.text.focus" = { fg = "white", bg = "magenta2", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"ui.help" = { fg = "white", bg = "gray3" }
|
||||||
|
"ui.popup" = { fg = "white", bg = "gray3" }
|
||||||
|
"ui.window" = { fg = "white" }
|
||||||
|
"ui.menu" = { fg = "white", bg = "gray3" }
|
||||||
|
"ui.menu.selected" = { fg = "white", bg = "magenta2" }
|
||||||
|
"ui.menu.scroll" = { fg = "gray7", bg = "gray6" }
|
||||||
|
|
||||||
|
"ui.debug" = { fg = "red" }
|
||||||
|
|
||||||
|
# Colors (Seoul256)
|
||||||
|
[palette]
|
||||||
|
black = '#000000' # Black
|
||||||
|
black1 = '#14161B'
|
||||||
|
red = '#d70000' # Red
|
||||||
|
green = '#afd75f' # Greenish Yellow
|
||||||
|
green1 = '#5f875f' # Greenish Gray
|
||||||
|
green2 = '#5f8700' # Green
|
||||||
|
green3 = '#87af87'
|
||||||
|
green4 = '#5f5f00'
|
||||||
|
yellow = '#d8af5f' # Yellow
|
||||||
|
yellow1 = '#ffd787' # Bright Yellow
|
||||||
|
yellow2 = '#d7d7af' # Yellowish
|
||||||
|
yellow3 = '#d7d787' # Yellow Dim
|
||||||
|
yellow4 = '#87875f' # Olive
|
||||||
|
yellow5 = '#6B5300'
|
||||||
|
blue = '#87afaf' # Light Blue
|
||||||
|
blue1 = '#5f87d7' # Bright Blue
|
||||||
|
blue2 = '#5f5f87' # Blue
|
||||||
|
blue3 = '#a6dbff' # Lightest Blue
|
||||||
|
blue4 = '#005f5f' # Blue Green
|
||||||
|
blue5 = '#5fafaf' # Dark Blue
|
||||||
|
blue6 = '#008787'
|
||||||
|
magenta = '#af5f5f' # Magenta
|
||||||
|
magenta1 = '#af5f87' # Soft Magenta
|
||||||
|
magenta2 = '#875f5f' # Dark Magenta
|
||||||
|
magenta3 = '#d7005f' # Darker Magenta
|
||||||
|
cyan = '#87d7d7' # Bright Cyan
|
||||||
|
cyan1 = '#afd7d7'
|
||||||
|
white = '#d0d0d0' # White
|
||||||
|
white1 = '#dadada' # White
|
||||||
|
purple = '#8787af' # Purple
|
||||||
|
brown = '#af875f' # Brownish
|
||||||
|
brown1 = '#875f00' # Brownish
|
||||||
|
orange = '#ff5f00' # Orange
|
||||||
|
salmon = '#ffaf87' # Salmon
|
||||||
|
salmon1 = '#d78787' # Salmon Bright
|
||||||
|
salmon2 = '#d7afaf' # Salmon Light
|
||||||
|
salmon3 = '#d7875f' # Yellowish
|
||||||
|
mauve = '#d75f87' # Mauve
|
||||||
|
|
||||||
|
gray = '#121212' # Very Dark Gray
|
||||||
|
gray1 = '#1c1c1c' # Darker Gray
|
||||||
|
gray2 = '#262626' # Dark Gray
|
||||||
|
gray3 = '#303030' # Dark Medium Gray
|
||||||
|
gray4 = '#3a3a3a' # Medium Gray
|
||||||
|
gray5 = '#444444' # Lighter Medium Gray
|
||||||
|
gray6 = '#585858' # Light Gray
|
||||||
|
gray7 = '#626262' # Lighter Gray
|
||||||
|
gray8 = '#4e4e4e' # Even Lighter Gray
|
||||||
|
gray9 = '#5f5f5f'
|
||||||
|
gray10 = '#c6c6c6'
|
||||||
|
gray11 = '#eeeeee'
|
||||||
|
gray12 = '#e4e4e4'
|
||||||
|
gray13 = '#bcbcbc'
|
||||||
|
|
||||||
|
# 233 = '#121212'
|
||||||
|
# 234 = '#1c1c1c'
|
||||||
|
# 235 = '#262626'
|
||||||
|
# 236 = '#303030'
|
||||||
|
# 237 = '#3a3a3a' # Default
|
||||||
|
# 238 = '#444444'
|
||||||
|
# 239 = '#4e4e4e'
|
@ -0,0 +1,16 @@
|
|||||||
|
# Seoul256 Light Hard
|
||||||
|
# Author : EricHenry
|
||||||
|
# Original Creator: https://github.com/junegunn/seoul256.vim
|
||||||
|
|
||||||
|
inherits = "seoul256-light"
|
||||||
|
|
||||||
|
"ui.background" = { bg = "gray11" }
|
||||||
|
"ui.cursor.match" = { bg = "gray10", modifiers = ["underlined"] }
|
||||||
|
"ui.gutter" = { bg = "white1" }
|
||||||
|
"ui.cursorline.primary" = { bg = "gray12" }
|
||||||
|
"ui.gutter.selected" = { bg = "gray12" }
|
||||||
|
"ui.linenr.selected" = { bg = "gray12", fg = "magenta", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"ui.help" = { fg = "black1", bg = "gray12" }
|
||||||
|
"ui.popup" = { fg = "black1", bg = "gray12" }
|
||||||
|
"ui.menu" = { fg = "black1", bg = "gray12" }
|
@ -0,0 +1,16 @@
|
|||||||
|
# Seoul256 Light Soft
|
||||||
|
# Author : EricHenry
|
||||||
|
# Original Creator: https://github.com/junegunn/seoul256.vim
|
||||||
|
|
||||||
|
inherits = "seoul256-light"
|
||||||
|
|
||||||
|
"ui.background" = { bg = "white" }
|
||||||
|
"ui.cursor.match" = { bg = "gray13", modifiers = ["underlined"] }
|
||||||
|
"ui.gutter" = { bg = "gray13" }
|
||||||
|
"ui.cursorline.primary" = { bg = "gray10" }
|
||||||
|
"ui.gutter.selected" = { bg = "gray10" }
|
||||||
|
"ui.linenr.selected" = { bg = "gray10", fg = "magenta", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"ui.help" = { fg = "black1", bg = "gray10" }
|
||||||
|
"ui.popup" = { fg = "black1", bg = "gray10" }
|
||||||
|
"ui.menu" = { fg = "black1", bg = "gray10" }
|
@ -0,0 +1,51 @@
|
|||||||
|
# Seoul256 Light
|
||||||
|
# Author : EricHenry
|
||||||
|
# Original Creator: https://github.com/junegunn/seoul256.vim
|
||||||
|
|
||||||
|
inherits = "seoul256-dark"
|
||||||
|
|
||||||
|
"constructor" = { fg = "brown1" }
|
||||||
|
"constant.numeric" = { fg = "magenta2" }
|
||||||
|
"constant.builtin.boolean" = { fg = "mauve" }
|
||||||
|
"constant.character.escape" = { fg = "salmon3" }
|
||||||
|
"function" = { fg = "green4" }
|
||||||
|
"function.builtin" = { fg = "blue1" }
|
||||||
|
"function.method" = { fg = "salmon" }
|
||||||
|
"function.macro" = { fg = "green4" }
|
||||||
|
"namespace" = { fg = "blue4" }
|
||||||
|
"operator" = { fg = "brown1" }
|
||||||
|
"punctuation" = { fg = "brown1" }
|
||||||
|
"special" = { fg = "green4" }
|
||||||
|
"string" = { fg = "blue6" }
|
||||||
|
"type" = { fg = "brown1" }
|
||||||
|
"type.builtin" = { fg = "salmon3" }
|
||||||
|
"variable" = { fg = "black1" }
|
||||||
|
"variable.builtin" = { fg = "salmon3" }
|
||||||
|
"variable.parameter" = { fg = "black1" }
|
||||||
|
"variable.other.member" = { fg = "black1" }
|
||||||
|
|
||||||
|
"diagnostic.info".underline = { color = "green1", style = "curl" }
|
||||||
|
"info" = { fg = "green1", modifiers = ["bold"] }
|
||||||
|
"hint" = { fg = "blue", modifiers = ["bold"] }
|
||||||
|
"warning" = { fg = "yellow5", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"ui.background" = { bg = "white1" }
|
||||||
|
"ui.cursor" = { fg = "gray4", modifiers = ["reversed"] }
|
||||||
|
"ui.cursor.primary" = { fg = "gray4", modifiers = ["reversed"] }
|
||||||
|
"ui.cursor.match" = { bg = "gray13", modifiers = ["underlined"] }
|
||||||
|
"ui.cursor.insert" = { fg = "blue1" }
|
||||||
|
"ui.cursorline.primary" = { bg = "white" }
|
||||||
|
"ui.gutter" = { bg = "gray10" }
|
||||||
|
"ui.gutter.selected" = { bg = "white" }
|
||||||
|
"ui.linenr.selected" = { bg = "white", fg = "magenta", modifiers = ["bold"] }
|
||||||
|
"ui.virtual.inlay-hint" = { fg = "gray6", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"ui.selection" = { bg = "yellow2" }
|
||||||
|
"ui.selection.primary" = { bg = "cyan1" }
|
||||||
|
|
||||||
|
"ui.text" = { fg = "black1" }
|
||||||
|
|
||||||
|
"ui.help" = { fg = "black1", bg = "white" }
|
||||||
|
"ui.popup" = { fg = "black1", bg = "white" }
|
||||||
|
"ui.menu" = { fg = "black1", bg = "white" }
|
||||||
|
|
@ -0,0 +1,159 @@
|
|||||||
|
# Sunset
|
||||||
|
# Author : Egor Afanasin <afanasin.egor@gmail.com>
|
||||||
|
# Repo: https://github.com/pithecantrope/sunset
|
||||||
|
|
||||||
|
# Syntax highlighting
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
attribute = "rose"
|
||||||
|
|
||||||
|
type = "rose"
|
||||||
|
"type.builtin" = { fg = "rose", modifiers = ["italic"] }
|
||||||
|
|
||||||
|
constructor = "wood"
|
||||||
|
|
||||||
|
constant = "fire"
|
||||||
|
"constant.builtin" = { fg = "fire", modifiers = ["italic"] }
|
||||||
|
"constant.character" = "wood"
|
||||||
|
"constant.character.escape" = "pink"
|
||||||
|
"constant.numeric" = "wood"
|
||||||
|
|
||||||
|
string = "grass"
|
||||||
|
"string.regexp" = "pink"
|
||||||
|
"string.special" = "rose"
|
||||||
|
"string.special.symbol" = "fire"
|
||||||
|
|
||||||
|
comment = { fg = "cmnt", modifiers = ["italic"] }
|
||||||
|
"comment.block.documentation" = "grass"
|
||||||
|
|
||||||
|
variable = "text"
|
||||||
|
"variable.builtin" = { fg = "sky", modifiers = ["italic"] }
|
||||||
|
# TODO: variable.parameter
|
||||||
|
"variable.other.member" = "mud"
|
||||||
|
|
||||||
|
label = "sky"
|
||||||
|
|
||||||
|
punctuation = "cmnt"
|
||||||
|
"punctuation.special" = "wine"
|
||||||
|
|
||||||
|
keyword = "sun"
|
||||||
|
"keyword.control.return" = { fg = "sun", modifiers = ["italic"] }
|
||||||
|
"keyword.control.exception" = { fg = "sun", modifiers = ["italic"] }
|
||||||
|
"keyword.directive" = "sky"
|
||||||
|
|
||||||
|
operator = "wine"
|
||||||
|
|
||||||
|
function = "peach"
|
||||||
|
"function.builtin" = { fg = "peach", modifiers = ["italic"] }
|
||||||
|
"function.macro" = "pink"
|
||||||
|
|
||||||
|
tag = "peach"
|
||||||
|
|
||||||
|
namespace = { fg = "pink", modifiers = ["italic"] }
|
||||||
|
|
||||||
|
special = "sky"
|
||||||
|
|
||||||
|
# Editor interface
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
"markup.heading.marker" = "sun"
|
||||||
|
"markup.heading.1" = "attn"
|
||||||
|
"markup.heading.2" = "fire"
|
||||||
|
"markup.heading.3" = "rose"
|
||||||
|
"markup.heading.4" = "peach"
|
||||||
|
"markup.heading.5" = "wine"
|
||||||
|
"markup.heading.6" = "grass"
|
||||||
|
|
||||||
|
"markup.list" = "wood"
|
||||||
|
|
||||||
|
"markup.bold" = { modifiers = ["bold"] }
|
||||||
|
"markup.italic" = { modifiers = ["italic"] }
|
||||||
|
"markup.strikethrough" = { modifiers = ["crossed_out"] }
|
||||||
|
|
||||||
|
"markup.link.url" = { fg = "sky", underline.style = "line" }
|
||||||
|
"markup.link.label" = { fg = "sky", modifiers = ["italic"] }
|
||||||
|
"markup.link.text" = "mud"
|
||||||
|
|
||||||
|
"markup.quote" = "grass"
|
||||||
|
|
||||||
|
"markup.raw" = "pink"
|
||||||
|
|
||||||
|
"diff.plus" = "grass"
|
||||||
|
"diff.minus" = "attn"
|
||||||
|
"diff.delta" = "sky"
|
||||||
|
|
||||||
|
# User interface
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
"ui.background" = { fg = "text", bg = "base" }
|
||||||
|
|
||||||
|
"ui.cursor" = { modifiers = ["reversed"] }
|
||||||
|
"ui.cursor.match" = { fg = "attn", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
# TODO: ui.debug
|
||||||
|
|
||||||
|
"ui.linenr" = "block"
|
||||||
|
"ui.linenr.selected" = "cmnt"
|
||||||
|
|
||||||
|
"ui.statusline" = { bg = "block" }
|
||||||
|
"ui.statusline.inactive" = { fg = "cmnt" }
|
||||||
|
"ui.statusline.normal" = { fg = "block", bg = "sun", modifiers = ["bold"] }
|
||||||
|
"ui.statusline.insert" = { fg = "block", bg = "grass", modifiers = ["bold"] }
|
||||||
|
"ui.statusline.select" = { fg = "block", bg = "wine", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"ui.bufferline" = { fg = "cmnt", bg = "block" }
|
||||||
|
"ui.bufferline.active" = "sun"
|
||||||
|
|
||||||
|
"ui.popup" = { fg = "text", bg = "base" }
|
||||||
|
"ui.popup.info" = { fg = "text", bg = "block" }
|
||||||
|
|
||||||
|
"ui.window" = { fg = "block", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"ui.help" = { fg = "text", bg = "block" }
|
||||||
|
|
||||||
|
"ui.text" = { fg = "text", bg = "base" }
|
||||||
|
"ui.text.focus" = "sun"
|
||||||
|
"ui.text.inactive" = { fg = "cmnt", modifiers = ["italic"] }
|
||||||
|
"ui.text.info" = { bg = "block" }
|
||||||
|
|
||||||
|
"ui.virtual" = { fg = "block" }
|
||||||
|
"ui.virtual.ruler" = { bg = "block" }
|
||||||
|
"ui.virtual.indent-guide" = "sel"
|
||||||
|
"ui.virtual.jump-label" = { fg = "attn", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
"ui.menu" = { fg = "text", bg = "base" }
|
||||||
|
"ui.menu.selected" = { bg = "sel" }
|
||||||
|
"ui.menu.scroll" = "sel"
|
||||||
|
|
||||||
|
"ui.selection" = { bg = "sel" }
|
||||||
|
|
||||||
|
"ui.highlight" = { bg = "sel" }
|
||||||
|
|
||||||
|
error = "attn"
|
||||||
|
warning = "fire"
|
||||||
|
info = "pink"
|
||||||
|
hint = "sky"
|
||||||
|
|
||||||
|
diagnostic = { underline.style = "line" }
|
||||||
|
|
||||||
|
[palette]
|
||||||
|
# Reddish
|
||||||
|
fire = "#EE7711"
|
||||||
|
rose = "#EE7777"
|
||||||
|
peach = "#EEBB77"
|
||||||
|
pink = "#EEAAAA"
|
||||||
|
wood = "#997755"
|
||||||
|
|
||||||
|
# Greenish
|
||||||
|
grass = "#66CC33"
|
||||||
|
mud = "#BBCC77"
|
||||||
|
sun = "#EEEE11"
|
||||||
|
|
||||||
|
# Bluish
|
||||||
|
sky = "#77AAAA"
|
||||||
|
wine = "#775599"
|
||||||
|
|
||||||
|
# Ui
|
||||||
|
base = "#111111"
|
||||||
|
block = "#222222"
|
||||||
|
sel = "#333333"
|
||||||
|
cmnt = "#777777"
|
||||||
|
text = "#EEEEEE"
|
||||||
|
attn = "#EE1111"
|
@ -0,0 +1,125 @@
|
|||||||
|
# Author: Michael McClintock <michael.mcclintock@hey.com>
|
||||||
|
# License: MIT
|
||||||
|
|
||||||
|
# Yo - Themes for Helix inspired by Zenbones & Alabaster with Radix Colors.
|
||||||
|
# https://github.com/mrmcc3/yo-theme-helix
|
||||||
|
|
||||||
|
# background/text
|
||||||
|
"ui.background" = { fg = "p11", bg = "p2" }
|
||||||
|
"ui.background.separator" = { fg = "p7" }
|
||||||
|
"ui.text" = { fg = "p11" }
|
||||||
|
"ui.text.focus" = { fg = "p12", modifiers = ["bold"] }
|
||||||
|
|
||||||
|
# popups/menus
|
||||||
|
"ui.window" = { fg = "p7" }
|
||||||
|
"ui.popup" = { fg = "p12", bg = "p4" }
|
||||||
|
"ui.popup.info" = { fg = "p12", bg = "p2" }
|
||||||
|
"ui.text.info" = { fg = "p12", bg = "p2" }
|
||||||
|
"ui.help" = { fg = "p12", bg = "p2" }
|
||||||
|
"ui.menu" = { fg = "p11", bg = "p4" }
|
||||||
|
"ui.menu.selected" = { fg = "p12", modifiers = ["bold"] }
|
||||||
|
"ui.menu.scroll" = { fg = "p8", bg = "p4" }
|
||||||
|
"ui.picker.header.column" = { underline.style = "line" }
|
||||||
|
|
||||||
|
# cursor/selection
|
||||||
|
"ui.cursor" = { fg = "p2", bg = "p11" }
|
||||||
|
"ui.cursor.insert" = { fg = "p2", bg = "keyword" }
|
||||||
|
"ui.cursor.select" = { fg = "p2", bg = "p12" }
|
||||||
|
"ui.cursor.match" = { fg = "p12", modifiers = ["bold"] }
|
||||||
|
"ui.cursor.primary" = { fg = "p2", bg = "p11", modifiers = ["bold"] }
|
||||||
|
"ui.cursor.primary.insert" = { fg = "p2", bg = "keyword", modifiers = ["bold"] }
|
||||||
|
"ui.cursor.primary.select" = { fg = "p2", bg = "p12", modifiers = ["bold"] }
|
||||||
|
"ui.selection" = { bg = "p4" }
|
||||||
|
"ui.selection.primary" = { bg = "p5" }
|
||||||
|
"ui.cursorline.primary" = { bg = "p3" }
|
||||||
|
"ui.cursorcolumn.primary" = { bg = "p3" }
|
||||||
|
|
||||||
|
# line numbers / diff
|
||||||
|
"ui.linenr" = { fg = "p7" }
|
||||||
|
"ui.linenr.selected" = { fg = "p11" }
|
||||||
|
diff = { fg = "p8" }
|
||||||
|
|
||||||
|
# bufferline/statusline
|
||||||
|
"ui.bufferline" = { fg = "p11", bg = "p4" }
|
||||||
|
"ui.bufferline.active" = { fg = "p2", bg = "p11" }
|
||||||
|
"ui.statusline" = { fg = "p11", bg = "p4" }
|
||||||
|
"ui.statusline.inactive" = { fg = "p11", bg = "p2" }
|
||||||
|
"ui.statusline.normal" = { fg = "p2", bg = "p11" }
|
||||||
|
"ui.statusline.insert" = { fg = "p2", bg = "keyword" }
|
||||||
|
"ui.statusline.select" = { fg = "p2", bg = "p12" }
|
||||||
|
"ui.statusline.separator" = { fg = "p7" }
|
||||||
|
|
||||||
|
# virtual
|
||||||
|
"ui.virtual" = { fg = "p6" }
|
||||||
|
"ui.virtual.ruler" = { bg = "p3" }
|
||||||
|
"ui.virtual.inlay-hint" = { fg = "p7", underline.style = "dotted" }
|
||||||
|
"ui.virtual.jump-label" = { fg = "p12", modifiers = [
|
||||||
|
"bold",
|
||||||
|
], underline = { style = "curl", color = "info" } }
|
||||||
|
|
||||||
|
# diagnostics
|
||||||
|
error = { fg = "error", modifiers = ["bold"] }
|
||||||
|
warning = { fg = "warning", modifiers = ["bold"] }
|
||||||
|
info = { fg = "info", modifiers = ["bold"] }
|
||||||
|
hint = { fg = "info", modifiers = ["bold"] }
|
||||||
|
"diagnostic.error" = { fg = "error", modifiers = ["bold"] }
|
||||||
|
"diagnostic.warning" = { fg = "warning", modifiers = ["bold"] }
|
||||||
|
"diagnostic.info" = { fg = "info", modifiers = ["bold"] }
|
||||||
|
"diagnostic.hint" = { fg = "info", modifiers = ["bold"] }
|
||||||
|
# "diagnostic.unnecessary" = {}
|
||||||
|
# "diagnostic.deprecated" = {}
|
||||||
|
|
||||||
|
# code
|
||||||
|
comment = { fg = "info" }
|
||||||
|
keyword = { fg = "keyword" }
|
||||||
|
operator = { fg = "keyword" }
|
||||||
|
string = { fg = "string" }
|
||||||
|
constant = { fg = "constant" }
|
||||||
|
"string.special.symbol" = { fg = "constant" }
|
||||||
|
variable = { fg = "p10" }
|
||||||
|
namespace = { fg = "p10" }
|
||||||
|
punctuation = { fg = "p9" }
|
||||||
|
"punctuation.delimiter" = { fg = "p8" }
|
||||||
|
function = { fg = "p11" }
|
||||||
|
attribute = { fg = "p10" }
|
||||||
|
tag = { fg = "keyword" }
|
||||||
|
label = { fg = "p12" }
|
||||||
|
constructor = { fg = "p12" }
|
||||||
|
type = { fg = "p12" }
|
||||||
|
|
||||||
|
# markup
|
||||||
|
"markup.bold" = { modifiers = ["bold"] }
|
||||||
|
"markup.italic" = { modifiers = ["italic"] }
|
||||||
|
"markup.strikethrough" = { modifiers = ["crossed_out"] }
|
||||||
|
"markup.heading" = { fg = "p12", modifiers = ["bold"] }
|
||||||
|
"markup.heading.marker" = { fg = "p8" }
|
||||||
|
"markup.list" = { fg = "p8" }
|
||||||
|
"markup.link.url" = { underline.style = "line" }
|
||||||
|
"markup.link.label" = { underline.style = "dotted" }
|
||||||
|
# "markup.link.text" = {}
|
||||||
|
"markup.quote" = { fg = "p10" }
|
||||||
|
# "markup.raw" = {}
|
||||||
|
|
||||||
|
[palette] # https://www.radix-ui.com/colors
|
||||||
|
|
||||||
|
# grayDark
|
||||||
|
p1 = "#111111"
|
||||||
|
p2 = "#191919"
|
||||||
|
p3 = "#222222"
|
||||||
|
p4 = "#2a2a2a"
|
||||||
|
p5 = "#313131"
|
||||||
|
p6 = "#3a3a3a"
|
||||||
|
p7 = "#484848"
|
||||||
|
p8 = "#606060"
|
||||||
|
p9 = "#6e6e6e"
|
||||||
|
p10 = "#7b7b7b"
|
||||||
|
p11 = "#b4b4b4"
|
||||||
|
p12 = "#eeeeee"
|
||||||
|
|
||||||
|
error = "#ec5d5e" # redDark-10
|
||||||
|
warning = "#ff801f" # orangeDark-10
|
||||||
|
info = "#3b9eff" # blueDark-10
|
||||||
|
|
||||||
|
string = "#33b074" # greenDark-10
|
||||||
|
constant = "#9a5cd0" # purpleDark-10
|
||||||
|
keyword = "#ae8c7e" # bronzeDark-10
|
@ -0,0 +1,31 @@
|
|||||||
|
# Author: Michael McClintock <michael.mcclintock@hey.com>
|
||||||
|
# License: MIT
|
||||||
|
|
||||||
|
# Yo - Themes for Helix inspired by Zenbones & Alabaster with Radix Colors.
|
||||||
|
# https://github.com/mrmcc3/yo-theme-helix
|
||||||
|
|
||||||
|
inherits = "yo"
|
||||||
|
|
||||||
|
[palette]
|
||||||
|
|
||||||
|
# mauveDark
|
||||||
|
p1 = "#121113"
|
||||||
|
p2 = "#1a191b"
|
||||||
|
p3 = "#232225"
|
||||||
|
p4 = "#2b292d"
|
||||||
|
p5 = "#323035"
|
||||||
|
p6 = "#3c393f"
|
||||||
|
p7 = "#49474e"
|
||||||
|
p8 = "#625f69"
|
||||||
|
p9 = "#6f6d78"
|
||||||
|
p10 = "#7c7a85"
|
||||||
|
p11 = "#b5b2bc"
|
||||||
|
p12 = "#eeeef0"
|
||||||
|
|
||||||
|
error = "#ee518a" # crimsonDark-10
|
||||||
|
warning = "#ffff57" # yellowDark-10
|
||||||
|
info = "#3b9eff" # blueDark-10
|
||||||
|
|
||||||
|
string = "#0eb39e" # teal-10
|
||||||
|
constant = "#b658c4" # plum-10
|
||||||
|
keyword = "#9eb1ff" # indigo-11
|
@ -0,0 +1,34 @@
|
|||||||
|
# Author: Michael McClintock <michael.mcclintock@hey.com>
|
||||||
|
# License: MIT
|
||||||
|
|
||||||
|
# Yo - Themes for Helix inspired by Zenbones & Alabaster with Radix Colors.
|
||||||
|
# https://github.com/mrmcc3/yo-theme-helix
|
||||||
|
|
||||||
|
inherits = "yo"
|
||||||
|
|
||||||
|
"ui.virtual.inlay-hint" = { fg = "p8", underline.style = "dotted" }
|
||||||
|
"markup.quote" = { fg = "p9" }
|
||||||
|
|
||||||
|
[palette]
|
||||||
|
|
||||||
|
# gray
|
||||||
|
p1 = "#fcfcfc"
|
||||||
|
p2 = "#f9f9f9"
|
||||||
|
p3 = "#f0f0f0"
|
||||||
|
p4 = "#e8e8e8"
|
||||||
|
p5 = "#e0e0e0"
|
||||||
|
p6 = "#d9d9d9"
|
||||||
|
p7 = "#cecece"
|
||||||
|
p8 = "#bbbbbb"
|
||||||
|
p9 = "#8d8d8d"
|
||||||
|
p10 = "#838383"
|
||||||
|
p11 = "#646464"
|
||||||
|
p12 = "#202020"
|
||||||
|
|
||||||
|
error = "#dc3e42" # red-10
|
||||||
|
warning = "#ef5f00" # orange-10
|
||||||
|
info = "#0588f0" # blue-10
|
||||||
|
|
||||||
|
string = "#2b9a66" # green-10
|
||||||
|
constant = "#8347b9" # purple-10
|
||||||
|
keyword = "#957468" # bronze-10
|
Loading…
Reference in New Issue