[Build] Start refactor

This commit is contained in:
2026-02-02 16:01:56 +01:00
parent c38907ec39
commit 10a5c775be
561 changed files with 1936094 additions and 13878 deletions

View File

@@ -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.

View File

@@ -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.

View File

@@ -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 pack -a 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.

View File

@@ -0,0 +1,170 @@
# 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" }
# Tab
tab_active = { reversed = true }
tab_inactive = {}
tab_width = 1
# 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" }
# : }}}
# : 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 = "#ff5555", bg = "#63667d" }
# : }}}
# : 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", underline = 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" }
# : }}}
# : Notify {{{
[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
{ name = "*", fg = "#f8f8f2" },
{ name = "*/", fg = "#bd93f9" }
]
# : }}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 835 KiB

View File

@@ -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&#x2f;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>

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 - sxyazi
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.

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2022 Himanshu
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.

View File

@@ -0,0 +1,37 @@
<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">
Tokyo Night Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
</h3>
## 👀 Preview
<img src="preview.png" width="600" />
## 🎨 Installation
```bash
# Linux/macOS
git clone https://github.com/BennyOe/tokyo-night.yazi.git ~/.config/yazi/flavors/tokyo-night.yazi
# Windows
git clone https://github.com/BennyOe/tokyo-night.yazi.git %AppData%\yazi\config\flavors\tokyo-night.yazi
```
## ⚙️ Usage
Add the these lines to your `theme.toml` configuration file to use it:
```toml
[flavor]
use = "tokyo-night"
```
## 📜 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.

View File

@@ -0,0 +1,167 @@
# : Manager {{{
[mgr]
cwd = { fg = "#7aa2f7" } # Blue
# Hovered
hovered = { reversed = true }
preview_hovered = { underline = true }
# Find
find_keyword = { fg = "#f7768e", bold = true, italic = true, underline = true } # Red
find_position = { fg = "#bb9af7", bg = "reset", bold = true, italic = true } # Magenta
# Marker
marker_copied = { fg = "#9ece6a", bg = "#9ece6a" } # Green
marker_cut = { fg = "#e0af68", bg = "#f7768e" } # Red
marker_marked = { fg = "#7aa2f7", bg = "#7dcfff" } # Cyan
marker_selected = { fg = "#e0af68", bg = "#e0af68" } # Yellow
# Tab
tab_active = { bg = "#282C34", fg = "#7aa2f7" } # Darkened background, Blue text
tab_inactive = {}
tab_width = 1
# Count
count_copied = { fg = "#414868", bg = "#9ece6a" } # Darkened black on Green
count_cut = { fg = "#414868", bg = "#e0af68" } # Darkened black on Yellow
count_selected = { fg = "#414868", bg = "#7aa2f7" } # Darkened black on Blue
# Border
border_symbol = "│"
border_style = { fg = "#414868" } # Darkened black
# : }}}
# : Status {{{
[status]
separator_open = ""
separator_close = ""
separator_style = { fg = "#7aa2f7", bg = "#414868" } # Blue on Darkened black
# Mode
mode_normal = { fg = "#414868", bg = "#7aa2f7", bold = true } # Darkened black on Blue
mode_select = { fg = "#414868", bg = "#9ece6a", bold = true } # Darkened black on Green
mode_unset = { fg = "#414868", bg = "#bb9af7", bold = true } # Darkened black on Magenta
# Progress
progress_label = { fg = "#a9b1d6", bold = true } # White
progress_normal = { fg = "#7aa2f7", bg = "#414868" } # Blue on Darkened black
progress_error = { fg = "#f7768e", bg = "#414868" } # Red on Darkened black
# Permissions
permissions_t = { fg = "#7aa2f7" } # Blue
permissions_r = { fg = "#9ece6a" } # Green
permissions_w = { fg = "#e0af68" } # Yellow
permissions_x = { fg = "#f7768e" } # Red
permissions_s = { fg = "#bb9af7" } # Magenta
# : }}}
# : Select {{{
[select]
border = { fg = "#7aa2f7" } # Blue
active = { fg = "#bb9af7", bold = true } # Magenta
inactive = {}
# : }}}
# : Input {{{
[input]
border = { fg = "#7aa2f7" } # Blue
title = {}
value = {}
selected = { reversed = true }
# : }}}
# : Completion {{{
[completion]
border = { fg = "#7aa2f7" } # Blue
# : }}}
# : Tasks {{{
[tasks]
border = { fg = "#7aa2f7" } # Blue
title = {}
hovered = { fg = "#bb9af7", underline = true } # Magenta
# : }}}
# : Which {{{
[which]
mask = { bg = "#414868" } # Darkened black
cand = { fg = "#9ece6a" } # Green
rest = { fg = "#a9b1d6" } # White
desc = { fg = "#bb9af7" } # Magenta
separator = "  "
separator_style = { fg = "#626880" } # Darkened gray
# : }}}
# : Help {{{
[help]
on = { fg = "#9ece6a" } # Green
run = { fg = "#bb9af7" } # Magenta
hovered = { reversed = true, bold = true }
footer = { fg = "#a9b1d6", bg = "#c6d0f5" } # White on Light gray
# : }}}
# : Notify {{{
[notify]
title_info = { fg = "#9ece6a" } # Green
title_warn = { fg = "#f7768e" } # Red
title_error = { fg = "#e0af68" } # Yellow
# : }}}
# : File-specific styles {{{
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "#e0af68" }, # Yellow
# Media
{ mime = "video/*", fg = "#f7768e" }, # Red
{ mime = "audio/*", fg = "#f7768e" }, # Red
# Archives
{ mime = "application/zip", fg = "#bb9af7" }, # Magenta
{ mime = "application/x-tar", fg = "#bb9af7" }, # Magenta
{ mime = "application/x-bzip*", fg = "#bb9af7" }, # Magenta
{ mime = "application/x-bzip2", fg = "#bb9af7" }, # Magenta
{ mime = "application/x-7z-compressed", fg = "#bb9af7" }, # Magenta
{ mime = "application/x-rar", fg = "#bb9af7" }, # Magenta
{ mime = "application/x-xz", fg = "#bb9af7" }, # Magenta
# Documents
{ mime = "application/doc", fg = "#9ece6a" }, # Green
{ mime = "application/pdf", fg = "#9ece6a" }, # Green
{ mime = "application/rtf", fg = "#9ece6a" }, # Green
{ mime = "application/vnd.*", fg = "#9ece6a" }, # Green
# Fallback
{ name = "*", fg = "#c6d0f5" }, # Light gray
{ name = "*/", fg = "#7aa2f7" } # Blue
]
# : }}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 712 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Alexander Bays
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.

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Alexander Bays
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.

