diff options
Diffstat (limited to 'mac')
83 files changed, 14246 insertions, 0 deletions
diff --git a/mac/.config/yazi/flavors b/mac/.config/yazi/flavors deleted file mode 160000 -Subproject 4296a380570399e3c36aec054f37aa48f35cf6b diff --git a/mac/.config/yazi/flavors.bak/.gitignore b/mac/.config/yazi/flavors.bak/.gitignore new file mode 100644 index 0000000..40b878d --- /dev/null +++ b/mac/.config/yazi/flavors.bak/.gitignore @@ -0,0 +1 @@ +node_modules/
\ No newline at end of file diff --git a/mac/.config/yazi/flavors.bak/ayu-dark.yazi b/mac/.config/yazi/flavors.bak/ayu-dark.yazi new file mode 160000 +Subproject 648a178cad2bc83f9c3f6340ab30f54a67f36ea diff --git a/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/LICENSE b/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/LICENSE new file mode 100644 index 0000000..fb5b1d6 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 yazi-rs + +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. diff --git a/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/LICENSE-tmtheme b/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/LICENSE-tmtheme new file mode 100644 index 0000000..006383b --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/LICENSE-tmtheme @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Catppuccin + +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. diff --git a/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/README.md b/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/README.md new file mode 100644 index 0000000..737a6aa --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/README.md @@ -0,0 +1,36 @@ +<div align="center"> + <img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%"> +</div> + +<h3 align="center"> + Catppuccin Frappe Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a> +</h3> + +## 👀 Preview + +<img src="preview.png" width="600" /> + +## 🎨 Installation + +```sh +ya pkg add yazi-rs/flavors:catppuccin-frappe +``` + +## ⚙️ Usage + +Set the content of your `theme.toml` to enable it as your _dark_ flavor: + +```toml +[flavor] +dark = "catppuccin-frappe" +``` + +Make sure your `theme.toml` doesn't contain anything other than `[flavor]`, unless you want to override certain styles of this flavor. + +See the [Yazi flavor documentation](https://yazi-rs.github.io/docs/flavors/overview) for more details. + +## 📜 License + +The flavor is MIT-licensed, and the included tmTheme is also MIT-licensed. + +Check the [LICENSE](LICENSE) and [LICENSE-tmtheme](LICENSE-tmtheme) file for more details. diff --git a/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/flavor.toml b/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/flavor.toml new file mode 100644 index 0000000..bb32478 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/flavor.toml @@ -0,0 +1,189 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +# : Manager {{{ + +[mgr] +cwd = { fg = "#81c8be" } + +# Hovered +hovered = { reversed = true } +preview_hovered = { underline = true } + +# Find +find_keyword = { fg = "#e5c890", bold = true, italic = true, underline = true } +find_position = { fg = "#f4b8e4", bg = "reset", bold = true, italic = true } + +# Marker +marker_copied = { fg = "#a6d189", bg = "#a6d189" } +marker_cut = { fg = "#e78284", bg = "#e78284" } +marker_marked = { fg = "#81c8be", bg = "#81c8be" } +marker_selected = { fg = "#e5c890", bg = "#e5c890" } + +# Count +count_copied = { fg = "#303446", bg = "#a6d189" } +count_cut = { fg = "#303446", bg = "#e78284" } +count_selected = { fg = "#303446", bg = "#e5c890" } + +# Border +border_symbol = "│" +border_style = { fg = "#838ba7" } + +# : }}} + + +# : Tabs {{{ + +[tabs] +active = { fg = "#303446", bg = "#8caaee", bold = true } +inactive = { fg = "#8caaee", bg = "#414559" } + +# : }}} + + +# : Mode {{{ + +[mode] + +normal_main = { fg = "#303446", bg = "#8caaee", bold = true } +normal_alt = { fg = "#8caaee", bg = "#414559" } + +# Select mode +select_main = { fg = "#303446", bg = "#81c8be", bold = true } +select_alt = { fg = "#81c8be", bg = "#414559" } + +# Unset mode +unset_main = { fg = "#303446", bg = "#eebebe", bold = true } +unset_alt = { fg = "#eebebe", bg = "#414559" } + +# : }}} + + +# : Status bar {{{ + +[status] +# Permissions +perm_sep = { fg = "#838ba7" } +perm_type = { fg = "#8caaee" } +perm_read = { fg = "#e5c890" } +perm_write = { fg = "#e78284" } +perm_exec = { fg = "#a6d189" } + +# Progress +progress_label = { fg = "#ffffff", bold = true } +progress_normal = { fg = "#8caaee", bg = "#51576d" } +progress_error = { fg = "#8caaee", bg = "#e78284" } + +# : }}} + + +# : Pick {{{ + +[pick] +border = { fg = "#8caaee" } +active = { fg = "#f4b8e4", bold = true } +inactive = {} + +# : }}} + + +# : Input {{{ + +[input] +border = { fg = "#8caaee" } +title = {} +value = {} +selected = { reversed = true } + +# : }}} + + +# : Completion {{{ + +[cmp] +border = { fg = "#8caaee" } + +# : }}} + + +# : Tasks {{{ + +[tasks] +border = { fg = "#8caaee" } +title = {} +hovered = { fg = "#f4b8e4", bold = true } + +# : }}} + + +# : Which {{{ + +[which] +mask = { bg = "#414559" } +cand = { fg = "#81c8be" } +rest = { fg = "#949cbb" } +desc = { fg = "#f4b8e4" } +separator = " " +separator_style = { fg = "#626880" } + +# : }}} + + +# : Help {{{ + +[help] +on = { fg = "#81c8be" } +run = { fg = "#f4b8e4" } +hovered = { reversed = true, bold = true } +footer = { fg = "#414559", bg = "#c6d0f5" } + +# : }}} + + +# : Spotter {{{ + +[spot] +border = { fg = "#8caaee" } +title = { fg = "#8caaee" } +tbl_col = { fg = "#81c8be" } +tbl_cell = { fg = "#f4b8e4", bg = "#51576d" } + +# : }}} + + +# : Notification {{{ + +[notify] +title_info = { fg = "#a6d189" } +title_warn = { fg = "#e5c890" } +title_error = { fg = "#e78284" } + +# : }}} + + +# : File-specific styles {{{ + +[filetype] + +rules = [ + # Images + { mime = "image/*", fg = "#81c8be" }, + + # Media + { mime = "{audio,video}/*", fg = "#e5c890" }, + + # Archives + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#f4b8e4" }, + + # Documents + { mime = "application/{pdf,doc,rtf}", fg = "#a6d189" }, + + # Fallback + { url = "*", fg = "#c6d0f5" }, + { url = "*/", fg = "#8caaee" }, + + # TODO: remove + { name = "*", fg = "#c6d0f5" }, + { name = "*/", fg = "#8caaee" } +] + +# : }}} diff --git a/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/preview.png b/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/preview.png Binary files differnew file mode 100644 index 0000000..03203c9 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/preview.png diff --git a/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/tmtheme.xml b/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/tmtheme.xml new file mode 100644 index 0000000..6d0a97f --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-frappe.yazi/tmtheme.xml @@ -0,0 +1,2112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> + <dict> + <key>name</key> + <string>Catppuccin Frappé</string> + <key>semanticClass</key> + <string>theme.dark.catppuccin-frappé</string> + <key>uuid</key> + <string>e0ada983-8938-490c-86f0-97a1a0ec58e4</string> + <key>author</key> + <string>Catppuccin Org</string> + <key>colorSpaceName</key> + <string>sRGB</string> + <key>settings</key> + <array> + <dict> + <key>settings</key> + <dict> + <key>background</key> + <string>#303446</string> + <key>foreground</key> + <string>#c6d0f5</string> + <key>caret</key> + <string>#f2d5cf</string> + <key>lineHighlight</key> + <string>#414559</string> + <key>misspelling</key> + <string>#e78284</string> + <key>accent</key> + <string>#ca9ee6</string> + <key>selection</key> + <string>#949cbb40</string> + <key>activeGuide</key> + <string>#51576d</string> + <key>findHighlight</key> + <string>#506373</string> + <key>gutterForeground</key> + <string>#838ba7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Basic text & variable names (incl. leading punctuation)</string> + <key>scope</key> + <string>text, source, variable.other.readwrite, punctuation.definition.variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Parentheses, Brackets, Braces</string> + <key>scope</key> + <string>punctuation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#949cbb</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Comments</string> + <key>scope</key> + <string>comment, punctuation.definition.comment</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#949cbb</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>string, punctuation.definition.string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6d189</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>constant.character.escape</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Booleans, constants, numbers</string> + <key>scope</key> + <string>constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.name.tag.documentation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Punctuation</string> + <key>scope</key> + <string>keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Classes</string> + <key>scope</key> + <string>entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Enum</string> + <key>scope</key> + <string>entity.name.enum</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Enum member</string> + <key>scope</key> + <string>meta.enum variable.other.readwrite, variable.other.enummember</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Object properties</string> + <key>scope</key> + <string>meta.property.object</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Types</string> + <key>scope</key> + <string>meta.type, meta.type-alias, support.type, entity.name.type</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Decorators</string> + <key>scope</key> + <string>meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>variable.parameter, meta.function.parameters</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea999c</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Built-ins</string> + <key>scope</key> + <string>constant.language, support.function.builtin</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e78284</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.other.attribute-name.documentation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e78284</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Preprocessor directives</string> + <key>scope</key> + <string>keyword.control.directive, punctuation.definition.directive</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Type parameters</string> + <key>scope</key> + <string>punctuation.definition.typeparameters</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#99d1db</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Namespaces</string> + <key>scope</key> + <string>entity.name.namespace</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Property names (left hand assignments in json/yaml/css)</string> + <key>scope</key> + <string>support.type.property-name.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>This/Self keyword</string> + <key>scope</key> + <string>variable.language.this, variable.language.this punctuation.definition.variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e78284</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Object properties</string> + <key>scope</key> + <string>variable.object.property</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>String template interpolation</string> + <key>scope</key> + <string>string.template variable, string variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>`new` as bold</string> + <key>scope</key> + <string>keyword.operator.new</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ extern keyword</string> + <key>scope</key> + <string>storage.modifier.specifier.extern.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ scope resolution</string> + <key>scope</key> + <string>entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ doc keywords</string> + <key>scope</key> + <string>storage.type.class.doxygen</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ operators</string> + <key>scope</key> + <string>storage.modifier.reference.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C# Interpolated Strings</string> + <key>scope</key> + <string>meta.interpolation.cs</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C# xml-style docs</string> + <key>scope</key> + <string>comment.block.documentation.cs</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Classes, reflecting the className color in JSX</string> + <key>scope</key> + <string>source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Operators</string> + <key>scope</key> + <string>punctuation.separator.operator.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Pseudo classes</string> + <key>scope</key> + <string>source.css entity.other.attribute-name.pseudo-class</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.css constant.other.unicode-range</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.css variable.parameter.url</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6d189</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS vendored property names</string> + <key>scope</key> + <string>support.type.vendored.property-name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#99d1db</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Less/SCSS right-hand variables (@/$-prefixed)</string> + <key>scope</key> + <string>source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea999c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS variables (--prefixed)</string> + <key>scope</key> + <string>source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS Percentage values, styled the same as numbers</string> + <key>scope</key> + <string>keyword.other.unit.percentage.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS Attribute selectors, styled the same as strings</string> + <key>scope</key> + <string>source.css meta.attribute-selector</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6d189</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON/YAML keys, other left-hand assignments</string> + <key>scope</key> + <string>keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON/YAML constants</string> + <key>scope</key> + <string>constant.language.json, constant.language.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML anchors</string> + <key>scope</key> + <string>entity.name.type.anchor.yaml, variable.other.alias.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>TOML tables / ini groups</string> + <key>scope</key> + <string>support.type.property-name.table, entity.name.section.group-title.ini</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>TOML dates</string> + <key>scope</key> + <string>constant.other.time.datetime.offset.toml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML anchor puctuation</string> + <key>scope</key> + <string>punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML triple dashes</string> + <key>scope</key> + <string>entity.other.document.begin.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markup Diff</string> + <key>scope</key> + <string>markup.changed.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff</string> + <key>scope</key> + <string>meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff Inserted</string> + <key>scope</key> + <string>markup.inserted.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6d189</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff Deleted</string> + <key>scope</key> + <string>markup.deleted.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e78284</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>dotenv left-hand side assignments</string> + <key>scope</key> + <string>variable.other.env</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>dotenv reference to existing env variable</string> + <key>scope</key> + <string>string.quoted variable.other.env</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GDScript functions</string> + <key>scope</key> + <string>support.function.builtin.gdscript</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GDScript constants</string> + <key>scope</key> + <string>constant.language.gdscript</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Comment keywords</string> + <key>scope</key> + <string>comment meta.annotation.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea999c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>go:embed, go:build, etc.</string> + <key>scope</key> + <string>comment meta.annotation.parameters.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Go constants (nil, true, false)</string> + <key>scope</key> + <string>constant.language.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL variables</string> + <key>scope</key> + <string>variable.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL aliases</string> + <key>scope</key> + <string>string.unquoted.alias.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eebebe</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL enum members</string> + <key>scope</key> + <string>constant.character.enum.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL field in types</string> + <key>scope</key> + <string>meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eebebe</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML DOCTYPE as keyword</string> + <key>scope</key> + <string>keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML-like <tags/></string> + <key>scope</key> + <string>entity.name.tag</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Special characters like &amp;</string> + <key>scope</key> + <string>text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e78284</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML tag attribute values</string> + <key>scope</key> + <string>entity.other.attribute-name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Components</string> + <key>scope</key> + <string>support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Annotations</string> + <key>scope</key> + <string>punctuation.definition.annotation, storage.type.annotation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Java enums</string> + <key>scope</key> + <string>constant.other.enum.java</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Java imports</string> + <key>scope</key> + <string>storage.modifier.import.java</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Javadoc</string> + <key>scope</key> + <string>comment.block.javadoc.java keyword.other.documentation.javadoc.java</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Exported Variable</string> + <key>scope</key> + <string>meta.export variable.other.readwrite.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea999c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JS/TS constants & properties</string> + <key>scope</key> + <string>variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSDoc; these are mainly params, so styled as such</string> + <key>scope</key> + <string>variable.other.jsdoc, comment.block.documentation variable.other</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea999c</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSDoc keywords</string> + <key>scope</key> + <string>storage.type.class.jsdoc</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>scope</key> + <string>support.type.object.console.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Node constants as keywords (module, etc.)</string> + <key>scope</key> + <string>support.constant.node, support.type.object.module.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>implements as keyword</string> + <key>scope</key> + <string>storage.modifier.implements</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Builtin types</string> + <key>scope</key> + <string>constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>variable.parameter.generic</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Arrow functions</string> + <key>scope</key> + <string>keyword.declaration.function.arrow.js, storage.type.function.arrow.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach)</string> + <key>scope</key> + <string>punctuation.decorator.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Extra JS/TS keywords</string> + <key>scope</key> + <string>keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia macros</string> + <key>scope</key> + <string>support.function.macro.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia language constants (true, false)</string> + <key>scope</key> + <string>constant.language.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia other constants (these seem to be arguments inside arrays)</string> + <key>scope</key> + <string>constant.other.symbol.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea999c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX preamble</string> + <key>scope</key> + <string>text.tex keyword.control.preamble</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX be functions</string> + <key>scope</key> + <string>text.tex support.function.be</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#99d1db</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX math</string> + <key>scope</key> + <string>constant.other.general.math.tex</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eebebe</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Liquid Builtin Objects & User Defined Variables</string> + <key>scope</key> + <string>variable.language.liquid</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Lua docstring keywords</string> + <key>scope</key> + <string>comment.line.double-dash.documentation.lua storage.type.annotation.lua</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Lua docstring variables</string> + <key>scope</key> + <string>comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, heading.1.quarto punctuation.definition.heading.quarto, heading.1.quarto, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e78284</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, heading.2.quarto punctuation.definition.heading.quarto, heading.2.quarto, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, heading.3.quarto punctuation.definition.heading.quarto, heading.3.quarto, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, heading.4.quarto punctuation.definition.heading.quarto, heading.4.quarto, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6d189</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, heading.5.quarto punctuation.definition.heading.quarto, heading.5.quarto, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#85c1dc</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, heading.6.quarto punctuation.definition.heading.quarto, heading.6.quarto, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#babbf1</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.bold</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e78284</string> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.italic</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e78284</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.strikethrough</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a5adce</string> + <key>fontStyle</key> + <string>strikethrough</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown auto links</string> + <key>scope</key> + <string>punctuation.definition.link, markup.underline.link</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown links</string> + <key>scope</key> + <string>text.html.markdown punctuation.definition.link.title, text.html.quarto punctuation.definition.link.title, string.other.link.title.markdown, string.other.link.title.quarto, markup.link, punctuation.definition.constant.markdown, punctuation.definition.constant.quarto, constant.other.reference.link.markdown, constant.other.reference.link.quarto, markup.substitution.attribute-reference</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#babbf1</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown code spans</string> + <key>scope</key> + <string>punctuation.definition.raw.markdown, punctuation.definition.raw.quarto, markup.inline.raw.string.markdown, markup.inline.raw.string.quarto, markup.raw.block.markdown, markup.raw.block.quarto</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6d189</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown triple backtick language identifier</string> + <key>scope</key> + <string>fenced_code.block.language</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#99d1db</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown triple backticks</string> + <key>scope</key> + <string>markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#949cbb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown quotes</string> + <key>scope</key> + <string>markup.quote, punctuation.definition.quote.begin</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown separators</string> + <key>scope</key> + <string>meta.separator.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown list bullets</string> + <key>scope</key> + <string>punctuation.definition.list.begin.markdown, punctuation.definition.list.begin.quarto, markup.list.bullet</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Quarto headings</string> + <key>scope</key> + <string>markup.heading.quarto</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix attribute names</string> + <key>scope</key> + <string>entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix parameter names</string> + <key>scope</key> + <string>variable.parameter.name.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix interpolated parameter names</string> + <key>scope</key> + <string>meta.embedded variable.parameter.name.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#babbf1</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix paths</string> + <key>scope</key> + <string>string.unquoted.path.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Attributes</string> + <key>scope</key> + <string>support.attribute.builtin, meta.attribute.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Parameters (needed for the leading dollar sign)</string> + <key>scope</key> + <string>meta.function.parameters.php punctuation.definition.variable.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea999c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Constants (null, __FILE__, etc.)</string> + <key>scope</key> + <string>constant.language.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP functions</string> + <key>scope</key> + <string>text.html.php support.function</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#99d1db</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHPdoc keywords</string> + <key>scope</key> + <string>keyword.other.phpdoc.php</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python argument functions reset to text, otherwise they inherit blue from function-call</string> + <key>scope</key> + <string>support.variable.magic.python, meta.function-call.arguments.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python double underscore functions</string> + <key>scope</key> + <string>support.function.magic.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#99d1db</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python `self` keyword</string> + <key>scope</key> + <string>variable.parameter.function.language.special.self.python, variable.language.special.self.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e78284</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python keyword flow/logical (for ... in)</string> + <key>scope</key> + <string>keyword.control.flow.python, keyword.operator.logical.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python storage type</string> + <key>scope</key> + <string>storage.type.function.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function support</string> + <key>scope</key> + <string>support.token.decorator.python, meta.function.decorator.identifier.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#99d1db</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function calls</string> + <key>scope</key> + <string>meta.function-call.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function decorators</string> + <key>scope</key> + <string>entity.name.function.decorator.python, punctuation.definition.decorator.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python placeholder reset to normal string</string> + <key>scope</key> + <string>constant.character.format.placeholder.other.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python exception & builtins such as exit()</string> + <key>scope</key> + <string>support.type.exception.python, support.function.builtin.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>entity.name.type</string> + <key>scope</key> + <string>support.type.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python constants (True/False)</string> + <key>scope</key> + <string>constant.language.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Arguments accessed later in the function body</string> + <key>scope</key> + <string>meta.indexed-name.python, meta.item-access.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea999c</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python f-strings/binary/unicode storage types</string> + <key>scope</key> + <string>storage.type.string.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6d189</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python type hints</string> + <key>scope</key> + <string>meta.function.parameters.python</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex string begin/end in JS/TS</string> + <key>scope</key> + <string>string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex anchors (^, $)</string> + <key>scope</key> + <string>keyword.control.anchor.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex regular string match</string> + <key>scope</key> + <string>string.regexp.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex group parenthesis & backreference (\1, \2, \3, ...)</string> + <key>scope</key> + <string>punctuation.definition.group.regexp, keyword.other.back-reference.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6d189</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex character class []</string> + <key>scope</key> + <string>punctuation.definition.character-class.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex character classes (\d, \w, \s)</string> + <key>scope</key> + <string>constant.other.character-class.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex range</string> + <key>scope</key> + <string>constant.other.character-class.range.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f2d5cf</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex quantifier</string> + <key>scope</key> + <string>keyword.operator.quantifier.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex constant/numeric</string> + <key>scope</key> + <string>constant.character.numeric.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds</string> + <key>scope</key> + <string>punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust attribute</string> + <key>scope</key> + <string>meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust attribute strings</string> + <key>scope</key> + <string>meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust keyword</string> + <key>scope</key> + <string>entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust u/i32, u/i64, etc.</string> + <key>scope</key> + <string>entity.name.type.numeric.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust generic</string> + <key>scope</key> + <string>meta.generic.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust impl</string> + <key>scope</key> + <string>entity.name.impl.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust module</string> + <key>scope</key> + <string>entity.name.module.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust trait</string> + <key>scope</key> + <string>entity.name.trait.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust struct</string> + <key>scope</key> + <string>storage.type.source.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust union</string> + <key>scope</key> + <string>entity.name.union.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust enum member</string> + <key>scope</key> + <string>meta.enum.rust storage.type.source.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust macro</string> + <key>scope</key> + <string>support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust lifetime</string> + <key>scope</key> + <string>storage.modifier.lifetime.rust, entity.name.type.lifetime</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust string formatting</string> + <key>scope</key> + <string>string.quoted.double.rust constant.other.placeholder.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust return type generic</string> + <key>scope</key> + <string>meta.function.return-type.rust meta.generic.rust storage.type.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust functions</string> + <key>scope</key> + <string>meta.function.call.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust angle brackets</string> + <key>scope</key> + <string>punctuation.brackets.angle.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#99d1db</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust constants</string> + <key>scope</key> + <string>constant.other.caps.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust function parameters</string> + <key>scope</key> + <string>meta.function.definition.rust variable.other.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea999c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust closure variables</string> + <key>scope</key> + <string>meta.function.call.rust variable.other.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust self</string> + <key>scope</key> + <string>variable.language.self.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e78284</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust metavariable names</string> + <key>scope</key> + <string>variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell shebang</string> + <key>scope</key> + <string>comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell shebang command</string> + <key>scope</key> + <string>comment.line.shebang constant.language</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell interpolated command</string> + <key>scope</key> + <string>meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e78284</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell interpolated command variable</string> + <key>scope</key> + <string>meta.string meta.interpolation.parameter.shell variable.other.readwrite</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell EOF</string> + <key>scope</key> + <string>entity.name.tag.heredoc.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell quoted variable</string> + <key>scope</key> + <string>string.quoted.double.shell variable.other.normal.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6d0f5</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.typst</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e78284</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON Keys</string> + <key>scope</key> + <string>source.json meta.mapping.key string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON key surrounding quotes</string> + <key>scope</key> + <string>source.json meta.mapping.key punctuation.definition.string.begin, source.json meta.mapping.key punctuation.definition.string.end</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#949cbb</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ca9ee6</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.commands.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8caaee</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.env.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4b8e4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Man page options</string> + <key>scope</key> + <string>entity.name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#81c8be</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.1.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e78284</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.2.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ef9f76</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e5c890</string> + </dict> + </dict> + </array> + </dict> +</plist>
\ No newline at end of file diff --git a/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/LICENSE b/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/LICENSE new file mode 100644 index 0000000..fb5b1d6 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 yazi-rs + +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. diff --git a/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/LICENSE-tmtheme b/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/LICENSE-tmtheme new file mode 100644 index 0000000..006383b --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/LICENSE-tmtheme @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Catppuccin + +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. diff --git a/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/README.md b/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/README.md new file mode 100644 index 0000000..ea1c35e --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/README.md @@ -0,0 +1,36 @@ +<div align="center"> + <img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%"> +</div> + +<h3 align="center"> + Catppuccin Latte Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a> +</h3> + +## 👀 Preview + +<img src="preview.png" width="600" /> + +## 🎨 Installation + +```sh +ya pkg add yazi-rs/flavors:catppuccin-latte +``` + +## ⚙️ Usage + +Set the content of your `theme.toml` to enable it as your _light_ flavor: + +```toml +[flavor] +light = "catppuccin-latte" +``` + +Make sure your `theme.toml` doesn't contain anything other than `[flavor]`, unless you want to override certain styles of this flavor. + +See the [Yazi flavor documentation](https://yazi-rs.github.io/docs/flavors/overview) for more details. + +## 📜 License + +The flavor is MIT-licensed, and the included tmTheme is also MIT-licensed. + +Check the [LICENSE](LICENSE) and [LICENSE-tmtheme](LICENSE-tmtheme) file for more details. diff --git a/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/flavor.toml b/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/flavor.toml new file mode 100644 index 0000000..ba2bb78 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/flavor.toml @@ -0,0 +1,189 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +# : Manager {{{ + +[mgr] +cwd = { fg = "#179299" } + +# Hovered +hovered = { reversed = true } +preview_hovered = { underline = true } + +# Find +find_keyword = { fg = "#df8e1d", bold = true, italic = true, underline = true } +find_position = { fg = "#ea76cb", bg = "reset", bold = true, italic = true } + +# Marker +marker_copied = { fg = "#40a02b", bg = "#40a02b" } +marker_cut = { fg = "#d20f39", bg = "#d20f39" } +marker_marked = { fg = "#179299", bg = "#179299" } +marker_selected = { fg = "#df8e1d", bg = "#df8e1d" } + +# Count +count_copied = { fg = "#eff1f5", bg = "#40a02b" } +count_cut = { fg = "#eff1f5", bg = "#d20f39" } +count_selected = { fg = "#eff1f5", bg = "#df8e1d" } + +# Border +border_symbol = "│" +border_style = { fg = "#8c8fa1" } + +# : }}} + + +# : Tabs {{{ + +[tabs] +active = { fg = "#eff1f5", bg = "#1e66f5", bold = true } +inactive = { fg = "#1e66f5", bg = "#ccd0da" } + +# : }}} + + +# : Mode {{{ + +[mode] + +normal_main = { fg = "#eff1f5", bg = "#1e66f5", bold = true } +normal_alt = { fg = "#1e66f5", bg = "#ccd0da" } + +# Select mode +select_main = { fg = "#eff1f5", bg = "#179299", bold = true } +select_alt = { fg = "#179299", bg = "#ccd0da" } + +# Unset mode +unset_main = { fg = "#eff1f5", bg = "#dd7878", bold = true } +unset_alt = { fg = "#dd7878", bg = "#ccd0da" } + +# : }}} + + +# : Status bar {{{ + +[status] +# Permissions +perm_sep = { fg = "#8c8fa1" } +perm_type = { fg = "#1e66f5" } +perm_read = { fg = "#df8e1d" } +perm_write = { fg = "#d20f39" } +perm_exec = { fg = "#40a02b" } + +# Progress +progress_label = { fg = "#ffffff", bold = true } +progress_normal = { fg = "#1e66f5", bg = "#bcc0cc" } +progress_error = { fg = "#1e66f5", bg = "#d20f39" } + +# : }}} + + +# : Pick {{{ + +[pick] +border = { fg = "#1e66f5" } +active = { fg = "#ea76cb", bold = true } +inactive = {} + +# : }}} + + +# : Input {{{ + +[input] +border = { fg = "#1e66f5" } +title = {} +value = {} +selected = { reversed = true } + +# : }}} + + +# : Completion {{{ + +[cmp] +border = { fg = "#1e66f5" } + +# : }}} + + +# : Tasks {{{ + +[tasks] +border = { fg = "#1e66f5" } +title = {} +hovered = { fg = "#ea76cb", bold = true } + +# : }}} + + +# : Which {{{ + +[which] +mask = { bg = "#ccd0da" } +cand = { fg = "#179299" } +rest = { fg = "#7c7f93" } +desc = { fg = "#ea76cb" } +separator = " " +separator_style = { fg = "#acb0be" } + +# : }}} + + +# : Help {{{ + +[help] +on = { fg = "#179299" } +run = { fg = "#ea76cb" } +hovered = { reversed = true, bold = true } +footer = { fg = "#ccd0da", bg = "#4c4f69" } + +# : }}} + + +# : Spotter {{{ + +[spot] +border = { fg = "#1e66f5" } +title = { fg = "#1e66f5" } +tbl_col = { fg = "#179299" } +tbl_cell = { fg = "#ea76cb", bg = "#bcc0cc" } + +# : }}} + + +# : Notification {{{ + +[notify] +title_info = { fg = "#40a02b" } +title_warn = { fg = "#df8e1d" } +title_error = { fg = "#d20f39" } + +# : }}} + + +# : File-specific styles {{{ + +[filetype] + +rules = [ + # Images + { mime = "image/*", fg = "#179299" }, + + # Media + { mime = "{audio,video}/*", fg = "#df8e1d" }, + + # Archives + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#ea76cb" }, + + # Documents + { mime = "application/{pdf,doc,rtf}", fg = "#40a02b" }, + + # Fallback + { url = "*", fg = "#4c4f69" }, + { url = "*/", fg = "#1e66f5" }, + + # TODO: remove + { name = "*", fg = "#4c4f69" }, + { name = "*/", fg = "#1e66f5" } +] + +# : }}} diff --git a/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/preview.png b/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/preview.png Binary files differnew file mode 100644 index 0000000..7712450 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/preview.png diff --git a/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/tmtheme.xml b/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/tmtheme.xml new file mode 100644 index 0000000..ddeb349 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-latte.yazi/tmtheme.xml @@ -0,0 +1,2112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> + <dict> + <key>name</key> + <string>Catppuccin Latte</string> + <key>semanticClass</key> + <string>theme.light.catppuccin-latte</string> + <key>uuid</key> + <string>96a262cd-4b2f-49f5-9125-8dd0077cbfe1</string> + <key>author</key> + <string>Catppuccin Org</string> + <key>colorSpaceName</key> + <string>sRGB</string> + <key>settings</key> + <array> + <dict> + <key>settings</key> + <dict> + <key>background</key> + <string>#eff1f5</string> + <key>foreground</key> + <string>#4c4f69</string> + <key>caret</key> + <string>#dc8a78</string> + <key>lineHighlight</key> + <string>#ccd0da</string> + <key>misspelling</key> + <string>#d20f39</string> + <key>accent</key> + <string>#8839ef</string> + <key>selection</key> + <string>#7c7f934d</string> + <key>activeGuide</key> + <string>#bcc0cc</string> + <key>findHighlight</key> + <string>#a9daf0</string> + <key>gutterForeground</key> + <string>#8c8fa1</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Basic text & variable names (incl. leading punctuation)</string> + <key>scope</key> + <string>text, source, variable.other.readwrite, punctuation.definition.variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Parentheses, Brackets, Braces</string> + <key>scope</key> + <string>punctuation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#7c7f93</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Comments</string> + <key>scope</key> + <string>comment, punctuation.definition.comment</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#7c7f93</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>string, punctuation.definition.string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#40a02b</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>constant.character.escape</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Booleans, constants, numbers</string> + <key>scope</key> + <string>constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.name.tag.documentation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Punctuation</string> + <key>scope</key> + <string>keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Classes</string> + <key>scope</key> + <string>entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Enum</string> + <key>scope</key> + <string>entity.name.enum</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Enum member</string> + <key>scope</key> + <string>meta.enum variable.other.readwrite, variable.other.enummember</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Object properties</string> + <key>scope</key> + <string>meta.property.object</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Types</string> + <key>scope</key> + <string>meta.type, meta.type-alias, support.type, entity.name.type</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Decorators</string> + <key>scope</key> + <string>meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>variable.parameter, meta.function.parameters</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e64553</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Built-ins</string> + <key>scope</key> + <string>constant.language, support.function.builtin</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#d20f39</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.other.attribute-name.documentation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#d20f39</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Preprocessor directives</string> + <key>scope</key> + <string>keyword.control.directive, punctuation.definition.directive</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Type parameters</string> + <key>scope</key> + <string>punctuation.definition.typeparameters</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#04a5e5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Namespaces</string> + <key>scope</key> + <string>entity.name.namespace</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Property names (left hand assignments in json/yaml/css)</string> + <key>scope</key> + <string>support.type.property-name.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>This/Self keyword</string> + <key>scope</key> + <string>variable.language.this, variable.language.this punctuation.definition.variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#d20f39</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Object properties</string> + <key>scope</key> + <string>variable.object.property</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>String template interpolation</string> + <key>scope</key> + <string>string.template variable, string variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>`new` as bold</string> + <key>scope</key> + <string>keyword.operator.new</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ extern keyword</string> + <key>scope</key> + <string>storage.modifier.specifier.extern.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ scope resolution</string> + <key>scope</key> + <string>entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ doc keywords</string> + <key>scope</key> + <string>storage.type.class.doxygen</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ operators</string> + <key>scope</key> + <string>storage.modifier.reference.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C# Interpolated Strings</string> + <key>scope</key> + <string>meta.interpolation.cs</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C# xml-style docs</string> + <key>scope</key> + <string>comment.block.documentation.cs</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Classes, reflecting the className color in JSX</string> + <key>scope</key> + <string>source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Operators</string> + <key>scope</key> + <string>punctuation.separator.operator.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Pseudo classes</string> + <key>scope</key> + <string>source.css entity.other.attribute-name.pseudo-class</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.css constant.other.unicode-range</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.css variable.parameter.url</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#40a02b</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS vendored property names</string> + <key>scope</key> + <string>support.type.vendored.property-name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#04a5e5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Less/SCSS right-hand variables (@/$-prefixed)</string> + <key>scope</key> + <string>source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e64553</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS variables (--prefixed)</string> + <key>scope</key> + <string>source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS Percentage values, styled the same as numbers</string> + <key>scope</key> + <string>keyword.other.unit.percentage.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS Attribute selectors, styled the same as strings</string> + <key>scope</key> + <string>source.css meta.attribute-selector</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#40a02b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON/YAML keys, other left-hand assignments</string> + <key>scope</key> + <string>keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON/YAML constants</string> + <key>scope</key> + <string>constant.language.json, constant.language.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML anchors</string> + <key>scope</key> + <string>entity.name.type.anchor.yaml, variable.other.alias.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>TOML tables / ini groups</string> + <key>scope</key> + <string>support.type.property-name.table, entity.name.section.group-title.ini</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>TOML dates</string> + <key>scope</key> + <string>constant.other.time.datetime.offset.toml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML anchor puctuation</string> + <key>scope</key> + <string>punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML triple dashes</string> + <key>scope</key> + <string>entity.other.document.begin.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markup Diff</string> + <key>scope</key> + <string>markup.changed.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff</string> + <key>scope</key> + <string>meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff Inserted</string> + <key>scope</key> + <string>markup.inserted.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#40a02b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff Deleted</string> + <key>scope</key> + <string>markup.deleted.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#d20f39</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>dotenv left-hand side assignments</string> + <key>scope</key> + <string>variable.other.env</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>dotenv reference to existing env variable</string> + <key>scope</key> + <string>string.quoted variable.other.env</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GDScript functions</string> + <key>scope</key> + <string>support.function.builtin.gdscript</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GDScript constants</string> + <key>scope</key> + <string>constant.language.gdscript</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Comment keywords</string> + <key>scope</key> + <string>comment meta.annotation.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e64553</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>go:embed, go:build, etc.</string> + <key>scope</key> + <string>comment meta.annotation.parameters.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Go constants (nil, true, false)</string> + <key>scope</key> + <string>constant.language.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL variables</string> + <key>scope</key> + <string>variable.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL aliases</string> + <key>scope</key> + <string>string.unquoted.alias.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#dd7878</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL enum members</string> + <key>scope</key> + <string>constant.character.enum.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL field in types</string> + <key>scope</key> + <string>meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#dd7878</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML DOCTYPE as keyword</string> + <key>scope</key> + <string>keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML-like <tags/></string> + <key>scope</key> + <string>entity.name.tag</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Special characters like &amp;</string> + <key>scope</key> + <string>text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#d20f39</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML tag attribute values</string> + <key>scope</key> + <string>entity.other.attribute-name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Components</string> + <key>scope</key> + <string>support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Annotations</string> + <key>scope</key> + <string>punctuation.definition.annotation, storage.type.annotation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Java enums</string> + <key>scope</key> + <string>constant.other.enum.java</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Java imports</string> + <key>scope</key> + <string>storage.modifier.import.java</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Javadoc</string> + <key>scope</key> + <string>comment.block.javadoc.java keyword.other.documentation.javadoc.java</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Exported Variable</string> + <key>scope</key> + <string>meta.export variable.other.readwrite.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e64553</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JS/TS constants & properties</string> + <key>scope</key> + <string>variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSDoc; these are mainly params, so styled as such</string> + <key>scope</key> + <string>variable.other.jsdoc, comment.block.documentation variable.other</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e64553</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSDoc keywords</string> + <key>scope</key> + <string>storage.type.class.jsdoc</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>scope</key> + <string>support.type.object.console.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Node constants as keywords (module, etc.)</string> + <key>scope</key> + <string>support.constant.node, support.type.object.module.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>implements as keyword</string> + <key>scope</key> + <string>storage.modifier.implements</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Builtin types</string> + <key>scope</key> + <string>constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>variable.parameter.generic</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Arrow functions</string> + <key>scope</key> + <string>keyword.declaration.function.arrow.js, storage.type.function.arrow.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach)</string> + <key>scope</key> + <string>punctuation.decorator.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Extra JS/TS keywords</string> + <key>scope</key> + <string>keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia macros</string> + <key>scope</key> + <string>support.function.macro.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia language constants (true, false)</string> + <key>scope</key> + <string>constant.language.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia other constants (these seem to be arguments inside arrays)</string> + <key>scope</key> + <string>constant.other.symbol.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e64553</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX preamble</string> + <key>scope</key> + <string>text.tex keyword.control.preamble</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX be functions</string> + <key>scope</key> + <string>text.tex support.function.be</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#04a5e5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX math</string> + <key>scope</key> + <string>constant.other.general.math.tex</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#dd7878</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Liquid Builtin Objects & User Defined Variables</string> + <key>scope</key> + <string>variable.language.liquid</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Lua docstring keywords</string> + <key>scope</key> + <string>comment.line.double-dash.documentation.lua storage.type.annotation.lua</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Lua docstring variables</string> + <key>scope</key> + <string>comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, heading.1.quarto punctuation.definition.heading.quarto, heading.1.quarto, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#d20f39</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, heading.2.quarto punctuation.definition.heading.quarto, heading.2.quarto, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, heading.3.quarto punctuation.definition.heading.quarto, heading.3.quarto, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, heading.4.quarto punctuation.definition.heading.quarto, heading.4.quarto, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#40a02b</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, heading.5.quarto punctuation.definition.heading.quarto, heading.5.quarto, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#209fb5</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, heading.6.quarto punctuation.definition.heading.quarto, heading.6.quarto, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#7287fd</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.bold</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#d20f39</string> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.italic</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#d20f39</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.strikethrough</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#6c6f85</string> + <key>fontStyle</key> + <string>strikethrough</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown auto links</string> + <key>scope</key> + <string>punctuation.definition.link, markup.underline.link</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown links</string> + <key>scope</key> + <string>text.html.markdown punctuation.definition.link.title, text.html.quarto punctuation.definition.link.title, string.other.link.title.markdown, string.other.link.title.quarto, markup.link, punctuation.definition.constant.markdown, punctuation.definition.constant.quarto, constant.other.reference.link.markdown, constant.other.reference.link.quarto, markup.substitution.attribute-reference</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#7287fd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown code spans</string> + <key>scope</key> + <string>punctuation.definition.raw.markdown, punctuation.definition.raw.quarto, markup.inline.raw.string.markdown, markup.inline.raw.string.quarto, markup.raw.block.markdown, markup.raw.block.quarto</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#40a02b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown triple backtick language identifier</string> + <key>scope</key> + <string>fenced_code.block.language</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#04a5e5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown triple backticks</string> + <key>scope</key> + <string>markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#7c7f93</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown quotes</string> + <key>scope</key> + <string>markup.quote, punctuation.definition.quote.begin</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown separators</string> + <key>scope</key> + <string>meta.separator.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown list bullets</string> + <key>scope</key> + <string>punctuation.definition.list.begin.markdown, punctuation.definition.list.begin.quarto, markup.list.bullet</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Quarto headings</string> + <key>scope</key> + <string>markup.heading.quarto</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix attribute names</string> + <key>scope</key> + <string>entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix parameter names</string> + <key>scope</key> + <string>variable.parameter.name.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix interpolated parameter names</string> + <key>scope</key> + <string>meta.embedded variable.parameter.name.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#7287fd</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix paths</string> + <key>scope</key> + <string>string.unquoted.path.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Attributes</string> + <key>scope</key> + <string>support.attribute.builtin, meta.attribute.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Parameters (needed for the leading dollar sign)</string> + <key>scope</key> + <string>meta.function.parameters.php punctuation.definition.variable.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e64553</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Constants (null, __FILE__, etc.)</string> + <key>scope</key> + <string>constant.language.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP functions</string> + <key>scope</key> + <string>text.html.php support.function</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#04a5e5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHPdoc keywords</string> + <key>scope</key> + <string>keyword.other.phpdoc.php</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python argument functions reset to text, otherwise they inherit blue from function-call</string> + <key>scope</key> + <string>support.variable.magic.python, meta.function-call.arguments.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python double underscore functions</string> + <key>scope</key> + <string>support.function.magic.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#04a5e5</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python `self` keyword</string> + <key>scope</key> + <string>variable.parameter.function.language.special.self.python, variable.language.special.self.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#d20f39</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python keyword flow/logical (for ... in)</string> + <key>scope</key> + <string>keyword.control.flow.python, keyword.operator.logical.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python storage type</string> + <key>scope</key> + <string>storage.type.function.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function support</string> + <key>scope</key> + <string>support.token.decorator.python, meta.function.decorator.identifier.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#04a5e5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function calls</string> + <key>scope</key> + <string>meta.function-call.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function decorators</string> + <key>scope</key> + <string>entity.name.function.decorator.python, punctuation.definition.decorator.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python placeholder reset to normal string</string> + <key>scope</key> + <string>constant.character.format.placeholder.other.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python exception & builtins such as exit()</string> + <key>scope</key> + <string>support.type.exception.python, support.function.builtin.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>entity.name.type</string> + <key>scope</key> + <string>support.type.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python constants (True/False)</string> + <key>scope</key> + <string>constant.language.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Arguments accessed later in the function body</string> + <key>scope</key> + <string>meta.indexed-name.python, meta.item-access.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e64553</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python f-strings/binary/unicode storage types</string> + <key>scope</key> + <string>storage.type.string.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#40a02b</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python type hints</string> + <key>scope</key> + <string>meta.function.parameters.python</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex string begin/end in JS/TS</string> + <key>scope</key> + <string>string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex anchors (^, $)</string> + <key>scope</key> + <string>keyword.control.anchor.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex regular string match</string> + <key>scope</key> + <string>string.regexp.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex group parenthesis & backreference (\1, \2, \3, ...)</string> + <key>scope</key> + <string>punctuation.definition.group.regexp, keyword.other.back-reference.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#40a02b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex character class []</string> + <key>scope</key> + <string>punctuation.definition.character-class.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex character classes (\d, \w, \s)</string> + <key>scope</key> + <string>constant.other.character-class.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex range</string> + <key>scope</key> + <string>constant.other.character-class.range.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#dc8a78</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex quantifier</string> + <key>scope</key> + <string>keyword.operator.quantifier.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex constant/numeric</string> + <key>scope</key> + <string>constant.character.numeric.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds</string> + <key>scope</key> + <string>punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust attribute</string> + <key>scope</key> + <string>meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust attribute strings</string> + <key>scope</key> + <string>meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust keyword</string> + <key>scope</key> + <string>entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust u/i32, u/i64, etc.</string> + <key>scope</key> + <string>entity.name.type.numeric.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust generic</string> + <key>scope</key> + <string>meta.generic.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust impl</string> + <key>scope</key> + <string>entity.name.impl.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust module</string> + <key>scope</key> + <string>entity.name.module.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust trait</string> + <key>scope</key> + <string>entity.name.trait.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust struct</string> + <key>scope</key> + <string>storage.type.source.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust union</string> + <key>scope</key> + <string>entity.name.union.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust enum member</string> + <key>scope</key> + <string>meta.enum.rust storage.type.source.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust macro</string> + <key>scope</key> + <string>support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust lifetime</string> + <key>scope</key> + <string>storage.modifier.lifetime.rust, entity.name.type.lifetime</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust string formatting</string> + <key>scope</key> + <string>string.quoted.double.rust constant.other.placeholder.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust return type generic</string> + <key>scope</key> + <string>meta.function.return-type.rust meta.generic.rust storage.type.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust functions</string> + <key>scope</key> + <string>meta.function.call.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust angle brackets</string> + <key>scope</key> + <string>punctuation.brackets.angle.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#04a5e5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust constants</string> + <key>scope</key> + <string>constant.other.caps.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust function parameters</string> + <key>scope</key> + <string>meta.function.definition.rust variable.other.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#e64553</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust closure variables</string> + <key>scope</key> + <string>meta.function.call.rust variable.other.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust self</string> + <key>scope</key> + <string>variable.language.self.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#d20f39</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust metavariable names</string> + <key>scope</key> + <string>variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell shebang</string> + <key>scope</key> + <string>comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell shebang command</string> + <key>scope</key> + <string>comment.line.shebang constant.language</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell interpolated command</string> + <key>scope</key> + <string>meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#d20f39</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell interpolated command variable</string> + <key>scope</key> + <string>meta.string meta.interpolation.parameter.shell variable.other.readwrite</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell EOF</string> + <key>scope</key> + <string>entity.name.tag.heredoc.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell quoted variable</string> + <key>scope</key> + <string>string.quoted.double.shell variable.other.normal.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#4c4f69</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.typst</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#d20f39</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON Keys</string> + <key>scope</key> + <string>source.json meta.mapping.key string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON key surrounding quotes</string> + <key>scope</key> + <string>source.json meta.mapping.key punctuation.definition.string.begin, source.json meta.mapping.key punctuation.definition.string.end</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#7c7f93</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8839ef</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.commands.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#1e66f5</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.env.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ea76cb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Man page options</string> + <key>scope</key> + <string>entity.name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#179299</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.1.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#d20f39</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.2.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fe640b</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#df8e1d</string> + </dict> + </dict> + </array> + </dict> +</plist>
\ No newline at end of file diff --git a/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/LICENSE b/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/LICENSE new file mode 100644 index 0000000..fb5b1d6 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 yazi-rs + +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. diff --git a/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/LICENSE-tmtheme b/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/LICENSE-tmtheme new file mode 100644 index 0000000..006383b --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/LICENSE-tmtheme @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Catppuccin + +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. diff --git a/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/README.md b/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/README.md new file mode 100644 index 0000000..752908c --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/README.md @@ -0,0 +1,36 @@ +<div align="center"> + <img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%"> +</div> + +<h3 align="center"> + Catppuccin Macchiato Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a> +</h3> + +## 👀 Preview + +<img src="preview.png" width="600" /> + +## 🎨 Installation + +```sh +ya pkg add yazi-rs/flavors:catppuccin-macchiato +``` + +## ⚙️ Usage + +Set the content of your `theme.toml` to enable it as your _dark_ flavor: + +```toml +[flavor] +dark = "catppuccin-macchiato" +``` + +Make sure your `theme.toml` doesn't contain anything other than `[flavor]`, unless you want to override certain styles of this flavor. + +See the [Yazi flavor documentation](https://yazi-rs.github.io/docs/flavors/overview) for more details. + +## 📜 License + +The flavor is MIT-licensed, and the included tmTheme is also MIT-licensed. + +Check the [LICENSE](LICENSE) and [LICENSE-tmtheme](LICENSE-tmtheme) file for more details. diff --git a/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/flavor.toml b/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/flavor.toml new file mode 100644 index 0000000..9d3042f --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/flavor.toml @@ -0,0 +1,189 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +# : Manager {{{ + +[mgr] +cwd = { fg = "#8bd5ca" } + +# Hovered +hovered = { reversed = true } +preview_hovered = { underline = true } + +# Find +find_keyword = { fg = "#eed49f", bold = true, italic = true, underline = true } +find_position = { fg = "#f5bde6", bg = "reset", bold = true, italic = true } + +# Marker +marker_copied = { fg = "#a6da95", bg = "#a6da95" } +marker_cut = { fg = "#ed8796", bg = "#ed8796" } +marker_marked = { fg = "#8bd5ca", bg = "#8bd5ca" } +marker_selected = { fg = "#eed49f", bg = "#eed49f" } + +# Count +count_copied = { fg = "#24273a", bg = "#a6da95" } +count_cut = { fg = "#24273a", bg = "#ed8796" } +count_selected = { fg = "#24273a", bg = "#eed49f" } + +# Border +border_symbol = "│" +border_style = { fg = "#8087a2" } + +# : }}} + + +# : Tabs {{{ + +[tabs] +active = { fg = "#24273a", bg = "#8aadf4", bold = true } +inactive = { fg = "#8aadf4", bg = "#363a4f" } + +# : }}} + + +# : Mode {{{ + +[mode] + +normal_main = { fg = "#24273a", bg = "#8aadf4", bold = true } +normal_alt = { fg = "#8aadf4", bg = "#363a4f" } + +# Select mode +select_main = { fg = "#24273a", bg = "#8bd5ca", bold = true } +select_alt = { fg = "#8bd5ca", bg = "#363a4f" } + +# Unset mode +unset_main = { fg = "#24273a", bg = "#f0c6c6", bold = true } +unset_alt = { fg = "#f0c6c6", bg = "#363a4f" } + +# : }}} + + +# : Status bar {{{ + +[status] +# Permissions +perm_sep = { fg = "#8087a2" } +perm_type = { fg = "#8aadf4" } +perm_read = { fg = "#eed49f" } +perm_write = { fg = "#ed8796" } +perm_exec = { fg = "#a6da95" } + +# Progress +progress_label = { fg = "#ffffff", bold = true } +progress_normal = { fg = "#8aadf4", bg = "#494d64" } +progress_error = { fg = "#8aadf4", bg = "#ed8796" } + +# : }}} + + +# : Pick {{{ + +[pick] +border = { fg = "#8aadf4" } +active = { fg = "#f5bde6", bold = true } +inactive = {} + +# : }}} + + +# : Input {{{ + +[input] +border = { fg = "#8aadf4" } +title = {} +value = {} +selected = { reversed = true } + +# : }}} + + +# : Completion {{{ + +[cmp] +border = { fg = "#8aadf4" } + +# : }}} + + +# : Tasks {{{ + +[tasks] +border = { fg = "#8aadf4" } +title = {} +hovered = { fg = "#f5bde6", bold = true } + +# : }}} + + +# : Which {{{ + +[which] +mask = { bg = "#363a4f" } +cand = { fg = "#8bd5ca" } +rest = { fg = "#939ab7" } +desc = { fg = "#f5bde6" } +separator = " " +separator_style = { fg = "#5b6078" } + +# : }}} + + +# : Help {{{ + +[help] +on = { fg = "#8bd5ca" } +run = { fg = "#f5bde6" } +hovered = { reversed = true, bold = true } +footer = { fg = "#363a4f", bg = "#cad3f5" } + +# : }}} + + +# : Spotter {{{ + +[spot] +border = { fg = "#8aadf4" } +title = { fg = "#8aadf4" } +tbl_col = { fg = "#8bd5ca" } +tbl_cell = { fg = "#f5bde6", bg = "#494d64" } + +# : }}} + + +# : Notification {{{ + +[notify] +title_info = { fg = "#a6da95" } +title_warn = { fg = "#eed49f" } +title_error = { fg = "#ed8796" } + +# : }}} + + +# : File-specific styles {{{ + +[filetype] + +rules = [ + # Images + { mime = "image/*", fg = "#8bd5ca" }, + + # Media + { mime = "{audio,video}/*", fg = "#eed49f" }, + + # Archives + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#f5bde6" }, + + # Documents + { mime = "application/{pdf,doc,rtf}", fg = "#a6da95" }, + + # Fallback + { url = "*", fg = "#cad3f5" }, + { url = "*/", fg = "#8aadf4" }, + + # TODO: remove + { name = "*", fg = "#cad3f5" }, + { name = "*/", fg = "#8aadf4" } +] + +# : }}} diff --git a/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/preview.png b/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/preview.png Binary files differnew file mode 100644 index 0000000..a200463 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/preview.png diff --git a/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/tmtheme.xml b/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/tmtheme.xml new file mode 100644 index 0000000..8f21312 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-macchiato.yazi/tmtheme.xml @@ -0,0 +1,2112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> + <dict> + <key>name</key> + <string>Catppuccin Macchiato</string> + <key>semanticClass</key> + <string>theme.dark.catppuccin-macchiato</string> + <key>uuid</key> + <string>02b2bdf3-9eb7-4396-bf04-f17f1468f99f</string> + <key>author</key> + <string>Catppuccin Org</string> + <key>colorSpaceName</key> + <string>sRGB</string> + <key>settings</key> + <array> + <dict> + <key>settings</key> + <dict> + <key>background</key> + <string>#24273a</string> + <key>foreground</key> + <string>#cad3f5</string> + <key>caret</key> + <string>#f4dbd6</string> + <key>lineHighlight</key> + <string>#363a4f</string> + <key>misspelling</key> + <string>#ed8796</string> + <key>accent</key> + <string>#c6a0f6</string> + <key>selection</key> + <string>#939ab740</string> + <key>activeGuide</key> + <string>#494d64</string> + <key>findHighlight</key> + <string>#455c6d</string> + <key>gutterForeground</key> + <string>#8087a2</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Basic text & variable names (incl. leading punctuation)</string> + <key>scope</key> + <string>text, source, variable.other.readwrite, punctuation.definition.variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Parentheses, Brackets, Braces</string> + <key>scope</key> + <string>punctuation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#939ab7</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Comments</string> + <key>scope</key> + <string>comment, punctuation.definition.comment</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#939ab7</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>string, punctuation.definition.string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6da95</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>constant.character.escape</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Booleans, constants, numbers</string> + <key>scope</key> + <string>constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.name.tag.documentation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Punctuation</string> + <key>scope</key> + <string>keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Classes</string> + <key>scope</key> + <string>entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Enum</string> + <key>scope</key> + <string>entity.name.enum</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Enum member</string> + <key>scope</key> + <string>meta.enum variable.other.readwrite, variable.other.enummember</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Object properties</string> + <key>scope</key> + <string>meta.property.object</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Types</string> + <key>scope</key> + <string>meta.type, meta.type-alias, support.type, entity.name.type</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Decorators</string> + <key>scope</key> + <string>meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>variable.parameter, meta.function.parameters</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ee99a0</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Built-ins</string> + <key>scope</key> + <string>constant.language, support.function.builtin</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ed8796</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.other.attribute-name.documentation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ed8796</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Preprocessor directives</string> + <key>scope</key> + <string>keyword.control.directive, punctuation.definition.directive</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Type parameters</string> + <key>scope</key> + <string>punctuation.definition.typeparameters</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#91d7e3</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Namespaces</string> + <key>scope</key> + <string>entity.name.namespace</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Property names (left hand assignments in json/yaml/css)</string> + <key>scope</key> + <string>support.type.property-name.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>This/Self keyword</string> + <key>scope</key> + <string>variable.language.this, variable.language.this punctuation.definition.variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ed8796</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Object properties</string> + <key>scope</key> + <string>variable.object.property</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>String template interpolation</string> + <key>scope</key> + <string>string.template variable, string variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>`new` as bold</string> + <key>scope</key> + <string>keyword.operator.new</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ extern keyword</string> + <key>scope</key> + <string>storage.modifier.specifier.extern.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ scope resolution</string> + <key>scope</key> + <string>entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ doc keywords</string> + <key>scope</key> + <string>storage.type.class.doxygen</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ operators</string> + <key>scope</key> + <string>storage.modifier.reference.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C# Interpolated Strings</string> + <key>scope</key> + <string>meta.interpolation.cs</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C# xml-style docs</string> + <key>scope</key> + <string>comment.block.documentation.cs</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Classes, reflecting the className color in JSX</string> + <key>scope</key> + <string>source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Operators</string> + <key>scope</key> + <string>punctuation.separator.operator.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Pseudo classes</string> + <key>scope</key> + <string>source.css entity.other.attribute-name.pseudo-class</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.css constant.other.unicode-range</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.css variable.parameter.url</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6da95</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS vendored property names</string> + <key>scope</key> + <string>support.type.vendored.property-name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#91d7e3</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Less/SCSS right-hand variables (@/$-prefixed)</string> + <key>scope</key> + <string>source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ee99a0</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS variables (--prefixed)</string> + <key>scope</key> + <string>source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS Percentage values, styled the same as numbers</string> + <key>scope</key> + <string>keyword.other.unit.percentage.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS Attribute selectors, styled the same as strings</string> + <key>scope</key> + <string>source.css meta.attribute-selector</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6da95</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON/YAML keys, other left-hand assignments</string> + <key>scope</key> + <string>keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON/YAML constants</string> + <key>scope</key> + <string>constant.language.json, constant.language.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML anchors</string> + <key>scope</key> + <string>entity.name.type.anchor.yaml, variable.other.alias.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>TOML tables / ini groups</string> + <key>scope</key> + <string>support.type.property-name.table, entity.name.section.group-title.ini</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>TOML dates</string> + <key>scope</key> + <string>constant.other.time.datetime.offset.toml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML anchor puctuation</string> + <key>scope</key> + <string>punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML triple dashes</string> + <key>scope</key> + <string>entity.other.document.begin.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markup Diff</string> + <key>scope</key> + <string>markup.changed.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff</string> + <key>scope</key> + <string>meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff Inserted</string> + <key>scope</key> + <string>markup.inserted.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6da95</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff Deleted</string> + <key>scope</key> + <string>markup.deleted.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ed8796</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>dotenv left-hand side assignments</string> + <key>scope</key> + <string>variable.other.env</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>dotenv reference to existing env variable</string> + <key>scope</key> + <string>string.quoted variable.other.env</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GDScript functions</string> + <key>scope</key> + <string>support.function.builtin.gdscript</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GDScript constants</string> + <key>scope</key> + <string>constant.language.gdscript</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Comment keywords</string> + <key>scope</key> + <string>comment meta.annotation.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ee99a0</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>go:embed, go:build, etc.</string> + <key>scope</key> + <string>comment meta.annotation.parameters.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Go constants (nil, true, false)</string> + <key>scope</key> + <string>constant.language.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL variables</string> + <key>scope</key> + <string>variable.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL aliases</string> + <key>scope</key> + <string>string.unquoted.alias.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f0c6c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL enum members</string> + <key>scope</key> + <string>constant.character.enum.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL field in types</string> + <key>scope</key> + <string>meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f0c6c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML DOCTYPE as keyword</string> + <key>scope</key> + <string>keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML-like <tags/></string> + <key>scope</key> + <string>entity.name.tag</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Special characters like &amp;</string> + <key>scope</key> + <string>text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ed8796</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML tag attribute values</string> + <key>scope</key> + <string>entity.other.attribute-name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Components</string> + <key>scope</key> + <string>support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Annotations</string> + <key>scope</key> + <string>punctuation.definition.annotation, storage.type.annotation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Java enums</string> + <key>scope</key> + <string>constant.other.enum.java</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Java imports</string> + <key>scope</key> + <string>storage.modifier.import.java</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Javadoc</string> + <key>scope</key> + <string>comment.block.javadoc.java keyword.other.documentation.javadoc.java</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Exported Variable</string> + <key>scope</key> + <string>meta.export variable.other.readwrite.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ee99a0</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JS/TS constants & properties</string> + <key>scope</key> + <string>variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSDoc; these are mainly params, so styled as such</string> + <key>scope</key> + <string>variable.other.jsdoc, comment.block.documentation variable.other</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ee99a0</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSDoc keywords</string> + <key>scope</key> + <string>storage.type.class.jsdoc</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>scope</key> + <string>support.type.object.console.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Node constants as keywords (module, etc.)</string> + <key>scope</key> + <string>support.constant.node, support.type.object.module.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>implements as keyword</string> + <key>scope</key> + <string>storage.modifier.implements</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Builtin types</string> + <key>scope</key> + <string>constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>variable.parameter.generic</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Arrow functions</string> + <key>scope</key> + <string>keyword.declaration.function.arrow.js, storage.type.function.arrow.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach)</string> + <key>scope</key> + <string>punctuation.decorator.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Extra JS/TS keywords</string> + <key>scope</key> + <string>keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia macros</string> + <key>scope</key> + <string>support.function.macro.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia language constants (true, false)</string> + <key>scope</key> + <string>constant.language.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia other constants (these seem to be arguments inside arrays)</string> + <key>scope</key> + <string>constant.other.symbol.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ee99a0</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX preamble</string> + <key>scope</key> + <string>text.tex keyword.control.preamble</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX be functions</string> + <key>scope</key> + <string>text.tex support.function.be</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#91d7e3</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX math</string> + <key>scope</key> + <string>constant.other.general.math.tex</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f0c6c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Liquid Builtin Objects & User Defined Variables</string> + <key>scope</key> + <string>variable.language.liquid</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Lua docstring keywords</string> + <key>scope</key> + <string>comment.line.double-dash.documentation.lua storage.type.annotation.lua</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Lua docstring variables</string> + <key>scope</key> + <string>comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, heading.1.quarto punctuation.definition.heading.quarto, heading.1.quarto, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ed8796</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, heading.2.quarto punctuation.definition.heading.quarto, heading.2.quarto, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, heading.3.quarto punctuation.definition.heading.quarto, heading.3.quarto, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, heading.4.quarto punctuation.definition.heading.quarto, heading.4.quarto, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6da95</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, heading.5.quarto punctuation.definition.heading.quarto, heading.5.quarto, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#7dc4e4</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, heading.6.quarto punctuation.definition.heading.quarto, heading.6.quarto, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#b7bdf8</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.bold</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ed8796</string> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.italic</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ed8796</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.strikethrough</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a5adcb</string> + <key>fontStyle</key> + <string>strikethrough</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown auto links</string> + <key>scope</key> + <string>punctuation.definition.link, markup.underline.link</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown links</string> + <key>scope</key> + <string>text.html.markdown punctuation.definition.link.title, text.html.quarto punctuation.definition.link.title, string.other.link.title.markdown, string.other.link.title.quarto, markup.link, punctuation.definition.constant.markdown, punctuation.definition.constant.quarto, constant.other.reference.link.markdown, constant.other.reference.link.quarto, markup.substitution.attribute-reference</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#b7bdf8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown code spans</string> + <key>scope</key> + <string>punctuation.definition.raw.markdown, punctuation.definition.raw.quarto, markup.inline.raw.string.markdown, markup.inline.raw.string.quarto, markup.raw.block.markdown, markup.raw.block.quarto</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6da95</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown triple backtick language identifier</string> + <key>scope</key> + <string>fenced_code.block.language</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#91d7e3</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown triple backticks</string> + <key>scope</key> + <string>markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#939ab7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown quotes</string> + <key>scope</key> + <string>markup.quote, punctuation.definition.quote.begin</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown separators</string> + <key>scope</key> + <string>meta.separator.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown list bullets</string> + <key>scope</key> + <string>punctuation.definition.list.begin.markdown, punctuation.definition.list.begin.quarto, markup.list.bullet</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Quarto headings</string> + <key>scope</key> + <string>markup.heading.quarto</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix attribute names</string> + <key>scope</key> + <string>entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix parameter names</string> + <key>scope</key> + <string>variable.parameter.name.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix interpolated parameter names</string> + <key>scope</key> + <string>meta.embedded variable.parameter.name.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#b7bdf8</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix paths</string> + <key>scope</key> + <string>string.unquoted.path.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Attributes</string> + <key>scope</key> + <string>support.attribute.builtin, meta.attribute.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Parameters (needed for the leading dollar sign)</string> + <key>scope</key> + <string>meta.function.parameters.php punctuation.definition.variable.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ee99a0</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Constants (null, __FILE__, etc.)</string> + <key>scope</key> + <string>constant.language.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP functions</string> + <key>scope</key> + <string>text.html.php support.function</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#91d7e3</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHPdoc keywords</string> + <key>scope</key> + <string>keyword.other.phpdoc.php</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python argument functions reset to text, otherwise they inherit blue from function-call</string> + <key>scope</key> + <string>support.variable.magic.python, meta.function-call.arguments.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python double underscore functions</string> + <key>scope</key> + <string>support.function.magic.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#91d7e3</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python `self` keyword</string> + <key>scope</key> + <string>variable.parameter.function.language.special.self.python, variable.language.special.self.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ed8796</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python keyword flow/logical (for ... in)</string> + <key>scope</key> + <string>keyword.control.flow.python, keyword.operator.logical.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python storage type</string> + <key>scope</key> + <string>storage.type.function.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function support</string> + <key>scope</key> + <string>support.token.decorator.python, meta.function.decorator.identifier.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#91d7e3</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function calls</string> + <key>scope</key> + <string>meta.function-call.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function decorators</string> + <key>scope</key> + <string>entity.name.function.decorator.python, punctuation.definition.decorator.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python placeholder reset to normal string</string> + <key>scope</key> + <string>constant.character.format.placeholder.other.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python exception & builtins such as exit()</string> + <key>scope</key> + <string>support.type.exception.python, support.function.builtin.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>entity.name.type</string> + <key>scope</key> + <string>support.type.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python constants (True/False)</string> + <key>scope</key> + <string>constant.language.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Arguments accessed later in the function body</string> + <key>scope</key> + <string>meta.indexed-name.python, meta.item-access.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ee99a0</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python f-strings/binary/unicode storage types</string> + <key>scope</key> + <string>storage.type.string.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6da95</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python type hints</string> + <key>scope</key> + <string>meta.function.parameters.python</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex string begin/end in JS/TS</string> + <key>scope</key> + <string>string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex anchors (^, $)</string> + <key>scope</key> + <string>keyword.control.anchor.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex regular string match</string> + <key>scope</key> + <string>string.regexp.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex group parenthesis & backreference (\1, \2, \3, ...)</string> + <key>scope</key> + <string>punctuation.definition.group.regexp, keyword.other.back-reference.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6da95</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex character class []</string> + <key>scope</key> + <string>punctuation.definition.character-class.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex character classes (\d, \w, \s)</string> + <key>scope</key> + <string>constant.other.character-class.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex range</string> + <key>scope</key> + <string>constant.other.character-class.range.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f4dbd6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex quantifier</string> + <key>scope</key> + <string>keyword.operator.quantifier.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex constant/numeric</string> + <key>scope</key> + <string>constant.character.numeric.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds</string> + <key>scope</key> + <string>punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust attribute</string> + <key>scope</key> + <string>meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust attribute strings</string> + <key>scope</key> + <string>meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust keyword</string> + <key>scope</key> + <string>entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust u/i32, u/i64, etc.</string> + <key>scope</key> + <string>entity.name.type.numeric.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust generic</string> + <key>scope</key> + <string>meta.generic.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust impl</string> + <key>scope</key> + <string>entity.name.impl.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust module</string> + <key>scope</key> + <string>entity.name.module.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust trait</string> + <key>scope</key> + <string>entity.name.trait.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust struct</string> + <key>scope</key> + <string>storage.type.source.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust union</string> + <key>scope</key> + <string>entity.name.union.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust enum member</string> + <key>scope</key> + <string>meta.enum.rust storage.type.source.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust macro</string> + <key>scope</key> + <string>support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust lifetime</string> + <key>scope</key> + <string>storage.modifier.lifetime.rust, entity.name.type.lifetime</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust string formatting</string> + <key>scope</key> + <string>string.quoted.double.rust constant.other.placeholder.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust return type generic</string> + <key>scope</key> + <string>meta.function.return-type.rust meta.generic.rust storage.type.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust functions</string> + <key>scope</key> + <string>meta.function.call.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust angle brackets</string> + <key>scope</key> + <string>punctuation.brackets.angle.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#91d7e3</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust constants</string> + <key>scope</key> + <string>constant.other.caps.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust function parameters</string> + <key>scope</key> + <string>meta.function.definition.rust variable.other.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ee99a0</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust closure variables</string> + <key>scope</key> + <string>meta.function.call.rust variable.other.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust self</string> + <key>scope</key> + <string>variable.language.self.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ed8796</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust metavariable names</string> + <key>scope</key> + <string>variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell shebang</string> + <key>scope</key> + <string>comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell shebang command</string> + <key>scope</key> + <string>comment.line.shebang constant.language</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell interpolated command</string> + <key>scope</key> + <string>meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ed8796</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell interpolated command variable</string> + <key>scope</key> + <string>meta.string meta.interpolation.parameter.shell variable.other.readwrite</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell EOF</string> + <key>scope</key> + <string>entity.name.tag.heredoc.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell quoted variable</string> + <key>scope</key> + <string>string.quoted.double.shell variable.other.normal.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cad3f5</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.typst</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ed8796</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON Keys</string> + <key>scope</key> + <string>source.json meta.mapping.key string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON key surrounding quotes</string> + <key>scope</key> + <string>source.json meta.mapping.key punctuation.definition.string.begin, source.json meta.mapping.key punctuation.definition.string.end</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#939ab7</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#c6a0f6</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.commands.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8aadf4</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.env.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5bde6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Man page options</string> + <key>scope</key> + <string>entity.name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8bd5ca</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.1.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ed8796</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.2.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5a97f</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eed49f</string> + </dict> + </dict> + </array> + </dict> +</plist>
\ No newline at end of file diff --git a/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/LICENSE b/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/LICENSE new file mode 100644 index 0000000..fb5b1d6 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 yazi-rs + +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. diff --git a/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/LICENSE-tmtheme b/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/LICENSE-tmtheme new file mode 100644 index 0000000..006383b --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/LICENSE-tmtheme @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Catppuccin + +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. diff --git a/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/README.md b/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/README.md new file mode 100644 index 0000000..20840dc --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/README.md @@ -0,0 +1,36 @@ +<div align="center"> + <img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%"> +</div> + +<h3 align="center"> + Catppuccin Mocha Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a> +</h3> + +## 👀 Preview + +<img src="preview.png" width="600" /> + +## 🎨 Installation + +```sh +ya pkg add yazi-rs/flavors:catppuccin-mocha +``` + +## ⚙️ Usage + +Set the content of your `theme.toml` to enable it as your _dark_ flavor: + +```toml +[flavor] +dark = "catppuccin-mocha" +``` + +Make sure your `theme.toml` doesn't contain anything other than `[flavor]`, unless you want to override certain styles of this flavor. + +See the [Yazi flavor documentation](https://yazi-rs.github.io/docs/flavors/overview) for more details. + +## 📜 License + +The flavor is MIT-licensed, and the included tmTheme is also MIT-licensed. + +Check the [LICENSE](LICENSE) and [LICENSE-tmtheme](LICENSE-tmtheme) file for more details. diff --git a/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/flavor.toml b/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/flavor.toml new file mode 100644 index 0000000..39a3ef5 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/flavor.toml @@ -0,0 +1,189 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +# : Manager {{{ + +[mgr] +cwd = { fg = "#94e2d5" } + +# Hovered +hovered = { reversed = true } +preview_hovered = { underline = true } + +# Find +find_keyword = { fg = "#f9e2af", bold = true, italic = true, underline = true } +find_position = { fg = "#f5c2e7", bg = "reset", bold = true, italic = true } + +# Marker +marker_copied = { fg = "#a6e3a1", bg = "#a6e3a1" } +marker_cut = { fg = "#f38ba8", bg = "#f38ba8" } +marker_marked = { fg = "#94e2d5", bg = "#94e2d5" } +marker_selected = { fg = "#f9e2af", bg = "#f9e2af" } + +# Count +count_copied = { fg = "#1e1e2e", bg = "#a6e3a1" } +count_cut = { fg = "#1e1e2e", bg = "#f38ba8" } +count_selected = { fg = "#1e1e2e", bg = "#f9e2af" } + +# Border +border_symbol = "│" +border_style = { fg = "#7f849c" } + +# : }}} + + +# : Tabs {{{ + +[tabs] +active = { fg = "#1e1e2e", bg = "#89b4fa", bold = true } +inactive = { fg = "#89b4fa", bg = "#313244" } + +# : }}} + + +# : Mode {{{ + +[mode] + +normal_main = { fg = "#1e1e2e", bg = "#89b4fa", bold = true } +normal_alt = { fg = "#89b4fa", bg = "#313244" } + +# Select mode +select_main = { fg = "#1e1e2e", bg = "#94e2d5", bold = true } +select_alt = { fg = "#94e2d5", bg = "#313244" } + +# Unset mode +unset_main = { fg = "#1e1e2e", bg = "#f2cdcd", bold = true } +unset_alt = { fg = "#f2cdcd", bg = "#313244" } + +# : }}} + + +# : Status bar {{{ + +[status] +# Permissions +perm_sep = { fg = "#7f849c" } +perm_type = { fg = "#89b4fa" } +perm_read = { fg = "#f9e2af" } +perm_write = { fg = "#f38ba8" } +perm_exec = { fg = "#a6e3a1" } + +# Progress +progress_label = { fg = "#ffffff", bold = true } +progress_normal = { fg = "#89b4fa", bg = "#45475a" } +progress_error = { fg = "#89b4fa", bg = "#f38ba8" } + +# : }}} + + +# : Pick {{{ + +[pick] +border = { fg = "#89b4fa" } +active = { fg = "#f5c2e7", bold = true } +inactive = {} + +# : }}} + + +# : Input {{{ + +[input] +border = { fg = "#89b4fa" } +title = {} +value = {} +selected = { reversed = true } + +# : }}} + + +# : Completion {{{ + +[cmp] +border = { fg = "#89b4fa" } + +# : }}} + + +# : Tasks {{{ + +[tasks] +border = { fg = "#89b4fa" } +title = {} +hovered = { fg = "#f5c2e7", bold = true } + +# : }}} + + +# : Which {{{ + +[which] +mask = { bg = "#313244" } +cand = { fg = "#94e2d5" } +rest = { fg = "#9399b2" } +desc = { fg = "#f5c2e7" } +separator = " " +separator_style = { fg = "#585b70" } + +# : }}} + + +# : Help {{{ + +[help] +on = { fg = "#94e2d5" } +run = { fg = "#f5c2e7" } +hovered = { reversed = true, bold = true } +footer = { fg = "#313244", bg = "#cdd6f4" } + +# : }}} + + +# : Spotter {{{ + +[spot] +border = { fg = "#89b4fa" } +title = { fg = "#89b4fa" } +tbl_col = { fg = "#94e2d5" } +tbl_cell = { fg = "#f5c2e7", bg = "#45475a" } + +# : }}} + + +# : Notification {{{ + +[notify] +title_info = { fg = "#a6e3a1" } +title_warn = { fg = "#f9e2af" } +title_error = { fg = "#f38ba8" } + +# : }}} + + +# : File-specific styles {{{ + +[filetype] + +rules = [ + # Images + { mime = "image/*", fg = "#94e2d5" }, + + # Media + { mime = "{audio,video}/*", fg = "#f9e2af" }, + + # Archives + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#f5c2e7" }, + + # Documents + { mime = "application/{pdf,doc,rtf}", fg = "#a6e3a1" }, + + # Fallback + { url = "*", fg = "#cdd6f4" }, + { url = "*/", fg = "#89b4fa" }, + + # TODO: remove + { name = "*", fg = "#cdd6f4" }, + { name = "*/", fg = "#89b4fa" } +] + +# : }}} diff --git a/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/preview.png b/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/preview.png Binary files differnew file mode 100644 index 0000000..a684ec8 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/preview.png diff --git a/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/tmtheme.xml b/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/tmtheme.xml new file mode 100644 index 0000000..c7781ce --- /dev/null +++ b/mac/.config/yazi/flavors.bak/catppuccin-mocha.yazi/tmtheme.xml @@ -0,0 +1,2112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> + <dict> + <key>name</key> + <string>Catppuccin Mocha</string> + <key>semanticClass</key> + <string>theme.dark.catppuccin-mocha</string> + <key>uuid</key> + <string>627ce890-fabb-4d39-9819-7be71f4bdca7</string> + <key>author</key> + <string>Catppuccin Org</string> + <key>colorSpaceName</key> + <string>sRGB</string> + <key>settings</key> + <array> + <dict> + <key>settings</key> + <dict> + <key>background</key> + <string>#1e1e2e</string> + <key>foreground</key> + <string>#cdd6f4</string> + <key>caret</key> + <string>#f5e0dc</string> + <key>lineHighlight</key> + <string>#313244</string> + <key>misspelling</key> + <string>#f38ba8</string> + <key>accent</key> + <string>#cba6f7</string> + <key>selection</key> + <string>#9399b240</string> + <key>activeGuide</key> + <string>#45475a</string> + <key>findHighlight</key> + <string>#3e5767</string> + <key>gutterForeground</key> + <string>#7f849c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Basic text & variable names (incl. leading punctuation)</string> + <key>scope</key> + <string>text, source, variable.other.readwrite, punctuation.definition.variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Parentheses, Brackets, Braces</string> + <key>scope</key> + <string>punctuation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#9399b2</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Comments</string> + <key>scope</key> + <string>comment, punctuation.definition.comment</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#9399b2</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>string, punctuation.definition.string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>constant.character.escape</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Booleans, constants, numbers</string> + <key>scope</key> + <string>constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.name.tag.documentation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Punctuation</string> + <key>scope</key> + <string>keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Classes</string> + <key>scope</key> + <string>entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Enum</string> + <key>scope</key> + <string>entity.name.enum</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Enum member</string> + <key>scope</key> + <string>meta.enum variable.other.readwrite, variable.other.enummember</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Object properties</string> + <key>scope</key> + <string>meta.property.object</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Types</string> + <key>scope</key> + <string>meta.type, meta.type-alias, support.type, entity.name.type</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Decorators</string> + <key>scope</key> + <string>meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>variable.parameter, meta.function.parameters</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Built-ins</string> + <key>scope</key> + <string>constant.language, support.function.builtin</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.other.attribute-name.documentation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Preprocessor directives</string> + <key>scope</key> + <string>keyword.control.directive, punctuation.definition.directive</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Type parameters</string> + <key>scope</key> + <string>punctuation.definition.typeparameters</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Namespaces</string> + <key>scope</key> + <string>entity.name.namespace</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Property names (left hand assignments in json/yaml/css)</string> + <key>scope</key> + <string>support.type.property-name.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>This/Self keyword</string> + <key>scope</key> + <string>variable.language.this, variable.language.this punctuation.definition.variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Object properties</string> + <key>scope</key> + <string>variable.object.property</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>String template interpolation</string> + <key>scope</key> + <string>string.template variable, string variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>`new` as bold</string> + <key>scope</key> + <string>keyword.operator.new</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ extern keyword</string> + <key>scope</key> + <string>storage.modifier.specifier.extern.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ scope resolution</string> + <key>scope</key> + <string>entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ doc keywords</string> + <key>scope</key> + <string>storage.type.class.doxygen</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ operators</string> + <key>scope</key> + <string>storage.modifier.reference.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C# Interpolated Strings</string> + <key>scope</key> + <string>meta.interpolation.cs</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C# xml-style docs</string> + <key>scope</key> + <string>comment.block.documentation.cs</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Classes, reflecting the className color in JSX</string> + <key>scope</key> + <string>source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Operators</string> + <key>scope</key> + <string>punctuation.separator.operator.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Pseudo classes</string> + <key>scope</key> + <string>source.css entity.other.attribute-name.pseudo-class</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.css constant.other.unicode-range</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.css variable.parameter.url</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS vendored property names</string> + <key>scope</key> + <string>support.type.vendored.property-name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Less/SCSS right-hand variables (@/$-prefixed)</string> + <key>scope</key> + <string>source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS variables (--prefixed)</string> + <key>scope</key> + <string>source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS Percentage values, styled the same as numbers</string> + <key>scope</key> + <string>keyword.other.unit.percentage.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS Attribute selectors, styled the same as strings</string> + <key>scope</key> + <string>source.css meta.attribute-selector</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON/YAML keys, other left-hand assignments</string> + <key>scope</key> + <string>keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON/YAML constants</string> + <key>scope</key> + <string>constant.language.json, constant.language.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML anchors</string> + <key>scope</key> + <string>entity.name.type.anchor.yaml, variable.other.alias.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>TOML tables / ini groups</string> + <key>scope</key> + <string>support.type.property-name.table, entity.name.section.group-title.ini</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>TOML dates</string> + <key>scope</key> + <string>constant.other.time.datetime.offset.toml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML anchor puctuation</string> + <key>scope</key> + <string>punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML triple dashes</string> + <key>scope</key> + <string>entity.other.document.begin.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markup Diff</string> + <key>scope</key> + <string>markup.changed.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff</string> + <key>scope</key> + <string>meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff Inserted</string> + <key>scope</key> + <string>markup.inserted.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff Deleted</string> + <key>scope</key> + <string>markup.deleted.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>dotenv left-hand side assignments</string> + <key>scope</key> + <string>variable.other.env</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>dotenv reference to existing env variable</string> + <key>scope</key> + <string>string.quoted variable.other.env</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GDScript functions</string> + <key>scope</key> + <string>support.function.builtin.gdscript</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GDScript constants</string> + <key>scope</key> + <string>constant.language.gdscript</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Comment keywords</string> + <key>scope</key> + <string>comment meta.annotation.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>go:embed, go:build, etc.</string> + <key>scope</key> + <string>comment meta.annotation.parameters.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Go constants (nil, true, false)</string> + <key>scope</key> + <string>constant.language.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL variables</string> + <key>scope</key> + <string>variable.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL aliases</string> + <key>scope</key> + <string>string.unquoted.alias.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f2cdcd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL enum members</string> + <key>scope</key> + <string>constant.character.enum.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL field in types</string> + <key>scope</key> + <string>meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f2cdcd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML DOCTYPE as keyword</string> + <key>scope</key> + <string>keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML-like <tags/></string> + <key>scope</key> + <string>entity.name.tag</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Special characters like &amp;</string> + <key>scope</key> + <string>text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML tag attribute values</string> + <key>scope</key> + <string>entity.other.attribute-name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Components</string> + <key>scope</key> + <string>support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Annotations</string> + <key>scope</key> + <string>punctuation.definition.annotation, storage.type.annotation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Java enums</string> + <key>scope</key> + <string>constant.other.enum.java</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Java imports</string> + <key>scope</key> + <string>storage.modifier.import.java</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Javadoc</string> + <key>scope</key> + <string>comment.block.javadoc.java keyword.other.documentation.javadoc.java</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Exported Variable</string> + <key>scope</key> + <string>meta.export variable.other.readwrite.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JS/TS constants & properties</string> + <key>scope</key> + <string>variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSDoc; these are mainly params, so styled as such</string> + <key>scope</key> + <string>variable.other.jsdoc, comment.block.documentation variable.other</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSDoc keywords</string> + <key>scope</key> + <string>storage.type.class.jsdoc</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>scope</key> + <string>support.type.object.console.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Node constants as keywords (module, etc.)</string> + <key>scope</key> + <string>support.constant.node, support.type.object.module.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>implements as keyword</string> + <key>scope</key> + <string>storage.modifier.implements</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Builtin types</string> + <key>scope</key> + <string>constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>variable.parameter.generic</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Arrow functions</string> + <key>scope</key> + <string>keyword.declaration.function.arrow.js, storage.type.function.arrow.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach)</string> + <key>scope</key> + <string>punctuation.decorator.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Extra JS/TS keywords</string> + <key>scope</key> + <string>keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia macros</string> + <key>scope</key> + <string>support.function.macro.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia language constants (true, false)</string> + <key>scope</key> + <string>constant.language.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia other constants (these seem to be arguments inside arrays)</string> + <key>scope</key> + <string>constant.other.symbol.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX preamble</string> + <key>scope</key> + <string>text.tex keyword.control.preamble</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX be functions</string> + <key>scope</key> + <string>text.tex support.function.be</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX math</string> + <key>scope</key> + <string>constant.other.general.math.tex</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f2cdcd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Liquid Builtin Objects & User Defined Variables</string> + <key>scope</key> + <string>variable.language.liquid</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Lua docstring keywords</string> + <key>scope</key> + <string>comment.line.double-dash.documentation.lua storage.type.annotation.lua</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Lua docstring variables</string> + <key>scope</key> + <string>comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, heading.1.quarto punctuation.definition.heading.quarto, heading.1.quarto, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, heading.2.quarto punctuation.definition.heading.quarto, heading.2.quarto, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, heading.3.quarto punctuation.definition.heading.quarto, heading.3.quarto, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, heading.4.quarto punctuation.definition.heading.quarto, heading.4.quarto, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, heading.5.quarto punctuation.definition.heading.quarto, heading.5.quarto, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#74c7ec</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, heading.6.quarto punctuation.definition.heading.quarto, heading.6.quarto, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#b4befe</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.bold</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.italic</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.strikethrough</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6adc8</string> + <key>fontStyle</key> + <string>strikethrough</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown auto links</string> + <key>scope</key> + <string>punctuation.definition.link, markup.underline.link</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown links</string> + <key>scope</key> + <string>text.html.markdown punctuation.definition.link.title, text.html.quarto punctuation.definition.link.title, string.other.link.title.markdown, string.other.link.title.quarto, markup.link, punctuation.definition.constant.markdown, punctuation.definition.constant.quarto, constant.other.reference.link.markdown, constant.other.reference.link.quarto, markup.substitution.attribute-reference</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#b4befe</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown code spans</string> + <key>scope</key> + <string>punctuation.definition.raw.markdown, punctuation.definition.raw.quarto, markup.inline.raw.string.markdown, markup.inline.raw.string.quarto, markup.raw.block.markdown, markup.raw.block.quarto</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown triple backtick language identifier</string> + <key>scope</key> + <string>fenced_code.block.language</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown triple backticks</string> + <key>scope</key> + <string>markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#9399b2</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown quotes</string> + <key>scope</key> + <string>markup.quote, punctuation.definition.quote.begin</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown separators</string> + <key>scope</key> + <string>meta.separator.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown list bullets</string> + <key>scope</key> + <string>punctuation.definition.list.begin.markdown, punctuation.definition.list.begin.quarto, markup.list.bullet</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Quarto headings</string> + <key>scope</key> + <string>markup.heading.quarto</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix attribute names</string> + <key>scope</key> + <string>entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix parameter names</string> + <key>scope</key> + <string>variable.parameter.name.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix interpolated parameter names</string> + <key>scope</key> + <string>meta.embedded variable.parameter.name.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#b4befe</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix paths</string> + <key>scope</key> + <string>string.unquoted.path.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Attributes</string> + <key>scope</key> + <string>support.attribute.builtin, meta.attribute.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Parameters (needed for the leading dollar sign)</string> + <key>scope</key> + <string>meta.function.parameters.php punctuation.definition.variable.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Constants (null, __FILE__, etc.)</string> + <key>scope</key> + <string>constant.language.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP functions</string> + <key>scope</key> + <string>text.html.php support.function</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHPdoc keywords</string> + <key>scope</key> + <string>keyword.other.phpdoc.php</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python argument functions reset to text, otherwise they inherit blue from function-call</string> + <key>scope</key> + <string>support.variable.magic.python, meta.function-call.arguments.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python double underscore functions</string> + <key>scope</key> + <string>support.function.magic.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python `self` keyword</string> + <key>scope</key> + <string>variable.parameter.function.language.special.self.python, variable.language.special.self.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python keyword flow/logical (for ... in)</string> + <key>scope</key> + <string>keyword.control.flow.python, keyword.operator.logical.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python storage type</string> + <key>scope</key> + <string>storage.type.function.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function support</string> + <key>scope</key> + <string>support.token.decorator.python, meta.function.decorator.identifier.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function calls</string> + <key>scope</key> + <string>meta.function-call.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function decorators</string> + <key>scope</key> + <string>entity.name.function.decorator.python, punctuation.definition.decorator.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python placeholder reset to normal string</string> + <key>scope</key> + <string>constant.character.format.placeholder.other.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python exception & builtins such as exit()</string> + <key>scope</key> + <string>support.type.exception.python, support.function.builtin.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>entity.name.type</string> + <key>scope</key> + <string>support.type.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python constants (True/False)</string> + <key>scope</key> + <string>constant.language.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Arguments accessed later in the function body</string> + <key>scope</key> + <string>meta.indexed-name.python, meta.item-access.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python f-strings/binary/unicode storage types</string> + <key>scope</key> + <string>storage.type.string.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python type hints</string> + <key>scope</key> + <string>meta.function.parameters.python</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex string begin/end in JS/TS</string> + <key>scope</key> + <string>string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex anchors (^, $)</string> + <key>scope</key> + <string>keyword.control.anchor.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex regular string match</string> + <key>scope</key> + <string>string.regexp.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex group parenthesis & backreference (\1, \2, \3, ...)</string> + <key>scope</key> + <string>punctuation.definition.group.regexp, keyword.other.back-reference.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex character class []</string> + <key>scope</key> + <string>punctuation.definition.character-class.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex character classes (\d, \w, \s)</string> + <key>scope</key> + <string>constant.other.character-class.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex range</string> + <key>scope</key> + <string>constant.other.character-class.range.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5e0dc</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex quantifier</string> + <key>scope</key> + <string>keyword.operator.quantifier.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex constant/numeric</string> + <key>scope</key> + <string>constant.character.numeric.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds</string> + <key>scope</key> + <string>punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust attribute</string> + <key>scope</key> + <string>meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust attribute strings</string> + <key>scope</key> + <string>meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust keyword</string> + <key>scope</key> + <string>entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust u/i32, u/i64, etc.</string> + <key>scope</key> + <string>entity.name.type.numeric.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust generic</string> + <key>scope</key> + <string>meta.generic.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust impl</string> + <key>scope</key> + <string>entity.name.impl.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust module</string> + <key>scope</key> + <string>entity.name.module.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust trait</string> + <key>scope</key> + <string>entity.name.trait.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust struct</string> + <key>scope</key> + <string>storage.type.source.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust union</string> + <key>scope</key> + <string>entity.name.union.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust enum member</string> + <key>scope</key> + <string>meta.enum.rust storage.type.source.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust macro</string> + <key>scope</key> + <string>support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust lifetime</string> + <key>scope</key> + <string>storage.modifier.lifetime.rust, entity.name.type.lifetime</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust string formatting</string> + <key>scope</key> + <string>string.quoted.double.rust constant.other.placeholder.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust return type generic</string> + <key>scope</key> + <string>meta.function.return-type.rust meta.generic.rust storage.type.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust functions</string> + <key>scope</key> + <string>meta.function.call.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust angle brackets</string> + <key>scope</key> + <string>punctuation.brackets.angle.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust constants</string> + <key>scope</key> + <string>constant.other.caps.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust function parameters</string> + <key>scope</key> + <string>meta.function.definition.rust variable.other.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust closure variables</string> + <key>scope</key> + <string>meta.function.call.rust variable.other.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust self</string> + <key>scope</key> + <string>variable.language.self.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust metavariable names</string> + <key>scope</key> + <string>variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell shebang</string> + <key>scope</key> + <string>comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell shebang command</string> + <key>scope</key> + <string>comment.line.shebang constant.language</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell interpolated command</string> + <key>scope</key> + <string>meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell interpolated command variable</string> + <key>scope</key> + <string>meta.string meta.interpolation.parameter.shell variable.other.readwrite</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell EOF</string> + <key>scope</key> + <string>entity.name.tag.heredoc.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell quoted variable</string> + <key>scope</key> + <string>string.quoted.double.shell variable.other.normal.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.typst</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON Keys</string> + <key>scope</key> + <string>source.json meta.mapping.key string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON key surrounding quotes</string> + <key>scope</key> + <string>source.json meta.mapping.key punctuation.definition.string.begin, source.json meta.mapping.key punctuation.definition.string.end</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#9399b2</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.commands.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.env.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Man page options</string> + <key>scope</key> + <string>entity.name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.1.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.2.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + </array> + </dict> +</plist>
\ No newline at end of file diff --git a/mac/.config/yazi/flavors.bak/dracula.yazi/LICENSE b/mac/.config/yazi/flavors.bak/dracula.yazi/LICENSE new file mode 100644 index 0000000..fb5b1d6 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/dracula.yazi/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 yazi-rs + +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. diff --git a/mac/.config/yazi/flavors.bak/dracula.yazi/LICENSE-tmtheme b/mac/.config/yazi/flavors.bak/dracula.yazi/LICENSE-tmtheme new file mode 100644 index 0000000..f9105d5 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/dracula.yazi/LICENSE-tmtheme @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2013-present Dracula Theme + +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. diff --git a/mac/.config/yazi/flavors.bak/dracula.yazi/README.md b/mac/.config/yazi/flavors.bak/dracula.yazi/README.md new file mode 100644 index 0000000..8429ef6 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/dracula.yazi/README.md @@ -0,0 +1,36 @@ +<div align="center"> + <img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%"> +</div> + +<h3 align="center"> + Dracula Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a> +</h3> + +## 👀 Preview + +<img src="preview.png" width="600" /> + +## 🎨 Installation + +```sh +ya pkg add yazi-rs/flavors:dracula +``` + +## ⚙️ Usage + +Set the content of your `theme.toml` to enable it as your _dark_ flavor: + +```toml +[flavor] +dark = "dracula" +``` + +Make sure your `theme.toml` doesn't contain anything other than `[flavor]`, unless you want to override certain styles of this flavor. + +See the [Yazi flavor documentation](https://yazi-rs.github.io/docs/flavors/overview) for more details. + +## 📜 License + +The flavor is MIT-licensed, and the included tmTheme is also MIT-licensed. + +Check the [LICENSE](LICENSE) and [LICENSE-tmtheme](LICENSE-tmtheme) file for more details. diff --git a/mac/.config/yazi/flavors.bak/dracula.yazi/flavor.toml b/mac/.config/yazi/flavors.bak/dracula.yazi/flavor.toml new file mode 100644 index 0000000..3434eb9 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/dracula.yazi/flavor.toml @@ -0,0 +1,189 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +# : Manager {{{ + +[mgr] +cwd = { fg = "#8be9fd" } + +# Hovered +hovered = { reversed = true } +preview_hovered = { underline = true } + +# Find +find_keyword = { fg = "#f1fa8c", bold = true, italic = true, underline = true } +find_position = { fg = "#ff79c6", bg = "reset", bold = true, italic = true } + +# Marker +marker_copied = { fg = "#50fa7b", bg = "#50fa7b" } +marker_cut = { fg = "#ff5555", bg = "#ff5555" } +marker_marked = { fg = "#8be9fd", bg = "#8be9fd" } +marker_selected = { fg = "#f1fa8c", bg = "#f1fa8c" } + +# Count +count_copied = { fg = "#282a36", bg = "#50fa7b" } +count_cut = { fg = "#282a36", bg = "#ff5555" } +count_selected = { fg = "#282a36", bg = "#f1fa8c" } + +# Border +border_symbol = "│" +border_style = { fg = "#7282b5" } + +# : }}} + + +# : Tabs {{{ + +[tabs] +active = { fg = "#282a36", bg = "#bd93f9", bold = true } +inactive = { fg = "#bd93f9", bg = "#44475a" } + +# : }}} + + +# : Mode {{{ + +[mode] + +normal_main = { fg = "#282a36", bg = "#bd93f9", bold = true } +normal_alt = { fg = "#bd93f9", bg = "#44475a" } + +# Select mode +select_main = { fg = "#282a36", bg = "#8be9fd", bold = true } +select_alt = { fg = "#8be9fd", bg = "#44475a" } + +# Unset mode +unset_main = { fg = "#282a36", bg = "#ffb86c", bold = true } +unset_alt = { fg = "#ffb86c", bg = "#44475a" } + +# : }}} + + +# : Status bar {{{ + +[status] +# Permissions +perm_sep = { fg = "#7282b5" } +perm_type = { fg = "#bd93f9" } +perm_read = { fg = "#f1fa8c" } +perm_write = { fg = "#ff5555" } +perm_exec = { fg = "#50fa7b" } + +# Progress +progress_label = { fg = "#ffffff", bold = true } +progress_normal = { fg = "#bd93f9", bg = "#63667d" } +progress_error = { fg = "#bd93f9", bg = "#ff5555" } + +# : }}} + + +# : Pick {{{ + +[pick] +border = { fg = "#bd93f9" } +active = { fg = "#ff79c6", bold = true } +inactive = {} + +# : }}} + + +# : Input {{{ + +[input] +border = { fg = "#bd93f9" } +title = {} +value = {} +selected = { reversed = true } + +# : }}} + + +# : Completion {{{ + +[cmp] +border = { fg = "#bd93f9" } + +# : }}} + + +# : Tasks {{{ + +[tasks] +border = { fg = "#bd93f9" } +title = {} +hovered = { fg = "#ff79c6", bold = true } + +# : }}} + + +# : Which {{{ + +[which] +mask = { bg = "#44475a" } +cand = { fg = "#8be9fd" } +rest = { fg = "#8998c9" } +desc = { fg = "#ff79c6" } +separator = " " +separator_style = { fg = "#83869c" } + +# : }}} + + +# : Help {{{ + +[help] +on = { fg = "#8be9fd" } +run = { fg = "#ff79c6" } +hovered = { reversed = true, bold = true } +footer = { fg = "#44475a", bg = "#f8f8f2" } + +# : }}} + + +# : Spotter {{{ + +[spot] +border = { fg = "#bd93f9" } +title = { fg = "#bd93f9" } +tbl_col = { fg = "#8be9fd" } +tbl_cell = { fg = "#ff79c6", bg = "#63667d" } + +# : }}} + + +# : Notification {{{ + +[notify] +title_info = { fg = "#50fa7b" } +title_warn = { fg = "#f1fa8c" } +title_error = { fg = "#ff5555" } + +# : }}} + + +# : File-specific styles {{{ + +[filetype] + +rules = [ + # Images + { mime = "image/*", fg = "#8be9fd" }, + + # Media + { mime = "{audio,video}/*", fg = "#f1fa8c" }, + + # Archives + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#ff79c6" }, + + # Documents + { mime = "application/{pdf,doc,rtf}", fg = "#50fa7b" }, + + # Fallback + { url = "*", fg = "#f8f8f2" }, + { url = "*/", fg = "#bd93f9" }, + + # TODO: remove + { name = "*", fg = "#f8f8f2" }, + { name = "*/", fg = "#bd93f9" } +] + +# : }}} diff --git a/mac/.config/yazi/flavors.bak/dracula.yazi/preview.png b/mac/.config/yazi/flavors.bak/dracula.yazi/preview.png Binary files differnew file mode 100644 index 0000000..7d8adf3 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/dracula.yazi/preview.png diff --git a/mac/.config/yazi/flavors.bak/dracula.yazi/tmtheme.xml b/mac/.config/yazi/flavors.bak/dracula.yazi/tmtheme.xml new file mode 100644 index 0000000..c3434ec --- /dev/null +++ b/mac/.config/yazi/flavors.bak/dracula.yazi/tmtheme.xml @@ -0,0 +1,940 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- Dracula Theme v1.4.3 +# +# https://github.com/dracula/sublime +# +# Copyright 2013-present, All rights reserved +# +# Code licensed under the MIT license +# +# @author Zeno Rocha <hi@zenorocha.com> +--> + +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>name</key> + <string>Dracula</string> + <key>settings</key> + <array> + <dict> + <key>settings</key> + <dict> + <key>background</key> + <string>#282a36</string> + <key>caret</key> + <string>#f8f8f0</string> + <key>block_caret</key> + <string>#999a9e</string> + <key>foreground</key> + <string>#f8f8f2</string> + <key>invisibles</key> + <string>#3B3A32</string> + <key>lineHighlight</key> + <string>#44475a</string> + <key>selection</key> + <string>#44475a</string> + <key>findHighlight</key> + <string>#effb7b</string> + <key>findHighlightForeground</key> + <string>#000000</string> + <key>selectionBorder</key> + <string>#222218</string> + <key>activeGuide</key> + <string>#9D550FB0</string> + <key>bracketsForeground</key> + <string>#F8F8F2A5</string> + <key>bracketsOptions</key> + <string>underline</string> + <key>bracketContentsForeground</key> + <string>#F8F8F2A5</string> + <key>bracketContentsOptions</key> + <string>underline</string> + <key>tagsOptions</key> + <string>stippled_underline</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Comment</string> + <key>scope</key> + <string>comment</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#6272a4</string> + <key>fontStyle</key> + <string></string> + </dict> + </dict> + <dict> + <key>name</key> + <string>String</string> + <key>scope</key> + <string>string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f1fa8c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Number</string> + <key>scope</key> + <string>constant.numeric</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#bd93f9</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Built-in constant</string> + <key>scope</key> + <string>constant.language</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#bd93f9</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>User-defined constant</string> + <key>scope</key> + <string>constant.character, constant.other</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#bd93f9</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Variable</string> + <key>scope</key> + <string>variable</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string></string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Ruby's @variable</string> + <key>scope</key> + <string>variable.other.readwrite.instance</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string></string> + <key>foreground</key> + <string>#ffb86c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>String interpolation</string> + <key>scope</key> + <string>constant.character.escaped, constant.character.escape, string source, string source.ruby</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string></string> + <key>foreground</key> + <string>#ff79c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Ruby Regexp</string> + <key>scope</key> + <string>source.ruby string.regexp.classic.ruby,source.ruby string.regexp.mod-r.ruby</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string></string> + <key>foreground</key> + <string>#ff5555</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Keyword</string> + <key>scope</key> + <string>keyword</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ff79c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Storage</string> + <key>scope</key> + <string>storage</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string></string> + <key>foreground</key> + <string>#ff79c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Storage type</string> + <key>scope</key> + <string>storage.type</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic</string> + <key>foreground</key> + <string>#8be9fd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Storage Type Namespace</string> + <key>scope</key> + <string>storage.type.namespace</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic</string> + <key>foreground</key> + <string>#8be9fd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Storage Type Class</string> + <key>scope</key> + <string>storage.type.class</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic</string> + <key>foreground</key> + <string>#ff79c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Class name</string> + <key>scope</key> + <string>entity.name.class</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>underline</string> + <key>foreground</key> + <string>#8be9fd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Meta Path</string> + <key>scope</key> + <string>meta.path</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>underline</string> + <key>foreground</key> + <string>#66d9ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Inherited class</string> + <key>scope</key> + <string>entity.other.inherited-class</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic underline</string> + <key>foreground</key> + <string>#8be9fd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Function name</string> + <key>scope</key> + <string>entity.name.function</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string></string> + <key>foreground</key> + <string>#50fa7b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Function argument</string> + <key>scope</key> + <string>variable.parameter</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic</string> + <key>foreground</key> + <string>#ffb86c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Tag name</string> + <key>scope</key> + <string>entity.name.tag</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string></string> + <key>foreground</key> + <string>#ff79c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Tag attribute</string> + <key>scope</key> + <string>entity.other.attribute-name</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string></string> + <key>foreground</key> + <string>#50fa7b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Library function</string> + <key>scope</key> + <string>support.function</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string></string> + <key>foreground</key> + <string>#8be9fd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Library constant</string> + <key>scope</key> + <string>support.constant</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string></string> + <key>foreground</key> + <string>#6be5fd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Library class/type</string> + <key>scope</key> + <string>support.type, support.class</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic</string> + <key>foreground</key> + <string>#66d9ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Library variable</string> + <key>scope</key> + <string>support.other.variable</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string></string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Support Other Namespace</string> + <key>scope</key> + <string>support.other.namespace</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic</string> + <key>foreground</key> + <string>#66d9ef</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Invalid</string> + <key>scope</key> + <string>invalid</string> + <key>settings</key> + <dict> + <key>background</key> + <string>#ff79c6</string> + <key>fontStyle</key> + <string></string> + <key>foreground</key> + <string>#F8F8F0</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Invalid deprecated</string> + <key>scope</key> + <string>invalid.deprecated</string> + <key>settings</key> + <dict> + <key>background</key> + <string>#bd93f9</string> + <key>foreground</key> + <string>#F8F8F0</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON String</string> + <key>scope</key> + <string>meta.structure.dictionary.json string.quoted.double.json</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#CFCFC2</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>diff.header</string> + <key>scope</key> + <string>meta.diff, meta.diff.header</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#6272a4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>diff.deleted</string> + <key>scope</key> + <string>markup.deleted</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ff79c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>diff.inserted</string> + <key>scope</key> + <string>markup.inserted</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#50fa7b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>diff.changed</string> + <key>scope</key> + <string>markup.changed</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#E6DB74</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>constant.numeric.line-number.find-in-files - match</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#bd93f9</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.name.filename</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#E6DB74</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>message.error</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#F83333</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON Punctuation</string> + <key>scope</key> + <string>punctuation.definition.string.begin.json - meta.structure.dictionary.value.json, punctuation.definition.string.end.json - meta.structure.dictionary.value.json</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#EEEEEE</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON Structure</string> + <key>scope</key> + <string>meta.structure.dictionary.json string.quoted.double.json</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8be9fd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON String</string> + <key>scope</key> + <string>meta.structure.dictionary.value.json string.quoted.double.json</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f1fa8c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON: 6 deep</string> + <key>scope</key> + <string>meta meta meta meta meta meta meta.structure.dictionary.value string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#50fa7b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON: 5 deep</string> + <key>scope</key> + <string>meta meta meta meta meta meta.structure.dictionary.value string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ffb86c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON: 4 deep</string> + <key>scope</key> + <string>meta meta meta meta meta.structure.dictionary.value string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ff79c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON: 3 deep</string> + <key>scope</key> + <string>meta meta meta meta.structure.dictionary.value string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#bd93f9</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON: 2 deep</string> + <key>scope</key> + <string>meta meta meta.structure.dictionary.value string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#50fa7b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON: 1 deep</string> + <key>scope</key> + <string>meta meta.structure.dictionary.value string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ffb86c</string> + </dict> + </dict> + + <!-- Markdown Tweaks --> + <dict> + <key>name</key> + <string>Markup: strike</string> + <key>scope</key> + <string>markup.strike</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic</string> + <key>foreground</key> + <string>#FFB86C</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markup: bold</string> + <key>scope</key> + <string>markup.bold</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>bold</string> + <key>foreground</key> + <string>#FFB86C</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markup: italic</string> + <key>scope</key> + <string>markup.italic</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic</string> + <key>foreground</key> + <string>#FFB86C</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown: heading</string> + <key>scope</key> + <string>markup.heading</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8BE9FD</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown: List Items Punctuation</string> + <key>scope</key> + <string>punctuation.definition.list_item.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#FF79C6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown: Blockquote</string> + <key>scope</key> + <string>markup.quote</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic</string> + <key>foreground</key> + <string>#6272A4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown: Blockquote Punctuation</string> + <key>scope</key> + <string>punctuation.definition.blockquote.markdown</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic</string> + <key>background</key> + <string>#6272A4</string> + <key>foreground</key> + <string>#6272A4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown: Separator</string> + <key>scope</key> + <string>meta.separator</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#6272A4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markup: raw inline</string> + <key>scope</key> + <string>text.html.markdown markup.raw.inline</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#50FA7B</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markup: underline</string> + <key>scope</key> + <string>markup.underline</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>underline</string> + <key>foreground</key> + <string>#BD93F9</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markup: Raw block</string> + <key>scope</key> + <string>markup.raw.block</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#CFCFC2</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown: Raw Block fenced source</string> + <key>scope</key> + <string>markup.raw.block.fenced.markdown source</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#F8F8F2</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown: Fenced Bode Block</string> + <key>scope</key> + <string>punctuation.definition.fenced.markdown, variable.language.fenced.markdown</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic</string> + <key>foreground</key> + <string>#6272A4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown: Fenced Language</string> + <key>scope</key> + <string>variable.language.fenced.markdown</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic</string> + <key>foreground</key> + <string>#6272A4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Punctuation Accessor</string> + <key>scope</key> + <string>punctuation.accessor</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#FF79C6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Meta Function Return Type</string> + <key>scope</key> + <string>meta.function.return-type</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#FF79C6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Punctuation Section Block Begin</string> + <key>scope</key> + <string>punctuation.section.block.begin</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ffffff</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Punctuation Section Block End</string> + <key>scope</key> + <string>punctuation.section.block.end</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ffffff</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Punctuation Section Embedded Begin</string> + <key>scope</key> + <string>punctuation.section.embedded.begin</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ff79c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Punctuation Section Embedded End</string> + <key>scope</key> + <string>punctuation.section.embedded.end</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ff79c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Punctuation Separator Namespace</string> + <key>scope</key> + <string>punctuation.separator.namespace</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ff79c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Variable Function</string> + <key>scope</key> + <string>variable.function</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#50fa7b</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Variable Other</string> + <key>scope</key> + <string>variable.other</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ffffff</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Variable Language</string> + <key>scope</key> + <string>variable.language</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#bd93f9</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Entity Name Module Ruby</string> + <key>scope</key> + <string>entity.name.module.ruby</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8be9fd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Entity Name Constant Ruby</string> + <key>scope</key> + <string>entity.name.constant.ruby</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#bd93f9</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Support Function Builtin Ruby</string> + <key>scope</key> + <string>support.function.builtin.ruby</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ffffff</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Storage Type Namespace CS</string> + <key>scope</key> + <string>storage.type.namespace.cs</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#ff79c6</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Entity Name Namespace CS</string> + <key>scope</key> + <string>entity.name.namespace.cs</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8be9fd</string> + </dict> + </dict> + </array> + <key>uuid</key> + <string>83091B89-765E-4F0D-9275-0EC6CB084126</string> + <key>colorSpaceName</key> + <string>sRGB</string> + <key>semanticClass</key> + <string>theme.dracula</string> + <key>author</key> + <string>Zeno Rocha</string> +</dict> +</plist> diff --git a/mac/.config/yazi/flavors.bak/everforest-medium.yazi b/mac/.config/yazi/flavors.bak/everforest-medium.yazi new file mode 160000 +Subproject 0158f0f6ce19c9bbc37550a7bed77d67b3fa4e7 diff --git a/mac/.config/yazi/flavors.bak/gruvbox-dark.yazi b/mac/.config/yazi/flavors.bak/gruvbox-dark.yazi new file mode 160000 +Subproject e5e1aefbfb5641b487cb4a11ccbc57346ec8e13 diff --git a/mac/.config/yazi/flavors.bak/kanagawa-dragon.yazi b/mac/.config/yazi/flavors.bak/kanagawa-dragon.yazi new file mode 160000 +Subproject 49055274ff53772a13a8c092188e4f6d148d169 diff --git a/mac/.config/yazi/flavors.bak/kanagawa-lotus.yazi b/mac/.config/yazi/flavors.bak/kanagawa-lotus.yazi new file mode 160000 +Subproject 4275a1a96243c8e7d12057488bce1360a3c7475 diff --git a/mac/.config/yazi/flavors.bak/kanagawa.yazi b/mac/.config/yazi/flavors.bak/kanagawa.yazi new file mode 160000 +Subproject a0b1d9dec31387b5f8a82c96044e6419b6c4653 diff --git a/mac/.config/yazi/flavors.bak/rose-pine-moon.yazi b/mac/.config/yazi/flavors.bak/rose-pine-moon.yazi new file mode 160000 +Subproject aa2d937daf2ede05442bd3818691882a7ad0e70 diff --git a/mac/.config/yazi/flavors.bak/rose-pine.yazi b/mac/.config/yazi/flavors.bak/rose-pine.yazi new file mode 160000 +Subproject 834334048d0bc8c7c344a5a8abce0b0cb35612d diff --git a/mac/.config/yazi/flavors.bak/scripts/README.md b/mac/.config/yazi/flavors.bak/scripts/README.md new file mode 100644 index 0000000..17a1ffe --- /dev/null +++ b/mac/.config/yazi/flavors.bak/scripts/README.md @@ -0,0 +1,36 @@ +<div align="center"> + <img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%"> +</div> + +<h3 align="center"> + ${variant_cap} Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a> +</h3> + +## 👀 Preview + +<img src="preview.png" width="600" /> + +## 🎨 Installation + +```sh +ya pkg add yazi-rs/flavors:${variant} +``` + +## ⚙️ Usage + +Set the content of your `theme.toml` to enable it as your _${mode}_ flavor: + +```toml +[flavor] +${mode} = "${variant}" +``` + +Make sure your `theme.toml` doesn't contain anything other than `[flavor]`, unless you want to override certain styles of this flavor. + +See the [Yazi flavor documentation](https://yazi-rs.github.io/docs/flavors/overview) for more details. + +## 📜 License + +The flavor is MIT-licensed, and the included tmTheme is also MIT-licensed. + +Check the [LICENSE](LICENSE) and [LICENSE-tmtheme](LICENSE-tmtheme) file for more details. diff --git a/mac/.config/yazi/flavors.bak/scripts/generate.js b/mac/.config/yazi/flavors.bak/scripts/generate.js new file mode 100644 index 0000000..194de0f --- /dev/null +++ b/mac/.config/yazi/flavors.bak/scripts/generate.js @@ -0,0 +1,169 @@ +import fs, { access, mkdir, readFile, writeFile } from "node:fs/promises" +import { join } from "node:path" +import { fileURLToPath } from "node:url" + +const __dirname = fileURLToPath(new URL(".", import.meta.url)) + +const VARIANTS = { + "Dracula": { + text: "#f8f8f2", + background: "#282a36", + + primary: "#bd93f9", + secondary: "#8be9fd", + tertiary: "#ffb86c", + accent: "#ff79c6", + + surface: "#44475a", + surface1: "#63667d", + surface2: "#83869c", + + onSurface: "#6272a4", + onSurface1: "#7282b5", + onSurface2: "#8998c9", + + red: "#ff5555", + green: "#50fa7b", + blue: "#bd93f9", + yellow: "#f1fa8c", + + _tmtheme: "https://raw.githubusercontent.com/dracula/sublime/refs/heads/master/Dracula.tmTheme", + _tmthemeLicense: "https://raw.githubusercontent.com/dracula/sublime/refs/heads/master/LICENSE", + }, + "Catppuccin Macchiato": { + text: "#cad3f5", + background: "#24273a", + + primary: "#8aadf4", + secondary: "#8bd5ca", + tertiary: "#f0c6c6", + accent: "#f5bde6", + + surface: "#363a4f", + surface1: "#494d64", + surface2: "#5b6078", + + onSurface: "#6e738d", + onSurface1: "#8087a2", + onSurface2: "#939ab7", + + red: "#ed8796", + green: "#a6da95", + blue: "#8aadf4", + yellow: "#eed49f", + + _tmtheme: "https://raw.githubusercontent.com/catppuccin/bat/refs/heads/main/themes/Catppuccin%20Macchiato.tmTheme", + _tmthemeLicense: "https://raw.githubusercontent.com/catppuccin/bat/refs/heads/main/LICENSE", + }, + "Catppuccin Mocha": { + text: "#cdd6f4", + background: "#1e1e2e", + + primary: "#89b4fa", + secondary: "#94e2d5", + tertiary: "#f2cdcd", + accent: "#f5c2e7", + + surface: "#313244", + surface1: "#45475a", + surface2: "#585b70", + + onSurface: "#6c7086", + onSurface1: "#7f849c", + onSurface2: "#9399b2", + + red: "#f38ba8", + green: "#a6e3a1", + blue: "#89b4fa", + yellow: "#f9e2af", + + _tmtheme: "https://raw.githubusercontent.com/catppuccin/bat/refs/heads/main/themes/Catppuccin%20Mocha.tmTheme", + _tmthemeLicense: "https://raw.githubusercontent.com/catppuccin/bat/refs/heads/main/LICENSE", + }, + "Catppuccin Latte": { + text: "#4c4f69", + background: "#eff1f5", + + primary: "#1e66f5", + secondary: "#179299", + tertiary: "#dd7878", + accent: "#ea76cb", + + surface: "#ccd0da", + surface1: "#bcc0cc", + surface2: "#acb0be", + + onSurface: "#9ca0b0", + onSurface1: "#8c8fa1", + onSurface2: "#7c7f93", + + red: "#d20f39", + green: "#40a02b", + blue: "#1e66f5", + yellow: "#df8e1d", + + _light: true, + _tmtheme: "https://raw.githubusercontent.com/catppuccin/bat/refs/heads/main/themes/Catppuccin%20Latte.tmTheme", + _tmthemeLicense: "https://raw.githubusercontent.com/catppuccin/bat/refs/heads/main/LICENSE", + }, + "Catppuccin Frappe": { + text: "#c6d0f5", + background: "#303446", + + primary: "#8caaee", + secondary: "#81c8be", + tertiary: "#eebebe", + accent: "#f4b8e4", + + surface: "#414559", + surface1: "#51576d", + surface2: "#626880", + + onSurface: "#737994", + onSurface1: "#838ba7", + onSurface2: "#949cbb", + + red: "#e78284", + green: "#a6d189", + blue: "#8caaee", + yellow: "#e5c890", + + _tmtheme: "https://raw.githubusercontent.com/catppuccin/bat/refs/heads/main/themes/Catppuccin%20Frappe.tmTheme", + _tmthemeLicense: "https://raw.githubusercontent.com/catppuccin/bat/refs/heads/main/LICENSE", + }, +} + +const template = await readFile(join(__dirname, "./template.toml"), "utf8") +const readme = await readFile(join(__dirname, "./README.md"), "utf8") + +for (const [name, colors] of Object.entries(VARIANTS)) { + const lowerName = name.toLowerCase().replace(" ", "-") + const wd = join(__dirname, `../${lowerName}.yazi`) + try { + await access(wd) + } catch { + await mkdir(wd) + } + + // flavor.toml + let s = template + for (const [name, color] of Object.entries(colors)) { + s = s.replaceAll(`\${${name}}`, color) + } + await writeFile(join(wd, "flavor.toml"), s.replaceAll("${variant}", lowerName)) + + // README.md + await writeFile( + join(wd, "README.md"), + readme + .replaceAll("${mode}", colors._light ? "light" : "dark") + .replaceAll("${variant}", lowerName) + .replaceAll("${variant_cap}", name), + ) + + // tmtheme.xml + await writeFile(join(wd, "tmtheme.xml"), await fetch(colors._tmtheme).then(r => r.text())) + + // LICENSE-tmtheme + await writeFile(join(wd, "LICENSE-tmtheme"), await fetch(colors._tmthemeLicense).then(r => r.text())) +} diff --git a/mac/.config/yazi/flavors.bak/scripts/template.toml b/mac/.config/yazi/flavors.bak/scripts/template.toml new file mode 100644 index 0000000..2eb31d2 --- /dev/null +++ b/mac/.config/yazi/flavors.bak/scripts/template.toml @@ -0,0 +1,189 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +# : Manager {{{ + +[mgr] +cwd = { fg = "${secondary}" } + +# Hovered +hovered = { reversed = true } +preview_hovered = { underline = true } + +# Find +find_keyword = { fg = "${yellow}", bold = true, italic = true, underline = true } +find_position = { fg = "${accent}", bg = "reset", bold = true, italic = true } + +# Marker +marker_copied = { fg = "${green}", bg = "${green}" } +marker_cut = { fg = "${red}", bg = "${red}" } +marker_marked = { fg = "${secondary}", bg = "${secondary}" } +marker_selected = { fg = "${yellow}", bg = "${yellow}" } + +# Count +count_copied = { fg = "${background}", bg = "${green}" } +count_cut = { fg = "${background}", bg = "${red}" } +count_selected = { fg = "${background}", bg = "${yellow}" } + +# Border +border_symbol = "│" +border_style = { fg = "${onSurface1}" } + +# : }}} + + +# : Tabs {{{ + +[tabs] +active = { fg = "${background}", bg = "${primary}", bold = true } +inactive = { fg = "${primary}", bg = "${surface}" } + +# : }}} + + +# : Mode {{{ + +[mode] + +normal_main = { fg = "${background}", bg = "${primary}", bold = true } +normal_alt = { fg = "${primary}", bg = "${surface}" } + +# Select mode +select_main = { fg = "${background}", bg = "${secondary}", bold = true } +select_alt = { fg = "${secondary}", bg = "${surface}" } + +# Unset mode +unset_main = { fg = "${background}", bg = "${tertiary}", bold = true } +unset_alt = { fg = "${tertiary}", bg = "${surface}" } + +# : }}} + + +# : Status bar {{{ + +[status] +# Permissions +perm_sep = { fg = "${onSurface1}" } +perm_type = { fg = "${blue}" } +perm_read = { fg = "${yellow}" } +perm_write = { fg = "${red}" } +perm_exec = { fg = "${green}" } + +# Progress +progress_label = { fg = "#ffffff", bold = true } +progress_normal = { fg = "${primary}", bg = "${surface1}" } +progress_error = { fg = "${primary}", bg = "${red}" } + +# : }}} + + +# : Pick {{{ + +[pick] +border = { fg = "${primary}" } +active = { fg = "${accent}", bold = true } +inactive = {} + +# : }}} + + +# : Input {{{ + +[input] +border = { fg = "${primary}" } +title = {} +value = {} +selected = { reversed = true } + +# : }}} + + +# : Completion {{{ + +[cmp] +border = { fg = "${primary}" } + +# : }}} + + +# : Tasks {{{ + +[tasks] +border = { fg = "${primary}" } +title = {} +hovered = { fg = "${accent}", bold = true } + +# : }}} + + +# : Which {{{ + +[which] +mask = { bg = "${surface}" } +cand = { fg = "${secondary}" } +rest = { fg = "${onSurface2}" } +desc = { fg = "${accent}" } +separator = " " +separator_style = { fg = "${surface2}" } + +# : }}} + + +# : Help {{{ + +[help] +on = { fg = "${secondary}" } +run = { fg = "${accent}" } +hovered = { reversed = true, bold = true } +footer = { fg = "${surface}", bg = "${text}" } + +# : }}} + + +# : Spotter {{{ + +[spot] +border = { fg = "${primary}" } +title = { fg = "${primary}" } +tbl_col = { fg = "${secondary}" } +tbl_cell = { fg = "${accent}", bg = "${surface1}" } + +# : }}} + + +# : Notification {{{ + +[notify] +title_info = { fg = "${green}" } +title_warn = { fg = "${yellow}" } +title_error = { fg = "${red}" } + +# : }}} + + +# : File-specific styles {{{ + +[filetype] + +rules = [ + # Images + { mime = "image/*", fg = "${secondary}" }, + + # Media + { mime = "{audio,video}/*", fg = "${yellow}" }, + + # Archives + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "${accent}" }, + + # Documents + { mime = "application/{pdf,doc,rtf}", fg = "${green}" }, + + # Fallback + { url = "*", fg = "${text}" }, + { url = "*/", fg = "${primary}" }, + + # TODO: remove + { name = "*", fg = "${text}" }, + { name = "*/", fg = "${primary}" } +] + +# : }}} diff --git a/mac/.config/yazi/flavors.bak/tokyo-night.yazi b/mac/.config/yazi/flavors.bak/tokyo-night.yazi new file mode 160000 +Subproject 5f5636427f9bb16cc3f7c5e5693c60914c73f03 diff --git a/mac/.config/yazi/flavors.bak/vscode-dark-modern.yazi b/mac/.config/yazi/flavors.bak/vscode-dark-modern.yazi new file mode 160000 +Subproject cd605412a6326ba6e99c3386ed47455854707b6 diff --git a/mac/.config/yazi/flavors.bak/vscode-dark-plus.yazi b/mac/.config/yazi/flavors.bak/vscode-dark-plus.yazi new file mode 160000 +Subproject 113cc480e45d56851fa04e3a38e767a60445bf7 diff --git a/mac/.config/yazi/flavors.bak/vscode-light-modern.yazi b/mac/.config/yazi/flavors.bak/vscode-light-modern.yazi new file mode 160000 +Subproject c054b127da55e32bce5928fc2287ee3fb30f873 diff --git a/mac/.config/yazi/flavors.bak/vscode-light-plus.yazi b/mac/.config/yazi/flavors.bak/vscode-light-plus.yazi new file mode 160000 +Subproject 83c8be6e0d0240c5fec6be5b8b6d907a097a0e0 diff --git a/mac/.config/yazi/plugins b/mac/.config/yazi/plugins deleted file mode 160000 -Subproject d7588f6d29b5998733d5a71ec312c7248ba1455 diff --git a/mac/.config/yazi/plugins.bak/chmod.yazi/README.md b/mac/.config/yazi/plugins.bak/chmod.yazi/README.md new file mode 100644 index 0000000..b2ad136 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/chmod.yazi/README.md @@ -0,0 +1,28 @@ +# chmod.yazi + +Execute `chmod` on the selected files to change their mode. This plugin is only available on Unix platforms since it relies on [`chmod(2)`](https://man7.org/linux/man-pages/man2/chmod.2.html). + +https://github.com/yazi-rs/plugins/assets/17523360/7aa3abc2-d057-498c-8473-a6282c59c464 + +## Installation + +```sh +ya pkg add yazi-rs/plugins:chmod +``` + +## Usage + +Add this to your `~/.config/yazi/keymap.toml`: + +```toml +[[mgr.prepend_keymap]] +on = [ "c", "m" ] +run = "plugin chmod" +desc = "Chmod on selected files" +``` + +Make sure the <kbd>c</kbd> => <kbd>m</kbd> key is not used elsewhere. + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/chmod.yazi/main.lua b/mac/.config/yazi/plugins.bak/chmod.yazi/main.lua new file mode 100644 index 0000000..a50a864 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/chmod.yazi/main.lua @@ -0,0 +1,42 @@ +--- @since 25.5.31 + +local selected_or_hovered = ya.sync(function() + local tab, paths = cx.active, {} + for _, u in pairs(tab.selected) do + paths[#paths + 1] = tostring(u) + end + if #paths == 0 and tab.current.hovered then + paths[1] = tostring(tab.current.hovered.url) + end + return paths +end) + +return { + entry = function() + ya.emit("escape", { visual = true }) + + local urls = selected_or_hovered() + if #urls == 0 then + return ya.notify { title = "Chmod", content = "No file selected", level = "warn", timeout = 5 } + end + + local value, event = ya.input { + title = "Chmod:", + pos = { "top-center", y = 3, w = 40 }, + position = { "top-center", y = 3, w = 40 }, -- TODO: remove + } + if event ~= 1 then + return + end + + local status, err = Command("chmod"):arg(value):arg(urls):spawn():wait() + if not status or not status.success then + ya.notify { + title = "Chmod", + content = string.format("Chmod on selected files failed, error: %s", status and status.code or err), + level = "error", + timeout = 5, + } + end + end, +} diff --git a/mac/.config/yazi/plugins.bak/diff.yazi/README.md b/mac/.config/yazi/plugins.bak/diff.yazi/README.md new file mode 100644 index 0000000..1976541 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/diff.yazi/README.md @@ -0,0 +1,28 @@ +# diff.yazi + +Diff the selected file with the hovered file, create a living patch, and copy it to the clipboard. + +https://github.com/yazi-rs/plugins/assets/17523360/eff5e949-386a-44ea-82f9-4cb4a2c37aad + +## Installation + +```sh +ya pkg add yazi-rs/plugins:diff +``` + +## Usage + +Add this to your `~/.config/yazi/keymap.toml`: + +```toml +[[mgr.prepend_keymap]] +on = "<C-d>" +run = "plugin diff" +desc = "Diff the selected with the hovered file" +``` + +Make sure the <kbd>C</kbd> + <kbd>d</kbd> key is not used elsewhere. + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/diff.yazi/main.lua b/mac/.config/yazi/plugins.bak/diff.yazi/main.lua new file mode 100644 index 0000000..21dde6d --- /dev/null +++ b/mac/.config/yazi/plugins.bak/diff.yazi/main.lua @@ -0,0 +1,41 @@ +--- @since 25.2.7 + +local function info(content) + return ya.notify { + title = "Diff", + content = content, + timeout = 5, + } +end + +local selected_url = ya.sync(function() + for _, u in pairs(cx.active.selected) do + return u + end +end) + +local hovered_url = ya.sync(function() + local h = cx.active.current.hovered + return h and h.url +end) + +return { + entry = function() + local a, b = selected_url(), hovered_url() + if not a then + return info("No file selected") + elseif not b then + return info("No file hovered") + end + + local output, err = Command("diff"):arg("-Naur"):arg(tostring(a)):arg(tostring(b)):output() + if not output then + return info("Failed to run diff, error: " .. err) + elseif output.stdout == "" then + return info("No differences found") + end + + ya.clipboard(output.stdout) + info("Diff copied to clipboard") + end, +} diff --git a/mac/.config/yazi/plugins.bak/full-border.yazi/README.md b/mac/.config/yazi/plugins.bak/full-border.yazi/README.md new file mode 100644 index 0000000..269ca8e --- /dev/null +++ b/mac/.config/yazi/plugins.bak/full-border.yazi/README.md @@ -0,0 +1,32 @@ +# full-border.yazi + +Add a full border to Yazi to make it look fancier. + + + +## Installation + +```sh +ya pkg add yazi-rs/plugins:full-border +``` + +## Usage + +Add this to your `init.lua` to enable the plugin: + +```lua +require("full-border"):setup() +``` + +Or you can customize the border type: + +```lua +require("full-border"):setup { + -- Available values: ui.Border.PLAIN, ui.Border.ROUNDED + type = ui.Border.ROUNDED, +} +``` + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/full-border.yazi/main.lua b/mac/.config/yazi/plugins.bak/full-border.yazi/main.lua new file mode 100644 index 0000000..a917e1e --- /dev/null +++ b/mac/.config/yazi/plugins.bak/full-border.yazi/main.lua @@ -0,0 +1,43 @@ +--- @since 25.2.26 + +local function setup(_, opts) + local type = opts and opts.type or ui.Border.ROUNDED + local old_build = Tab.build + + Tab.build = function(self, ...) + local bar = function(c, x, y) + if x <= 0 or x == self._area.w - 1 or th.mgr.border_symbol ~= "│" then + return ui.Bar(ui.Edge.TOP) + end + + return ui.Bar(ui.Edge.TOP) + :area( + ui.Rect { x = x, y = math.max(0, y), w = ya.clamp(0, self._area.w - x, 1), h = math.min(1, self._area.h) } + ) + :symbol(c) + end + + local c = self._chunks + self._chunks = { + c[1]:pad(ui.Pad.y(1)), + c[2]:pad(ui.Pad(1, c[3].w > 0 and 0 or 1, 1, c[1].w > 0 and 0 or 1)), + c[3]:pad(ui.Pad.y(1)), + } + + local style = th.mgr.border_style + self._base = ya.list_merge(self._base or {}, { + ui.Border(ui.Edge.ALL):area(self._area):type(type):style(style), + ui.Bar(ui.Edge.RIGHT):area(self._chunks[1]):style(style), + ui.Bar(ui.Edge.LEFT):area(self._chunks[3]):style(style), + + bar("┬", c[1].right - 1, c[1].y), + bar("┴", c[1].right - 1, c[1].bottom - 1), + bar("┬", c[2].right, c[2].y), + bar("┴", c[2].right, c[2].bottom - 1), + }) + + old_build(self, ...) + end +end + +return { setup = setup } diff --git a/mac/.config/yazi/plugins.bak/git.yazi/README.md b/mac/.config/yazi/plugins.bak/git.yazi/README.md new file mode 100644 index 0000000..96a87a8 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/git.yazi/README.md @@ -0,0 +1,78 @@ +# git.yazi + +Show the status of Git file changes as linemode in the file list. + +https://github.com/user-attachments/assets/34976be9-a871-4ffe-9d5a-c4cdd0bf4576 + +## Installation + +```sh +ya pkg add yazi-rs/plugins:git +``` + +## Setup + +Add the following to your `~/.config/yazi/init.lua`: + +```lua +require("git"):setup() +``` + +And register it as fetchers in your `~/.config/yazi/yazi.toml`: + +```toml +[[plugin.prepend_fetchers]] +id = "git" +name = "*" +run = "git" + +[[plugin.prepend_fetchers]] +id = "git" +name = "*/" +run = "git" +``` + +## Advanced + +> [!NOTE] +> The following configuration must be put before `require("git"):setup()` + +You can customize the [Style](https://yazi-rs.github.io/docs/plugins/layout#style) of the status sign with: + +- `th.git.modified` +- `th.git.added` +- `th.git.untracked` +- `th.git.ignored` +- `th.git.deleted` +- `th.git.updated` + +For example: + +```lua +-- ~/.config/yazi/init.lua +th.git = th.git or {} +th.git.modified = ui.Style():fg("blue") +th.git.deleted = ui.Style():fg("red"):bold() +``` + +You can also customize the text of the status sign with: + +- `th.git.modified_sign` +- `th.git.added_sign` +- `th.git.untracked_sign` +- `th.git.ignored_sign` +- `th.git.deleted_sign` +- `th.git.updated_sign` + +For example: + +```lua +-- ~/.config/yazi/init.lua +th.git = th.git or {} +th.git.modified_sign = "M" +th.git.deleted_sign = "D" +``` + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/git.yazi/main.lua b/mac/.config/yazi/plugins.bak/git.yazi/main.lua new file mode 100644 index 0000000..e6b3a36 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/git.yazi/main.lua @@ -0,0 +1,261 @@ +--- @since 25.5.31 + +local WINDOWS = ya.target_family() == "windows" + +-- The code of supported git status, +-- also used to determine which status to show for directories when they contain different statuses +-- see `bubble_up` +---@enum CODES +local CODES = { + excluded = 100, -- ignored directory + ignored = 6, -- ignored file + untracked = 5, + modified = 4, + added = 3, + deleted = 2, + updated = 1, + unknown = 0, +} + +local PATTERNS = { + { "!$", CODES.ignored }, + { "?$", CODES.untracked }, + { "[MT]", CODES.modified }, + { "[AC]", CODES.added }, + { "D", CODES.deleted }, + { "U", CODES.updated }, + { "[AD][AD]", CODES.updated }, +} + +---@param line string +---@return CODES, string +local function match(line) + local signs = line:sub(1, 2) + for _, p in ipairs(PATTERNS) do + local path, pattern, code = nil, p[1], p[2] + if signs:find(pattern) then + path = line:sub(4, 4) == '"' and line:sub(5, -2) or line:sub(4) + path = WINDOWS and path:gsub("/", "\\") or path + end + if not path then + elseif path:find("[/\\]$") then + -- Mark the ignored directory as `excluded`, so we can process it further within `propagate_down` + return code == CODES.ignored and CODES.excluded or code, path:sub(1, -2) + else + return code, path + end + ---@diagnostic disable-next-line: missing-return + end +end + +---@param cwd Url +---@return string? +local function root(cwd) + local is_worktree = function(url) + local file, head = io.open(tostring(url)), nil + if file then + head = file:read(8) + file:close() + end + return head == "gitdir: " + end + + repeat + local next = cwd:join(".git") + local cha = fs.cha(next) + if cha and (cha.is_dir or is_worktree(next)) then + return tostring(cwd) + end + cwd = cwd.parent + until not cwd +end + +---@param changed Changes +---@return Changes +local function bubble_up(changed) + local new, empty = {}, Url("") + for path, code in pairs(changed) do + if code ~= CODES.ignored then + local url = Url(path).parent + while url and url ~= empty do + local s = tostring(url) + new[s] = (new[s] or CODES.unknown) > code and new[s] or code + url = url.parent + end + end + end + return new +end + +---@param excluded string[] +---@param cwd Url +---@param repo Url +---@return Changes +local function propagate_down(excluded, cwd, repo) + local new, rel = {}, cwd:strip_prefix(repo) + for _, path in ipairs(excluded) do + if rel:starts_with(path) then + -- If `cwd` is a subdirectory of an excluded directory, also mark it as `excluded` + new[tostring(cwd)] = CODES.excluded + elseif cwd == repo:join(path).parent then + -- If `path` is a direct subdirectory of `cwd`, mark it as `ignored` + new[path] = CODES.ignored + else + -- Skipping, we only care about `cwd` itself and its direct subdirectories for maximum performance + end + end + return new +end + +---@param cwd string +---@param repo string +---@param changed Changes +local add = ya.sync(function(st, cwd, repo, changed) + ---@cast st State + + st.dirs[cwd] = repo + st.repos[repo] = st.repos[repo] or {} + for path, code in pairs(changed) do + if code == CODES.unknown then + st.repos[repo][path] = nil + elseif code == CODES.excluded then + -- Mark the directory with a special value `excluded` so that it can be distinguished during UI rendering + st.dirs[path] = CODES.excluded + else + st.repos[repo][path] = code + end + end + -- TODO: remove this + if ui.render then + ui.render() + else + ya.render() + end +end) + +---@param cwd string +local remove = ya.sync(function(st, cwd) + ---@cast st State + + local repo = st.dirs[cwd] + if not repo then + return + end + + -- TODO: remove this + if ui.render then + ui.render() + else + ya.render() + end + st.dirs[cwd] = nil + if not st.repos[repo] then + return + end + + for _, r in pairs(st.dirs) do + if r == repo then + return + end + end + st.repos[repo] = nil +end) + +---@param st State +---@param opts Options +local function setup(st, opts) + st.dirs = {} + st.repos = {} + + opts = opts or {} + opts.order = opts.order or 1500 + + local t = th.git or {} + local styles = { + [CODES.ignored] = t.ignored and ui.Style(t.ignored) or ui.Style():fg("darkgray"), + [CODES.untracked] = t.untracked and ui.Style(t.untracked) or ui.Style():fg("magenta"), + [CODES.modified] = t.modified and ui.Style(t.modified) or ui.Style():fg("yellow"), + [CODES.added] = t.added and ui.Style(t.added) or ui.Style():fg("green"), + [CODES.deleted] = t.deleted and ui.Style(t.deleted) or ui.Style():fg("red"), + [CODES.updated] = t.updated and ui.Style(t.updated) or ui.Style():fg("yellow"), + } + local signs = { + [CODES.ignored] = t.ignored_sign or "", + [CODES.untracked] = t.untracked_sign or "?", + [CODES.modified] = t.modified_sign or "", + [CODES.added] = t.added_sign or "", + [CODES.deleted] = t.deleted_sign or "", + [CODES.updated] = t.updated_sign or "", + } + + Linemode:children_add(function(self) + local url = self._file.url + local repo = st.dirs[tostring(url.base)] + local code + if repo then + code = repo == CODES.excluded and CODES.ignored or st.repos[repo][tostring(url):sub(#repo + 2)] + end + + if not code or signs[code] == "" then + return "" + elseif self._file.is_hovered then + return ui.Line { " ", signs[code] } + else + return ui.Line { " ", ui.Span(signs[code]):style(styles[code]) } + end + end, opts.order) +end + +---@type UnstableFetcher +local function fetch(_, job) + local cwd = job.files[1].url.base + local repo = root(cwd) + if not repo then + remove(tostring(cwd)) + return true + end + + local paths = {} + for _, file in ipairs(job.files) do + paths[#paths + 1] = tostring(file.url) + end + + -- stylua: ignore + local output, err = Command("git") + :cwd(tostring(cwd)) + :arg({ "--no-optional-locks", "-c", "core.quotePath=", "status", "--porcelain", "-unormal", "--no-renames", "--ignored=matching" }) + :arg(paths) + :stdout(Command.PIPED) + :output() + if not output then + return true, Err("Cannot spawn `git` command, error: %s", err) + end + + local changed, excluded = {}, {} + for line in output.stdout:gmatch("[^\r\n]+") do + local code, path = match(line) + if code == CODES.excluded then + excluded[#excluded + 1] = path + else + changed[path] = code + end + end + + if job.files[1].cha.is_dir then + ya.dict_merge(changed, bubble_up(changed)) + end + ya.dict_merge(changed, propagate_down(excluded, cwd, Url(repo))) + + -- Reset the status of any files that don't appear in the output of `git status` to `unknown`, + -- so that cleaning up outdated statuses from `st.repos` + for _, path in ipairs(paths) do + local s = path:sub(#repo + 2) + changed[s] = changed[s] or CODES.unknown + end + + add(tostring(cwd), repo, changed) + + return false +end + +return { setup = setup, fetch = fetch } diff --git a/mac/.config/yazi/plugins.bak/git.yazi/types.lua b/mac/.config/yazi/plugins.bak/git.yazi/types.lua new file mode 100644 index 0000000..9936849 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/git.yazi/types.lua @@ -0,0 +1,12 @@ +---@class State +---@field dirs table<string, string|CODES> Mapping between a directory and its corresponding repository +---@field repos table<string, Changes> Mapping between a repository and the status of each of its files + +---@class Options +---@field order number The order in which the status is displayed +---@field renamed boolean Whether to include renamed files in the status (or treat them as modified) + +-- TODO: move this to `types.yazi` once it's get stable +---@alias UnstableFetcher fun(self: unknown, job: { files: File[] }): boolean, Error? + +---@alias Changes table<string, CODES> diff --git a/mac/.config/yazi/plugins.bak/jump-to-char.yazi/README.md b/mac/.config/yazi/plugins.bak/jump-to-char.yazi/README.md new file mode 100644 index 0000000..d24f2e7 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/jump-to-char.yazi/README.md @@ -0,0 +1,28 @@ +# jump-to-char.yazi + +Vim-like `f<char>`, jump to the next file whose name starts with `<char>`. + +https://github.com/yazi-rs/plugins/assets/17523360/aac9341c-b416-4e0c-aaba-889d48389869 + +## Installation + +```sh +ya pkg add yazi-rs/plugins:jump-to-char +``` + +## Usage + +Add this to your `~/.config/yazi/keymap.toml`: + +```toml +[[mgr.prepend_keymap]] +on = "f" +run = "plugin jump-to-char" +desc = "Jump to char" +``` + +Make sure the <kbd>f</kbd> key is not used elsewhere. + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/jump-to-char.yazi/main.lua b/mac/.config/yazi/plugins.bak/jump-to-char.yazi/main.lua new file mode 100644 index 0000000..8a434f1 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/jump-to-char.yazi/main.lua @@ -0,0 +1,32 @@ +--- @since 25.5.31 + +local AVAILABLE_CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789." + +local changed = ya.sync(function(st, new) + local b = st.last ~= new + st.last = new + return b or not cx.active.finder +end) + +local escape = function(s) return s == "." and "\\." or s end + +return { + entry = function() + local cands = {} + for i = 1, #AVAILABLE_CHARS do + cands[#cands + 1] = { on = AVAILABLE_CHARS:sub(i, i) } + end + + local idx = ya.which { cands = cands, silent = true } + if not idx then + return + end + + local kw = escape(cands[idx].on) + if changed(kw) then + ya.emit("find_do", { "^" .. kw }) + else + ya.emit("find_arrow", {}) + end + end, +} diff --git a/mac/.config/yazi/plugins.bak/lsar.yazi/README.md b/mac/.config/yazi/plugins.bak/lsar.yazi/README.md new file mode 100644 index 0000000..e944442 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/lsar.yazi/README.md @@ -0,0 +1,43 @@ +# lsar.yazi + +Previewing archive contents with `lsar`, which is something you might not want to use anyway. + +It was the default archive previewer before Yazi v0.3, and after then, it was replaced with a faster and more efficient `7zip` previewer. + +This plugin is here just in case you're still interested in the old behavior, +but we strongly discourage using it unless you encounter some issues with `7zip` when previewing CJK characters - `lsar` usually does a better job recognizing these characters. + +## Installation + +```sh +ya pkg add yazi-rs/plugins:lsar +``` + +## Usage + +Add this to your `~/.config/yazi/yazi.toml`: + +```toml +[[plugin.prepend_previewers]] +mime = "application/{,g}zip" +run = "lsar" + +[[plugin.prepend_previewers]] +mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}" +run = "lsar" +``` + +Make sure you have `unar` installed, and have `lsar` in your `$PATH`. You can install it with: + +```sh +# Arch Linux +sudo pacman -S unarchiver +# macOS +brew install unar +# Windows +scoop install unar +``` + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/lsar.yazi/main.lua b/mac/.config/yazi/plugins.bak/lsar.yazi/main.lua new file mode 100644 index 0000000..69bc480 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/lsar.yazi/main.lua @@ -0,0 +1,43 @@ +--- @since 25.5.31 + +local M = {} + +function M:peek(job) + local child, err = Command("lsar"):arg(tostring(job.file.url)):stdout(Command.PIPED):spawn() + if not child then + return ya.err("spawn `lsar` command failed: " .. err) + end + + -- Skip the first line which is the archive file itself + while true do + local _, event = child:read_line() + if event == 0 or event ~= 1 then + break + end + end + + local limit = job.area.h + local i, lines = 0, {} + repeat + local next, event = child:read_line() + if event ~= 0 then + break + end + + i = i + 1 + if i > job.skip then + lines[#lines + 1] = next + end + until i >= job.skip + limit + + child:start_kill() + if job.skip > 0 and i < job.skip + limit then + ya.emit("peek", { math.max(0, i - limit), only_if = job.file.url, upper_bound = true }) + else + ya.preview_widget(job, ui.Text(lines):area(job.area)) + end +end + +function M:seek(job) require("code"):seek(job) end + +return M diff --git a/mac/.config/yazi/plugins.bak/mactag.yazi/README.md b/mac/.config/yazi/plugins.bak/mactag.yazi/README.md new file mode 100644 index 0000000..e5c060b --- /dev/null +++ b/mac/.config/yazi/plugins.bak/mactag.yazi/README.md @@ -0,0 +1,79 @@ +# mactag.yazi + +Bring macOS's awesome tagging feature to Yazi! The plugin it's only available for macOS just like the name says. + +Authors: [@AnirudhG07](https://github.com/AnirudhG07), and [@sxyazi](https://github.com/sxyazi) + +https://github.com/user-attachments/assets/7f26dc6d-67a5-4a85-a99e-4671ece9ae56 + +## Installation + +Install the plugin itself, and [jdberry/tag](https://github.com/jdberry/tag) used to tag files: + +```sh +ya pkg add yazi-rs/plugins:mactag +brew update && brew install tag +``` + +## Setup + +Add the following to your `~/.config/yazi/init.lua`: + +```lua +require("mactag"):setup { + -- Keys used to add or remove tags + keys = { + r = "Red", + o = "Orange", + y = "Yellow", + g = "Green", + b = "Blue", + p = "Purple", + }, + -- Colors used to display tags + colors = { + Red = "#ee7b70", + Orange = "#f5bd5c", + Yellow = "#fbe764", + Green = "#91fc87", + Blue = "#5fa3f8", + Purple = "#cb88f8", + }, +} +``` + +And register it as fetchers in your `~/.config/yazi/yazi.toml`: + +```toml +[[plugin.prepend_fetchers]] +id = "mactag" +name = "*" +run = "mactag" + +[[plugin.prepend_fetchers]] +id = "mactag" +name = "*/" +run = "mactag" +``` + +## Usage + +Besides displaying tags attached to files, you can also add or remove tags within Yazi using this plugin. + +Add following keybindings to your `~/.config/yazi/keymap.toml` to enable it: + +```toml +[[mgr.prepend_keymap]] +on = [ "b", "a" ] +run = "plugin mactag add" +desc = "Tag selected files" + +[[mgr.prepend_keymap]] +on = [ "b", "r" ] +run = "plugin mactag remove" +desc = "Untag selected files" +``` + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/mactag.yazi/main.lua b/mac/.config/yazi/plugins.bak/mactag.yazi/main.lua new file mode 100644 index 0000000..309a46a --- /dev/null +++ b/mac/.config/yazi/plugins.bak/mactag.yazi/main.lua @@ -0,0 +1,105 @@ +--- @since 25.5.31 + +local update = ya.sync(function(st, tags) + for path, tag in pairs(tags) do + st.tags[path] = #tag > 0 and tag or nil + end + -- TODO: remove this + if ui.render then + ui.render() + else + ya.render() + end +end) + +local selected_or_hovered = ya.sync(function() + local tab, urls = cx.active, {} + for _, u in pairs(tab.selected) do + urls[#urls + 1] = u + end + if #urls == 0 and tab.current.hovered then + urls[1] = tab.current.hovered.url + end + return urls +end) + +local function setup(st, opts) + st.tags = {} + st.keys = opts.keys + st.colors = opts.colors + + Linemode:children_add(function(self) + local url = tostring(self._file.url) + local spans = {} + for _, tag in ipairs(st.tags[url] or {}) do + if self._file.is_hovered then + spans[#spans + 1] = ui.Span(" ●"):bg(st.colors[tag] or "reset") + else + spans[#spans + 1] = ui.Span(" ●"):fg(st.colors[tag] or "reset") + end + end + return ui.Line(spans) + end, 500) +end + +local function fetch(_, job) + local paths = {} + for _, file in ipairs(job.files) do + paths[#paths + 1] = tostring(file.url) + end + + local output, err = Command("tag"):arg(paths):stdout(Command.PIPED):output() + if not output then + return true, Err("Cannot spawn `tag` command, error: %s", err) + end + + local i, tags = 1, {} + for line in output.stdout:gmatch("[^\r\n]+") do + if i > #paths then + break + end + tags[paths[i]] = tags[paths[i]] or {} + + local joint = line:match("\t(.+)$") or "" + for s in joint:gmatch("[^,]+") do + table.insert(tags[paths[i]], s) + end + i = i + 1 + end + + update(tags) + return true +end + +local cands = ya.sync(function(st) + local t = {} + for k, v in pairs(st.keys) do + t[#t + 1] = { on = k, desc = v } + end + return t +end) + +local function entry(self, job) + assert(job.args[1] == "add" or job.args[1] == "remove", "Invalid action") + ya.emit("escape", { visual = true }) + + local cands = cands() + local choice = ya.which { cands = cands } + if not choice then + return + end + + local t = { job.args[1] == "remove" and "-r" or "-a", cands[choice].desc } + local files = {} + for _, url in ipairs(selected_or_hovered()) do + t[#t + 1] = tostring(url) + files[#files + 1] = { url = url } + end + + local status = Command("tag"):arg(t):status() + if status.success then + fetch(self, { files = files }) + end +end + +return { setup = setup, fetch = fetch, entry = entry } diff --git a/mac/.config/yazi/plugins.bak/mime-ext.yazi/README.md b/mac/.config/yazi/plugins.bak/mime-ext.yazi/README.md new file mode 100644 index 0000000..3c2ee1f --- /dev/null +++ b/mac/.config/yazi/plugins.bak/mime-ext.yazi/README.md @@ -0,0 +1,56 @@ +# mime-ext.yazi + +A mime-type provider based on a file extension database, replacing the [builtin `file(1)`](https://github.com/sxyazi/yazi/blob/main/yazi-plugin/preset/plugins/mime.lua) to speed up mime-type retrieval at the expense of accuracy. + +See https://yazi-rs.github.io/docs/tips#make-yazi-even-faster for more information. + +## Installation + +```sh +ya pkg add yazi-rs/plugins:mime-ext +``` + +## Usage + +Add this to your `~/.config/yazi/yazi.toml`: + +```toml +[[plugin.prepend_fetchers]] +id = "mime" +name = "*" +run = "mime-ext" +prio = "high" +``` + +## Advanced + +You can also customize it in your `~/.config/yazi/init.lua` with: + +```lua +require("mime-ext"):setup { + -- Expand the existing filename database (lowercase), for example: + with_files = { + makefile = "text/makefile", + -- ... + }, + + -- Expand the existing extension database (lowercase), for example: + with_exts = { + mk = "text/makefile", + -- ... + }, + + -- If the mime-type is not in both filename and extension databases, + -- then fallback to Yazi's preset `mime` plugin, which uses `file(1)` + fallback_file1 = false, +} +``` + +## TODO + +- Add more file types (PRs welcome!). +- Compress mime-type tables. + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/mime-ext.yazi/main.lua b/mac/.config/yazi/plugins.bak/mime-ext.yazi/main.lua new file mode 100644 index 0000000..06c0005 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/mime-ext.yazi/main.lua @@ -0,0 +1,1126 @@ +--- @since 25.5.31 + +local FILES = { + [".envrc"] = "text/plain", + [".gitconfig"] = "text/plain", + [".gitignore"] = "text/plain", + [".luacheckrc"] = "text/lua", + [".npmrc"] = "text/plain", + [".styluaignore"] = "text/plain", + [".zshenv"] = "text/plain", + [".zshrc"] = "text/plain", + ["cargo.lock"] = "application/json", + ["flake.lock"] = "application/json", + license = "text/plain", +} + +local EXTS = { + ["123"] = "application/lotus-1-2-3", + ["3dml"] = "text/in3d.3dml", + ["3ds"] = "image/3ds", + ["3g2"] = "video/3gpp2", + ["3gp"] = "video/3gpp", + ["7z"] = "application/7z-compressed", + ["for"] = "text/fortran", + ["in"] = "text/plain", + ["n-gage"] = "application/nokia.n-gage.symbian.install", + ["sfd-hdstx"] = "application/hydrostatix.sof-data", + aab = "application/authorware-bin", + aac = "audio/aac", + aam = "application/authorware-map", + aas = "application/authorware-seg", + abw = "application/abiword", + ac = "application/pkix-attr-cert", + acc = "application/americandynamics.acc", + ace = "application/ace-compressed", + acu = "application/acucobol", + acutc = "application/acucorp", + adp = "audio/adpcm", + aep = "application/audiograph", + afm = "application/font-type1", + afp = "application/ibm.modcap", + ahead = "application/ahead.space", + ai = "application/postscript", + aif = "audio/aiff", + aifc = "audio/aiff", + aiff = "audio/aiff", + air = "application/adobe.air-application-installer-package+zip", + ait = "application/dvb.ait", + ami = "application/amiga.ami", + apk = "application/android.package-archive", + appcache = "text/cache-manifest", + application = "application/ms-application", + apr = "application/lotus-approach", + arc = "application/freearc", + asc = "application/pgp-signature", + asf = "video/ms-asf", + asm = "text/asm", + aso = "application/accpac.simply.aso", + ass = "text/ass", + asx = "video/ms-asf", + atc = "application/acucorp", + atom = "application/atom+xml", + atomcat = "application/atomcat+xml", + atomsvc = "application/atomsvc+xml", + atx = "application/antix.game-component", + au = "audio/basic", + avi = "video/msvideo", + avif = "image/avif", + aw = "application/applixware", + azf = "application/airzip.filesecure.azf", + azs = "application/airzip.filesecure.azs", + azw = "application/amazon.ebook", + bash = "text/shellscript", + bat = "application/msdownload", + bcpio = "application/bcpio", + bdf = "application/font-bdf", + bdm = "application/syncml.dm+wbxml", + bean = "text/plain", + beancount = "text/plain", + bed = "application/realvnc.bed", + bh2 = "application/fujitsu.oasysprs", + bin = "application/octet-stream", + blb = "application/blorb", + blorb = "application/blorb", + bmi = "application/bmi", + bmp = "image/bmp", + book = "application/framemaker", + box = "application/previewsystems.box", + boz = "application/bzip2", + bpk = "application/octet-stream", + btif = "image/prs.btif", + bz = "application/bzip", + bz2 = "application/bzip2", + c = "text/c", + c11amc = "application/cluetrust.cartomobile-config", + c11amz = "application/cluetrust.cartomobile-config-pkg", + c4d = "application/clonk.c4group", + c4f = "application/clonk.c4group", + c4g = "application/clonk.c4group", + c4p = "application/clonk.c4group", + c4u = "application/clonk.c4group", + cab = "application/ms-cab-compressed", + caf = "audio/caf", + cap = "application/tcpdump.pcap", + car = "application/curl.car", + cat = "application/ms-pki.seccat", + cb7 = "application/cbr", + cba = "application/cbr", + cbr = "application/cbr", + cbt = "application/cbr", + cbz = "application/cbr", + cc = "text/c", + cct = "application/director", + ccxml = "application/ccxml+xml", + cdbcmsg = "application/contact.cmsg", + cdf = "application/netcdf", + cdkey = "application/mediastation.cdkey", + cdmia = "application/cdmi-capability", + cdmic = "application/cdmi-container", + cdmid = "application/cdmi-domain", + cdmio = "application/cdmi-object", + cdmiq = "application/cdmi-queue", + cdx = "chemical/cdx", + cdxml = "application/chemdraw+xml", + cdy = "application/cinderella", + cer = "application/pkix-cert", + cfg = "text/plain", + cfs = "application/cfs-compressed", + cgm = "image/cgm", + chat = "application/chat", + chm = "application/ms-htmlhelp", + chrt = "application/kde.kchart", + cif = "chemical/cif", + cii = "application/anser-web-certificate-issue-initiation", + cil = "application/ms-artgalry", + cla = "application/claymore", + class = "application/java-vm", + clkk = "application/crick.clicker.keyboard", + clkp = "application/crick.clicker.palette", + clkt = "application/crick.clicker.template", + clkw = "application/crick.clicker.wordbank", + clkx = "application/crick.clicker", + clp = "application/msclip", + cmc = "application/cosmocaller", + cmdf = "chemical/cmdf", + cml = "chemical/cml", + cmp = "application/yellowriver-custom-menu", + cmx = "image/cmx", + cod = "application/rim.cod", + com = "application/msdownload", + conf = "text/plain", + cpio = "application/cpio", + cpp = "text/c", + cpt = "application/mac-compactpro", + crd = "application/mscardfile", + crl = "application/pkix-crl", + crt = "application/x509-ca-cert", + cryptonote = "application/rig.cryptonote", + csh = "application/csh", + csml = "chemical/csml", + csp = "application/commonspace", + css = "text/css", + cst = "application/director", + csv = "text/csv", + cu = "application/cu-seeme", + curl = "text/curl", + cww = "application/prs.cww", + cxt = "application/director", + cxx = "text/c", + dae = "model/collada+xml", + daf = "application/mobius.daf", + dart = "application/dart", + dataless = "application/fdsn.seed", + davmount = "application/davmount+xml", + dbk = "application/docbook+xml", + dcr = "application/director", + dcurl = "text/curl.dcurl", + dd2 = "application/oma.dd2+xml", + ddd = "application/fujixerox.ddd", + deb = "application/debian-package", + def = "text/plain", + deploy = "application/octet-stream", + der = "application/x509-ca-cert", + dfac = "application/dreamfactory", + dgc = "application/dgc-compressed", + dic = "text/c", + dir = "application/director", + dis = "application/mobius.dis", + dist = "application/octet-stream", + distz = "application/octet-stream", + djv = "image/djvu", + djvu = "image/djvu", + dll = "application/msdownload", + dmg = "application/apple-diskimage", + dmp = "application/tcpdump.pcap", + dms = "application/octet-stream", + dna = "application/dna", + doc = "application/msword", + docm = "application/ms-word.document.macroenabled.12", + docx = "application/openxmlformats-officedocument.wordprocessingml.document", + dot = "application/msword", + dotm = "application/ms-word.template.macroenabled.12", + dotx = "application/openxmlformats-officedocument.wordprocessingml.template", + dp = "application/osgi.dp", + dpg = "application/dpgraph", + dra = "audio/dra", + dsc = "text/prs.lines.tag", + dssc = "application/dssc+der", + dtb = "application/dtbook+xml", + dtd = "application/xml-dtd", + dts = "audio/dts", + dtshd = "audio/dts.hd", + dump = "application/octet-stream", + dvb = "video/dvb.file", + dvi = "application/dvi", + dwf = "model/dwf", + dwg = "image/dwg", + dxf = "image/dxf", + dxp = "application/spotfire.dxp", + dxr = "application/director", + ebuild = "application/gentoo.ebuild", + ecelp4800 = "audio/nuera.ecelp4800", + ecelp7470 = "audio/nuera.ecelp7470", + ecelp9600 = "audio/nuera.ecelp9600", + eclass = "application/gentoo.eclass", + ecma = "application/ecmascript", + edm = "application/novadigm.edm", + edx = "application/novadigm.edx", + efif = "application/picsel", + ei6 = "application/pg.osasli", + elc = "application/octet-stream", + emf = "application/msmetafile", + eml = "message/rfc822", + emma = "application/emma+xml", + emz = "application/msmetafile", + env = "text/plain", + eol = "audio/digital-winds", + eot = "application/ms-fontobject", + eps = "application/postscript", + epub = "application/epub+zip", + es3 = "application/eszigno3+xml", + esa = "application/osgi.subsystem", + esf = "application/epson.esf", + et3 = "application/eszigno3+xml", + etx = "text/setext", + eva = "application/eva", + evy = "application/envoy", + exe = "application/msdownload", + exi = "application/exi", + ext = "application/novadigm.ext", + ez = "application/andrew-inset", + ez2 = "application/ezpix-album", + ez3 = "application/ezpix-package", + f = "text/fortran", + f4v = "video/f4v", + f77 = "text/fortran", + f90 = "text/fortran", + fbs = "image/fastbidsheet", + fcdt = "application/adobe.formscentral.fcdt", + fcs = "application/isac.fcs", + fdf = "application/fdf", + fe_launch = "application/denovo.fcselayout-link", + fg5 = "application/fujitsu.oasysgp", + fgd = "application/director", + fh = "image/freehand", + fh4 = "image/freehand", + fh5 = "image/freehand", + fh7 = "image/freehand", + fhc = "image/freehand", + fig = "application/xfig", + fish = "text/shellscript", + flac = "audio/flac", + fli = "video/fli", + flo = "application/micrografx.flo", + flv = "video/flv", + flw = "application/kde.kivio", + flx = "text/fmi.flexstor", + fly = "text/fly", + fm = "application/framemaker", + fnc = "application/frogans.fnc", + fpx = "image/fpx", + frame = "application/framemaker", + fsc = "application/fsc.weblaunch", + fst = "image/fst", + ftc = "application/fluxtime.clip", + fti = "application/anser-web-funds-transfer-initiation", + fvt = "video/fvt", + fxp = "application/adobe.fxp", + fxpl = "application/adobe.fxp", + fzs = "application/fuzzysheet", + g2w = "application/geoplan", + g3 = "image/g3fax", + g3w = "application/geospace", + gac = "application/groove-account", + gam = "application/tads", + gbr = "application/rpki-ghostbusters", + gca = "application/gca-compressed", + gdl = "model/gdl", + geo = "application/dynageo", + gex = "application/geometry-explorer", + ggb = "application/geogebra.file", + ggs = "application/geogebra.slides", + ggt = "application/geogebra.tool", + ghf = "application/groove-help", + gif = "image/gif", + gim = "application/groove-identity-message", + gml = "application/gml+xml", + gmx = "application/gmx", + gnumeric = "application/gnumeric", + go = "text/go", + gph = "application/flographit", + gpx = "application/gpx+xml", + gqf = "application/grafeq", + gqs = "application/grafeq", + gram = "application/srgs", + gramps = "application/gramps-xml", + gre = "application/geometry-explorer", + grv = "application/groove-injector", + grxml = "application/srgs+xml", + gsf = "application/font-ghostscript", + gtar = "application/gtar", + gtm = "application/groove-tool-message", + gtw = "model/gtw", + gv = "text/graphviz", + gxf = "application/gxf", + gxt = "application/geonext", + h = "text/c", + h261 = "video/h261", + h263 = "video/h263", + h264 = "video/h264", + hal = "application/hal+xml", + hbci = "application/hbci", + hcl = "text/hcl", + hdf = "application/hdf", + hh = "text/c", + hlp = "application/winhlp", + hpgl = "application/hp-hpgl", + hpid = "application/hp-hpid", + hpp = "text/c", + hps = "application/hp-hps", + hqx = "application/mac-binhex40", + htke = "application/kenameaapp", + htm = "text/html", + html = "text/html", + hvd = "application/yamaha.hv-dic", + hvp = "application/yamaha.hv-voice", + hvs = "application/yamaha.hv-script", + i2g = "application/intergeo", + icc = "application/iccprofile", + ice = "conference/cooltalk", + icm = "application/iccprofile", + ico = "image/icon", + ics = "text/calendar", + ief = "image/ief", + ifb = "text/calendar", + ifm = "application/shana.informed.formdata", + iges = "model/iges", + igl = "application/igloader", + igm = "application/insors.igm", + igs = "model/iges", + igx = "application/micrografx.igx", + iif = "application/shana.informed.interchange", + imp = "application/accpac.simply.imp", + ims = "application/ms-ims", + ini = "text/plain", + ink = "application/inkml+xml", + inkml = "application/inkml+xml", + install = "application/install-instructions", + iota = "application/astraea-software.iota", + ipfix = "application/ipfix", + ipk = "application/shana.informed.package", + irm = "application/ibm.rights-management", + irp = "application/irepository.package+xml", + iso = "application/iso9660-image", + itp = "application/shana.informed.formtemplate", + ivp = "application/immervision-ivp", + ivu = "application/immervision-ivu", + jad = "text/sun.j2me.app-descriptor", + jam = "application/jam", + jar = "application/java-archive", + java = "text/java-source", + jisp = "application/jisp", + jlt = "application/hp-jlyt", + jnlp = "application/java-jnlp-file", + joda = "application/joost.joda-archive", + jpe = "image/jpeg", + jpeg = "image/jpeg", + jpg = "image/jpeg", + jpgm = "video/jpm", + jpgv = "video/jpeg", + jpm = "video/jpm", + js = "text/javascript", + json = "application/json", + jsonc = "application/json", + jsonml = "application/jsonml+json", + jsx = "text/jsx", + jxl = "image/jxl", + kar = "audio/midi", + karbon = "application/kde.karbon", + kfo = "application/kde.kformula", + kia = "application/kidspiration", + kml = "application/google-earth.kml+xml", + kmz = "application/google-earth.kmz", + kne = "application/kinar", + knp = "application/kinar", + kon = "application/kde.kontour", + kpr = "application/kde.kpresenter", + kpt = "application/kde.kpresenter", + kpxx = "application/ds-keypoint", + ksp = "application/kde.kspread", + ktr = "application/kahootz", + ktx = "image/ktx", + ktz = "application/kahootz", + kwd = "application/kde.kword", + kwt = "application/kde.kword", + lasxml = "application/las.las+xml", + latex = "application/latex", + lbd = "application/llamagraphics.life-balance.desktop", + lbe = "application/llamagraphics.life-balance.exchange+xml", + les = "application/hhe.lesson-player", + lha = "application/lzh-compressed", + link66 = "application/route66.link66+xml", + list = "text/plain", + list3820 = "application/ibm.modcap", + listafp = "application/ibm.modcap", + lnk = "application/ms-shortcut", + log = "text/plain", + lostxml = "application/lost+xml", + lrf = "application/octet-stream", + lrm = "application/ms-lrm", + ltf = "application/frogans.ltf", + lua = "text/lua", + lvp = "audio/lucent.voice", + lwp = "application/lotus-wordpro", + lzh = "application/lzh-compressed", + m13 = "application/msmediaview", + m14 = "application/msmediaview", + m1v = "video/mpeg", + m21 = "application/mp21", + m2a = "audio/mpeg", + m2t = "video/mp2t", + m2ts = "video/mp2t", + m2v = "video/mpeg", + m3a = "audio/mpeg", + m3u = "audio/mpegurl", + m3u8 = "application/apple.mpegurl", + m4a = "audio/mp4", + m4u = "video/mpegurl", + m4v = "video/m4v", + ma = "application/mathematica", + mads = "application/mads+xml", + mag = "application/ecowin.chart", + maker = "application/framemaker", + man = "text/troff", + mar = "application/octet-stream", + mathml = "application/mathml+xml", + mb = "application/mathematica", + mbk = "application/mobius.mbk", + mbox = "application/mbox", + mc1 = "application/medcalcdata", + mcd = "application/mcd", + mcurl = "text/curl.mcurl", + md = "text/markdown", + mdb = "application/msaccess", + mdi = "image/ms-modi", + me = "text/troff", + mesh = "model/mesh", + meta4 = "application/metalink4+xml", + metalink = "application/metalink+xml", + mets = "application/mets+xml", + mfm = "application/mfmp", + mft = "application/rpki-manifest", + mgp = "application/osgeo.mapguide.package", + mgz = "application/proteus.magazine", + mid = "audio/midi", + midi = "audio/midi", + mie = "application/mie", + mif = "application/mif", + mime = "message/rfc822", + mj2 = "video/mj2", + mjp2 = "video/mj2", + mjs = "text/javascript", + mk3d = "video/matroska", + mka = "audio/matroska", + mks = "video/matroska", + mkv = "video/matroska", + mlp = "application/dolby.mlp", + mmd = "application/chipnuts.karaoke-mmd", + mmf = "application/smaf", + mmr = "image/fujixerox.edmics-mmr", + mng = "video/mng", + mny = "application/msmoney", + mobi = "application/mobipocket-ebook", + mods = "application/mods+xml", + mov = "video/quicktime", + movie = "video/sgi-movie", + mp2 = "audio/mpeg", + mp21 = "application/mp21", + mp2a = "audio/mpeg", + mp3 = "audio/mpeg", + mp4 = "video/mp4", + mp4a = "audio/mp4", + mp4s = "application/mp4", + mp4v = "video/mp4", + mpc = "application/mophun.certificate", + mpe = "video/mpeg", + mpeg = "video/mpeg", + mpg = "video/mpeg", + mpg4 = "video/mp4", + mpga = "audio/mpeg", + mpkg = "application/apple.installer+xml", + mpm = "application/blueice.multipass", + mpn = "application/mophun.application", + mpp = "application/ms-project", + mpt = "application/ms-project", + mpy = "application/ibm.minipay", + mqy = "application/mobius.mqy", + mrc = "application/marc", + mrcx = "application/marcxml+xml", + ms = "text/troff", + mscml = "application/mediaservercontrol+xml", + mseed = "application/fdsn.mseed", + mseq = "application/mseq", + msf = "application/epson.msf", + msh = "model/mesh", + msi = "application/msdownload", + msl = "application/mobius.msl", + msty = "application/muvee.style", + mts = "video/mp2t", + mus = "application/musician", + musicxml = "application/recordare.musicxml+xml", + mvb = "application/msmediaview", + mwf = "application/mfer", + mxf = "application/mxf", + mxl = "application/recordare.musicxml", + mxml = "application/xv+xml", + mxs = "application/triscape.mxs", + mxu = "video/mpegurl", + n3 = "text/n3", + nb = "application/mathematica", + nbp = "application/wolfram.player", + nc = "application/netcdf", + ncx = "application/dtbncx+xml", + nfo = "text/nfo", + ngdat = "application/nokia.n-gage.data", + nitf = "application/nitf", + nix = "text/nix", + nlu = "application/neurolanguage.nlu", + nml = "application/enliven", + nnd = "application/noblenet-directory", + nns = "application/noblenet-sealer", + nnw = "application/noblenet-web", + npx = "image/net-fpx", + nsc = "application/conference", + nsf = "application/lotus-notes", + ntf = "application/nitf", + nzb = "application/nzb", + oa2 = "application/fujitsu.oasys2", + oa3 = "application/fujitsu.oasys3", + oas = "application/fujitsu.oasys", + obd = "application/msbinder", + obj = "application/tgif", + oda = "application/oda", + odb = "application/oasis.opendocument.database", + odc = "application/oasis.opendocument.chart", + odf = "application/oasis.opendocument.formula", + odft = "application/oasis.opendocument.formula-template", + odg = "application/oasis.opendocument.graphics", + odi = "application/oasis.opendocument.image", + odm = "application/oasis.opendocument.text-master", + odp = "application/oasis.opendocument.presentation", + ods = "application/oasis.opendocument.spreadsheet", + odt = "application/oasis.opendocument.text", + oga = "audio/ogg", + ogg = "audio/ogg", + ogv = "video/ogg", + ogx = "application/ogg", + omdoc = "application/omdoc+xml", + onepkg = "application/onenote", + onetmp = "application/onenote", + onetoc = "application/onenote", + onetoc2 = "application/onenote", + opf = "application/oebps-package+xml", + opml = "text/opml", + oprc = "application/palm", + opus = "audio/ogg", + org = "application/lotus-organizer", + osf = "application/yamaha.openscoreformat", + osfpvg = "application/yamaha.openscoreformat.osfpvg+xml", + otc = "application/oasis.opendocument.chart-template", + otf = "font/otf", + otg = "application/oasis.opendocument.graphics-template", + oth = "application/oasis.opendocument.text-web", + oti = "application/oasis.opendocument.image-template", + otp = "application/oasis.opendocument.presentation-template", + ots = "application/oasis.opendocument.spreadsheet-template", + ott = "application/oasis.opendocument.text-template", + oxps = "application/oxps", + oxt = "application/openofficeorg.extension", + p = "text/pascal", + p10 = "application/pkcs10", + p12 = "application/pkcs12", + p7b = "application/pkcs7-certificates", + p7c = "application/pkcs7-mime", + p7m = "application/pkcs7-mime", + p7r = "application/pkcs7-certreqresp", + p7s = "application/pkcs7-signature", + p8 = "application/pkcs8", + pas = "text/pascal", + patch = "text/diff", + paw = "application/pawaafile", + pbd = "application/powerbuilder6", + pbm = "image/portable-bitmap", + pcap = "application/tcpdump.pcap", + pcf = "application/font-pcf", + pcl = "application/hp-pcl", + pclxl = "application/hp-pclxl", + pct = "image/pict", + pcurl = "application/curl.pcurl", + pcx = "image/pcx", + pdb = "application/palm", + pdf = "application/pdf", + pfa = "application/font-type1", + pfb = "application/font-type1", + pfm = "application/font-type1", + pfr = "application/font-tdpfr", + pfx = "application/pkcs12", + pgm = "image/portable-graymap", + pgn = "application/chess-pgn", + pgp = "application/pgp-encrypted", + php = "text/php", + pic = "image/pict", + pkg = "application/octet-stream", + pki = "application/pkixcmp", + pkipath = "application/pkix-pkipath", + plb = "application/3gpp.pic-bw-large", + plc = "application/mobius.plc", + plf = "application/pocketlearn", + pls = "application/pls+xml", + pml = "application/ctc-posml", + png = "image/png", + pnm = "image/portable-anymap", + portpkg = "application/macports.portpkg", + pot = "application/ms-powerpoint", + potm = "application/ms-powerpoint.template.macroenabled.12", + potx = "application/openxmlformats-officedocument.presentationml.template", + ppam = "application/ms-powerpoint.addin.macroenabled.12", + ppd = "application/cups-ppd", + ppm = "image/portable-pixmap", + pps = "application/ms-powerpoint", + ppsm = "application/ms-powerpoint.slideshow.macroenabled.12", + ppsx = "application/openxmlformats-officedocument.presentationml.slideshow", + ppt = "application/ms-powerpoint", + pptm = "application/ms-powerpoint.presentation.macroenabled.12", + pptx = "application/openxmlformats-officedocument.presentationml.presentation", + pqa = "application/palm", + prc = "application/mobipocket-ebook", + pre = "application/lotus-freelance", + prf = "application/pics-rules", + ps = "application/postscript", + psb = "application/3gpp.pic-bw-small", + psd = "image/adobe.photoshop", + psf = "application/font-linux-psf", + pskcxml = "application/pskc+xml", + ptid = "application/pvi.ptid1", + pub = "application/mspublisher", + pvb = "application/3gpp.pic-bw-var", + pwn = "application/3m.post-it-notes", + py = "text/python", + pya = "audio/ms-playready.media.pya", + pyv = "video/ms-playready.media.pyv", + qam = "application/epson.quickanime", + qbo = "application/intu.qbo", + qfx = "application/intu.qfx", + qml = "text/qml", + qps = "application/publishare-delta-tree", + qt = "video/quicktime", + qwd = "application/quark.quarkxpress", + qwt = "application/quark.quarkxpress", + qxb = "application/quark.quarkxpress", + qxd = "application/quark.quarkxpress", + qxl = "application/quark.quarkxpress", + qxt = "application/quark.quarkxpress", + r = "text/r", + ra = "audio/pn-realaudio", + ram = "audio/pn-realaudio", + rar = "application/rar", + ras = "image/cmu-raster", + rb = "text/ruby", + rcprofile = "application/ipunplugged.rcprofile", + rdf = "application/rdf+xml", + rdz = "application/data-vision.rdz", + rep = "application/businessobjects", + res = "application/dtbresource+xml", + rgb = "image/rgb", + rif = "application/reginfo+xml", + rip = "audio/rip", + ris = "application/research-info-systems", + rl = "application/resource-lists+xml", + rlc = "image/fujixerox.edmics-rlc", + rld = "application/resource-lists-diff+xml", + rm = "application/rn-realmedia", + rmi = "audio/midi", + rmp = "audio/pn-realaudio-plugin", + rms = "application/jcp.javame.midlet-rms", + rmvb = "application/rn-realmedia-vbr", + rnc = "application/relax-ng-compact-syntax", + roa = "application/rpki-roa", + roff = "text/troff", + rp9 = "application/cloanto.rp9", + rpm = "application/rpm", + rpss = "application/nokia.radio-presets", + rpst = "application/nokia.radio-preset", + rq = "application/sparql-query", + rs = "text/rust", + rsd = "application/rsd+xml", + rss = "application/rss+xml", + rtf = "application/rtf", + rtx = "text/richtext", + s = "text/asm", + s3m = "audio/s3m", + saf = "application/yamaha.smaf-audio", + sbml = "application/sbml+xml", + sc = "application/ibm.secure-container", + scd = "application/msschedule", + scm = "application/lotus-screencam", + scq = "application/scvp-cv-request", + scs = "application/scvp-cv-response", + scss = "text/scss", + scurl = "text/curl.scurl", + sda = "application/stardivision.draw", + sdc = "application/stardivision.calc", + sdd = "application/stardivision.impress", + sdkd = "application/solent.sdkm+xml", + sdkm = "application/solent.sdkm+xml", + sdp = "application/sdp", + sdw = "application/stardivision.writer", + see = "application/seemail", + seed = "application/fdsn.seed", + sema = "application/sema", + semd = "application/semd", + semf = "application/semf", + ser = "application/java-serialized-object", + setpay = "application/set-payment-initiation", + setreg = "application/set-registration-initiation", + sfs = "application/spotfire.sfs", + sfv = "text/sfv", + sgi = "image/sgi", + sgl = "application/stardivision.writer-global", + sgm = "text/sgml", + sgml = "text/sgml", + sh = "text/shellscript", + shar = "application/shar", + shf = "application/shf+xml", + sid = "image/mrsid-image", + sig = "application/pgp-signature", + sil = "audio/silk", + silo = "model/mesh", + sis = "application/symbian.install", + sisx = "application/symbian.install", + sit = "application/stuffit", + sitx = "application/stuffitx", + skd = "application/koan", + skm = "application/koan", + skp = "application/koan", + skt = "application/koan", + sldm = "application/ms-powerpoint.slide.macroenabled.12", + sldx = "application/openxmlformats-officedocument.presentationml.slide", + slt = "application/epson.salt", + sm = "application/stepmania.stepchart", + smf = "application/stardivision.math", + smi = "application/smil+xml", + smil = "application/smil+xml", + smv = "video/smv", + smzip = "application/stepmania.package", + snd = "audio/basic", + snf = "application/font-snf", + so = "application/octet-stream", + spc = "application/pkcs7-certificates", + spf = "application/yamaha.smaf-phrase", + spl = "application/futuresplash", + spot = "text/in3d.spot", + spp = "application/scvp-vp-response", + spq = "application/scvp-vp-request", + spx = "audio/ogg", + sql = "application/sql", + src = "application/wais-source", + srt = "application/subrip", + sru = "application/sru+xml", + srx = "application/sparql-results+xml", + ssdl = "application/ssdl+xml", + sse = "application/kodak-descriptor", + ssf = "application/epson.ssf", + ssml = "application/ssml+xml", + st = "application/sailingtracker.track", + stc = "application/sun.xml.calc.template", + std = "application/sun.xml.draw.template", + stf = "application/wt.stf", + sti = "application/sun.xml.impress.template", + stk = "application/hyperstudio", + stl = "application/ms-pki.stl", + str = "application/pg.format", + stw = "application/sun.xml.writer.template", + sub = "text/dvb.subtitle", + sus = "application/sus-calendar", + susp = "application/sus-calendar", + sv4cpio = "application/sv4cpio", + sv4crc = "application/sv4crc", + svc = "application/dvb.service", + svd = "application/svd", + svg = "image/svg+xml", + svgz = "image/svg+xml", + swa = "application/director", + swf = "application/shockwave-flash", + swi = "application/aristanetworks.swi", + sxc = "application/sun.xml.calc", + sxd = "application/sun.xml.draw", + sxg = "application/sun.xml.writer.global", + sxi = "application/sun.xml.impress", + sxm = "application/sun.xml.math", + sxw = "application/sun.xml.writer", + t = "text/troff", + t3 = "application/t3vm-image", + taglet = "application/mynfc", + tao = "application/tao.intent-module-archive", + tar = "application/tar", + tcap = "application/3gpp2.tcap", + tcl = "application/tcl", + teacher = "application/smart.teacher", + tei = "application/tei+xml", + teicorpus = "application/tei+xml", + tex = "application/tex", + texi = "application/texinfo", + texinfo = "application/texinfo", + text = "text/plain", + tf = "text/hcl", + tfi = "application/thraud+xml", + tfm = "application/tex-tfm", + tfrc = "text/hcl", + tfstate = "application/json", + tfvars = "text/hcl", + tga = "image/tga", + thmx = "application/ms-officetheme", + tif = "image/tiff", + tiff = "image/tiff", + tmo = "application/tmobile-livetv", + toml = "text/toml", + torrent = "application/bittorrent", + tpl = "application/groove-tool-template", + tpt = "application/trid.tpt", + tr = "text/troff", + tra = "application/trueapp", + trm = "application/msterminal", + ts = "text/typescript", + tsd = "application/timestamped-data", + tsv = "text/tab-separated-values", + tsx = "text/tsx", + ttc = "font/collection", + ttf = "font/ttf", + ttl = "text/turtle", + twd = "application/simtech-mindmapper", + twds = "application/simtech-mindmapper", + txd = "application/genomatix.tuxedo", + txf = "application/mobius.txf", + txt = "text/plain", + u32 = "application/authorware-bin", + udeb = "application/debian-package", + ufd = "application/ufdl", + ufdl = "application/ufdl", + ulx = "application/glulx", + umj = "application/umajin", + unityweb = "application/unity", + uoml = "application/uoml+xml", + uri = "text/uri-list", + uris = "text/uri-list", + urls = "text/uri-list", + ustar = "application/ustar", + utz = "application/uiq.theme", + uu = "text/uuencode", + uva = "audio/dece.audio", + uvd = "application/dece.data", + uvf = "application/dece.data", + uvg = "image/dece.graphic", + uvh = "video/dece.hd", + uvi = "image/dece.graphic", + uvm = "video/dece.mobile", + uvp = "video/dece.pd", + uvs = "video/dece.sd", + uvt = "application/dece.ttml+xml", + uvu = "video/uvvu.mp4", + uvv = "video/dece.video", + uvva = "audio/dece.audio", + uvvd = "application/dece.data", + uvvf = "application/dece.data", + uvvg = "image/dece.graphic", + uvvh = "video/dece.hd", + uvvi = "image/dece.graphic", + uvvm = "video/dece.mobile", + uvvp = "video/dece.pd", + uvvs = "video/dece.sd", + uvvt = "application/dece.ttml+xml", + uvvu = "video/uvvu.mp4", + uvvv = "video/dece.video", + uvvx = "application/dece.unspecified", + uvvz = "application/dece.zip", + uvx = "application/dece.unspecified", + uvz = "application/dece.zip", + vcard = "text/vcard", + vcd = "application/cdlink", + vcf = "text/vcard", + vcg = "application/groove-vcard", + vcs = "text/vcalendar", + vcx = "application/vcx", + vis = "application/visionary", + viv = "video/vivo", + vob = "video/ms-vob", + vor = "application/stardivision.writer", + vox = "application/authorware-bin", + vrml = "model/vrml", + vsd = "application/visio", + vsf = "application/vsf", + vss = "application/visio", + vst = "application/visio", + vsw = "application/visio", + vtu = "model/vtu", + vxml = "application/voicexml+xml", + w3d = "application/director", + wad = "application/doom", + wasm = "application/wasm", + wav = "audio/wav", + wax = "audio/ms-wax", + wbmp = "image/wap.wbmp", + wbs = "application/criticaltools.wbs+xml", + wbxml = "application/wap.wbxml", + wcm = "application/ms-works", + wdb = "application/ms-works", + wdp = "image/ms-photo", + weba = "audio/webm", + webm = "video/webm", + webp = "image/webp", + wg = "application/pmi.widget", + wgt = "application/widget", + wks = "application/ms-works", + wm = "video/ms-wm", + wma = "audio/ms-wma", + wmd = "application/ms-wmd", + wmf = "application/msmetafile", + wml = "text/wap.wml", + wmlc = "application/wap.wmlc", + wmls = "text/wap.wmlscript", + wmlsc = "application/wap.wmlscriptc", + wmv = "video/ms-wmv", + wmx = "video/ms-wmx", + wmz = "application/ms-wmz", + woff = "font/woff", + woff2 = "font/woff2", + wpd = "application/wordperfect", + wpl = "application/ms-wpl", + wps = "application/ms-works", + wqd = "application/wqd", + wri = "application/mswrite", + wrl = "model/vrml", + wsdl = "application/wsdl+xml", + wspolicy = "application/wspolicy+xml", + wtb = "application/webturbo", + wvx = "video/ms-wvx", + x32 = "application/authorware-bin", + x3d = "model/x3d+xml", + x3db = "model/x3d+binary", + x3dbz = "model/x3d+binary", + x3dv = "model/x3d+vrml", + x3dvz = "model/x3d+vrml", + x3dz = "model/x3d+xml", + xaml = "application/xaml+xml", + xap = "application/silverlight-app", + xar = "application/xara", + xbap = "application/ms-xbap", + xbd = "application/fujixerox.docuworks.binder", + xbm = "image/xbitmap", + xdf = "application/xcap-diff+xml", + xdm = "application/syncml.dm+xml", + xdp = "application/adobe.xdp+xml", + xdssc = "application/dssc+xml", + xdw = "application/fujixerox.docuworks", + xenc = "application/xenc+xml", + xer = "application/patch-ops-error+xml", + xfdf = "application/adobe.xfdf", + xfdl = "application/xfdl", + xht = "application/xhtml+xml", + xhtml = "application/xhtml+xml", + xhvml = "application/xv+xml", + xif = "image/xiff", + xla = "application/ms-excel", + xlam = "application/ms-excel.addin.macroenabled.12", + xlc = "application/ms-excel", + xlf = "application/xliff+xml", + xlm = "application/ms-excel", + xls = "application/ms-excel", + xlsb = "application/ms-excel.sheet.binary.macroenabled.12", + xlsm = "application/ms-excel.sheet.macroenabled.12", + xlsx = "application/openxmlformats-officedocument.spreadsheetml.sheet", + xlt = "application/ms-excel", + xltm = "application/ms-excel.template.macroenabled.12", + xltx = "application/openxmlformats-officedocument.spreadsheetml.template", + xlw = "application/ms-excel", + xm = "audio/xm", + xml = "application/xml", + xo = "application/olpc-sugar", + xop = "application/xop+xml", + xpak = "application/gentoo.xpak", + xpi = "application/xpinstall", + xpl = "application/xproc+xml", + xpm = "image/xpixmap", + xpr = "application/is-xpr", + xps = "application/ms-xpsdocument", + xpw = "application/intercon.formnet", + xpx = "application/intercon.formnet", + xsl = "application/xml", + xslt = "application/xslt+xml", + xsm = "application/syncml+xml", + xspf = "application/xspf+xml", + xul = "application/mozilla.xul+xml", + xvm = "application/xv+xml", + xvml = "application/xv+xml", + xwd = "image/xwindowdump", + xyz = "chemical/xyz", + xz = "application/xz", + yaml = "text/yaml", + yang = "application/yang", + yin = "application/yin+xml", + yml = "text/yaml", + z1 = "application/zmachine", + z2 = "application/zmachine", + z3 = "application/zmachine", + z4 = "application/zmachine", + z5 = "application/zmachine", + z6 = "application/zmachine", + z7 = "application/zmachine", + z8 = "application/zmachine", + zaz = "application/zzazz.deck+xml", + zip = "application/zip", + zir = "application/zul", + zirz = "application/zul", + zmm = "application/handheld-entertainment+xml", + zsh = "text/shellscript", +} + +local options = ya.sync( + function(st) + return { + with_files = st.with_files, + with_exts = st.with_exts, + fallback_file1 = st.fallback_file1, + } + end +) + +local M = {} + +function M:setup(opts) + opts = opts or {} + + self.with_files = opts.with_files + self.with_exts = opts.with_exts + self.fallback_file1 = opts.fallback_file1 +end + +function M:fetch(job) + local opts = options() + local merged_files = ya.dict_merge(FILES, opts.with_files or {}) + local merged_exts = ya.dict_merge(EXTS, opts.with_exts or {}) + + local updates, unknown, state = {}, {}, {} + for i, file in ipairs(job.files) do + if file.cha.is_dummy then + state[i] = false + goto continue + end + + local mime + if file.cha.len == 0 then + mime = "inode/empty" + else + mime = merged_files[(file.url.name or ""):lower()] + mime = mime or merged_exts[(file.url.ext or ""):lower()] + end + + if mime then + updates[tostring(file.url)], state[i] = mime, true + elseif opts.fallback_file1 then + unknown[#unknown + 1] = file + else + updates[tostring(file.url)], state[i] = "application/octet-stream", true + end + ::continue:: + end + + if next(updates) then + ya.emit("update_mimes", { updates = updates }) + end + + if #unknown > 0 then + return self.fallback_builtin(job, unknown, state) + end + + return state +end + +function M.fallback_builtin(job, unknown, state) + local indices = {} + for i, f in ipairs(job.files) do + indices[f:hash()] = i + end + + local result = require("mime"):fetch(ya.dict_merge(job, { files = unknown })) + for i, f in ipairs(unknown) do + if type(result) == "table" then + state[indices[f:hash()]] = result[i] + else + state[indices[f:hash()]] = result + end + end + return state +end + +return M diff --git a/mac/.config/yazi/plugins.bak/mount.yazi/README.md b/mac/.config/yazi/plugins.bak/mount.yazi/README.md new file mode 100644 index 0000000..b35881f --- /dev/null +++ b/mac/.config/yazi/plugins.bak/mount.yazi/README.md @@ -0,0 +1,48 @@ +# mount.yazi + +A mount manager for Yazi, providing disk mount, unmount, and eject functionality. + +Supported platforms: + +- Linux with [`udisksctl`](https://github.com/storaged-project/udisks), `lsblk` and `eject` both provided by [`util-linux`](https://github.com/util-linux/util-linux) +- macOS with `diskutil`, which is pre-installed + +https://github.com/user-attachments/assets/c6f780ab-458b-420f-85cf-2fc45fcfe3a2 + +## Installation + +```sh +ya pkg add yazi-rs/plugins:mount +``` + +## Usage + +Add this to your `~/.config/yazi/keymap.toml`: + +```toml +[[mgr.prepend_keymap]] +on = "M" +run = "plugin mount" +``` + +Available keybindings: + +| Key binding | Alternate key | Action | +| ------------ | ------------- | --------------------- | +| <kbd>q</kbd> | - | Quit the plugin | +| <kbd>k</kbd> | <kbd>↑</kbd> | Move up | +| <kbd>j</kbd> | <kbd>↓</kbd> | Move down | +| <kbd>l</kbd> | <kbd>→</kbd> | Enter the mount point | +| <kbd>m</kbd> | - | Mount the partition | +| <kbd>u</kbd> | - | Unmount the partition | +| <kbd>e</kbd> | - | Eject the disk | + +## TODO + +- Custom keybindings +- Windows support (I don't use Windows myself, PRs welcome!) +- Support mount, unmount, and eject the entire disk + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/mount.yazi/main.lua b/mac/.config/yazi/plugins.bak/mount.yazi/main.lua new file mode 100644 index 0000000..31c2e28 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/mount.yazi/main.lua @@ -0,0 +1,304 @@ +--- @since 25.5.31 + +local toggle_ui = ya.sync(function(self) + if self.children then + Modal:children_remove(self.children) + self.children = nil + else + self.children = Modal:children_add(self, 10) + end + -- TODO: remove this + if ui.render then + ui.render() + else + ya.render() + end +end) + +local subscribe = ya.sync(function(self) + ps.unsub("mount") + ps.sub("mount", function() ya.emit("plugin", { self._id, "refresh" }) end) +end) + +local update_partitions = ya.sync(function(self, partitions) + self.partitions = partitions + self.cursor = math.max(0, math.min(self.cursor or 0, #self.partitions - 1)) + -- TODO: remove this + if ui.render then + ui.render() + else + ya.render() + end +end) + +local active_partition = ya.sync(function(self) return self.partitions[self.cursor + 1] end) + +local update_cursor = ya.sync(function(self, cursor) + if #self.partitions == 0 then + self.cursor = 0 + else + self.cursor = ya.clamp(0, self.cursor + cursor, #self.partitions - 1) + end + -- TODO: remove this + if ui.render then + ui.render() + else + ya.render() + end +end) + +local M = { + keys = { + { on = "q", run = "quit" }, + + { on = "k", run = "up" }, + { on = "j", run = "down" }, + { on = "l", run = { "enter", "quit" } }, + + { on = "<Up>", run = "up" }, + { on = "<Down>", run = "down" }, + { on = "<Right>", run = { "enter", "quit" } }, + + { on = "m", run = "mount" }, + { on = "u", run = "unmount" }, + { on = "e", run = "eject" }, + }, +} + +function M:new(area) + self:layout(area) + return self +end + +function M:layout(area) + local chunks = ui.Layout() + :constraints({ + ui.Constraint.Percentage(10), + ui.Constraint.Percentage(80), + ui.Constraint.Percentage(10), + }) + :split(area) + + local chunks = ui.Layout() + :direction(ui.Layout.HORIZONTAL) + :constraints({ + ui.Constraint.Percentage(10), + ui.Constraint.Percentage(80), + ui.Constraint.Percentage(10), + }) + :split(chunks[2]) + + self._area = chunks[2] +end + +function M:entry(job) + if job.args[1] == "refresh" then + return update_partitions(self.obtain()) + end + + toggle_ui() + update_partitions(self.obtain()) + subscribe() + + local tx1, rx1 = ya.chan("mpsc") + local tx2, rx2 = ya.chan("mpsc") + function producer() + while true do + local cand = self.keys[ya.which { cands = self.keys, silent = true }] or { run = {} } + for _, r in ipairs(type(cand.run) == "table" and cand.run or { cand.run }) do + tx1:send(r) + if r == "quit" then + toggle_ui() + return + end + end + end + end + + function consumer1() + repeat + local run = rx1:recv() + if run == "quit" then + tx2:send(run) + break + elseif run == "up" then + update_cursor(-1) + elseif run == "down" then + update_cursor(1) + elseif run == "enter" then + local active = active_partition() + if active and active.dist then + ya.emit("cd", { active.dist }) + end + else + tx2:send(run) + end + until not run + end + + function consumer2() + repeat + local run = rx2:recv() + if run == "quit" then + break + elseif run == "mount" then + self.operate("mount") + elseif run == "unmount" then + self.operate("unmount") + elseif run == "eject" then + self.operate("eject") + end + until not run + end + + ya.join(producer, consumer1, consumer2) +end + +function M:reflow() return { self } end + +function M:redraw() + local rows = {} + for _, p in ipairs(self.partitions or {}) do + if not p.sub then + rows[#rows + 1] = ui.Row { p.main } + elseif p.sub == "" then + rows[#rows + 1] = ui.Row { p.main, p.label or "", p.dist or "", p.fstype or "" } + else + rows[#rows + 1] = ui.Row { " " .. p.sub, p.label or "", p.dist or "", p.fstype or "" } + end + end + + return { + ui.Clear(self._area), + ui.Border(ui.Edge.ALL) + :area(self._area) + :type(ui.Border.ROUNDED) + :style(ui.Style():fg("blue")) + :title(ui.Line("Mount"):align(ui.Align.CENTER)), + ui.Table(rows) + :area(self._area:pad(ui.Pad(1, 2, 1, 2))) + :header(ui.Row({ "Src", "Label", "Dist", "FSType" }):style(ui.Style():bold())) + :row(self.cursor) + :row_style(ui.Style():fg("blue"):underline()) + :widths { + ui.Constraint.Length(20), + ui.Constraint.Length(20), + ui.Constraint.Percentage(70), + ui.Constraint.Length(10), + }, + } +end + +function M.obtain() + local tbl = {} + local last + for _, p in ipairs(fs.partitions()) do + local main, sub = M.split(p.src) + if main and last ~= main then + if p.src == main then + last, p.main, p.sub, tbl[#tbl + 1] = p.src, p.src, "", p + else + last, tbl[#tbl + 1] = main, { src = main, main = main, sub = "" } + end + end + if sub then + if tbl[#tbl].sub == "" and tbl[#tbl].main == main then + tbl[#tbl].sub = nil + end + p.main, p.sub, tbl[#tbl + 1] = main, sub, p + end + end + table.sort(M.fillin(tbl), function(a, b) + if a.main == b.main then + return (a.sub or "") < (b.sub or "") + else + return a.main > b.main + end + end) + return tbl +end + +function M.split(src) + local pats = { + { "^/dev/sd[a-z]", "%d+$" }, -- /dev/sda1 + { "^/dev/nvme%d+n%d+", "p%d+$" }, -- /dev/nvme0n1p1 + { "^/dev/mmcblk%d+", "p%d+$" }, -- /dev/mmcblk0p1 + { "^/dev/disk%d+", ".+$" }, -- /dev/disk1s1 + { "^/dev/sr%d+", ".+$" }, -- /dev/sr0 + } + for _, p in ipairs(pats) do + local main = src:match(p[1]) + if main then + return main, src:sub(#main + 1):match(p[2]) + end + end +end + +function M.fillin(tbl) + if ya.target_os() ~= "linux" then + return tbl + end + + local sources, indices = {}, {} + for i, p in ipairs(tbl) do + if p.sub and not p.fstype then + sources[#sources + 1], indices[p.src] = p.src, i + end + end + if #sources == 0 then + return tbl + end + + local output, err = Command("lsblk"):arg({ "-p", "-o", "name,fstype", "-J" }):arg(sources):output() + if err then + ya.dbg("Failed to fetch filesystem types for unmounted partitions: " .. err) + return tbl + end + + local t = ya.json_decode(output and output.stdout or "") + for _, p in ipairs(t and t.blockdevices or {}) do + tbl[indices[p.name]].fstype = p.fstype + end + return tbl +end + +function M.operate(type) + local active = active_partition() + if not active then + return + elseif not active.sub then + return -- TODO: mount/unmount main disk + end + + local output, err + if ya.target_os() == "macos" then + output, err = Command("diskutil"):arg({ type, active.src }):output() + end + if ya.target_os() == "linux" then + if type == "eject" and active.src:match("^/dev/sr%d+") then + Command("udisksctl"):arg({ "unmount", "-b", active.src }):status() + output, err = Command("eject"):arg({ "--traytoggle", active.src }):output() + elseif type == "eject" then + Command("udisksctl"):arg({ "unmount", "-b", active.src }):status() + output, err = Command("udisksctl"):arg({ "power-off", "-b", active.src }):output() + else + output, err = Command("udisksctl"):arg({ type, "-b", active.src }):output() + end + end + + if not output then + M.fail("Failed to %s `%s`: %s", type, active.src, err) + elseif not output.status.success then + M.fail("Failed to %s `%s`: %s", type, active.src, output.stderr) + end +end + +function M.fail(...) ya.notify { title = "Mount", content = string.format(...), timeout = 10, level = "error" } end + +function M:click() end + +function M:scroll() end + +function M:touch() end + +return M diff --git a/mac/.config/yazi/plugins.bak/piper.yazi/README.md b/mac/.config/yazi/plugins.bak/piper.yazi/README.md new file mode 100644 index 0000000..1cb238f --- /dev/null +++ b/mac/.config/yazi/plugins.bak/piper.yazi/README.md @@ -0,0 +1,90 @@ +# piper.yazi + +Pipe any shell command as a previewer. + +## Installation + +```sh +ya pkg add yazi-rs/plugins:piper +``` + +## Usage + +Piper is a general-purpose previewer - you can pass any shell command to `piper` and it will use the command's output as the preview content. + +It accepts a string parameter, which is the shell command to be executed, for example: + +```toml +# ~/.config/yazi/yazi.toml +[[plugin.prepend_previewers]] +name = "*" +run = 'piper -- echo "$1"' +``` + +This will set `piper` as the previewer for all file types and use `$1` (file path) as the preview content. + +## Variables + +Available variables: + +- `$w`: the width of the preview area. +- `$h`: the height of the preview area. +- `$1`: the path to the file being previewed. + +## Examples + +Here are some configuration examples: + +### Preview tarballs with [`tar`](https://man7.org/linux/man-pages/man1/tar.1.html) + +```toml +[[plugin.prepend_previewers]] +name = "*.tar*" +run = 'piper --format=url -- tar tf "$1"' +``` + +In this example, `--format=url` tells `piper` to parse the `tar` output as file URLs, so you'll be able to get a list of files with icons. + +### Preview CSV with [`bat`](https://github.com/sharkdp/bat) + +```toml +[[plugin.prepend_previewers]] +name = "*.csv" +run = 'piper -- bat -p --color=always "$1"' +``` + +Note that certain distributions might use a different name for `bat`, like Debian and Ubuntu uses `batcat` instead, so please adjust accordingly. + +### Preview Markdown with [`glow`](https://github.com/charmbracelet/glow) + +```toml +[[plugin.prepend_previewers]] +name = "*.md" +run = 'piper -- CLICOLOR_FORCE=1 glow -w=$w -s=dark "$1"' +``` + +Note that there's [a bug in Glow v2.0](https://github.com/charmbracelet/glow/issues/440#issuecomment-2307992634) that causes slight color differences between tty and non-tty environments. + +### Preview directory tree with [`eza`](https://github.com/eza-community/eza) + +```toml +[[plugin.prepend_previewers]] +name = "*/" +run = 'piper -- eza -TL=3 --color=always --icons=always --group-directories-first --no-quotes "$1"' +``` + +### Use [`hexyl`](https://github.com/sharkdp/hexyl) as fallback previewer + +Yazi defaults to using [`file -bL "$1"`](https://github.com/sxyazi/yazi/blob/main/yazi-plugin/preset/plugins/file.lua) if there's no matched previewer. + +This example uses `hexyl` as a fallback previewer instead of `file`. + +```toml +[[plugin.append_previewers]] +name = "*" +run = 'piper -- hexyl --border=none --terminal-width=$w "$1"' +``` + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/piper.yazi/main.lua b/mac/.config/yazi/plugins.bak/piper.yazi/main.lua new file mode 100644 index 0000000..aef08eb --- /dev/null +++ b/mac/.config/yazi/plugins.bak/piper.yazi/main.lua @@ -0,0 +1,70 @@ +--- @since 25.5.31 + +local M = {} + +local function fail(job, s) ya.preview_widget(job, ui.Text.parse(s):area(job.area):wrap(ui.Wrap.YES)) end + +function M:peek(job) + local child, err = Command("sh") + :arg({ "-c", job.args[1], "sh", tostring(job.file.url) }) + :env("w", job.area.w) + :env("h", job.area.h) + :stdout(Command.PIPED) + :stderr(Command.PIPED) + :spawn() + + if not child then + return fail(job, "sh: " .. err) + end + + local limit = job.area.h + local i, outs, errs = 0, {}, {} + repeat + local next, event = child:read_line() + if event == 1 then + errs[#errs + 1] = next + elseif event ~= 0 then + break + end + + i = i + 1 + if i > job.skip then + outs[#outs + 1] = next + end + until i >= job.skip + limit + + child:start_kill() + if #errs > 0 then + fail(job, table.concat(errs, "")) + elseif job.skip > 0 and i < job.skip + limit then + ya.emit("peek", { math.max(0, i - limit), only_if = job.file.url, upper_bound = true }) + else + ya.preview_widget(job, M.format(job, outs)) + end +end + +function M:seek(job) require("code"):seek(job) end + +function M.format(job, lines) + local format = job.args.format + if format ~= "url" then + local s = table.concat(lines, ""):gsub("\r", ""):gsub("\t", string.rep(" ", rt.preview.tab_size)) + return ui.Text.parse(s):area(job.area) + end + + for i = 1, #lines do + lines[i] = lines[i]:gsub("[\r\n]+$", "") + + local icon = File({ + url = Url(lines[i]), + cha = Cha { kind = lines[i]:sub(-1) == "/" and 1 or 0 }, + }):icon() + + if icon then + lines[i] = ui.Line { ui.Span(" " .. icon.text .. " "):style(icon.style), lines[i] } + end + end + return ui.Text(lines):area(job.area) +end + +return M diff --git a/mac/.config/yazi/plugins.bak/smart-enter.yazi/README.md b/mac/.config/yazi/plugins.bak/smart-enter.yazi/README.md new file mode 100644 index 0000000..742f2e1 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/smart-enter.yazi/README.md @@ -0,0 +1,40 @@ +# smart-enter.yazi + +[`Open`][open] files or [`enter`][enter] directories all in one key! + +## Installation + +```sh +ya pkg add yazi-rs/plugins:smart-enter +``` + +## Usage + +Bind your <kbd>l</kbd> key to the plugin, in your `~/.config/yazi/keymap.toml`: + +```toml +[[mgr.prepend_keymap]] +on = "l" +run = "plugin smart-enter" +desc = "Enter the child directory, or open the file" +``` + +## Advanced + +By default, `--hovered` is passed to the [`open`][open] command, make the behavior consistent with [`enter`][enter] avoiding accidental triggers, +which means both will only target the currently hovered file. + +If you still want `open` to target multiple selected files, add this to your `~/.config/yazi/init.lua`: + +```lua +require("smart-enter"):setup { + open_multi = true, +} +``` + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. + +[open]: https://yazi-rs.github.io/docs/configuration/keymap/#mgr.open +[enter]: https://yazi-rs.github.io/docs/configuration/keymap/#mgr.enter diff --git a/mac/.config/yazi/plugins.bak/smart-enter.yazi/main.lua b/mac/.config/yazi/plugins.bak/smart-enter.yazi/main.lua new file mode 100644 index 0000000..e9e2ec6 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/smart-enter.yazi/main.lua @@ -0,0 +1,11 @@ +--- @since 25.5.31 +--- @sync entry + +local function setup(self, opts) self.open_multi = opts.open_multi end + +local function entry(self) + local h = cx.active.current.hovered + ya.emit(h and h.cha.is_dir and "enter" or "open", { hovered = not self.open_multi }) +end + +return { entry = entry, setup = setup } diff --git a/mac/.config/yazi/plugins.bak/smart-filter.yazi/README.md b/mac/.config/yazi/plugins.bak/smart-filter.yazi/README.md new file mode 100644 index 0000000..97be2ac --- /dev/null +++ b/mac/.config/yazi/plugins.bak/smart-filter.yazi/README.md @@ -0,0 +1,28 @@ +# smart-filter.yazi + +A Yazi plugin that makes filters smarter: continuous filtering, automatically enter unique directory, open file on submitting. + +https://github.com/yazi-rs/plugins/assets/17523360/72aaf117-1378-4f7e-93ba-d425a79deac5 + +## Installation + +```sh +ya pkg add yazi-rs/plugins:smart-filter +``` + +## Usage + +Add this to your `~/.config/yazi/keymap.toml`: + +```toml +[[mgr.prepend_keymap]] +on = "F" +run = "plugin smart-filter" +desc = "Smart filter" +``` + +Make sure the <kbd>F</kbd> key is not used elsewhere. + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/smart-filter.yazi/main.lua b/mac/.config/yazi/plugins.bak/smart-filter.yazi/main.lua new file mode 100644 index 0000000..146e265 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/smart-filter.yazi/main.lua @@ -0,0 +1,51 @@ +--- @since 25.5.31 + +local hovered = ya.sync(function() + local h = cx.active.current.hovered + if not h then + return {} + end + + return { + url = h.url, + is_dir = h.cha.is_dir, + unique = #cx.active.current.files == 1, + } +end) + +local function prompt() + return ya.input { + title = "Smart filter:", + pos = { "center", w = 50 }, + position = { "center", w = 50 }, -- TODO: remove + realtime = true, + debounce = 0.1, + } +end + +local function entry() + local input = prompt() + + while true do + local value, event = input:recv() + if event ~= 1 and event ~= 3 then + ya.emit("escape", { filter = true }) + break + end + + ya.emit("filter_do", { value, smart = true }) + + local h = hovered() + if h.unique and h.is_dir then + ya.emit("escape", { filter = true }) + ya.emit("enter", {}) + input = prompt() + elseif event == 1 then + ya.emit("escape", { filter = true }) + ya.emit(h.is_dir and "enter" or "open", { h.url }) + break + end + end +end + +return { entry = entry } diff --git a/mac/.config/yazi/plugins.bak/smart-paste.yazi/LICENSE b/mac/.config/yazi/plugins.bak/smart-paste.yazi/LICENSE new file mode 100644 index 0000000..ea5b606 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/smart-paste.yazi/LICENSE @@ -0,0 +1 @@ +../LICENSE
\ No newline at end of file diff --git a/mac/.config/yazi/plugins.bak/smart-paste.yazi/README.md b/mac/.config/yazi/plugins.bak/smart-paste.yazi/README.md new file mode 100644 index 0000000..b32f475 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/smart-paste.yazi/README.md @@ -0,0 +1,26 @@ +# smart-paste.yazi + +Paste files into the hovered directory or to the CWD if hovering over a file. + +https://github.com/user-attachments/assets/b3f6348e-abbe-42fe-9a67-a96e68f11255 + +## Installation + +```sh +ya pkg add yazi-rs/plugins:smart-paste +``` + +## Usage + +Add this to your `~/.config/yazi/keymap.toml`: + +```toml +[[mgr.prepend_keymap]] +on = "p" +run = "plugin smart-paste" +desc = "Paste into the hovered directory or CWD" +``` + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/smart-paste.yazi/main.lua b/mac/.config/yazi/plugins.bak/smart-paste.yazi/main.lua new file mode 100644 index 0000000..0837a4b --- /dev/null +++ b/mac/.config/yazi/plugins.bak/smart-paste.yazi/main.lua @@ -0,0 +1,14 @@ +--- @since 25.5.31 +--- @sync entry +return { + entry = function() + local h = cx.active.current.hovered + if h and h.cha.is_dir then + ya.emit("enter", {}) + ya.emit("paste", {}) + ya.emit("leave", {}) + else + ya.emit("paste", {}) + end + end, +} diff --git a/mac/.config/yazi/plugins.bak/sudo-demo.yazi/README.md b/mac/.config/yazi/plugins.bak/sudo-demo.yazi/README.md new file mode 100644 index 0000000..8068691 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/sudo-demo.yazi/README.md @@ -0,0 +1,25 @@ +# sudo-demo.yazi + +Just an example showing how to use `sudo` in a Yazi plugin, and the plugin itself doesn't offer any features beyond logging a message. + +## Installation + +```sh +ya pkg add yazi-rs/plugins:sudo-demo +``` + +## Usage + +Add this to your `~/.config/yazi/keymap.toml`: + +```toml +[[mgr.prepend_keymap]] +on = "<C-t>" +run = "plugin sudo-demo" +``` + +Press <kbd>Ctrl</kbd> + <kbd>t</kbd> to run the plugin, you should [see a message in the log](https://yazi-rs.github.io/docs/plugins/overview#logging). + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/sudo-demo.yazi/main.lua b/mac/.config/yazi/plugins.bak/sudo-demo.yazi/main.lua new file mode 100644 index 0000000..599afe4 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/sudo-demo.yazi/main.lua @@ -0,0 +1,45 @@ +--- @since 25.5.31 + +--- Verify if `sudo` is already authenticated +--- @return boolean +local function sudo_already() + local status = Command("sudo"):arg({ "--validate", "--non-interactive" }):status() + assert(status, "Failed to run `sudo --validate --non-interactive`") + return status.success +end + +--- Run a program with `sudo` privilege +--- @param program string +--- @param args table +--- @return Output|nil output +--- @return integer|nil err +--- nil: no error +--- 1: sudo failed +local function run_with_sudo(program, args) + local cmd = Command("sudo"):arg(program):arg(args) + if sudo_already() then + return cmd:output() + end + + local permit = ui.hide and ui.hide() or ya.hide() -- TODO: remove this + print(string.format("Sudo password required to run: `%s %s`", program, table.concat(args))) + local output = cmd:output() + permit:drop() + + if output.status.success or sudo_already() then + return output + end + return nil, 1 +end + +return { + entry = function() + local output = run_with_sudo("ls", { "-l" }) + if not output then + return ya.err("Failed to run `sudo ls -l`") + end + + ya.err("stdout", output.stdout) + ya.err("status.code", output.status.code) + end, +} diff --git a/mac/.config/yazi/plugins.bak/toggle-pane.yazi/README.md b/mac/.config/yazi/plugins.bak/toggle-pane.yazi/README.md new file mode 100644 index 0000000..3ef4095 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/toggle-pane.yazi/README.md @@ -0,0 +1,78 @@ +# toggle-pane.yazi + +Toggle the show, hide, and maximize states for different panes: parent, current, and preview. It respects the user's [`ratio` settings](https://yazi-rs.github.io/docs/configuration/yazi#mgr.ratio)! + +Assume the user's `ratio` is $$[A, B, C]$$, that is, $$\text{parent}=A, \text{current}=B, \text{preview}=C$$: + +- `min-parent`: Toggles between $$0$$ and $$A$$ - the parent is either completely hidden or showed with width $$A$$. +- `max-parent`: Toggles between $$A$$ and $$\infty$$ - the parent is either showed with width $$A$$ or fills the entire screen. +- `min-current`: Toggles between $$0$$ and $$B$$ - the current is either completely hidden or showed with width $$B$$. +- `max-current`: Toggles between $$B$$ and $$\infty$$ - the current is either showed with width $$B$$ or fills the entire screen. +- `min-preview`: Toggles between $$0$$ and $$C$$ - the preview is either completely hidden or showed with width $$C$$. +- `max-preview`: Toggles between $$C$$ and $$\infty$$ - the preview is either showed with width $$C$$ or fills the entire screen. +- `reset`: Resets to the user's configured `ratio`. + +## Installation + +```sh +ya pkg add yazi-rs/plugins:toggle-pane +``` + +## Usage + +Hide/Show preview: + +```toml +# keymap.toml +[[mgr.prepend_keymap]] +on = "T" +run = "plugin toggle-pane min-preview" +desc = "Show or hide the preview pane" +``` + +Maximize/Restore preview: + +```toml +# keymap.toml +[[mgr.prepend_keymap]] +on = "T" +run = "plugin toggle-pane max-preview" +desc = "Maximize or restore the preview pane" +``` + +You can replace `preview` with `current` or `parent` to toggle the other panes. + +## Advanced + +In addition to triggering the plugin with a keypress, you can also trigger it in your `init.lua` file: + +```lua +if os.getenv("NVIM") then + require("toggle-pane"):entry("min-preview") +end +``` + +In the example above, when it detects that you're [using Yazi in nvim](https://yazi-rs.github.io/docs/resources#vim), the preview is hidden by default — you can always press `T` (or any key you've bound) to show it again. + +## Tips + +This plugin only maximizes the "available preview area", without actually changing the content size. + +This means that the appearance of your preview largely depends on the previewer you are using. +However, most previewers tend to make the most of the available space, so this usually isn't an issue. + +For image previews, you may want to tune up the [`max_width`][max-width] and [`max_height`][max-height] options in your `yazi.toml`: + +```toml +[preview] +# Change them to your desired values +max_width = 1000 +max_height = 1000 +``` + +[max-width]: https://yazi-rs.github.io/docs/configuration/yazi/#preview.max_width +[max-height]: https://yazi-rs.github.io/docs/configuration/yazi/#preview.max_height + +## License + +This plugin is MIT-licensed. For more information, check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/toggle-pane.yazi/main.lua b/mac/.config/yazi/plugins.bak/toggle-pane.yazi/main.lua new file mode 100644 index 0000000..72bbf0e --- /dev/null +++ b/mac/.config/yazi/plugins.bak/toggle-pane.yazi/main.lua @@ -0,0 +1,45 @@ +--- @since 25.5.31 +--- @sync entry + +local function entry(st, job) + local R = rt.mgr.ratio + job = type(job) == "string" and { args = { job } } or job + + st.parent = st.parent or R.parent + st.current = st.current or R.current + st.preview = st.preview or R.preview + + local act, to = string.match(job.args[1] or "", "(.-)-(.+)") + if act == "min" then + st[to] = st[to] == R[to] and 0 or R[to] + elseif act == "max" then + local max = st[to] == 65535 and R[to] or 65535 + st.parent = st.parent == 65535 and R.parent or st.parent + st.current = st.current == 65535 and R.current or st.current + st.preview = st.preview == 65535 and R.preview or st.preview + st[to] = max + end + + if not st.old then + st.old = Tab.layout + Tab.layout = function(self) + local all = st.parent + st.current + st.preview + self._chunks = ui.Layout() + :direction(ui.Layout.HORIZONTAL) + :constraints({ + ui.Constraint.Ratio(st.parent, all), + ui.Constraint.Ratio(st.current, all), + ui.Constraint.Ratio(st.preview, all), + }) + :split(self._area) + end + end + + if not act then + Tab.layout, st.old = st.old, nil + st.parent, st.current, st.preview = nil, nil, nil + end + ya.emit("app:resize", {}) +end + +return { entry = entry } diff --git a/mac/.config/yazi/plugins.bak/zoom.yazi/README.md b/mac/.config/yazi/plugins.bak/zoom.yazi/README.md new file mode 100644 index 0000000..9be8025 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/zoom.yazi/README.md @@ -0,0 +1,56 @@ +> [!NOTE] +> The latest Yazi nightly build is required to use this plugin at the moment. + +# zoom.yazi + +Enlarge or shrink the preview image of a file, which is useful for magnifying small files for viewing. + +Supported formats: + +- Images - requires [ImageMagick](https://imagemagick.org/) (>= 7.1.1) + +Note that, the maximum size of enlarged images is limited by the [`max_width`][max_width] and [`max_height`][max_height] configuration options, so you may need to increase them as needed. + +https://github.com/user-attachments/assets/b28912b1-da63-43d3-a21f-b9e6767ed4a9 + +[max_width]: https://yazi-rs.github.io/docs/configuration/yazi#preview.max_width +[max_height]: https://yazi-rs.github.io/docs/configuration/yazi#preview.max_height + +## Installation + +```sh +ya pkg add yazi-rs/plugins:zoom +``` + +## Usage + +```toml +# keymap.toml +[[mgr.prepend_keymap]] +on = "+" +run = "plugin zoom 1" +desc = "Zoom in hovered file" + +[[mgr.prepend_keymap]] +on = "-" +run = "plugin zoom -1" +desc = "Zoom out hovered file" +``` + +## Advanced + +If you want to apply a default zoom parameter to image previews, you can specify it while setting this plugin up as a custom previewer, for example: + +```toml +[[plugin.prepend_previewers]] +mime = "image/{jpeg,png,webp}" +run = "zoom 5" +``` + +## TODO + +- [ ] Support more file types (e.g., videos, PDFs), PRs welcome! + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/zoom.yazi/main.lua b/mac/.config/yazi/plugins.bak/zoom.yazi/main.lua new file mode 100644 index 0000000..8aea0cd --- /dev/null +++ b/mac/.config/yazi/plugins.bak/zoom.yazi/main.lua @@ -0,0 +1,119 @@ +--- @since 25.6.11 + +local get = ya.sync(function(st, url) return st.last == url and st.level end) + +local save = ya.sync(function(st, url, new) + local h = cx.active.current.hovered + if h and h.url == url then + st.last, st.level = url, new + return true + end +end) + +local lock = ya.sync(function(st, url, old, new) + if st.last == url and st.level == old then + st.level = new + return true + end +end) + +local move = ya.sync(function(st) + local h = cx.active.current.hovered + if not h then + return + end + + if st.last ~= h.url then + st.last, st.level = Url(h.url), 0 + end + + return { url = h.url, level = st.level } +end) + +local function end_(job, err) + if not job.old_level then + ya.preview_widget(job, err and ui.Text(err):area(job.area):wrap(ui.Wrap.YES)) + elseif err then + ya.notify { title = "Zoom", content = tostring(err), timeout = 5, level = "error" } + end +end + +local function canvas(area) + local cw, ch = rt.term.cell_size() + if not cw then + return rt.preview.max_width, rt.preview.max_height + end + + return math.min(rt.preview.max_width, math.floor(area.w * cw)), + math.min(rt.preview.max_height, math.floor(area.h * ch)) +end + +local function peek(_, job) + local url = job.file.url + local info, err = ya.image_info(url) + if not info then + return end_(job, Err("Failed to get image info: %s", err)) + end + + local level = ya.clamp(-10, job.new_level or get(Url(url)) or tonumber(job.args[1]) or 0, 10) + local sync = function() + if job.old_level then + return lock(url, job.old_level, level) + else + return save(url, level) + end + end + + local max_w, max_h = canvas(job.area) + local min_w, min_h = math.min(max_w, info.w), math.min(max_h, info.h) + local new_w = min_w + math.floor(min_w * level * 0.1) + local new_h = min_h + math.floor(min_h * level * 0.1) + if new_w > max_w or new_h > max_h then + if job.old_level then + return sync() -- Image larger than available preview area after zooming + else + new_w, new_h = max_w, max_h -- Run as a previewer, render the image anyway + end + end + + local tmp = os.tmpname() + -- stylua: ignore + local status, err = Command("magick"):arg { + tostring(url), + "-auto-orient", "-strip", + "-sample", string.format("%dx%d", new_w, new_h), + "-quality", rt.preview.image_quality, + string.format("JPG:%s", tmp), + }:status() + + if not status then + end_(job, Err("Failed to run `magick` command: %s", err)) + elseif not status.success then + end_(job, Err("`magick` command exited with error code %d", status.code)) + elseif sync() then + ya.image_show(Url(tmp), job.area) + end + end_(job) +end + +local function entry(self, job) + local st = move() + if not st then + return + end + + local motion = tonumber(job.args[1]) or 0 + local new = ya.clamp(-10, st.level + motion, 10) + if new ~= st.level then + peek(self, { + area = ui.area("preview"), + args = {}, + file = { url = st.url }, -- FIXME: use `File` instead of a dummy file + skip = 0, + new_level = new, + old_level = st.level, + }) + end +end + +return { peek = peek, entry = entry } |