View File

@@ -0,0 +1,13 @@
# vscode-dark-modern
[themes/](../) · [vscode-dark-plus](../vscode-dark-plus.yazi/) · [vscode-light-modern](../vscode-light-modern.yazi/) · [vscode-light-plus](../vscode-light-plus.yazi/)
![vscode-dark-modern](./img/1.png)
![vscode-dark-modern](./img/2.png)
![vscode-dark-modern](./img/3.png)
![vscode-dark-modern](./img/4.png)
![vscode-dark-modern](./img/5.png)

View File

@@ -0,0 +1,186 @@
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
"$schema" = "https://yazi-rs.github.io/schemas/theme.json"
# vscode-dark-modern
# https://github.com/956MB/vscode.yazi/blob/main/themes/vscode-dark-modern/
#
# A theme inspired by Visual Studio Code's Dark Modern theme.
[mgr]
background = "#1F1F1F"
foreground = "#D4D4D4"
selection = "#264F78"
cursor = "#AEAFAD"
black = "#000000"
red = "#F44747"
green = "#6A9955"
yellow = "#D7BA7D"
blue = "#569CD6"
magenta = "#C586C0"
cyan = "#4EC9B0"
white = "#D4D4D4"
bright_black = "#808080"
bright_red = "#F44747"
bright_green = "#6A9955"
bright_yellow = "#DCDCAA"
bright_blue = "#569CD6"
bright_magenta = "#C586C0"
bright_cyan = "#4EC9B0"
bright_white = "#FFFFFF"
[manager]
cwd = { fg = "cyan" }
# Hovered
hovered = { fg = "#D4D4D4", bg = "#264F78" }
preview_hovered = { underline = true }
# Find
find_keyword = { fg = "#DCDCAA", bold = true, italic = true, underline = true }
find_position = { fg = "#C586C0", bg = "#1F1F1F", bold = true, italic = true }
# Marker
marker_copied = { fg = "#73C991", bg = "#73C991" }
marker_cut = { fg = "#F44747", bg = "#F44747" }
marker_marked = { fg = "#4EC9B0", bg = "#4EC9B0" }
marker_selected = { fg = "#D7BA7D", bg = "#D7BA7D" }
# Tab
tab_active = { fg = "#D4D4D4", bg = "#1F1F1F" }
tab_inactive = { fg = "#D4D4D4", bg = "#2D2D2D" }
tab_width = 1
# Count
count_copied = { fg = "#1F1F1F", bg = "#73C991" }
count_cut = { fg = "#1F1F1F", bg = "#F44747" }
count_selected = { fg = "#1F1F1F", bg = "#D7BA7D" }
# Border
border_symbol = "│"
border_style = { fg = "#444444" }
# Highlighting
syntect_theme = "./tmtheme.xml"
# Cursor
cursor_symbol = "█"
cursor = { fg = "#1F1F1F", bg = "#AEAFAD" }
# Executable
exe_symbol = ""
exe = { fg = "#4EC9B0", bg = "#1F1F1F" }
# Regular
file_symbol = ""
file = { }
# Directory
folder_symbol = ""
folder = { fg = "#569CD6", bg = "#1F1F1F" }
# Hidden
hidden_symbol = ""
hidden = { fg = "#808080" }
# Link
link_symbol = ""
link = { fg = "#4EC9B0", bg = "#1F1F1F" }
# Link (broken)
broken_symbol = ""
broken = { fg = "#F44747", bg = "#3A1212" }
# Selected
selected = { fg = "#FFFFFF", bg = "#264F78" }
[status]
separator_open = ""
separator_close = ""
separator_style = { fg = "#444444", bg = "#444444" }
# Mode
mode_normal = { fg = "#1F1F1F", bg = "#569CD6", bold = true }
mode_select = { fg = "#1F1F1F", bg = "#FFAF00", bold = true }
mode_unset = { fg = "#1F1F1F", bg = "#F44747", bold = true }
# Progress
progress_label = { bold = true }
progress_normal = { fg = "#569CD6", bg = "#1F1F1F" }
progress_error = { fg = "#F44747", bg = "#1F1F1F" }
# Permissions
permissions_t = { fg = "#6A9955" }
permissions_r = { fg = "#D7BA7D" }
permissions_w = { fg = "#F44747" }
permissions_x = { fg = "#4EC9B0" }
permissions_s = { fg = "#808080" }
[select]
border = { fg = "#569CD6" }
active = { fg = "#C586C0", bold = true }
inactive = {}
[input]
border = { fg = "#569CD6" }
title = {}
value = {}
selected = { reversed = true }
[completion]
border = { fg = "#569CD6" }
active = { bg = "#264F78" }
inactive = {}
# Icons
icon_file = ""
icon_folder = ""
icon_command = ""
[tasks]
border = { fg = "#569CD6" }
title = {}
hovered = { underline = true }
[which]
mask = { bg = "#1F1F1F" }
cand = { fg = "#4EC9B0" }
rest = { fg = "#808080" }
desc = { fg = "#C586C0" }
separator = " "
separator_style = { fg = "#808080" }
[help]
on = { fg = "#4EC9B0" }
run = { fg = "#C586C0" }
desc = { fg = "#D4D4D4" }
hovered = { bg = "#264F78", bold = true }
footer = { fg = "#D4D4D4", bg = "#252526" }
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "#D7BA7D" },
# Videos
{ mime = "video/*", fg = "#C586C0" },
# Audio
{ mime = "audio/*", fg = "#C586C0" },
# Archives
{ mime = "application/zip", fg = "#F44747" },
{ mime = "application/gzip", fg = "#F44747" },
{ mime = "application/x-tar", fg = "#F44747" },
{ mime = "application/x-bzip", fg = "#F44747" },
{ mime = "application/x-bzip2", fg = "#F44747" },
{ mime = "application/x-7z-compressed", fg = "#F44747" },
{ mime = "application/x-rar", fg = "#F44747" },
# Documents
{ mime = "application/pdf", fg = "#4EC9B0" },
{ mime = "application/msword", fg = "#4EC9B0" },
{ mime = "application/vnd.openxmlformats-officedocument.*", fg = "#4EC9B0" },
# Fallback
{ name = "*", fg = "#D4D4D4" },
{ name = "*/", fg = "#569CD6" },
# Executable
{ name = "*", category = "executable", fg = "#4EC9B0", bg = "#1F1F1F" },
# Directories
{ name = "*/", fg = "#569CD6", bg = "#1F1F1F" },
# Hidden files
{ name = ".*", fg = "#808080" },
# Symlinks
{ name = "*", category = "link", fg = "#4EC9B0", bg = "#1F1F1F" },
# Broken symlinks
{ name = "*", category = "broken", fg = "#F44747", bg = "#3A1212" },
]
[icon]
rules = [
{ name = "Desktop", text = "" },
{ name = "Documents", text = "" },
{ name = "Downloads", text = "" },
{ name = "Pictures", text = "" },
{ name = "Music", text = "" },
{ name = "Videos", text = "" },
{ name = ".git", text = "" },
{ name = ".config", text = "" },
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 KiB

View File

@@ -0,0 +1,250 @@
<?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>VSCode Dark Modern</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#1F1F1F</string>
<key>foreground</key>
<string>#D4D4D4</string>
<key>caret</key>
<string>#AEAFAD</string>
<key>invisibles</key>
<string>#6E7681</string>
<key>lineHighlight</key>
<string>#222222</string>
<key>selection</key>
<string>#264F78</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#6A9955</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#CE9178</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>#B5CEA8</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>#569CD6</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>#4FC1FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#9CDCFE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#C586C0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#569CD6</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage type</string>
<key>scope</key>
<string>storage.type</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#569CD6</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Class name</string>
<key>scope</key>
<string>entity.name.class</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#4EC9B0</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>foreground</key>
<string>#4EC9B0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function name</string>
<key>scope</key>
<string>entity.name.function</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#DCDCAA</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function argument</string>
<key>scope</key>
<string>variable.parameter</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#9CDCFE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#569CD6</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>foreground</key>
<string>#9CDCFE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#DCDCAA</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#4FC1FF</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>foreground</key>
<string>#4EC9B0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#F44747</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid deprecated</string>
<key>scope</key>
<string>invalid.deprecated</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#F44747</string>
</dict>
</dict>
</array>
<key>uuid</key>
<string>231D4441-F280-4D49-A647-E1FD7E84D1D8</string>
</dict>
</plist>

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Alexander Bays
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.

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Alexander Bays
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.

View File

@@ -0,0 +1,13 @@
# vscode-light-modern
[themes/](../) · [vscode-dark-modern](../vscode-dark-modern.yazi/) · [vscode-dark-plus](../vscode-dark-plus.yazi/) · [vscode-light-plus](../vscode-light-plus.yazi/)
![vscode-light-modern](./img/1.png)
![vscode-light-modern](./img/2.png)
![vscode-light-modern](./img/3.png)
![vscode-light-modern](./img/4.png)
![vscode-light-modern](./img/5.png)

View File

@@ -0,0 +1,186 @@
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
"$schema" = "https://yazi-rs.github.io/schemas/theme.json"
# vscode-light-modern
# https://github.com/956MB/vscode.yazi/blob/main/themes/vscode-light-modern/
#
# A theme inspired by Visual Studio Code's Light Modern theme.
[colors]
background = "#FFFFFF"
foreground = "#3B3B3B"
selection = "#ADD6FF"
cursor = "#005FB8"
black = "#000000"
red = "#F85149"
green = "#2EA043"
yellow = "#D7BA7D"
blue = "#005FB8"
magenta = "#AF00DB"
cyan = "#0598BC"
white = "#FFFFFF"
bright_black = "#6E7681"
bright_red = "#F85149"
bright_green = "#2EA043"
bright_yellow = "#D7BA7D"
bright_blue = "#005FB8"
bright_magenta = "#AF00DB"
bright_cyan = "#0598BC"
bright_white = "#FFFFFF"
[mgr]
cwd = { fg = "cyan" }
# Hovered
hovered = { fg = "#000000", bg = "#ADD6FF" }
preview_hovered = { underline = true }
# Find
find_keyword = { fg = "#795E26", bold = true, italic = true, underline = true }
find_position = { fg = "#AF00DB", bg = "#FFFFFF", bold = true, italic = true }
# Marker
marker_copied = { fg = "#2EA043", bg = "#2EA043" }
marker_cut = { fg = "#F85149", bg = "#F85149" }
marker_marked = { fg = "#0598BC", bg = "#0598BC" }
marker_selected = { fg = "#D7BA7D", bg = "#D7BA7D" }
# Tab
tab_active = { fg = "#3B3B3B", bg = "#FFFFFF" }
tab_inactive = { fg = "#3B3B3B", bg = "#F8F8F8" }
tab_width = 1
# Count
count_copied = { fg = "#FFFFFF", bg = "#2EA043" }
count_cut = { fg = "#FFFFFF", bg = "#F85149" }
count_selected = { fg = "#FFFFFF", bg = "#D7BA7D" }
# Border
border_symbol = "│"
border_style = { fg = "#E5E5E5" }
# Highlighting
syntect_theme = "./tmtheme.xml"
# Cursor
cursor_symbol = "█"
cursor = { fg = "#FFFFFF", bg = "#005FB8" }
# Executable
exe_symbol = ""
exe = { fg = "#2EA043", bg = "#FFFFFF" }
# Regular
file_symbol = ""
file = { }
# Directory
folder_symbol = ""
folder = { fg = "#005FB8", bg = "#FFFFFF" }
# Hidden
hidden_symbol = ""
hidden = { fg = "#6E7681" }
# Link
link_symbol = ""
link = { fg = "#0598BC", bg = "#FFFFFF" }
# Link (broken)
broken_symbol = ""
broken = { fg = "#F85149", bg = "#FFF0F0" }
# Selected
selected = { fg = "#000000", bg = "#ADD6FF" }
[status]
separator_open = ""
separator_close = ""
separator_style = { fg = "#E5E5E5", bg = "#E5E5E5" }
# Mode
mode_normal = { fg = "#FFFFFF", bg = "#005FB8", bold = true }
mode_select = { fg = "#FFFFFF", bg = "#FFAF00", bold = true }
mode_unset = { fg = "#FFFFFF", bg = "#F85149", bold = true }
# Progress
progress_label = { bold = true }
progress_normal = { fg = "#005FB8", bg = "#FFFFFF" }
progress_error = { fg = "#F85149", bg = "#FFFFFF" }
# Permissions
permissions_t = { fg = "#2EA043" }
permissions_r = { fg = "#D7BA7D" }
permissions_w = { fg = "#F85149" }
permissions_x = { fg = "#0598BC" }
permissions_s = { fg = "#6E7681" }
[select]
border = { fg = "#005FB8" }
active = { fg = "#AF00DB", bold = true }
inactive = {}
[input]
border = { fg = "#005FB8" }
title = {}
value = {}
selected = { reversed = true }
[completion]
border = { fg = "#005FB8" }
active = { bg = "#ADD6FF" }
inactive = {}
# Icons
icon_file = ""
icon_folder = ""
icon_command = ""
[tasks]
border = { fg = "#005FB8" }
title = {}
hovered = { underline = true }
[which]
mask = { bg = "#FFFFFF" }
cand = { fg = "#0598BC" }
rest = { fg = "#6E7681" }
desc = { fg = "#AF00DB" }
separator = " "
separator_style = { fg = "#6E7681" }
[help]
on = { fg = "#0598BC" }
run = { fg = "#AF00DB" }
desc = { fg = "#3B3B3B" }
hovered = { bg = "#ADD6FF", bold = true }
footer = { fg = "#3B3B3B", bg = "#F8F8F8" }
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "#D7BA7D" },
# Videos
{ mime = "video/*", fg = "#AF00DB" },
# Audio
{ mime = "audio/*", fg = "#AF00DB" },
# Archives
{ mime = "application/zip", fg = "#F85149" },
{ mime = "application/gzip", fg = "#F85149" },
{ mime = "application/x-tar", fg = "#F85149" },
{ mime = "application/x-bzip", fg = "#F85149" },
{ mime = "application/x-bzip2", fg = "#F85149" },
{ mime = "application/x-7z-compressed", fg = "#F85149" },
{ mime = "application/x-rar", fg = "#F85149" },
# Documents
{ mime = "application/pdf", fg = "#0598BC" },
{ mime = "application/msword", fg = "#0598BC" },
{ mime = "application/vnd.openxmlformats-officedocument.*", fg = "#0598BC" },
# Fallback
{ name = "*", fg = "#3B3B3B" },
{ name = "*/", fg = "#005FB8" },
# Executable
{ name = "*", category = "executable", fg = "#2EA043", bg = "#FFFFFF" },
# Directories
{ name = "*/", fg = "#005FB8", bg = "#FFFFFF" },
# Hidden files
{ name = ".*", fg = "#6E7681" },
# Symlinks
{ name = "*", category = "link", fg = "#0598BC", bg = "#FFFFFF" },
# Broken symlinks
{ name = "*", category = "broken", fg = "#F85149", bg = "#FFF0F0" },
]
[icon]
rules = [
{ name = "Desktop", text = "" },
{ name = "Documents", text = "" },
{ name = "Downloads", text = "" },
{ name = "Pictures", text = "" },
{ name = "Music", text = "" },
{ name = "Videos", text = "" },
{ name = ".git", text = "" },
{ name = ".config", text = "" },
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 582 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 555 KiB

View File

@@ -0,0 +1,250 @@
<?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>VSCode Light Modern</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#FFFFFF</string>
<key>foreground</key>
<string>#000000</string>
<key>caret</key>
<string>#000000</string>
<key>invisibles</key>
<string>#D3D3D3</string>
<key>lineHighlight</key>
<string>#E5EBF1</string>
<key>selection</key>
<string>#ADD6FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#008000</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#A31515</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>#098658</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>#0000FF</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>#0000FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#795E26</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#AF00DB</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#0000FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage type</string>
<key>scope</key>
<string>storage.type</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#0000FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Class name</string>
<key>scope</key>
<string>entity.name.class</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#267F99</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>foreground</key>
<string>#267F99</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function name</string>
<key>scope</key>
<string>entity.name.function</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#795E26</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function argument</string>
<key>scope</key>
<string>variable.parameter</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#001080</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#800000</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>foreground</key>
<string>#E50000</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#795E26</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#0000FF</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>foreground</key>
<string>#267F99</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#CD3131</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid deprecated</string>
<key>scope</key>
<string>invalid.deprecated</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#CD3131</string>
</dict>
</dict>
</array>
<key>uuid</key>
<string>231D4441-F280-4D49-A647-E1FD7E84D1D8</string>
</dict>
</plist>

View File

@@ -0,0 +1,42 @@
[mgr]
prepend_keymap = [
# # undo trash
{ on = "u", run = "plugin restore", desc = "Restore last deleted files/folders" },
# # compress
{ on = "C", run = "plugin ouch tar.gz", desc = "Compress with ouch" },
# Goto
{ on = [ "g", "h" ], run = "cd ~", desc = "Go to ~" },
{ on = [ "g", "a" ], run = "cd ~/.cache", desc = "Go to ~/.cache" },
{ on = [ "g", "l", "b" ], run = "cd ~/.local/bin", desc = "Go to ~/.local/bin" },
{ on = [ "g", "l", "s" ], run = "cd ~/.local/share", desc = "Go to ~/.local/share" },
{ on = [ "g", "c", "c" ], run = "cd ~/.config", desc = "Go to ~/.config" },
{ on = [ "g", "c", "h" ], run = "cd ~/projects/dotfiles/config/hypr", desc = "Go to Hyprland config" },
{ on = [ "g", "c", "f" ], run = "cd ~/projects/dotfiles/config/fish", desc = "Go to Fish config" },
{ on = [ "g", "c", "y" ], run = "cd ~/projects/dotfiles/config/yazi", desc = "Go to Yazi config" },
{ on = [ "g", "c", "a" ], run = "cd ~/projects/dotfiles/config/astal", desc = "Go to astal config" },
{ on = [ "g", "c", "l" ], run = "cd ~/projects/dotfiles/config/lint", desc = "Go to linter configs" },
{ on = [ "g", "c", "k" ], run = "cd ~/projects/dotfiles/config/kitty", desc = "Go to kitty config" },
{ on = [ "g", "c", "r" ], run = "cd ~/projects/dotfiles/config/rofi", desc = "Go to rofi config" },
{ on = [ "g", "c", "s" ], run = "cd ~/projects/dotfiles/scripts", desc = "Go to script" },
{ on = [ "g", "c", "d" ], run = "cd ~/projects/dotfiles", desc = "Go to Dotfiles folder" },
{ on = [ "g", "c", "n" ], run = "cd ~/projects/nvim", desc = "Go to NeoVim config" },
{ on = [ "g", "n" ], run = "cd ~/NextCloud/Documents/", desc = "Go to NextCloud Documents" },
{ on = [ "g", "w" ], run = "cd ~/NextCloud/Wallpapers", desc = "Go to Wallpapers" },
{ on = [ "g", "e", "n" ], run = "cd ~/NextCloud/Documents/ETH/Semester3/", desc = "Go to ETH Nextcloud" },
{ on = [ "g", "e", "p" ], run = "cd ~/projects/eth/semester3/", desc = "Go to ETH git folder" },
{ on = [ "g", "e", "g" ], run = "cd ~/projects/eth/gitlab/spca2025-jahutz-hand-in/", desc = "Go to ETH Gitlab folder" },
{ on = [ "g", "e", "s" ], run = "cd ~/projects/eth/eth-summaries/semester3/", desc = "Go to ETH Summaries folder" },
{ on = [ "g", "s", "h" ], run = "cd ~/.steam/steam/steamapps/common", desc = "Go to ~/.steam/steam/steamapps/common" },
{ on = [ "g", "s", "g" ], run = "cd /mnt/games/SteamLibrary", desc = "Go to SteamLibrary on NTFS partition" },
{ on = [ "g", "s", "s" ], run = "cd /mnt/secondary/SteamLibrary", desc = "Go to SteamLibrary on main games drive" },
{ on = [ "g", "o" ], run = "cd /mnt/janis/Documents", desc = "Go to Documents" },
{ on = [ "g", "d" ], run = "cd ~/Downloads", desc = "Go to ~/Downloads" },
{ on = [ "g", "p" ], run = "cd ~/projects", desc = "Go to projects" },
{ on = [ "g", "t", "m" ], run = "cd /tmp", desc = "Go to /tmp" },
{ on = [ "g", "t", "t" ], run = "cd ~/.local/share/Trash/", desc = "Go to TRASH" },
{ on = [ "g", "/" ], run = "cd /", desc = "Go to /" },
{ on = [ "g", "m" ], run = "cd /run/media/$USER", desc = "Go to /run/media" },
{ on = [ "g", "<Space>" ], run = "cd --interactive", desc = "Go to interactively" },
{ on = [ "g", "-" ], run = "plugin vcs-files", desc = "Show Git file changes" },
]

View File

@@ -0,0 +1,17 @@
[[plugin.deps]]
use = "ndtoan96/ouch"
rev = "558188d"
hash = "2d0afef7b50747c543c4304004a72cec"
[[plugin.deps]]
use = "boydaihungst/restore"
rev = "5d22884"
hash = "8e6fc2d660f661c91e30b10dd1a251b8"
[[plugin.deps]]
use = "yazi-rs/plugins:vcs-files"
rev = "e95c7b3"
hash = "cc8da55f1deda45ee3787cc97b58ffc9"
[flavor]
deps = []

View File

@@ -0,0 +1,3 @@
[flavor]
dark = "vscode-dark-modern"
light = "vscode-dark-modern"

View File

@@ -0,0 +1,17 @@
[plugin]
prepend_previewers = [
# Archive previewer
{ mime = "application/*zip", run = "ouch" },
{ mime = "application/x-tar", run = "ouch" },
{ mime = "application/x-bzip2", run = "ouch" },
{ mime = "application/x-7z-compressed", run = "ouch" },
{ mime = "application/x-rar", run = "ouch" },
{ mime = "application/x-xz", run = "ouch" },
]
[opener]
open = [
{ run = 'xdg-open "$@"', desc = "Open" },
{ run = 'okular "$@"', desc = "Open in Okular" },
{ run = 'evince "$@"', desc = "Open in Evince" },
]