refactoring
21
modules/home/yazi/flavors/ayu-dark.yazi/LICENSE
Executable file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 Kamal Chandra Upreti
|
||||
|
||||
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.
|
21
modules/home/yazi/flavors/ayu-dark.yazi/LICENSE-tmtheme
Executable file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2016 Ike Ku
|
||||
|
||||
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.
|
32
modules/home/yazi/flavors/ayu-dark.yazi/README.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
<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">
|
||||
Ayu Dark Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
|
||||
</h3>
|
||||
|
||||
## 👀 Preview
|
||||
|
||||
<img src="preview.png" width="600" />
|
||||
|
||||
## 🎨 Installation
|
||||
|
||||
```bash
|
||||
ya pack -a kmlupreti/ayu-dark
|
||||
```
|
||||
|
||||
## ⚙️ Usage
|
||||
|
||||
Add the these lines to your `theme.toml` configuration file to use it:
|
||||
|
||||
```toml
|
||||
[flavor]
|
||||
use = "ayu-dark"
|
||||
```
|
||||
|
||||
## 📜 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.
|
129
modules/home/yazi/flavors/ayu-dark.yazi/flavor.toml
Executable file
|
@ -0,0 +1,129 @@
|
|||
[manager]
|
||||
cwd = { fg = "#5c6773" }
|
||||
|
||||
# tab
|
||||
tab_active = { fg = "#0a0e14", bg = "#c2a05c", bold = true }
|
||||
tab_inactive = { fg = "#5c6773", bg = "#0a0e14" }
|
||||
tab_width = 1
|
||||
|
||||
# find
|
||||
find_keyword = { fg = "#1f6f88", bold = true, italic = true, underline = true }
|
||||
find_position = { fg = "#1f6f88", bold = true, italic = true }
|
||||
|
||||
# marker
|
||||
marker_copied = { fg = "#0a0e14", bg = "#7e9350" }
|
||||
marker_cut = { fg = "#0a0e14", bg = "#a85361" }
|
||||
marker_marked = { fg = "#0a0e14", bg = "#1f6f88" }
|
||||
marker_selected = { fg = "#0a0e14", bg = "#c2a05c" }
|
||||
|
||||
# count
|
||||
count_copied = { fg = "#0a0e14", bg = "#7e9350" }
|
||||
count_cut = { fg = "#5c6773", bg = "#a85361" }
|
||||
count_selected = { fg = "#0a0e14", bg = "#c2a05c" }
|
||||
|
||||
# border
|
||||
border_symbol = " "
|
||||
|
||||
[mode]
|
||||
normal_main = { fg = "#0a0e14", bg = "#c2a05c", bold = true }
|
||||
normal_alt = { fg = "#1f6f88", bg = "#2d3640", bold = true }
|
||||
|
||||
select_main = { fg = "#0a0e14", bg = "#1f6f88", bold = true }
|
||||
select_alt = { fg = "#0a0e14", bg = "#1f6f88", bold = true }
|
||||
|
||||
unset_main = { fg = "#0a0e14", bg = "#a85361", bold = true }
|
||||
unset_alt = { fg = "#0a0e14", bg = "#a85361", bold = true }
|
||||
|
||||
|
||||
[status]
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
separator_style = { bg = "#2d3640", fg = "#c2a05c" }
|
||||
|
||||
# Progress
|
||||
progress_label = { fg = "#c2a05c", bold = true }
|
||||
progress_normal = { fg = "#c2a05c", bg = "#0a0e14" }
|
||||
progress_error = { fg = "#a85361", bg = "#0a0e14" }
|
||||
|
||||
# permissions
|
||||
perm_type = { fg = "#c2c2c2" }
|
||||
perm_write = { fg = "#a85361" }
|
||||
perm_exec = { fg = "#7e9350" }
|
||||
perm_read = { fg = "#1f6f88" }
|
||||
perm_sep = { fg = "#5c6773" }
|
||||
|
||||
[select]
|
||||
border = { fg = "#c2a05c" }
|
||||
active = { fg = "#a85361", bold = true }
|
||||
inactive = { fg = "#5c6773", bg = "#0a0e14" }
|
||||
|
||||
[input]
|
||||
border = { fg = "#c2a05c" }
|
||||
value = { fg = "#5c6773" }
|
||||
|
||||
[completion]
|
||||
border = { fg = "#c2a05c", bg = "#0a0e14" }
|
||||
|
||||
[tasks]
|
||||
border = { fg = "#c2a05c" }
|
||||
title = { fg = "#5c6773" }
|
||||
hovered = { fg = "#7e9350", underline = true }
|
||||
|
||||
[which]
|
||||
cols = 3
|
||||
mask = { bg = "#0a0e14" }
|
||||
cand = { fg = "#c2a05c" }
|
||||
rest = { fg = "#0a0e14" }
|
||||
desc = { fg = "#5c6773" }
|
||||
separator = " ⯈ "
|
||||
separator_style = { fg = "#5c6773" }
|
||||
|
||||
[help]
|
||||
on = { fg = "#c2a05c" }
|
||||
run = { fg = "#7e9350" }
|
||||
footer = { fg = "#0a0e14", bg = "#5c6773" }
|
||||
|
||||
[notify]
|
||||
title_info = { fg = "#7e9350" }
|
||||
title_warn = { fg = "#c2a05c" }
|
||||
title_error = { fg = "#a85361" }
|
||||
|
||||
[filetype]
|
||||
rules = [
|
||||
# directories
|
||||
{ name = "*/", fg = "#1f6f88" },
|
||||
|
||||
# executables
|
||||
{ name = "*", is = "exec", fg = "#7e9350" },
|
||||
|
||||
# images
|
||||
{ mime = "image/*", fg = "#c2a05c" },
|
||||
|
||||
# media
|
||||
{ mime = "{audio,video}/*", fg = "#7e9350" },
|
||||
|
||||
# archives
|
||||
{ mime = "application/{,g}zip", fg = "#a85361" },
|
||||
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#a85361" },
|
||||
|
||||
# documents
|
||||
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg = "#1f6f88" },
|
||||
|
||||
# scripts and code
|
||||
{ mime = "application/{x-shellscript,x-python,x-ruby,x-javascript}", fg = "#c2a05c" },
|
||||
{ mime = "text/x-{c,c++}", fg = "#1f6f88" },
|
||||
|
||||
# config files
|
||||
{ name = "*.json", fg = "#c2a05c" },
|
||||
{ name = "*.yml", fg = "#1f6f88" },
|
||||
{ name = "*.toml", fg = "#9464b6" },
|
||||
|
||||
# special files
|
||||
{ name = "*", is = "orphan", bg = "#0a0e14" },
|
||||
|
||||
# dummy files
|
||||
{ name = "*", is = "dummy", bg = "#0a0e14" },
|
||||
|
||||
# fallback
|
||||
{ name = "*/", fg = "#1f6f88" },
|
||||
]
|
BIN
modules/home/yazi/flavors/ayu-dark.yazi/preview.png
Normal file
After Width: | Height: | Size: 534 KiB |
1025
modules/home/yazi/flavors/ayu-dark.yazi/tmtheme.xml
Executable file
21
modules/home/yazi/flavors/catppuccin-frappe.yazi/LICENSE
Normal 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.
|
|
@ -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.
|
36
modules/home/yazi/flavors/catppuccin-frappe.yazi/README.md
Normal 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">
|
||||
Catppuccin Frappe 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: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.
|
173
modules/home/yazi/flavors/catppuccin-frappe.yazi/flavor.toml
Normal file
|
@ -0,0 +1,173 @@
|
|||
# vim:fileencoding=utf-8:foldmethod=marker
|
||||
|
||||
# : Manager {{{
|
||||
|
||||
[manager]
|
||||
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" }
|
||||
|
||||
# Tab
|
||||
tab_active = { reversed = true }
|
||||
tab_inactive = {}
|
||||
tab_width = 1
|
||||
|
||||
# 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" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : 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]
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
|
||||
# Progress
|
||||
progress_label = { fg = "#ffffff", bold = true }
|
||||
progress_normal = { fg = "#8caaee", bg = "#51576d" }
|
||||
progress_error = { fg = "#e78284", bg = "#51576d" }
|
||||
|
||||
# Permissions
|
||||
perm_sep = { fg = "#838ba7" }
|
||||
perm_type = { fg = "#8caaee" }
|
||||
perm_read = { fg = "#e5c890" }
|
||||
perm_write = { fg = "#e78284" }
|
||||
perm_exec = { fg = "#a6d189" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Pick {{{
|
||||
|
||||
[pick]
|
||||
border = { fg = "#8caaee" }
|
||||
active = { fg = "#f4b8e4", bold = true }
|
||||
inactive = {}
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Input {{{
|
||||
|
||||
[input]
|
||||
border = { fg = "#8caaee" }
|
||||
title = {}
|
||||
value = {}
|
||||
selected = { reversed = true }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Completion {{{
|
||||
|
||||
[completion]
|
||||
border = { fg = "#8caaee" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Tasks {{{
|
||||
|
||||
[tasks]
|
||||
border = { fg = "#8caaee" }
|
||||
title = {}
|
||||
hovered = { fg = "#f4b8e4", underline = 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" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Notify {{{
|
||||
|
||||
[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
|
||||
{ name = "*", fg = "#c6d0f5" },
|
||||
{ name = "*/", fg = "#8caaee" }
|
||||
]
|
||||
|
||||
# : }}}
|
BIN
modules/home/yazi/flavors/catppuccin-frappe.yazi/preview.png
Normal file
After Width: | Height: | Size: 574 KiB |
2081
modules/home/yazi/flavors/catppuccin-frappe.yazi/tmtheme.xml
Normal file
21
modules/home/yazi/flavors/catppuccin-latte.yazi/LICENSE
Normal 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.
|
|
@ -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.
|
36
modules/home/yazi/flavors/catppuccin-latte.yazi/README.md
Normal 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">
|
||||
Catppuccin Latte 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: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.
|
173
modules/home/yazi/flavors/catppuccin-latte.yazi/flavor.toml
Normal file
|
@ -0,0 +1,173 @@
|
|||
# vim:fileencoding=utf-8:foldmethod=marker
|
||||
|
||||
# : Manager {{{
|
||||
|
||||
[manager]
|
||||
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" }
|
||||
|
||||
# Tab
|
||||
tab_active = { reversed = true }
|
||||
tab_inactive = {}
|
||||
tab_width = 1
|
||||
|
||||
# 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" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : 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]
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
|
||||
# Progress
|
||||
progress_label = { fg = "#ffffff", bold = true }
|
||||
progress_normal = { fg = "#1e66f5", bg = "#bcc0cc" }
|
||||
progress_error = { fg = "#d20f39", bg = "#bcc0cc" }
|
||||
|
||||
# Permissions
|
||||
perm_sep = { fg = "#8c8fa1" }
|
||||
perm_type = { fg = "#1e66f5" }
|
||||
perm_read = { fg = "#df8e1d" }
|
||||
perm_write = { fg = "#d20f39" }
|
||||
perm_exec = { fg = "#40a02b" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Pick {{{
|
||||
|
||||
[pick]
|
||||
border = { fg = "#1e66f5" }
|
||||
active = { fg = "#ea76cb", bold = true }
|
||||
inactive = {}
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Input {{{
|
||||
|
||||
[input]
|
||||
border = { fg = "#1e66f5" }
|
||||
title = {}
|
||||
value = {}
|
||||
selected = { reversed = true }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Completion {{{
|
||||
|
||||
[completion]
|
||||
border = { fg = "#1e66f5" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Tasks {{{
|
||||
|
||||
[tasks]
|
||||
border = { fg = "#1e66f5" }
|
||||
title = {}
|
||||
hovered = { fg = "#ea76cb", underline = 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" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Notify {{{
|
||||
|
||||
[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
|
||||
{ name = "*", fg = "#4c4f69" },
|
||||
{ name = "*/", fg = "#1e66f5" }
|
||||
]
|
||||
|
||||
# : }}}
|
BIN
modules/home/yazi/flavors/catppuccin-latte.yazi/preview.png
Normal file
After Width: | Height: | Size: 718 KiB |
2081
modules/home/yazi/flavors/catppuccin-latte.yazi/tmtheme.xml
Normal file
21
modules/home/yazi/flavors/catppuccin-macchiato.yazi/LICENSE
Normal 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.
|
|
@ -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.
|
|
@ -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 pack -a 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.
|
173
modules/home/yazi/flavors/catppuccin-macchiato.yazi/flavor.toml
Normal file
|
@ -0,0 +1,173 @@
|
|||
# vim:fileencoding=utf-8:foldmethod=marker
|
||||
|
||||
# : Manager {{{
|
||||
|
||||
[manager]
|
||||
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" }
|
||||
|
||||
# Tab
|
||||
tab_active = { reversed = true }
|
||||
tab_inactive = {}
|
||||
tab_width = 1
|
||||
|
||||
# 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" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : 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]
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
|
||||
# Progress
|
||||
progress_label = { fg = "#ffffff", bold = true }
|
||||
progress_normal = { fg = "#8aadf4", bg = "#494d64" }
|
||||
progress_error = { fg = "#ed8796", bg = "#494d64" }
|
||||
|
||||
# Permissions
|
||||
perm_sep = { fg = "#8087a2" }
|
||||
perm_type = { fg = "#8aadf4" }
|
||||
perm_read = { fg = "#eed49f" }
|
||||
perm_write = { fg = "#ed8796" }
|
||||
perm_exec = { fg = "#a6da95" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Pick {{{
|
||||
|
||||
[pick]
|
||||
border = { fg = "#8aadf4" }
|
||||
active = { fg = "#f5bde6", bold = true }
|
||||
inactive = {}
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Input {{{
|
||||
|
||||
[input]
|
||||
border = { fg = "#8aadf4" }
|
||||
title = {}
|
||||
value = {}
|
||||
selected = { reversed = true }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Completion {{{
|
||||
|
||||
[completion]
|
||||
border = { fg = "#8aadf4" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Tasks {{{
|
||||
|
||||
[tasks]
|
||||
border = { fg = "#8aadf4" }
|
||||
title = {}
|
||||
hovered = { fg = "#f5bde6", underline = 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" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Notify {{{
|
||||
|
||||
[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
|
||||
{ name = "*", fg = "#cad3f5" },
|
||||
{ name = "*/", fg = "#8aadf4" }
|
||||
]
|
||||
|
||||
# : }}}
|
BIN
modules/home/yazi/flavors/catppuccin-macchiato.yazi/preview.png
Normal file
After Width: | Height: | Size: 674 KiB |
2081
modules/home/yazi/flavors/catppuccin-macchiato.yazi/tmtheme.xml
Normal file
21
modules/home/yazi/flavors/catppuccin-mocha.yazi/LICENSE
Normal 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.
|
|
@ -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.
|
36
modules/home/yazi/flavors/catppuccin-mocha.yazi/README.md
Normal 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">
|
||||
Catppuccin Mocha 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: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.
|
173
modules/home/yazi/flavors/catppuccin-mocha.yazi/flavor.toml
Normal file
|
@ -0,0 +1,173 @@
|
|||
# vim:fileencoding=utf-8:foldmethod=marker
|
||||
|
||||
# : Manager {{{
|
||||
|
||||
[manager]
|
||||
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" }
|
||||
|
||||
# Tab
|
||||
tab_active = { reversed = true }
|
||||
tab_inactive = {}
|
||||
tab_width = 1
|
||||
|
||||
# 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" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : 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]
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
|
||||
# Progress
|
||||
progress_label = { fg = "#ffffff", bold = true }
|
||||
progress_normal = { fg = "#89b4fa", bg = "#45475a" }
|
||||
progress_error = { fg = "#f38ba8", bg = "#45475a" }
|
||||
|
||||
# Permissions
|
||||
perm_sep = { fg = "#7f849c" }
|
||||
perm_type = { fg = "#89b4fa" }
|
||||
perm_read = { fg = "#f9e2af" }
|
||||
perm_write = { fg = "#f38ba8" }
|
||||
perm_exec = { fg = "#a6e3a1" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Pick {{{
|
||||
|
||||
[pick]
|
||||
border = { fg = "#89b4fa" }
|
||||
active = { fg = "#f5c2e7", bold = true }
|
||||
inactive = {}
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Input {{{
|
||||
|
||||
[input]
|
||||
border = { fg = "#89b4fa" }
|
||||
title = {}
|
||||
value = {}
|
||||
selected = { reversed = true }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Completion {{{
|
||||
|
||||
[completion]
|
||||
border = { fg = "#89b4fa" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Tasks {{{
|
||||
|
||||
[tasks]
|
||||
border = { fg = "#89b4fa" }
|
||||
title = {}
|
||||
hovered = { fg = "#f5c2e7", underline = 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" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Notify {{{
|
||||
|
||||
[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
|
||||
{ name = "*", fg = "#cdd6f4" },
|
||||
{ name = "*/", fg = "#89b4fa" }
|
||||
]
|
||||
|
||||
# : }}}
|
BIN
modules/home/yazi/flavors/catppuccin-mocha.yazi/preview.png
Normal file
After Width: | Height: | Size: 660 KiB |
2081
modules/home/yazi/flavors/catppuccin-mocha.yazi/tmtheme.xml
Normal file
21
modules/home/yazi/flavors/dracula.yazi/LICENSE-tmtheme
Normal 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.
|
36
modules/home/yazi/flavors/dracula.yazi/README.md
Normal 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.
|
173
modules/home/yazi/flavors/dracula.yazi/flavor.toml
Normal file
|
@ -0,0 +1,173 @@
|
|||
# vim:fileencoding=utf-8:foldmethod=marker
|
||||
|
||||
# : Manager {{{
|
||||
|
||||
[manager]
|
||||
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]
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
|
||||
# Progress
|
||||
progress_label = { fg = "#ffffff", bold = true }
|
||||
progress_normal = { fg = "#bd93f9", bg = "#63667d" }
|
||||
progress_error = { fg = "#ff5555", bg = "#63667d" }
|
||||
|
||||
# Permissions
|
||||
perm_sep = { fg = "#7282b5" }
|
||||
perm_type = { fg = "#bd93f9" }
|
||||
perm_read = { fg = "#f1fa8c" }
|
||||
perm_write = { fg = "#ff5555" }
|
||||
perm_exec = { fg = "#50fa7b" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Pick {{{
|
||||
|
||||
[pick]
|
||||
border = { fg = "#bd93f9" }
|
||||
active = { fg = "#ff79c6", bold = true }
|
||||
inactive = {}
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Input {{{
|
||||
|
||||
[input]
|
||||
border = { fg = "#bd93f9" }
|
||||
title = {}
|
||||
value = {}
|
||||
selected = { reversed = true }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Completion {{{
|
||||
|
||||
[completion]
|
||||
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" }
|
||||
]
|
||||
|
||||
# : }}}
|
BIN
modules/home/yazi/flavors/dracula.yazi/preview.png
Normal file
After Width: | Height: | Size: 835 KiB |
940
modules/home/yazi/flavors/dracula.yazi/tmtheme.xml
Normal 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/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>
|
21
modules/home/yazi/flavors/kanagawa-dragon.yazi/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 Dmitry Nefedov
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 Dmitry Nefedov
|
||||
|
||||
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.
|
32
modules/home/yazi/flavors/kanagawa-dragon.yazi/README.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
<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">
|
||||
Kanagawa Dragon Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
|
||||
</h3>
|
||||
|
||||
## 👀 Preview
|
||||
|
||||
<img src="preview.png" width="600" />
|
||||
|
||||
## 🎨 Installation
|
||||
|
||||
```bash
|
||||
ya pack -a marcosvnmelo/kanagawa-dragon
|
||||
```
|
||||
|
||||
## ⚙️ Usage
|
||||
|
||||
Add these lines to your `theme.toml` configuration file to use it:
|
||||
|
||||
```toml
|
||||
[flavor]
|
||||
use = "kanagawa-dragon"
|
||||
```
|
||||
|
||||
## 📜 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.
|
100
modules/home/yazi/flavors/kanagawa-dragon.yazi/flavor.toml
Normal file
|
@ -0,0 +1,100 @@
|
|||
# general
|
||||
[manager]
|
||||
marker_copied = { fg = "#87a987", bg = "#87a987" } # green
|
||||
marker_cut = { fg = "#e46876", bg = "#e46876" } # red
|
||||
marker_marked = { fg = "#a292a3", bg = "#a292a3" } # magenta
|
||||
marker_selected = { fg = "#b6927b", bg = "#b6927b" } # cyan
|
||||
|
||||
cwd = { fg = "#e6c384" } # yellow
|
||||
hovered = { reversed = true }
|
||||
preview_hovered = { reversed = true }
|
||||
|
||||
tab_active = { reversed = true }
|
||||
tab_inactive = {}
|
||||
tab_width = 1
|
||||
|
||||
# default bg
|
||||
count_copied = { fg = "#1f1f28", bg = "#87a987" } # green
|
||||
count_cut = { fg = "#1f1f28", bg = "#e46876" } # red
|
||||
count_selected = { fg = "#1f1f28", bg = "#e6c384" } # yellow
|
||||
|
||||
border_symbol = "│"
|
||||
border_style = { fg = "#c5c9c5"} # white
|
||||
|
||||
# status-line
|
||||
[status]
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
separator_style = { fg = "reset", bg = "#363646" } # light bg
|
||||
|
||||
# default bg
|
||||
mode_normal = { fg = "#1f1f28", bg = "#8ba4b0", bold = true } # blue
|
||||
mode_select = { fg = "#1f1f28", bg = "#a292a3", bold = true } # magenta
|
||||
mode_unset = { fg = "#1f1f28", bg = "#e6c384", bold = true } # yellow
|
||||
|
||||
# blue - light bg
|
||||
progress_label = { fg = "#8ba4b0", bg = "#363646", bold = true }
|
||||
# light bg - default bg
|
||||
progress_normal = { fg = "#363646", bg = "#1f1f28" }
|
||||
progress_error = { fg = "#363646", bg = "#1f1f28" }
|
||||
|
||||
permissions_t = { fg = "#87a987" } # green
|
||||
permissions_r = { fg = "#e6c384" } # yellow
|
||||
permissions_w = { fg = "#E46876" } # red
|
||||
permissions_x = { fg = "#7aa89f" } # cyan
|
||||
permissions_s = { fg = "#938aa9" } # magenta
|
||||
|
||||
[select]
|
||||
border = { fg = "#7fb4ca" } # blue
|
||||
active = { fg = "#938aa9", bold = true } # magenta
|
||||
inactive = {}
|
||||
|
||||
[input]
|
||||
border = { fg = "#7fb4ca" } # blue
|
||||
title = {}
|
||||
value = {}
|
||||
selected = { reversed = true }
|
||||
|
||||
[completion]
|
||||
border = { fg = "#7fb4ca" } # blue
|
||||
active = { reversed = true }
|
||||
inactive = {}
|
||||
|
||||
[tasks]
|
||||
border = { fg = "#7fb4ca" } # blue
|
||||
title = {}
|
||||
hovered = { fg = "#938aa9" } # magenta
|
||||
|
||||
[which]
|
||||
cols = 2
|
||||
separator = " - "
|
||||
separator_style = { fg = "#727169" } # darkgrey
|
||||
mask = { bg = "#16161d" } # dark bg
|
||||
rest = { fg = "#727169" } # darkgrey
|
||||
cand = { fg = "#8ba4b0" }
|
||||
desc = { fg = "#565666" }
|
||||
|
||||
[help]
|
||||
on = { fg = "#7aa89f" } # cyan
|
||||
run = { fg = "#938aa9" } # magenta
|
||||
desc = {}
|
||||
hovered = { reversed = true, bold = true }
|
||||
footer = { fg = "#090618", bg = "#c5c9c5" } # white
|
||||
|
||||
[notify]
|
||||
title_info = { fg = "#87a987" } # green
|
||||
title_warn = { fg = "#e6c384" } # yellow
|
||||
title_error = { fg = "#E46876" } # red
|
||||
|
||||
# files
|
||||
[filetype]
|
||||
rules = [
|
||||
{ mime = "image/*", fg = "#e6c384" },
|
||||
{ mime = "{audio,video}/*", fg = "#a292a3" },
|
||||
{ mime = "application/{,g}zip", fg = "#e46876" },
|
||||
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#e46876" },
|
||||
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg = "#6a9589" },
|
||||
{ name = "*", is = "orphan", fg = "#e46876" },
|
||||
{ name = "*", is = "exec", fg = "#a292a3" },
|
||||
{ name = "*/", fg = "#8ba4b0"}
|
||||
]
|
BIN
modules/home/yazi/flavors/kanagawa-dragon.yazi/preview.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
448
modules/home/yazi/flavors/kanagawa-dragon.yazi/tmtheme.xml
Normal file
|
@ -0,0 +1,448 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!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>Kanagawa Dragon</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#1F1F28</string>
|
||||
<key>caret</key>
|
||||
<string>#C8C093</string>
|
||||
<key>foreground</key>
|
||||
<string>#c5c9c5</string>
|
||||
<key>invisibles</key>
|
||||
<string>#54546D</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#2D4F67</string>
|
||||
<key>selection</key>
|
||||
<string>#2D4F67</string>
|
||||
<key>findHighlight</key>
|
||||
<string>#2D4F67</string>
|
||||
<key>selectionBorder</key>
|
||||
<string>#222218</string>
|
||||
<key>gutterForeground</key>
|
||||
<string>#54546D</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Comment</string>
|
||||
<key>scope</key>
|
||||
<string>comment</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#a6a69c</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#87a987</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>#D27E99</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>#b6927b</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>#E6C384</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>#E6C384</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/>
|
||||
<key>foreground</key>
|
||||
<string>#E6C384</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/>
|
||||
<key>foreground</key>
|
||||
<string>#c4b28a</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#E46876</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage</string>
|
||||
<key>scope</key>
|
||||
<string>storage</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string/>
|
||||
<key>foreground</key>
|
||||
<string>#a292a3</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>#a292a3</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>#7AA89F</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>#7AA89F</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/>
|
||||
<key>foreground</key>
|
||||
<string>#8ba4b0</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>#b8b4d0</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/>
|
||||
<key>foreground</key>
|
||||
<string>#7FB4CA</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/>
|
||||
<key>foreground</key>
|
||||
<string>#E6C384</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/>
|
||||
<key>foreground</key>
|
||||
<string>#7FB4CA</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/>
|
||||
<key>foreground</key>
|
||||
<string>#7FB4CA</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>#7AA89F</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library variable</string>
|
||||
<key>scope</key>
|
||||
<string>support.other.variable</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b6927b</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid</string>
|
||||
<key>scope</key>
|
||||
<string>invalid</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string/>
|
||||
<key>foreground</key>
|
||||
<string>#b98d7b</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>#717C7C</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>#a292a3</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>#8ba4b0</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>diff.deleted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.deleted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#43242B</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>diff.inserted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.inserted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#2B3328</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>diff.changed</string>
|
||||
<key>scope</key>
|
||||
<string>markup.changed</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#49443C</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>#54546D</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>scope</key>
|
||||
<string>entity.name.filename</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#C8C093</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>scope</key>
|
||||
<string>message.error</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#E46876</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>#9CABCA</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>#a292a3</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>#ffffff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Escape Characters</string>
|
||||
<key>scope</key>
|
||||
<string>constant.character.escape</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b98d7b</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Regular Expressions</string>
|
||||
<key>scope</key>
|
||||
<string>string.regexp</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#E6C384</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>592FC036-6BB7-4676-A2F5-2894D48C8E33</string>
|
||||
<key>colorSpaceName</key>
|
||||
<string>sRGB</string>
|
||||
<key>semanticClass</key>
|
||||
<string>theme.dark.kanagawa-dragon</string>
|
||||
</dict>
|
||||
</plist>
|
21
modules/home/yazi/flavors/kanagawa.yazi/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 Dmitry Nefedov
|
||||
|
||||
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.
|
21
modules/home/yazi/flavors/kanagawa.yazi/LICENSE-tmtheme
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 Dmitry Nefedov
|
||||
|
||||
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.
|
32
modules/home/yazi/flavors/kanagawa.yazi/README.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
<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">
|
||||
Kanagawa Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
|
||||
</h3>
|
||||
|
||||
## 👀 Preview
|
||||
|
||||
<img src="preview.png" width="600" />
|
||||
|
||||
## 🎨 Installation
|
||||
|
||||
```bash
|
||||
ya pack -a dangooddd/kanagawa
|
||||
```
|
||||
|
||||
## ⚙️ Usage
|
||||
|
||||
Add these lines to your `theme.toml` configuration file to use it:
|
||||
|
||||
```toml
|
||||
[flavor]
|
||||
dark = "kanagawa"
|
||||
```
|
||||
|
||||
## 📜 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.
|
136
modules/home/yazi/flavors/kanagawa.yazi/flavor.toml
Normal file
|
@ -0,0 +1,136 @@
|
|||
## Color palette
|
||||
## Check https://github.com/rebelot/kanagawa.nvim for more details
|
||||
# sumiInk0 "#16161d"
|
||||
# sumiInk3 "#1f1f28" bg
|
||||
# sumiInk4 "#2a2a37"
|
||||
# sumiInk6 "#54546d"
|
||||
# fujiWhite "#dcd7ba" fg
|
||||
# fujiGray "#727169"
|
||||
# peachRed "#ff5d62"
|
||||
# autumnRed "#c34043"
|
||||
# crystalBlue "#7e9cd8"
|
||||
# waveRed "#e46876"
|
||||
# carpYellow "#e6c384"
|
||||
# springGreen "#98bb6c"
|
||||
# autumnGreen "#76946a"
|
||||
# oniViolet "#957fb8"
|
||||
# waveAqua1 "#6a9589"
|
||||
# surimiOrange "#ffa066"
|
||||
# waveAqua2 "#7aa89f"
|
||||
|
||||
[manager]
|
||||
marker_copied = { fg = "#98bb6c", bg = "#98bb6c" }
|
||||
marker_cut = { fg = "#e46876", bg = "#e46876" }
|
||||
marker_marked = { fg = "#957fb8", bg = "#957fb8" }
|
||||
marker_selected = { fg = "#ffa066", bg = "#ffa066" }
|
||||
|
||||
cwd = { fg = "#e6c384" }
|
||||
hovered = { reversed = true }
|
||||
preview_hovered = { reversed = true }
|
||||
|
||||
find_keyword = { fg = "#ffa066", bg = "#1f1f28" }
|
||||
find_position = {}
|
||||
|
||||
tab_active = { reversed = true }
|
||||
tab_inactive = {}
|
||||
tab_width = 1
|
||||
|
||||
count_copied = { fg = "#1f1f28", bg = "#98bb6c" }
|
||||
count_cut = { fg = "#1f1f28", bg = "#e46876" }
|
||||
count_selected = { fg = "#1f1f28", bg = "#e6c384" }
|
||||
|
||||
border_symbol = "│"
|
||||
border_style = { fg = "#dcd7ba" }
|
||||
|
||||
|
||||
[mode]
|
||||
normal_main = { fg = "#1f1f28", bg = "#7e9cd8" }
|
||||
normal_alt = { fg = "#7e9cd8", bg = "#2a2a37" }
|
||||
select_main = { fg = "#1f1f28", bg = "#957fb8" }
|
||||
select_alt = { fg = "#957fb8", bg = "#2a2a37" }
|
||||
unset_main = { fg = "#1f1f28", bg = "#e6c384" }
|
||||
unset_alt = { fg = "#e6c384", bg = "#2a2a37" }
|
||||
|
||||
|
||||
[status]
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
separator_style = { fg = "reset", bg = "#2a2a37" }
|
||||
|
||||
progress_label = { fg = "#7e9cd8", bg = "#2a2a37", bold = true }
|
||||
progress_normal = { fg = "#2a2a37", bg = "#1f1f28" }
|
||||
progress_error = { fg = "#2a2a37", bg = "#1f1f28" }
|
||||
|
||||
perm_type = { fg = "#98bb6c" }
|
||||
perm_read = { fg = "#e6c384" }
|
||||
perm_write = { fg = "#ff5d62" }
|
||||
perm_exec = { fg = "#7aa89f" }
|
||||
perm_sep = { fg = "#957fb8" }
|
||||
|
||||
|
||||
[pick]
|
||||
border = { fg = "#7fb4ca" }
|
||||
active = { fg = "#957fb8", bold = true }
|
||||
inactive = {}
|
||||
|
||||
[input]
|
||||
border = { fg = "#7fb4ca" }
|
||||
title = {}
|
||||
value = {}
|
||||
selected = { reversed = true }
|
||||
|
||||
[completion]
|
||||
border = { fg = "#7fb4ca" }
|
||||
active = { reversed = true }
|
||||
inactive = {}
|
||||
|
||||
[tasks]
|
||||
border = { fg = "#7fb4ca" }
|
||||
title = {}
|
||||
hovered = { fg = "#957fb8" }
|
||||
|
||||
[which]
|
||||
cols = 2
|
||||
separator = " - "
|
||||
separator_style = { fg = "#727169" }
|
||||
mask = { bg = "#16161d" }
|
||||
rest = { fg = "#727169" }
|
||||
cand = { fg = "#7e9cd8" }
|
||||
desc = { fg = "#54546d" }
|
||||
|
||||
[help]
|
||||
on = { fg = "#7aa89f" }
|
||||
run = { fg = "#957fb8" }
|
||||
desc = {}
|
||||
hovered = { reversed = true, bold = true }
|
||||
footer = { fg = "#1f1f28", bg = "#dcd7ba" }
|
||||
|
||||
[notify]
|
||||
title_info = { fg = "#98bb6c" }
|
||||
title_warn = { fg = "#e6c384" }
|
||||
title_error = { fg = "#ff5d62" }
|
||||
|
||||
[filetype]
|
||||
rules = [
|
||||
# images
|
||||
{ mime = "image/*", fg = "#e6c384" },
|
||||
|
||||
# media
|
||||
{ mime = "{audio,video}/*", fg = "#957fb8" },
|
||||
|
||||
# archives
|
||||
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#e46876" },
|
||||
|
||||
# documents
|
||||
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg = "#6a9589" },
|
||||
|
||||
# broken links
|
||||
{ name = "*", is = "orphan", fg = "#c34043" },
|
||||
|
||||
# executables
|
||||
{ name = "*", is = "exec", fg = "#76946a" },
|
||||
|
||||
# fallback
|
||||
{ name = "*", fg = "#dcd7ba" },
|
||||
{ name = "*/", fg = "#7e9cd8" },
|
||||
]
|
BIN
modules/home/yazi/flavors/kanagawa.yazi/preview.png
Normal file
After Width: | Height: | Size: 288 KiB |
448
modules/home/yazi/flavors/kanagawa.yazi/tmtheme.xml
Normal file
|
@ -0,0 +1,448 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!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>Kanagawa</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#1F1F28</string>
|
||||
<key>caret</key>
|
||||
<string>#C8C093</string>
|
||||
<key>foreground</key>
|
||||
<string>#DCD7BA</string>
|
||||
<key>invisibles</key>
|
||||
<string>#54546D</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#2D4F67</string>
|
||||
<key>selection</key>
|
||||
<string>#2D4F67</string>
|
||||
<key>findHighlight</key>
|
||||
<string>#2D4F67</string>
|
||||
<key>selectionBorder</key>
|
||||
<string>#222218</string>
|
||||
<key>gutterForeground</key>
|
||||
<string>#54546D</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Comment</string>
|
||||
<key>scope</key>
|
||||
<string>comment</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#727169</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#98BB6C</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>#D27E99</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>#FFA066</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>#E6C384</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>#E6C384</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/>
|
||||
<key>foreground</key>
|
||||
<string>#E6C384</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/>
|
||||
<key>foreground</key>
|
||||
<string>#C0A36E</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#E46876</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage</string>
|
||||
<key>scope</key>
|
||||
<string>storage</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string/>
|
||||
<key>foreground</key>
|
||||
<string>#957FB8</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>#957FB8</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>#7AA89F</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>#7AA89F</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/>
|
||||
<key>foreground</key>
|
||||
<string>#7E9CD8</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>#b8b4d0</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/>
|
||||
<key>foreground</key>
|
||||
<string>#7FB4CA</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/>
|
||||
<key>foreground</key>
|
||||
<string>#E6C384</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/>
|
||||
<key>foreground</key>
|
||||
<string>#7FB4CA</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/>
|
||||
<key>foreground</key>
|
||||
<string>#7FB4CA</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>#7AA89F</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library variable</string>
|
||||
<key>scope</key>
|
||||
<string>support.other.variable</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#FFA066</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid</string>
|
||||
<key>scope</key>
|
||||
<string>invalid</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string/>
|
||||
<key>foreground</key>
|
||||
<string>#FF5D62</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>#717C7C</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>#957FB8</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>#7E9CD8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>diff.deleted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.deleted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#43242B</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>diff.inserted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.inserted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#2B3328</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>diff.changed</string>
|
||||
<key>scope</key>
|
||||
<string>markup.changed</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#49443C</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>#54546D</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>scope</key>
|
||||
<string>entity.name.filename</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#C8C093</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>scope</key>
|
||||
<string>message.error</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#E82424</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>#9CABCA</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>#957FB8</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>#ffffff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Escape Characters</string>
|
||||
<key>scope</key>
|
||||
<string>constant.character.escape</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#FF5D62</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Regular Expressions</string>
|
||||
<key>scope</key>
|
||||
<string>string.regexp</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#E6C384</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>592FC036-6BB7-4676-A2F5-2894D48C8E33</string>
|
||||
<key>colorSpaceName</key>
|
||||
<string>sRGB</string>
|
||||
<key>semanticClass</key>
|
||||
<string>theme.dark.kanagawa</string>
|
||||
</dict>
|
||||
</plist>
|
21
modules/home/yazi/flavors/monokai-vibrant.yazi/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 Lukas Manera
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 Lukas Manera
|
||||
|
||||
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.
|
40
modules/home/yazi/flavors/monokai-vibrant.yazi/README.md
Normal file
|
@ -0,0 +1,40 @@
|
|||
<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">
|
||||
Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
|
||||
</h3>
|
||||
|
||||
## Monokai Vibrant
|
||||
I like Monokai. I like Monokai with vibrant colors and minimal styling even more. Borders are only slightly visible. Kept a lot of things plain white to counteract the colorfulness.
|
||||
|
||||
## Theme
|
||||
Monokai Vibrant Theme based on jonotansberg "tweaked Monokai Dark Soda" .tmTheme. https://github.com/jonatansberg/Monokai-Dark-Soda.tmTheme
|
||||
|
||||
## 👀 Preview
|
||||
|
||||
<img src="preview.png" width="600" />
|
||||
|
||||
## 🎨 Installation
|
||||
|
||||
<!-- Please replace "username/example" with your repository name. -->
|
||||
|
||||
```bash
|
||||
ya pack -a sanjinso/monokai-vibrant
|
||||
```
|
||||
|
||||
## ⚙️ Usage
|
||||
|
||||
Add the these lines to your `theme.toml` configuration file to use it:
|
||||
|
||||
```toml
|
||||
[flavor]
|
||||
use = "monokai-vibrant"
|
||||
```
|
||||
|
||||
## 📜 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.
|
95
modules/home/yazi/flavors/monokai-vibrant.yazi/flavor.toml
Normal file
|
@ -0,0 +1,95 @@
|
|||
|
||||
#E373CE
|
||||
#FFD945
|
||||
#FF9700
|
||||
#81F900
|
||||
#FF3F4F
|
||||
#19D1E5
|
||||
#528bff
|
||||
|
||||
[manager]
|
||||
cwd = { fg = "white" }
|
||||
|
||||
hovered = { reversed = true }
|
||||
preview_hovered = { reversed = true }
|
||||
|
||||
tab_active = { reversed = true }
|
||||
tab_inactive = {}
|
||||
tab_width = 1
|
||||
|
||||
# default bg
|
||||
count_copied = { fg = "#1f1f28", bg = "#81F900" }
|
||||
count_cut = { fg = "#1f1f28", bg = "#FF3F4F" }
|
||||
count_selected = { fg = "#1f1f28", bg = "#FFD945" }
|
||||
|
||||
# Find
|
||||
find_keyword = { bg = "white", fg = "#FF3F4F", bold = true, italic = false, underline = false }
|
||||
|
||||
# Border
|
||||
border_symbol = "│"
|
||||
border_style = { bg = "#292B30", fg = "#333341" }
|
||||
|
||||
[which]
|
||||
cols = 2
|
||||
separator = " | "
|
||||
separator_style = { fg = "#292B30" }
|
||||
mask = { bg = "#16161d" } # dark bg
|
||||
rest = { fg = "#727169" } # darkgrey
|
||||
cand = { fg = "white" }
|
||||
desc = { fg = "#565666" }
|
||||
|
||||
[status]
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
separator_style = { fg = "reset", bg = "#363646" }
|
||||
|
||||
# default bg
|
||||
mode_normal = { fg = "#1f1f28", bg = "white", bold = true }
|
||||
mode_select = { fg = "#1f1f28", bg = "#FF3F4F", bold = true }
|
||||
mode_unset = { fg = "#1f1f28", bg = "#FFD945", bold = true }
|
||||
|
||||
progress_label = { fg = "#19D1E5", bg = "#363646", bold = true }
|
||||
progress_normal = { fg = "#363646", bg = "#1f1f28" }
|
||||
progress_error = { fg = "#363646", bg = "#1f1f28" }
|
||||
|
||||
permissions_t = { fg = "#81F900" }
|
||||
permissions_r = { fg = "#FFD945" }
|
||||
permissions_w = { fg = "#FF3F4F" }
|
||||
permissions_x = { fg = "#FF9700" }
|
||||
permissions_s = { fg = "#19D1E5" }
|
||||
|
||||
[input]
|
||||
border = { fg = "#7fb4ca" } # blue
|
||||
title = {}
|
||||
value = {}
|
||||
selected = { reversed = true }
|
||||
|
||||
[completion]
|
||||
border = { fg = "#7fb4ca" } # blue
|
||||
active = { reversed = true }
|
||||
inactive = {}
|
||||
|
||||
[tasks]
|
||||
border = { fg = "#7fb4ca" } # blue
|
||||
title = {}
|
||||
hovered = { fg = "#938aa9" } # magenta
|
||||
|
||||
[help]
|
||||
on = { fg = "#7aa89f" } # cyan
|
||||
run = { fg = "#938aa9" } # magenta
|
||||
desc = {}
|
||||
hovered = { reversed = true, bold = true }
|
||||
footer = { fg = "#090618", bg = "#dcd7ba" } # white
|
||||
|
||||
# files
|
||||
[filetype]
|
||||
rules = [
|
||||
{ mime = "image/*", fg = "#FFD945" },
|
||||
{ mime = "{audio,video}/*", fg = "#81F900" },
|
||||
{ mime = "application/{,g}zip", fg = "#FF3F4F" },
|
||||
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#FF3F4F" },
|
||||
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg = "#0D96DE" },
|
||||
{ name = "*", is = "orphan", fg = "#FF3F4F" },
|
||||
{ name = "*", is = "exec", fg = "#81F900" },
|
||||
{ name = "*/", fg = "#19D1E5"}
|
||||
]
|
BIN
modules/home/yazi/flavors/monokai-vibrant.yazi/preview.png
Normal file
After Width: | Height: | Size: 136 KiB |
675
modules/home/yazi/flavors/monokai-vibrant.yazi/tmtheme.xml
Normal file
|
@ -0,0 +1,675 @@
|
|||
<?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>Monokai Dark</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#242424</string>
|
||||
<key>caret</key>
|
||||
<string>#F8F8F0</string>
|
||||
<key>foreground</key>
|
||||
<string>#F8F8F2</string>
|
||||
<key>invisibles</key>
|
||||
<string>#3B3A32</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#3D3D3D55</string>
|
||||
<key>selection</key>
|
||||
<string>#403d3d</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Comment</string>
|
||||
<key>scope</key>
|
||||
<string>comment</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#5C6370</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#FFD945</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>#E373CE</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>#E373CE</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>#E373CE</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>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#FF3F4F</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>#FF3F4F</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>#19D1E5</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>#81F900</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>#81F900</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>#81F900</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>#FF9700</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>#FF3F4F</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>#81F900</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>#19D1E5</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>#19D1E5</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>#19D1E5</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>PHP Namespaces</string>
|
||||
<key>scope</key>
|
||||
<string>support.other.namespace, entity.name.type.namespace</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#E373CE</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>PHP Namespace Alias</string>
|
||||
<key>scope</key>
|
||||
<string>support.other.namespace.use-as.php</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#19D1E5</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>PHP Namespace Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language.namespace.php</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#D66990</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>PHP Namespace Separator</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.separator.inheritance.php</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#FF3F4F</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS Functions / Property Values</string>
|
||||
<key>scope</key>
|
||||
<string>support.function.misc.css, support.constant.property-value.css, support.constant.font-name.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#FFD945</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Twig Tagbraces</string>
|
||||
<key>scope</key>
|
||||
<string>meta.tag.template.value.twig, meta.tag.template.block.twig</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#CD5AC5</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Twig Keywords</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.twig</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#E05D8C</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Twig Objects</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.twig</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#E5A5E0</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Twig Object Properties</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.property.twig</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#FFE1FC</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Twig Language Constants</string>
|
||||
<key>scope</key>
|
||||
<string>constant.language.twig</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#FFD945</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Twig Numerical Constants</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric.twig</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#FFD0FB</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Twig Filters</string>
|
||||
<key>scope</key>
|
||||
<string>support.function.twig</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#90E7F7</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Twig User-Defined Filters</string>
|
||||
<key>scope</key>
|
||||
<string>meta.function-call.other.twig</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#FF9700</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Twig Macros</string>
|
||||
<key>scope</key>
|
||||
<string>meta.function-call.twig</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#FF9700</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid</string>
|
||||
<key>scope</key>
|
||||
<string>invalid</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#FF3F4F</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>#E373CE</string>
|
||||
<key>foreground</key>
|
||||
<string>#F8F8F0</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Embedded Source</string>
|
||||
<key>scope</key>
|
||||
<string>text source</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#3D3D3D55</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>fontStyle</key>
|
||||
<string>bold</string>
|
||||
<key>foreground</key>
|
||||
<string>#E0EDDD</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>diff: deleted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.deleted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#D3201F</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>diff: changed</string>
|
||||
<key>scope</key>
|
||||
<string>markup.changed</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#BF3904</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>#81F900</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>diff: range</string>
|
||||
<key>scope</key>
|
||||
<string>meta.diff, meta.diff.range</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#3bc0f0</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Headings</string>
|
||||
<key>scope</key>
|
||||
<string>markup.heading.markdown, markup.heading.1.markdown, markup.heading.2.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#81F900</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Bold</string>
|
||||
<key>scope</key>
|
||||
<string>markup.bold.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
<key>foreground</key>
|
||||
<string>#F8F8F2</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Italic</string>
|
||||
<key>scope</key>
|
||||
<string>markup.italic.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
<key>foreground</key>
|
||||
<string>#F8F8F2</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Punctuation for Bold, Italic, and Inline Block</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.bold.markdown, punctuation.definition.italic.markdown, punctuation.definition.raw.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#D3201F</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Bulleted List</string>
|
||||
<key>scope</key>
|
||||
<string>markup.list.unnumbered.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#E373CE</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Numbered List</string>
|
||||
<key>scope</key>
|
||||
<string>markup.list.numbered.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#E373CE</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Block and Inline Block</string>
|
||||
<key>scope</key>
|
||||
<string>markup.raw.block.markdown, markup.raw.inline.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#FFD945</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Quote Block and Punctuation</string>
|
||||
<key>scope</key>
|
||||
<string>markup.quote.markdown, punctuation.definition.blockquote.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#00A0E4</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Seperator</string>
|
||||
<key>scope</key>
|
||||
<string>meta.separator.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#E373CE</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Link and Reference URL</string>
|
||||
<key>scope</key>
|
||||
<string>meta.image.inline.markdown, markup.underline.link.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
<key>foreground</key>
|
||||
<string>#5C6370</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Link Title, Image Description</string>
|
||||
<key>scope</key>
|
||||
<string>string.other.link.title.markdown, string.other.link.description.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#81F900</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Angle Brakets on Link and Image</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.link.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#5C6370</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Parens on Link and Image </string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.metadata.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#5C6370</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown: Square Brakets on Link, Image, and Reference</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.constant.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#5C6370</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>255F0694-0C8C-93E3-114A-EBBCF44F5573</string>
|
||||
</dict>
|
||||
</plist>
|
21
modules/home/yazi/flavors/moonfly.yazi/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 Tomasz Kapias
|
||||
|
||||
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.
|
22
modules/home/yazi/flavors/moonfly.yazi/LICENSE-tmtheme
Normal file
|
@ -0,0 +1,22 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2018-2021 bat-developers (https://github.com/sharkdp/bat) and
|
||||
Copyright (c) 2021 fly16-bat authors
|
||||
|
||||
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.
|
32
modules/home/yazi/flavors/moonfly.yazi/README.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
<div align="center">
|
||||
<img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%">
|
||||
</div>
|
||||
|
||||
## moonfly flavor for [Yazi](https://github.com/sxyazi/yazi)
|
||||
|
||||
moonfly.yazi is based on [moonfly](https://github.com/bluz71/vim-moonfly-colors)'s colors and [fly16](https://github.com/bluz71/fly16-bat) .tmTheme template. It is usable standalone or with associated terminal themes found in moonfly's [extras section](https://github.com/bluz71/vim-moonfly-colors#extras).
|
||||
|
||||
## 👀 Preview
|
||||
|
||||
<img src="preview.png" width="600" />
|
||||
|
||||
## 🎨 Installation
|
||||
|
||||
```bash
|
||||
ya pack -a tkapias/moonfly.yazi
|
||||
```
|
||||
|
||||
## ⚙️ Usage
|
||||
|
||||
Add the these lines to your `theme.toml` configuration file to use it:
|
||||
|
||||
```toml
|
||||
[flavor]
|
||||
use = "moonfly"
|
||||
```
|
||||
|
||||
## 📜 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.
|
781
modules/home/yazi/flavors/moonfly.yazi/flavor.toml
Normal file
|
@ -0,0 +1,781 @@
|
|||
# vim:fileencoding=utf-8:foldmethod=marker
|
||||
# : Manager {{{
|
||||
|
||||
[manager]
|
||||
cwd = { fg = "#36c692" }
|
||||
|
||||
# Hovered
|
||||
hovered = { reversed = true }
|
||||
preview_hovered = { underline = true }
|
||||
|
||||
# Find
|
||||
find_keyword = { fg = "#e3c78a", bold = true, italic = true, underline = true }
|
||||
find_position = { fg = "#ff5189", bg = "reset", bold = true, italic = true }
|
||||
|
||||
# Marker
|
||||
marker_copied = { fg = "#36c692", bg = "#36c692" }
|
||||
marker_cut = { fg = "#ff5189", bg = "#ff5189" }
|
||||
marker_marked = { fg = "#74b2ff", bg = "#74b2ff" }
|
||||
marker_selected = { fg = "#c6c684", bg = "#c6c684" }
|
||||
|
||||
# Tab
|
||||
tab_active = { reversed = true }
|
||||
tab_inactive = {}
|
||||
tab_width = 1
|
||||
|
||||
# Count
|
||||
count_copied = { fg = "#323437", bg = "#36c692" }
|
||||
count_cut = { fg = "#323437", bg = "#ff5189" }
|
||||
count_selected = { fg = "#323437", bg = "#c6c684" }
|
||||
|
||||
# Border
|
||||
border_symbol = "│"
|
||||
border_style = { fg = "#323437" }
|
||||
|
||||
|
||||
# : Status {{{
|
||||
|
||||
[status]
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
separator_style = { fg = "#323437", bg = "#323437" }
|
||||
|
||||
# Mode
|
||||
mode_normal = { fg = "#080808", bg = "#80a0ff", bold = true }
|
||||
mode_select = { fg = "#080808", bg = "#e3c78a", bold = true }
|
||||
mode_unset = { fg = "#080808", bg = "#ff5454", bold = true }
|
||||
|
||||
# Progress
|
||||
progress_label = { fg = "#bdbdbd", bold = true }
|
||||
progress_normal = { fg = "#74b2ff", bg = "#323437" }
|
||||
progress_error = { fg = "#ff5189", bg = "#323437" }
|
||||
|
||||
# Permissions
|
||||
permissions_t = { fg = "#8cc85f" }
|
||||
permissions_r = { fg = "#e3c78a" }
|
||||
permissions_w = { fg = "#ff5454" }
|
||||
permissions_x = { fg = "#79dac8" }
|
||||
permissions_s = { fg = "#c6c6c6" }
|
||||
|
||||
# : }}}
|
||||
|
||||
# : Pick {{{
|
||||
|
||||
[pick]
|
||||
border = { fg = "#323437" }
|
||||
active = { fg = "#80a0ff", bold = true }
|
||||
inactive = {}
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Input {{{
|
||||
|
||||
[input]
|
||||
border = { fg = "#80a0ff" }
|
||||
title = {}
|
||||
value = {}
|
||||
selected = { reversed = true }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Confirm {{{
|
||||
|
||||
[confirm]
|
||||
border = { fg = "#80a0ff" }
|
||||
title = { fg = "#cf87e8" }
|
||||
content = {}
|
||||
list = {}
|
||||
btn_yes = { reversed = true }
|
||||
btn_no = {}
|
||||
btn_labels = [ " [Y]es ", " (N)o " ]
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Completion {{{
|
||||
|
||||
[completion]
|
||||
border = { fg = "#80a0ff" }
|
||||
active = { reversed = true }
|
||||
inactive = {}
|
||||
|
||||
# Icons
|
||||
icon_file = ""
|
||||
icon_folder = ""
|
||||
icon_command = ""
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Tasks {{{
|
||||
|
||||
[tasks]
|
||||
border = { fg = "#80a0ff" }
|
||||
title = {}
|
||||
hovered = { fg = "#cf87e8", underline = true }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Which {{{
|
||||
|
||||
[which]
|
||||
cols = 3
|
||||
mask = { bg = "#323437" }
|
||||
cand = { fg = "#79dac8" }
|
||||
rest = { fg = "#d6deeb" }
|
||||
desc = { fg = "#cf87e8" }
|
||||
separator = " "
|
||||
separator_style = { fg = "#949494" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Help {{{
|
||||
|
||||
[help]
|
||||
on = { fg = "#79dac8" }
|
||||
run = { fg = "#cf87e8" }
|
||||
desc = {}
|
||||
hovered = { reversed = true, bold = true }
|
||||
footer = { fg = "#323437", bg = "#c6c6c6" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Notify {{{
|
||||
|
||||
[notify]
|
||||
title_info = { fg = "#8cc85f" }
|
||||
title_warn = { fg = "#e3c78a" }
|
||||
title_error = { fg = "#ff5454" }
|
||||
|
||||
# Icons
|
||||
icon_info = ""
|
||||
icon_warn = ""
|
||||
icon_error = ""
|
||||
|
||||
# : }}}
|
||||
|
||||
# : File-specific styles {{{
|
||||
|
||||
[filetype]
|
||||
|
||||
rules = [
|
||||
# Images
|
||||
{ mime = "image/*", fg = "#c6c684" },
|
||||
|
||||
# Media
|
||||
{ mime = "{audio,video}/*", fg = "#ae81ff" },
|
||||
|
||||
# Archives
|
||||
{ mime = "application/{,g}zip", fg = "#ff5189" },
|
||||
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#ff5189" },
|
||||
|
||||
# Documents
|
||||
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg = "#36c692" },
|
||||
|
||||
# Empty files
|
||||
{ mime = "inode/x-empty", fg = "#ff5454" },
|
||||
|
||||
# Special files
|
||||
{ name = "*", is = "orphan", bg = "#ff5189" },
|
||||
{ name = "*", is = "exec" , fg = "#36c692" },
|
||||
|
||||
# Dummy files
|
||||
{ name = "*", is = "dummy", bg = "#ff5189" },
|
||||
{ name = "*/", is = "dummy", bg = "#ff5189" },
|
||||
|
||||
# Fallback
|
||||
{ name = "*", fg = "#e4e4e4" },
|
||||
{ name = "*/", fg = "#80a0ff" }
|
||||
]
|
||||
|
||||
[icon]
|
||||
|
||||
globs = []
|
||||
dirs = [
|
||||
{ name = ".config", text = "" },
|
||||
{ name = ".git", text = "" },
|
||||
{ name = "Desktop", text = "" },
|
||||
{ name = "Development", text = "" },
|
||||
{ name = "Documents", text = "" },
|
||||
{ name = "Downloads", text = "" },
|
||||
{ name = "Library", text = "" },
|
||||
{ name = "Movies", text = "" },
|
||||
{ name = "Music", text = "" },
|
||||
{ name = "Pictures", text = "" },
|
||||
{ name = "Public", text = "" },
|
||||
{ name = "Videos", text = "" },
|
||||
]
|
||||
files = [
|
||||
{ name = ".babelrc", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = ".bash_profile", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = ".bashrc", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = ".dockerignore", text = "", fg_dark = "#458ee6", fg_light = "#2e5f99" },
|
||||
{ name = ".ds_store", text = "", fg_dark = "#41535b", fg_light = "#41535b" },
|
||||
{ name = ".editorconfig", text = "", fg_dark = "#fff2f2", fg_light = "#333030" },
|
||||
{ name = ".env", text = "", fg_dark = "#faf743", fg_light = "#32310d" },
|
||||
{ name = ".eslintignore", text = "", fg_dark = "#4b32c3", fg_light = "#4b32c3" },
|
||||
{ name = ".eslintrc", text = "", fg_dark = "#4b32c3", fg_light = "#4b32c3" },
|
||||
{ name = ".gitattributes", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" },
|
||||
{ name = ".gitconfig", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" },
|
||||
{ name = ".gitignore", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" },
|
||||
{ name = ".gitlab-ci.yml", text = "", fg_dark = "#e24329", fg_light = "#aa321f" },
|
||||
{ name = ".gitmodules", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" },
|
||||
{ name = ".gtkrc-2.0", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = ".gvimrc", text = "", fg_dark = "#019833", fg_light = "#017226" },
|
||||
{ name = ".luaurc", text = "", fg_dark = "#00a2ff", fg_light = "#007abf" },
|
||||
{ name = ".mailmap", text = "", fg_dark = "#41535b", fg_light = "#41535b" },
|
||||
{ name = ".npmignore", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" },
|
||||
{ name = ".npmrc", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" },
|
||||
{ name = ".prettierrc", text = "", fg_dark = "#4285f4", fg_light = "#3264b7" },
|
||||
{ name = ".settings.json", text = "", fg_dark = "#854cc7", fg_light = "#643995" },
|
||||
{ name = ".SRCINFO", text = "", fg_dark = "#0f94d2", fg_light = "#0b6f9e" },
|
||||
{ name = ".vimrc", text = "", fg_dark = "#019833", fg_light = "#017226" },
|
||||
{ name = ".Xauthority", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" },
|
||||
{ name = ".xinitrc", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" },
|
||||
{ name = ".Xresources", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" },
|
||||
{ name = ".xsession", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" },
|
||||
{ name = ".zprofile", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = ".zshenv", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = ".zshrc", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = "_gvimrc", text = "", fg_dark = "#019833", fg_light = "#017226" },
|
||||
{ name = "_vimrc", text = "", fg_dark = "#019833", fg_light = "#017226" },
|
||||
{ name = "avif", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "brewfile", text = "", fg_dark = "#701516", fg_light = "#701516" },
|
||||
{ name = "bspwmrc", text = "", fg_dark = "#2f2f2f", fg_light = "#2f2f2f" },
|
||||
{ name = "build", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = "build.gradle", text = "", fg_dark = "#005f87", fg_light = "#005f87" },
|
||||
{ name = "build.zig.zon", text = "", fg_dark = "#f69a1b", fg_light = "#7b4d0e" },
|
||||
{ name = "cantorrc", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" },
|
||||
{ name = "checkhealth", text = "", fg_dark = "#75b4fb", fg_light = "#3a5a7e" },
|
||||
{ name = "cmakelists.txt", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "commit_editmsg", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" },
|
||||
{ name = "compose.yaml", text = "", fg_dark = "#458ee6", fg_light = "#2e5f99" },
|
||||
{ name = "compose.yml", text = "", fg_dark = "#458ee6", fg_light = "#2e5f99" },
|
||||
{ name = "config", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "containerfile", text = "", fg_dark = "#458ee6", fg_light = "#2e5f99" },
|
||||
{ name = "copying", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "copying.lesser", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "docker-compose.yaml", text = "", fg_dark = "#458ee6", fg_light = "#2e5f99" },
|
||||
{ name = "docker-compose.yml", text = "", fg_dark = "#458ee6", fg_light = "#2e5f99" },
|
||||
{ name = "dockerfile", text = "", fg_dark = "#458ee6", fg_light = "#2e5f99" },
|
||||
{ name = "ext_typoscript_setup.txt", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" },
|
||||
{ name = "favicon.ico", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "fp-info-cache", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "fp-lib-table", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "FreeCAD.conf", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
|
||||
{ name = "gemfile$", text = "", fg_dark = "#701516", fg_light = "#701516" },
|
||||
{ name = "gnumakefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "gradle-wrapper.properties", text = "", fg_dark = "#005f87", fg_light = "#005f87" },
|
||||
{ name = "gradle.properties", text = "", fg_dark = "#005f87", fg_light = "#005f87" },
|
||||
{ name = "gradlew", text = "", fg_dark = "#005f87", fg_light = "#005f87" },
|
||||
{ name = "groovy", text = "", fg_dark = "#4a687c", fg_light = "#384e5d" },
|
||||
{ name = "gruntfile.babel.js", text = "", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "gruntfile.coffee", text = "", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "gruntfile.js", text = "", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "gruntfile.ts", text = "", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "gtkrc", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "gulpfile.babel.js", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
|
||||
{ name = "gulpfile.coffee", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
|
||||
{ name = "gulpfile.js", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
|
||||
{ name = "gulpfile.ts", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
|
||||
{ name = "hyprland.conf", text = "", fg_dark = "#00aaae", fg_light = "#008082" },
|
||||
{ name = "i3blocks.conf", text = "", fg_dark = "#e8ebee", fg_light = "#2e2f30" },
|
||||
{ name = "i3status.conf", text = "", fg_dark = "#e8ebee", fg_light = "#2e2f30" },
|
||||
{ name = "kalgebrarc", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" },
|
||||
{ name = "kdeglobals", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" },
|
||||
{ name = "kdenlive-layoutsrc", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" },
|
||||
{ name = "kdenliverc", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" },
|
||||
{ name = "kritadisplayrc", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" },
|
||||
{ name = "kritarc", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" },
|
||||
{ name = "license", text = "", fg_dark = "#d0bf41", fg_light = "#686020" },
|
||||
{ name = "lxde-rc.xml", text = "", fg_dark = "#909090", fg_light = "#606060" },
|
||||
{ name = "lxqt.conf", text = "", fg_dark = "#0192d3", fg_light = "#016e9e" },
|
||||
{ name = "makefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "mix.lock", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "mpv.conf", text = "", fg_dark = "#3b1342", fg_light = "#3b1342" },
|
||||
{ name = "node_modules", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" },
|
||||
{ name = "package-lock.json", text = "", fg_dark = "#7a0d21", fg_light = "#7a0d21" },
|
||||
{ name = "package.json", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" },
|
||||
{ name = "PKGBUILD", text = "", fg_dark = "#0f94d2", fg_light = "#0b6f9e" },
|
||||
{ name = "platformio.ini", text = "", fg_dark = "#f6822b", fg_light = "#a4571d" },
|
||||
{ name = "pom.xml", text = "", fg_dark = "#7a0d21", fg_light = "#7a0d21" },
|
||||
{ name = "procfile", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "PrusaSlicer.ini", text = "", fg_dark = "#ec6b23", fg_light = "#9d4717" },
|
||||
{ name = "PrusaSlicerGcodeViewer.ini", text = "", fg_dark = "#ec6b23", fg_light = "#9d4717" },
|
||||
{ name = "py.typed", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" },
|
||||
{ name = "QtProject.conf", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" },
|
||||
{ name = "R", text = "", fg_dark = "#2266ba", fg_light = "#1a4c8c" },
|
||||
{ name = "r", text = "", fg_dark = "#2266ba", fg_light = "#1a4c8c" },
|
||||
{ name = "rakefile", text = "", fg_dark = "#701516", fg_light = "#701516" },
|
||||
{ name = "rmd", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "settings.gradle", text = "", fg_dark = "#005f87", fg_light = "#005f87" },
|
||||
{ name = "svelte.config.js", text = "", fg_dark = "#ff3e00", fg_light = "#bf2e00" },
|
||||
{ name = "sxhkdrc", text = "", fg_dark = "#2f2f2f", fg_light = "#2f2f2f" },
|
||||
{ name = "sym-lib-table", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "tailwind.config.js", text = "", fg_dark = "#20c2e3", fg_light = "#158197" },
|
||||
{ name = "tailwind.config.mjs", text = "", fg_dark = "#20c2e3", fg_light = "#158197" },
|
||||
{ name = "tailwind.config.ts", text = "", fg_dark = "#20c2e3", fg_light = "#158197" },
|
||||
{ name = "tmux.conf", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" },
|
||||
{ name = "tmux.conf.local", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" },
|
||||
{ name = "tsconfig.json", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "unlicense", text = "", fg_dark = "#d0bf41", fg_light = "#686020" },
|
||||
{ name = "vagrantfile$", text = "", fg_dark = "#1563ff", fg_light = "#104abf" },
|
||||
{ name = "vlcrc", text = "", fg_dark = "#ee7a00", fg_light = "#9f5100" },
|
||||
{ name = "webpack", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "weston.ini", text = "", fg_dark = "#ffbb01", fg_light = "#805e00" },
|
||||
{ name = "workspace", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = "xmobarrc", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" },
|
||||
{ name = "xmobarrc.hs", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" },
|
||||
{ name = "xmonad.hs", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" },
|
||||
{ name = "xorg.conf", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" },
|
||||
{ name = "xsettingsd.conf", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" },
|
||||
]
|
||||
exts = [
|
||||
{ name = "3gp", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
|
||||
{ name = "3mf", text = "", fg_dark = "#888888", fg_light = "#5b5b5b" },
|
||||
{ name = "7z", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
|
||||
{ name = "a", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" },
|
||||
{ name = "aac", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
|
||||
{ name = "ai", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "aif", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
|
||||
{ name = "aiff", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
|
||||
{ name = "android", text = "", fg_dark = "#34a853", fg_light = "#277e3e" },
|
||||
{ name = "ape", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
|
||||
{ name = "apk", text = "", fg_dark = "#34a853", fg_light = "#277e3e" },
|
||||
{ name = "app", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" },
|
||||
{ name = "applescript", text = "", fg_dark = "#6d8085", fg_light = "#526064" },
|
||||
{ name = "asc", text = "", fg_dark = "#576d7f", fg_light = "#41525f" },
|
||||
{ name = "ass", text = "", fg_dark = "#ffb713", fg_light = "#805c0a" },
|
||||
{ name = "astro", text = "", fg_dark = "#e23f67", fg_light = "#aa2f4d" },
|
||||
{ name = "awk", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" },
|
||||
{ name = "azcli", text = "", fg_dark = "#0078d4", fg_light = "#005a9f" },
|
||||
{ name = "bak", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "bash", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = "bat", text = "", fg_dark = "#c1f12e", fg_light = "#40500f" },
|
||||
{ name = "bazel", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = "bib", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "bicep", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "bicepparam", text = "", fg_dark = "#9f74b3", fg_light = "#6a4d77" },
|
||||
{ name = "bin", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" },
|
||||
{ name = "blade.php", text = "", fg_dark = "#f05340", fg_light = "#a0372b" },
|
||||
{ name = "blend", text = "", fg_dark = "#ea7600", fg_light = "#9c4f00" },
|
||||
{ name = "blp", text = "", fg_dark = "#5796e2", fg_light = "#3a6497" },
|
||||
{ name = "bmp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "brep", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "bz", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
|
||||
{ name = "bz2", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
|
||||
{ name = "bz3", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
|
||||
{ name = "bzl", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = "c", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" },
|
||||
{ name = "c++", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" },
|
||||
{ name = "cache", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "cast", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
|
||||
{ name = "cbl", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" },
|
||||
{ name = "cc", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" },
|
||||
{ name = "ccm", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" },
|
||||
{ name = "cfg", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "cjs", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "clj", text = "", fg_dark = "#8dc149", fg_light = "#466024" },
|
||||
{ name = "cljc", text = "", fg_dark = "#8dc149", fg_light = "#466024" },
|
||||
{ name = "cljd", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "cljs", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "cmake", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "cob", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" },
|
||||
{ name = "cobol", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" },
|
||||
{ name = "coffee", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "conf", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "config.ru", text = "", fg_dark = "#701516", fg_light = "#701516" },
|
||||
{ name = "cp", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "cpp", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "cppm", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "cpy", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" },
|
||||
{ name = "cr", text = "", fg_dark = "#c8c8c8", fg_light = "#434343" },
|
||||
{ name = "crdownload", text = "", fg_dark = "#44cda8", fg_light = "#226654" },
|
||||
{ name = "cs", text = "", fg_dark = "#596706", fg_light = "#434d04" },
|
||||
{ name = "csh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" },
|
||||
{ name = "cshtml", text = "", fg_dark = "#512bd4", fg_light = "#512bd4" },
|
||||
{ name = "cson", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "csproj", text = "", fg_dark = "#512bd4", fg_light = "#512bd4" },
|
||||
{ name = "css", text = "", fg_dark = "#42a5f5", fg_light = "#2c6ea3" },
|
||||
{ name = "csv", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = "cts", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "cu", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = "cue", text = "", fg_dark = "#ed95ae", fg_light = "#764a57" },
|
||||
{ name = "cuh", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "cxx", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "cxxm", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "d", text = "", fg_dark = "#427819", fg_light = "#325a13" },
|
||||
{ name = "d.ts", text = "", fg_dark = "#d59855", fg_light = "#6a4c2a" },
|
||||
{ name = "dart", text = "", fg_dark = "#03589c", fg_light = "#03589c" },
|
||||
{ name = "db", text = "", fg_dark = "#dad8d8", fg_light = "#494848" },
|
||||
{ name = "dconf", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "desktop", text = "", fg_dark = "#563d7c", fg_light = "#563d7c" },
|
||||
{ name = "diff", text = "", fg_dark = "#41535b", fg_light = "#41535b" },
|
||||
{ name = "dll", text = "", fg_dark = "#4d2c0b", fg_light = "#4d2c0b" },
|
||||
{ name = "doc", text = "", fg_dark = "#185abd", fg_light = "#185abd" },
|
||||
{ name = "Dockerfile", text = "", fg_dark = "#458ee6", fg_light = "#2e5f99" },
|
||||
{ name = "docx", text = "", fg_dark = "#185abd", fg_light = "#185abd" },
|
||||
{ name = "dot", text = "", fg_dark = "#30638e", fg_light = "#244a6a" },
|
||||
{ name = "download", text = "", fg_dark = "#44cda8", fg_light = "#226654" },
|
||||
{ name = "drl", text = "", fg_dark = "#ffafaf", fg_light = "#553a3a" },
|
||||
{ name = "dropbox", text = "", fg_dark = "#0061fe", fg_light = "#0049be" },
|
||||
{ name = "dump", text = "", fg_dark = "#dad8d8", fg_light = "#494848" },
|
||||
{ name = "dwg", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "dxf", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "ebook", text = "", fg_dark = "#eab16d", fg_light = "#755836" },
|
||||
{ name = "edn", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "eex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "ejs", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "el", text = "", fg_dark = "#8172be", fg_light = "#61568e" },
|
||||
{ name = "elc", text = "", fg_dark = "#8172be", fg_light = "#61568e" },
|
||||
{ name = "elf", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" },
|
||||
{ name = "elm", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "eln", text = "", fg_dark = "#8172be", fg_light = "#61568e" },
|
||||
{ name = "env", text = "", fg_dark = "#faf743", fg_light = "#32310d" },
|
||||
{ name = "eot", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
|
||||
{ name = "epp", text = "", fg_dark = "#ffa61a", fg_light = "#80530d" },
|
||||
{ name = "epub", text = "", fg_dark = "#eab16d", fg_light = "#755836" },
|
||||
{ name = "erb", text = "", fg_dark = "#701516", fg_light = "#701516" },
|
||||
{ name = "erl", text = "", fg_dark = "#b83998", fg_light = "#8a2b72" },
|
||||
{ name = "ex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "exe", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" },
|
||||
{ name = "exs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "f#", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "f3d", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "f90", text = "", fg_dark = "#734f96", fg_light = "#563b70" },
|
||||
{ name = "fbx", text = "", fg_dark = "#888888", fg_light = "#5b5b5b" },
|
||||
{ name = "fcbak", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
|
||||
{ name = "fcmacro", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
|
||||
{ name = "fcmat", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
|
||||
{ name = "fcparam", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
|
||||
{ name = "fcscript", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
|
||||
{ name = "fcstd", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
|
||||
{ name = "fcstd1", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
|
||||
{ name = "fctb", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
|
||||
{ name = "fctl", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
|
||||
{ name = "fdmdownload", text = "", fg_dark = "#44cda8", fg_light = "#226654" },
|
||||
{ name = "fish", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" },
|
||||
{ name = "flac", text = "", fg_dark = "#0075aa", fg_light = "#005880" },
|
||||
{ name = "flc", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
|
||||
{ name = "flf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
|
||||
{ name = "fnl", text = "", fg_dark = "#fff3d7", fg_light = "#33312b" },
|
||||
{ name = "fs", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "fsi", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "fsscript", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "fsx", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "gcode", text = "", fg_dark = "#1471ad", fg_light = "#0f5582" },
|
||||
{ name = "gd", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "gemspec", text = "", fg_dark = "#701516", fg_light = "#701516" },
|
||||
{ name = "gif", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "git", text = "", fg_dark = "#f14c28", fg_light = "#b5391e" },
|
||||
{ name = "glb", text = "", fg_dark = "#ffb13b", fg_light = "#80581e" },
|
||||
{ name = "gnumakefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "go", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "godot", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "gql", text = "", fg_dark = "#e535ab", fg_light = "#ac2880" },
|
||||
{ name = "graphql", text = "", fg_dark = "#e535ab", fg_light = "#ac2880" },
|
||||
{ name = "gresource", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "gv", text = "", fg_dark = "#30638e", fg_light = "#244a6a" },
|
||||
{ name = "gz", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
|
||||
{ name = "h", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "haml", text = "", fg_dark = "#eaeae1", fg_light = "#2f2f2d" },
|
||||
{ name = "hbs", text = "", fg_dark = "#f0772b", fg_light = "#a04f1d" },
|
||||
{ name = "heex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "hex", text = "", fg_dark = "#2e63ff", fg_light = "#224abf" },
|
||||
{ name = "hh", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "hpp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "hrl", text = "", fg_dark = "#b83998", fg_light = "#8a2b72" },
|
||||
{ name = "hs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "htm", text = "", fg_dark = "#e34c26", fg_light = "#aa391c" },
|
||||
{ name = "html", text = "", fg_dark = "#e44d26", fg_light = "#ab3a1c" },
|
||||
{ name = "huff", text = "", fg_dark = "#4242c7", fg_light = "#4242c7" },
|
||||
{ name = "hurl", text = "", fg_dark = "#ff0288", fg_light = "#bf0266" },
|
||||
{ name = "hx", text = "", fg_dark = "#ea8220", fg_light = "#9c5715" },
|
||||
{ name = "hxx", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "ical", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" },
|
||||
{ name = "icalendar", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" },
|
||||
{ name = "ico", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "ics", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" },
|
||||
{ name = "ifb", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" },
|
||||
{ name = "ifc", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "ige", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "iges", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "igs", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "image", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" },
|
||||
{ name = "img", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" },
|
||||
{ name = "import", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
|
||||
{ name = "info", text = "", fg_dark = "#ffffcd", fg_light = "#333329" },
|
||||
{ name = "ini", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "ino", text = "", fg_dark = "#56b6c2", fg_light = "#397981" },
|
||||
{ name = "ipynb", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" },
|
||||
{ name = "iso", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" },
|
||||
{ name = "ixx", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "java", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
|
||||
{ name = "jl", text = "", fg_dark = "#a270ba", fg_light = "#6c4b7c" },
|
||||
{ name = "jpeg", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "jpg", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "json", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "json5", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "jsonc", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" },
|
||||
{ name = "jwmrc", text = "", fg_dark = "#0078cd", fg_light = "#005a9a" },
|
||||
{ name = "jxl", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "kbx", text = "", fg_dark = "#737672", fg_light = "#565856" },
|
||||
{ name = "kdb", text = "", fg_dark = "#529b34", fg_light = "#3e7427" },
|
||||
{ name = "kdbx", text = "", fg_dark = "#529b34", fg_light = "#3e7427" },
|
||||
{ name = "kdenlive", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" },
|
||||
{ name = "kdenlivetitle", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" },
|
||||
{ name = "kicad_dru", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "kicad_mod", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "kicad_pcb", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "kicad_prl", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "kicad_pro", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "kicad_sch", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "kicad_sym", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "kicad_wks", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
|
||||
{ name = "ko", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" },
|
||||
{ name = "kpp", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" },
|
||||
{ name = "kra", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" },
|
||||
{ name = "krz", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" },
|
||||
{ name = "ksh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" },
|
||||
{ name = "kt", text = "", fg_dark = "#7f52ff", fg_light = "#5f3ebf" },
|
||||
{ name = "kts", text = "", fg_dark = "#7f52ff", fg_light = "#5f3ebf" },
|
||||
{ name = "lck", text = "", fg_dark = "#bbbbbb", fg_light = "#5e5e5e" },
|
||||
{ name = "leex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "less", text = "", fg_dark = "#563d7c", fg_light = "#563d7c" },
|
||||
{ name = "lff", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
|
||||
{ name = "lhs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "lib", text = "", fg_dark = "#4d2c0b", fg_light = "#4d2c0b" },
|
||||
{ name = "license", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "liquid", text = "", fg_dark = "#95bf47", fg_light = "#4a6024" },
|
||||
{ name = "lock", text = "", fg_dark = "#bbbbbb", fg_light = "#5e5e5e" },
|
||||
{ name = "log", text = "", fg_dark = "#dddddd", fg_light = "#4a4a4a" },
|
||||
{ name = "lrc", text = "", fg_dark = "#ffb713", fg_light = "#805c0a" },
|
||||
{ name = "lua", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" },
|
||||
{ name = "luac", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" },
|
||||
{ name = "luau", text = "", fg_dark = "#00a2ff", fg_light = "#007abf" },
|
||||
{ name = "m", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" },
|
||||
{ name = "m3u", text = "", fg_dark = "#ed95ae", fg_light = "#764a57" },
|
||||
{ name = "m3u8", text = "", fg_dark = "#ed95ae", fg_light = "#764a57" },
|
||||
{ name = "m4a", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
|
||||
{ name = "m4v", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
|
||||
{ name = "magnet", text = "", fg_dark = "#a51b16", fg_light = "#a51b16" },
|
||||
{ name = "makefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "markdown", text = "", fg_dark = "#dddddd", fg_light = "#4a4a4a" },
|
||||
{ name = "material", text = "", fg_dark = "#b83998", fg_light = "#8a2b72" },
|
||||
{ name = "md", text = "", fg_dark = "#dddddd", fg_light = "#4a4a4a" },
|
||||
{ name = "md5", text = "", fg_dark = "#8c86af", fg_light = "#5d5975" },
|
||||
{ name = "mdx", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "mint", text = "", fg_dark = "#87c095", fg_light = "#44604a" },
|
||||
{ name = "mjs", text = "", fg_dark = "#f1e05a", fg_light = "#504b1e" },
|
||||
{ name = "mk", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "mkv", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
|
||||
{ name = "ml", text = "", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "mli", text = "", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "mm", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "mo", text = "∞", fg_dark = "#9772fb", fg_light = "#654ca7" },
|
||||
{ name = "mobi", text = "", fg_dark = "#eab16d", fg_light = "#755836" },
|
||||
{ name = "mov", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
|
||||
{ name = "mp3", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
|
||||
{ name = "mp4", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
|
||||
{ name = "mpp", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "msf", text = "", fg_dark = "#137be1", fg_light = "#0e5ca9" },
|
||||
{ name = "mts", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "mustache", text = "", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "nfo", text = "", fg_dark = "#ffffcd", fg_light = "#333329" },
|
||||
{ name = "nim", text = "", fg_dark = "#f3d400", fg_light = "#514700" },
|
||||
{ name = "nix", text = "", fg_dark = "#7ebae4", fg_light = "#3f5d72" },
|
||||
{ name = "nswag", text = "", fg_dark = "#85ea2d", fg_light = "#427516" },
|
||||
{ name = "nu", text = ">", fg_dark = "#3aa675", fg_light = "#276f4e" },
|
||||
{ name = "o", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" },
|
||||
{ name = "obj", text = "", fg_dark = "#888888", fg_light = "#5b5b5b" },
|
||||
{ name = "ogg", text = "", fg_dark = "#0075aa", fg_light = "#005880" },
|
||||
{ name = "opus", text = "", fg_dark = "#0075aa", fg_light = "#005880" },
|
||||
{ name = "org", text = "", fg_dark = "#77aa99", fg_light = "#4f7166" },
|
||||
{ name = "otf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
|
||||
{ name = "out", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" },
|
||||
{ name = "part", text = "", fg_dark = "#44cda8", fg_light = "#226654" },
|
||||
{ name = "patch", text = "", fg_dark = "#41535b", fg_light = "#41535b" },
|
||||
{ name = "pck", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "pcm", text = "", fg_dark = "#0075aa", fg_light = "#005880" },
|
||||
{ name = "pdf", text = "", fg_dark = "#b30b00", fg_light = "#b30b00" },
|
||||
{ name = "php", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "pl", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "pls", text = "", fg_dark = "#ed95ae", fg_light = "#764a57" },
|
||||
{ name = "ply", text = "", fg_dark = "#888888", fg_light = "#5b5b5b" },
|
||||
{ name = "pm", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "png", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "po", text = "", fg_dark = "#2596be", fg_light = "#1c708e" },
|
||||
{ name = "pot", text = "", fg_dark = "#2596be", fg_light = "#1c708e" },
|
||||
{ name = "pp", text = "", fg_dark = "#ffa61a", fg_light = "#80530d" },
|
||||
{ name = "ppt", text = "", fg_dark = "#cb4a32", fg_light = "#983826" },
|
||||
{ name = "prisma", text = "", fg_dark = "#5a67d8", fg_light = "#444da2" },
|
||||
{ name = "pro", text = "", fg_dark = "#e4b854", fg_light = "#725c2a" },
|
||||
{ name = "ps1", text = "", fg_dark = "#4273ca", fg_light = "#325698" },
|
||||
{ name = "psb", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "psd", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "psd1", text = "", fg_dark = "#6975c4", fg_light = "#4f5893" },
|
||||
{ name = "psm1", text = "", fg_dark = "#6975c4", fg_light = "#4f5893" },
|
||||
{ name = "pub", text = "", fg_dark = "#e3c58e", fg_light = "#4c422f" },
|
||||
{ name = "pxd", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" },
|
||||
{ name = "pxi", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" },
|
||||
{ name = "py", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" },
|
||||
{ name = "pyc", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" },
|
||||
{ name = "pyd", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" },
|
||||
{ name = "pyi", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" },
|
||||
{ name = "pyo", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" },
|
||||
{ name = "pyx", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" },
|
||||
{ name = "qm", text = "", fg_dark = "#2596be", fg_light = "#1c708e" },
|
||||
{ name = "qml", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" },
|
||||
{ name = "qrc", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" },
|
||||
{ name = "qss", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" },
|
||||
{ name = "query", text = "", fg_dark = "#90a850", fg_light = "#607035" },
|
||||
{ name = "r", text = "", fg_dark = "#2266ba", fg_light = "#1a4c8c" },
|
||||
{ name = "rake", text = "", fg_dark = "#701516", fg_light = "#701516" },
|
||||
{ name = "rar", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
|
||||
{ name = "razor", text = "", fg_dark = "#512bd4", fg_light = "#512bd4" },
|
||||
{ name = "rb", text = "", fg_dark = "#701516", fg_light = "#701516" },
|
||||
{ name = "res", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
|
||||
{ name = "resi", text = "", fg_dark = "#f55385", fg_light = "#a33759" },
|
||||
{ name = "rlib", text = "", fg_dark = "#dea584", fg_light = "#6f5242" },
|
||||
{ name = "rmd", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "rproj", text = "", fg_dark = "#358a5b", fg_light = "#286844" },
|
||||
{ name = "rs", text = "", fg_dark = "#dea584", fg_light = "#6f5242" },
|
||||
{ name = "rss", text = "", fg_dark = "#fb9d3b", fg_light = "#7e4e1e" },
|
||||
{ name = "sass", text = "", fg_dark = "#f55385", fg_light = "#a33759" },
|
||||
{ name = "sbt", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
|
||||
{ name = "sc", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
|
||||
{ name = "scad", text = "", fg_dark = "#f9d72c", fg_light = "#53480f" },
|
||||
{ name = "scala", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
|
||||
{ name = "scm", text = "", fg_dark = "#eeeeee", fg_light = "#303030" },
|
||||
{ name = "scss", text = "", fg_dark = "#f55385", fg_light = "#a33759" },
|
||||
{ name = "sh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" },
|
||||
{ name = "sha1", text = "", fg_dark = "#8c86af", fg_light = "#5d5975" },
|
||||
{ name = "sha224", text = "", fg_dark = "#8c86af", fg_light = "#5d5975" },
|
||||
{ name = "sha256", text = "", fg_dark = "#8c86af", fg_light = "#5d5975" },
|
||||
{ name = "sha384", text = "", fg_dark = "#8c86af", fg_light = "#5d5975" },
|
||||
{ name = "sha512", text = "", fg_dark = "#8c86af", fg_light = "#5d5975" },
|
||||
{ name = "sig", text = "λ", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "signature", text = "λ", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "skp", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "sldasm", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "sldprt", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "slim", text = "", fg_dark = "#e34c26", fg_light = "#aa391c" },
|
||||
{ name = "sln", text = "", fg_dark = "#854cc7", fg_light = "#643995" },
|
||||
{ name = "slvs", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "sml", text = "λ", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "so", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" },
|
||||
{ name = "sol", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "spec.js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "spec.jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" },
|
||||
{ name = "spec.ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "spec.tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" },
|
||||
{ name = "sql", text = "", fg_dark = "#dad8d8", fg_light = "#494848" },
|
||||
{ name = "sqlite", text = "", fg_dark = "#dad8d8", fg_light = "#494848" },
|
||||
{ name = "sqlite3", text = "", fg_dark = "#dad8d8", fg_light = "#494848" },
|
||||
{ name = "srt", text = "", fg_dark = "#ffb713", fg_light = "#805c0a" },
|
||||
{ name = "ssa", text = "", fg_dark = "#ffb713", fg_light = "#805c0a" },
|
||||
{ name = "ste", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "step", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "stl", text = "", fg_dark = "#888888", fg_light = "#5b5b5b" },
|
||||
{ name = "stp", text = "", fg_dark = "#839463", fg_light = "#576342" },
|
||||
{ name = "strings", text = "", fg_dark = "#2596be", fg_light = "#1c708e" },
|
||||
{ name = "styl", text = "", fg_dark = "#8dc149", fg_light = "#466024" },
|
||||
{ name = "sub", text = "", fg_dark = "#ffb713", fg_light = "#805c0a" },
|
||||
{ name = "sublime", text = "", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "suo", text = "", fg_dark = "#854cc7", fg_light = "#643995" },
|
||||
{ name = "sv", text = "", fg_dark = "#019833", fg_light = "#017226" },
|
||||
{ name = "svelte", text = "", fg_dark = "#ff3e00", fg_light = "#bf2e00" },
|
||||
{ name = "svg", text = "", fg_dark = "#ffb13b", fg_light = "#80581e" },
|
||||
{ name = "svh", text = "", fg_dark = "#019833", fg_light = "#017226" },
|
||||
{ name = "swift", text = "", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "t", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "tbc", text = "", fg_dark = "#1e5cb3", fg_light = "#1e5cb3" },
|
||||
{ name = "tcl", text = "", fg_dark = "#1e5cb3", fg_light = "#1e5cb3" },
|
||||
{ name = "templ", text = "", fg_dark = "#dbbd30", fg_light = "#6e5e18" },
|
||||
{ name = "terminal", text = "", fg_dark = "#31b53e", fg_light = "#217929" },
|
||||
{ name = "test.js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
|
||||
{ name = "test.jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" },
|
||||
{ name = "test.ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "test.tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" },
|
||||
{ name = "tex", text = "", fg_dark = "#3d6117", fg_light = "#3d6117" },
|
||||
{ name = "tf", text = "", fg_dark = "#5f43e9", fg_light = "#4732af" },
|
||||
{ name = "tfvars", text = "", fg_dark = "#5f43e9", fg_light = "#4732af" },
|
||||
{ name = "tgz", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
|
||||
{ name = "tmux", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" },
|
||||
{ name = "toml", text = "", fg_dark = "#9c4221", fg_light = "#753219" },
|
||||
{ name = "torrent", text = "", fg_dark = "#44cda8", fg_light = "#226654" },
|
||||
{ name = "tres", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "tscn", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "tsconfig", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" },
|
||||
{ name = "tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" },
|
||||
{ name = "ttf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
|
||||
{ name = "twig", text = "", fg_dark = "#8dc149", fg_light = "#466024" },
|
||||
{ name = "txt", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = "txz", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
|
||||
{ name = "typoscript", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" },
|
||||
{ name = "ui", text = "", fg_dark = "#0c306e", fg_light = "#0c306e" },
|
||||
{ name = "v", text = "", fg_dark = "#019833", fg_light = "#017226" },
|
||||
{ name = "vala", text = "", fg_dark = "#7239b3", fg_light = "#562b86" },
|
||||
{ name = "vh", text = "", fg_dark = "#019833", fg_light = "#017226" },
|
||||
{ name = "vhd", text = "", fg_dark = "#019833", fg_light = "#017226" },
|
||||
{ name = "vhdl", text = "", fg_dark = "#019833", fg_light = "#017226" },
|
||||
{ name = "vim", text = "", fg_dark = "#019833", fg_light = "#017226" },
|
||||
{ name = "vsh", text = "", fg_dark = "#5d87bf", fg_light = "#3e5a7f" },
|
||||
{ name = "vsix", text = "", fg_dark = "#854cc7", fg_light = "#643995" },
|
||||
{ name = "vue", text = "", fg_dark = "#8dc149", fg_light = "#466024" },
|
||||
{ name = "wasm", text = "", fg_dark = "#5c4cdb", fg_light = "#4539a4" },
|
||||
{ name = "wav", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
|
||||
{ name = "webm", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
|
||||
{ name = "webmanifest", text = "", fg_dark = "#f1e05a", fg_light = "#504b1e" },
|
||||
{ name = "webp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
|
||||
{ name = "webpack", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "wma", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
|
||||
{ name = "woff", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
|
||||
{ name = "woff2", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
|
||||
{ name = "wrl", text = "", fg_dark = "#888888", fg_light = "#5b5b5b" },
|
||||
{ name = "wrz", text = "", fg_dark = "#888888", fg_light = "#5b5b5b" },
|
||||
{ name = "x", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" },
|
||||
{ name = "xaml", text = "", fg_dark = "#512bd4", fg_light = "#512bd4" },
|
||||
{ name = "xcf", text = "", fg_dark = "#635b46", fg_light = "#4a4434" },
|
||||
{ name = "xcplayground", text = "", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "xcstrings", text = "", fg_dark = "#2596be", fg_light = "#1c708e" },
|
||||
{ name = "xls", text = "", fg_dark = "#207245", fg_light = "#207245" },
|
||||
{ name = "xlsx", text = "", fg_dark = "#207245", fg_light = "#207245" },
|
||||
{ name = "xm", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
|
||||
{ name = "xml", text = "", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "xpi", text = "", fg_dark = "#ff1b01", fg_light = "#bf1401" },
|
||||
{ name = "xul", text = "", fg_dark = "#e37933", fg_light = "#975122" },
|
||||
{ name = "xz", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
|
||||
{ name = "yaml", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "yml", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
|
||||
{ name = "zig", text = "", fg_dark = "#f69a1b", fg_light = "#7b4d0e" },
|
||||
{ name = "zip", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
|
||||
{ name = "zsh", text = "", fg_dark = "#89e051", fg_light = "#447028" },
|
||||
{ name = "zst", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
|
||||
]
|
||||
conds = [
|
||||
# Special files
|
||||
{ if = "orphan", text = "" },
|
||||
{ if = "link" , text = "" },
|
||||
{ if = "block" , text = "" },
|
||||
{ if = "char" , text = "" },
|
||||
{ if = "fifo" , text = "" },
|
||||
{ if = "sock" , text = "" },
|
||||
{ if = "sticky", text = "" },
|
||||
{ if = "dummy", text = "" },
|
||||
|
||||
# Fallback
|
||||
{ if = "dir", text = "" },
|
||||
{ if = "exec", text = "" },
|
||||
{ if = "!dir", text = "" },
|
||||
]
|
||||
|
||||
# : }}}
|
BIN
modules/home/yazi/flavors/moonfly.yazi/preview.png
Normal file
After Width: | Height: | Size: 778 KiB |
799
modules/home/yazi/flavors/moonfly.yazi/tmtheme.xml
Normal file
|
@ -0,0 +1,799 @@
|
|||
<?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>
|
||||
<!--
|
||||
This theme uses moonfly's base16 terminal colors.
|
||||
|
||||
Colors:
|
||||
#323437 - dark grey
|
||||
#ff5454 - red
|
||||
#8cc85f - green
|
||||
#e3c78a - yellow
|
||||
#80a0ff - blue
|
||||
#cf87e8 - magenta (violet)
|
||||
#79dac8 - cyan (turquoise)
|
||||
#c6c6c6 - grey
|
||||
#949494 - medium grey
|
||||
#ff5189 - bright red (crimson)
|
||||
#36c692 - bright green (emerald)
|
||||
#c6c684 - bright yellow
|
||||
#74b2ff - bright blue
|
||||
#ae81ff - bright magenta (purple)
|
||||
#85dc85 - bright cyan
|
||||
#e4e4e4 - bright white
|
||||
-->
|
||||
<key>author</key>
|
||||
<string>Template: bluz71</string>
|
||||
<key>name</key>
|
||||
<string>fly16</string>
|
||||
<key>colorSpaceName</key>
|
||||
<string>sRGB</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#323437</string>
|
||||
<key>caret</key>
|
||||
<string>#c6c6c6</string>
|
||||
<key>foreground</key>
|
||||
<string>#c6c6c6</string>
|
||||
<key>invisibles</key>
|
||||
<string>#949494</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#323437</string>
|
||||
<key>selection</key>
|
||||
<string>#c6c684</string>
|
||||
<key>gutter</key>
|
||||
<string>#36c692</string>
|
||||
<key>gutterForeground</key>
|
||||
<string>#949494</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Text</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6c6c6</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>#949494</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.string, punctuation.definition.string, punctuation.definition.parameters, punctuation.definition.string, punctuation.definition.array</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6c6c6</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Delimiters</string>
|
||||
<key>scope</key>
|
||||
<string>none</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6c6c6</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Operators</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.operator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cf87e8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keywords</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cf87e8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variables</string>
|
||||
<key>scope</key>
|
||||
<string>variable</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6c6c6</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Functions</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function, meta.require, support.function.any-method</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#74b2ff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Labels</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.label</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#85dc85</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Classes</string>
|
||||
<key>scope</key>
|
||||
<string>support.class, entity.name.class, entity.name.type.class, entity.name.type</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#36c692</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Classes</string>
|
||||
<key>scope</key>
|
||||
<string>meta.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6c6c6</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Methods</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.other.special-method</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#74b2ff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage</string>
|
||||
<key>scope</key>
|
||||
<string>storage</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cf87e8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Support</string>
|
||||
<key>scope</key>
|
||||
<string>support.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#74b2ff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Strings</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6c684</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Symbol</string>
|
||||
<key>scope</key>
|
||||
<string>constant.other.symbol</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ae81ff</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>#36c692</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Integers</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ae81ff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Floats</string>
|
||||
<key>scope</key>
|
||||
<string>none</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ae81ff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Boolean</string>
|
||||
<key>scope</key>
|
||||
<string>none</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e3c78a</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Constants</string>
|
||||
<key>scope</key>
|
||||
<string>constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e3c78a</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tags</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#80a0ff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Attributes</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.attribute-name</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#79dac8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Attribute IDs</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.attribute-name.id, punctuation.definition.entity</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#74b2ff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Selector</string>
|
||||
<key>scope</key>
|
||||
<string>meta.selector</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cf87e8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Values</string>
|
||||
<key>scope</key>
|
||||
<string>none</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#79dac8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Headings</string>
|
||||
<key>scope</key>
|
||||
<string>markup.heading punctuation.definition.heading, entity.name.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#80a0ff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Units</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.other.unit</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e4e4e4</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bold</string>
|
||||
<key>scope</key>
|
||||
<string>markup.bold, punctuation.definition.bold</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
<key>foreground</key>
|
||||
<string>#e3c78a</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Italic</string>
|
||||
<key>scope</key>
|
||||
<string>markup.italic, punctuation.definition.italic</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
<key>foreground</key>
|
||||
<string>#cf87e8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Code</string>
|
||||
<key>scope</key>
|
||||
<string>markup.raw.inline</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8cc85f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Link Text</string>
|
||||
<key>scope</key>
|
||||
<string>string.other.link, punctuation.definition.string.end.markdown, punctuation.definition.string.begin.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ff5454</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Link Url</string>
|
||||
<key>scope</key>
|
||||
<string>meta.link</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8cc85f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Quotes</string>
|
||||
<key>scope</key>
|
||||
<string>markup.quote</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e4e4e4</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Separator</string>
|
||||
<key>scope</key>
|
||||
<string>meta.separator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#c6c684</string>
|
||||
<key>foreground</key>
|
||||
<string>#c6c6c6</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Inserted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.inserted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8cc85f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Deleted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.deleted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ff5454</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Changed</string>
|
||||
<key>scope</key>
|
||||
<string>markup.changed</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cf87e8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Colors</string>
|
||||
<key>scope</key>
|
||||
<string>constant.other.color</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#79dac8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Regular Expressions</string>
|
||||
<key>scope</key>
|
||||
<string>string.regexp</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6c684</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Escape Characters</string>
|
||||
<key>scope</key>
|
||||
<string>constant.character.escape</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ff5189</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Embedded</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.section.embedded, variable.interpolation</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cf87e8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Illegal</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.illegal</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#ff5454</string>
|
||||
<key>foreground</key>
|
||||
<string>#e4e4e4</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Broken</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.broken</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#ff5189</string>
|
||||
<key>foreground</key>
|
||||
<string>#323437</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Deprecated</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.deprecated</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#85dc85</string>
|
||||
<key>foreground</key>
|
||||
<string>#e4e4e4</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Unimplemented</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.unimplemented</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#949494</string>
|
||||
<key>foreground</key>
|
||||
<string>#e4e4e4</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<!--
|
||||
Additions
|
||||
-->
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable Function</string>
|
||||
<key>scope</key>
|
||||
<string>variable.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#74b2ff</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>#ae81ff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>JSON Strings</string>
|
||||
<key>scope</key>
|
||||
<string>meta.mapping.key.json string.quoted.double.json, punctuation.separator.sequence.csv</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#74b2ff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>JavaScript unquoted label</string>
|
||||
<key>scope</key>
|
||||
<string>string.unquoted.label.js</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#79dac8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Ruby @variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.readwrite.instance</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#79dac8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Language Variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#85dc85</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markup Link Text</string>
|
||||
<key>scope</key>
|
||||
<string>text.html.markdown markup.raw.inline</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6c684</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markup Underline</string>
|
||||
<key>scope</key>
|
||||
<string>markup.underline</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ae81ff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>YAML Entity Name Tags</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag.yaml</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#74b2ff</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>#36c692</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS Keyword Other Unit</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.other.unit.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6c684</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS Attribute Name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.attribute-name.class.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#36c692</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS Punctuation</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.entity.css, punctuation.separator.key-value.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cf87e8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>YAML Plain</string>
|
||||
<key>scope</key>
|
||||
<string>string.unquoted.plain.out.yaml</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6c6c6</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Vim Function</string>
|
||||
<key>scope</key>
|
||||
<string>support.function.viml</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cf87e8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Vim Type</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.viml</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#80a0ff</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS Property</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.property-name.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#79dac8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Shell Alias</string>
|
||||
<key>scope</key>
|
||||
<string>support.function.alias.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#79dac8</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Shell Brace</string>
|
||||
<key>scope</key>
|
||||
<string>support.function.double-brace.begin.shell, support.function.double-brace.end.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6c6c6</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>uuid</string>
|
||||
</dict>
|
||||
</plist>
|
21
modules/home/yazi/flavors/onedark.yazi/LICENSE
Normal 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.
|
21
modules/home/yazi/flavors/onedark.yazi/LICENSE-tmtheme
Normal 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.
|
37
modules/home/yazi/flavors/onedark.yazi/README.md
Normal 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">
|
||||
Onedark 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/onedark.yazi.git ~/.config/yazi/flavors/onedark.yazi
|
||||
|
||||
# Windows
|
||||
git clone https://github.com/BennyOe/onedark.yazi.git %AppData%\yazi\config\flavors\onedark.yazi
|
||||
```
|
||||
|
||||
## ⚙️ Usage
|
||||
|
||||
Add the these lines to your `theme.toml` configuration file to use it:
|
||||
|
||||
|
||||
```toml
|
||||
[flavor]
|
||||
use = "onedark"
|
||||
```
|
||||
|
||||
## 📜 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.
|
151
modules/home/yazi/flavors/onedark.yazi/flavor.toml
Normal file
|
@ -0,0 +1,151 @@
|
|||
# : Manager {{{
|
||||
[manager]
|
||||
cwd = { fg = "#61AFEF" } # Blue
|
||||
|
||||
# Hovered
|
||||
hovered = { bg = "#282C34" } # Darkened background
|
||||
preview_hovered = { underline = true }
|
||||
|
||||
# Find
|
||||
find_keyword = { fg = "#E06C75", italic = true, underline = true } # Red
|
||||
find_position = { fg = "#E5C07B", italic = true } # Orange
|
||||
|
||||
# Marker
|
||||
marker_copied = { fg = "#ABB2BF", bg = "#98C379" } # Light gray on Green
|
||||
marker_cut = { fg = "#ABB2BF", bg = "#E06C75" } # Light gray on Red
|
||||
marker_marked = { fg = "#ABB2BF", bg = "#56B6C2" } # Light gray on cyan
|
||||
marker_selected = { fg = "#ABB2BF", bg = "#E5C07B" } # Light gray on Orange
|
||||
|
||||
# Tab
|
||||
tab_active = { bg = "#282C34", fg = "#61AFEF" } # Darkened background, Blue text
|
||||
tab_inactive = {}
|
||||
tab_width = 1
|
||||
|
||||
# Count
|
||||
count_copied = { fg = "#98C379", bg = "#282C34" } # Green on Darkened background
|
||||
count_cut = { fg = "#E06C75", bg = "#282C34" } # Red on Darkened background
|
||||
count_selected = { fg = "#98C379", bg = "#282C34" } # Green on Darkened background
|
||||
|
||||
# Border
|
||||
border_symbol = "│"
|
||||
border_style = { fg = "#282C34" } # Darkened background
|
||||
|
||||
# : }}}
|
||||
|
||||
# : Status {{{
|
||||
[status]
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
separator_style = { fg = "#61AFEF", bg = "#282C34" } # Blue on Darkened background
|
||||
|
||||
# Mode
|
||||
mode_normal = { fg = "#282C34", bg = "#61AFEF", bold = true } # Dark gray on Blue
|
||||
mode_select = { fg = "#282C34", bg = "#61AFEF", bold = true } # Dark gray on Blue
|
||||
mode_unset = { fg = "#282C34", bg = "#61AFEF", bold = true } # Dark gray on Blue
|
||||
|
||||
# Progress
|
||||
progress_label = { fg = "#ABB2BF", bold = true } # Light gray
|
||||
progress_normal = { fg = "#98C379", bg = "#282C34" } # Green on Darkened background
|
||||
progress_error = { fg = "#E06C75", bg = "#282C34" } # Red on Darkened background
|
||||
|
||||
# Permissions
|
||||
permissions_t = { fg = "#98C379" } # Green
|
||||
permissions_r = { fg = "#E06C75" } # Red
|
||||
permissions_w = { fg = "#E5C07B" } # Orange
|
||||
permissions_x = { fg = "#98C379" } # Green
|
||||
permissions_s = { fg = "#ABB2BF" } # Light gray
|
||||
|
||||
# : }}}
|
||||
|
||||
# : Select {{{
|
||||
[select]
|
||||
border = { fg = "#98C379" } # Green
|
||||
active = { fg = "#E5C07B", bold = true } # Orange
|
||||
inactive = {}
|
||||
|
||||
# : }}}
|
||||
|
||||
# : Input {{{
|
||||
[input]
|
||||
border = { fg = "#98C379" } # Green
|
||||
title = {}
|
||||
value = {}
|
||||
selected = { reversed = true }
|
||||
|
||||
# : }}}
|
||||
|
||||
# : Completion {{{
|
||||
[completion]
|
||||
border = { fg = "#98C379" } # Green
|
||||
|
||||
# : }}}
|
||||
|
||||
# : Tasks {{{
|
||||
[tasks]
|
||||
border = { fg = "#98C379" } # Green
|
||||
title = {}
|
||||
hovered = { fg = "#E5C07B", underline = true } # Orange
|
||||
|
||||
# : }}}
|
||||
|
||||
# : Which {{{
|
||||
[which]
|
||||
mask = { bg = "#282C34" } # Darkened background
|
||||
cand = { fg = "#98C379" } # Green
|
||||
rest = { fg = "#ABB2BF" } # Light gray
|
||||
desc = { fg = "#E5C07B" } # Orange
|
||||
separator = " "
|
||||
separator_style = { fg = "#ABB2BF" } # Light gray
|
||||
|
||||
# : }}}
|
||||
|
||||
# : Help {{{
|
||||
[help]
|
||||
on = { fg = "#98C379" } # Green
|
||||
run = { fg = "#E5C07B" } # Orange
|
||||
hovered = { reversed = true, bold = true }
|
||||
footer = { fg = "#ABB2BF", bg = "#000000" } # Light gray on Black
|
||||
|
||||
# : }}}
|
||||
|
||||
# : Notify {{{
|
||||
[notify]
|
||||
title_info = { fg = "#98C379" } # Green
|
||||
title_warn = { fg = "#E06C75" } # Red
|
||||
title_error = { fg = "#E5C07B" } # Orange
|
||||
|
||||
# : }}}
|
||||
|
||||
# : File-specific styles {{{
|
||||
|
||||
[filetype]
|
||||
|
||||
rules = [
|
||||
# Images
|
||||
{ mime = "image/*", fg = "#E5C07B" }, # Orange
|
||||
|
||||
# Media
|
||||
{ mime = "video/*", fg = "#E06C75" }, # Red
|
||||
{ mime = "audio/*", fg = "#E06C75" }, # Red
|
||||
|
||||
# Archives
|
||||
{ mime = "application/zip", fg = "#C678DD" }, # Magenta
|
||||
{ mime = "application/x-tar", fg = "#C678DD" }, # Magenta
|
||||
{ mime = "application/x-bzip*", fg = "#C678DD" }, # Magenta
|
||||
{ mime = "application/x-bzip2", fg = "#C678DD" }, # Magenta
|
||||
{ mime = "application/x-7z-compressed", fg = "#C678DD" }, # Magenta
|
||||
{ mime = "application/x-rar", fg = "#C678DD" }, # Magenta
|
||||
{ mime = "application/x-xz", fg = "#C678DD" }, # Magenta
|
||||
|
||||
# Documents
|
||||
{ mime = "application/doc", fg = "#98C379" }, # Green
|
||||
{ mime = "application/pdf", fg = "#98C379" }, # Green
|
||||
{ mime = "application/rtf", fg = "#98C379" }, # Green
|
||||
{ mime = "application/vnd.*", fg = "#98C379" }, # Green
|
||||
|
||||
# Fallback
|
||||
{ name = "*", fg = "#ABB2BF" }, # Blue
|
||||
{ name = "*/", fg = "#61AFEF" } # Blue
|
||||
]
|
||||
|
||||
# : }}}
|
BIN
modules/home/yazi/flavors/onedark.yazi/preview.png
Normal file
After Width: | Height: | Size: 1,010 KiB |
560
modules/home/yazi/flavors/onedark.yazi/tmtheme.xml
Normal file
|
@ -0,0 +1,560 @@
|
|||
<?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>author</key>
|
||||
<string>Template: Chris Kempson, Scheme: Lalit Magant (http://github.com/tilal6991)</string>
|
||||
<key>name</key>
|
||||
<string>Base16 OneDark</string>
|
||||
<key>semanticClass</key>
|
||||
<string>theme.base16.onedark</string>
|
||||
<key>colorSpaceName</key>
|
||||
<string>sRGB</string>
|
||||
<key>gutterSettings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#353b45</string>
|
||||
<key>divider</key>
|
||||
<string>#353b45</string>
|
||||
<key>foreground</key>
|
||||
<string>#545862</string>
|
||||
<key>selectionBackground</key>
|
||||
<string>#3e4451</string>
|
||||
<key>selectionForeground</key>
|
||||
<string>#565c64</string>
|
||||
</dict>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#282c34</string>
|
||||
<key>caret</key>
|
||||
<string>#abb2bf</string>
|
||||
<key>foreground</key>
|
||||
<string>#abb2bf</string>
|
||||
<key>invisibles</key>
|
||||
<string>#545862</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#54586255</string>
|
||||
<key>selection</key>
|
||||
<string>#3e4451</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Text</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#abb2bf</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>#545862</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.string, punctuation.definition.variable, punctuation.definition.string, punctuation.definition.parameters, punctuation.definition.string, punctuation.definition.array</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#abb2bf</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Delimiters</string>
|
||||
<key>scope</key>
|
||||
<string>none</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#abb2bf</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Operators</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.operator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#abb2bf</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keywords</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c678dd</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variables</string>
|
||||
<key>scope</key>
|
||||
<string>variable</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e06c75</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Functions</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function, meta.require, support.function.any-method, variable.function, variable.annotation, support.macro</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#61afef</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Labels</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.label</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#be5046</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Classes</string>
|
||||
<key>scope</key>
|
||||
<string>support.class, entity.name.class, entity.name.type.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e5c07b</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Classes</string>
|
||||
<key>scope</key>
|
||||
<string>meta.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c8ccd4</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Methods</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.other.special-method</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#61afef</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage</string>
|
||||
<key>scope</key>
|
||||
<string>storage</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c678dd</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Support</string>
|
||||
<key>scope</key>
|
||||
<string>support.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#56b6c2</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Strings, Inherited Class</string>
|
||||
<key>scope</key>
|
||||
<string>string, constant.other.symbol, entity.other.inherited-class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#98c379</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Integers</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d19a66</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Floats</string>
|
||||
<key>scope</key>
|
||||
<string>none</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d19a66</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Boolean</string>
|
||||
<key>scope</key>
|
||||
<string>none</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d19a66</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Constants</string>
|
||||
<key>scope</key>
|
||||
<string>constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d19a66</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tags</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e06c75</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Attributes</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.attribute-name</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d19a66</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Attribute IDs</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.attribute-name.id, punctuation.definition.entity</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#61afef</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Selector</string>
|
||||
<key>scope</key>
|
||||
<string>meta.selector</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c678dd</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Values</string>
|
||||
<key>scope</key>
|
||||
<string>none</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d19a66</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Headings</string>
|
||||
<key>scope</key>
|
||||
<string>markup.heading punctuation.definition.heading, entity.name.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#61afef</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Units</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.other.unit</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d19a66</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bold</string>
|
||||
<key>scope</key>
|
||||
<string>markup.bold, punctuation.definition.bold</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
<key>foreground</key>
|
||||
<string>#e5c07b</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Italic</string>
|
||||
<key>scope</key>
|
||||
<string>markup.italic, punctuation.definition.italic</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
<key>foreground</key>
|
||||
<string>#c678dd</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Code</string>
|
||||
<key>scope</key>
|
||||
<string>markup.raw.inline</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#98c379</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Link Text</string>
|
||||
<key>scope</key>
|
||||
<string>string.other.link, punctuation.definition.string.end.markdown, punctuation.definition.string.begin.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e06c75</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Link Url</string>
|
||||
<key>scope</key>
|
||||
<string>meta.link</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d19a66</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lists</string>
|
||||
<key>scope</key>
|
||||
<string>markup.list</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e06c75</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Quotes</string>
|
||||
<key>scope</key>
|
||||
<string>markup.quote</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d19a66</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Separator</string>
|
||||
<key>scope</key>
|
||||
<string>meta.separator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#3e4451</string>
|
||||
<key>foreground</key>
|
||||
<string>#abb2bf</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Inserted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.inserted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#98c379</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Deleted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.deleted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e06c75</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Changed</string>
|
||||
<key>scope</key>
|
||||
<string>markup.changed</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c678dd</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Colors</string>
|
||||
<key>scope</key>
|
||||
<string>constant.other.color</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#56b6c2</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Regular Expressions</string>
|
||||
<key>scope</key>
|
||||
<string>string.regexp</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#56b6c2</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Escape Characters</string>
|
||||
<key>scope</key>
|
||||
<string>constant.character.escape</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#56b6c2</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Embedded</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.section.embedded, variable.interpolation</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c678dd</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Illegal</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.illegal</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#e06c75</string>
|
||||
<key>foreground</key>
|
||||
<string>#c8ccd4</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Broken</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.broken</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#d19a66</string>
|
||||
<key>foreground</key>
|
||||
<string>#282c34</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Deprecated</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.deprecated</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#be5046</string>
|
||||
<key>foreground</key>
|
||||
<string>#c8ccd4</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Unimplemented</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.unimplemented</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#545862</string>
|
||||
<key>foreground</key>
|
||||
<string>#c8ccd4</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>uuid</string>
|
||||
</dict>
|
||||
</plist>
|
116
modules/home/yazi/init.lua
Normal file
|
@ -0,0 +1,116 @@
|
|||
require("git"):setup()
|
||||
require("yatline-symlink"):setup()
|
||||
require("dir-rules"):setup()
|
||||
|
||||
require("starship"):setup {
|
||||
config_file = "~/.config/starship.toml",
|
||||
}
|
||||
|
||||
require("smart-enter"):setup {
|
||||
open_multi = true,
|
||||
}
|
||||
|
||||
require("fg"):setup({
|
||||
default_action = "menu",
|
||||
})
|
||||
|
||||
-- ~/.config/yazi/init.lua
|
||||
THEME.git = THEME.git or {}
|
||||
THEME.git.added_sign = "A"
|
||||
THEME.git.ignored_sign = "I"
|
||||
THEME.git.updated_sign = "U"
|
||||
THEME.git.modified_sign = "M"
|
||||
THEME.git.deleted_sign = "D"
|
||||
|
||||
require("yatline"):setup({
|
||||
--theme = my_theme,
|
||||
section_separator = { open = "", close = "" },
|
||||
part_separator = { open = "", close = "" },
|
||||
inverse_separator = { open = "", close = "" },
|
||||
|
||||
style_a = {
|
||||
fg = "black",
|
||||
bg_mode = {
|
||||
normal = "white",
|
||||
select = "brightyellow",
|
||||
un_set = "brightred"
|
||||
}
|
||||
},
|
||||
style_b = { bg = "#111111", fg = "brightwhite" },
|
||||
style_c = { bg = "#111111", fg = "brightwhite" },
|
||||
|
||||
permissions_t_fg = "green",
|
||||
permissions_r_fg = "yellow",
|
||||
permissions_w_fg = "red",
|
||||
permissions_x_fg = "cyan",
|
||||
permissions_s_fg = "white",
|
||||
|
||||
tab_width = 20,
|
||||
tab_use_inverse = false,
|
||||
|
||||
selected = { icon = "", fg = "yellow" },
|
||||
copied = { icon = "", fg = "green" },
|
||||
cut = { icon = "", fg = "red" },
|
||||
|
||||
total = { icon = "", fg = "yellow" },
|
||||
succ = { icon = "", fg = "green" },
|
||||
fail = { icon = "", fg = "red" },
|
||||
found = { icon = "", fg = "blue" },
|
||||
processed = { icon = "", fg = "green" },
|
||||
|
||||
show_background = true,
|
||||
|
||||
display_header_line = true,
|
||||
display_status_line = true,
|
||||
|
||||
component_positions = { "header", "tab", "status" },
|
||||
|
||||
header_line = {
|
||||
left = {
|
||||
section_a = {
|
||||
{type = "line", custom = false, name = "tabs", params = {"left"}},
|
||||
},
|
||||
section_b = {
|
||||
},
|
||||
section_c = {
|
||||
}
|
||||
},
|
||||
right = {
|
||||
section_a = {
|
||||
},
|
||||
section_b = {
|
||||
},
|
||||
section_c = {
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
status_line = {
|
||||
left = {
|
||||
section_a = {
|
||||
{type = "string", custom = false, name = "tab_mode"},
|
||||
},
|
||||
section_b = {
|
||||
{type = "string", custom = false, name = "hovered_size"},
|
||||
},
|
||||
section_c = {
|
||||
{type = "string", custom = false, name = "hovered_path"},
|
||||
{ type = "coloreds", custom = false, name = "symlink" },
|
||||
{type = "coloreds", custom = false, name = "count"},
|
||||
}
|
||||
},
|
||||
right = {
|
||||
section_a = {
|
||||
{type = "string", custom = false, name = "cursor_position"},
|
||||
},
|
||||
section_b = {
|
||||
{type = "string", custom = false, name = "cursor_percentage"},
|
||||
},
|
||||
section_c = {
|
||||
{type = "string", custom = false, name = "hovered_file_extension", params = {true}},
|
||||
{type = "coloreds", custom = false, name = "permissions"},
|
||||
{type = "string", custom = false, name = "hovered_ownership"}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
8
modules/home/yazi/plugins/arrow.yazi/main.lua
Normal file
|
@ -0,0 +1,8 @@
|
|||
--- @sync entry
|
||||
return {
|
||||
entry = function(_, job)
|
||||
local current = cx.active.current
|
||||
local new = (current.cursor + job.args[1]) % #current.files
|
||||
ya.manager_emit("arrow", { new - current.cursor })
|
||||
end,
|
||||
}
|
21
modules/home/yazi/plugins/chmod.yazi/LICENSE
Normal 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.
|
28
modules/home/yazi/plugins/chmod.yazi/README.md
Normal file
|
@ -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 pack -a yazi-rs/plugins:chmod
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Add this to your `~/.config/yazi/keymap.toml`:
|
||||
|
||||
```toml
|
||||
[[manager.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.
|
39
modules/home/yazi/plugins/chmod.yazi/main.lua
Normal file
|
@ -0,0 +1,39 @@
|
|||
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.manager_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:",
|
||||
position = { "top-center", y = 3, w = 40 },
|
||||
}
|
||||
if event ~= 1 then
|
||||
return
|
||||
end
|
||||
|
||||
local status, err = Command("chmod"):arg(value):args(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,
|
||||
}
|
12
modules/home/yazi/plugins/dir-rules.yazi/main.lua
Normal file
|
@ -0,0 +1,12 @@
|
|||
local function setup()
|
||||
ps.sub("cd", function()
|
||||
local cwd = cx.active.current.cwd
|
||||
if cwd:ends_with("Downloads") then
|
||||
ya.manager_emit("sort", { "mtime", reverse = true, dir_first = false })
|
||||
else
|
||||
ya.manager_emit("sort", { "alphabetical", reverse = false })
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
return { setup = setup }
|
274
modules/home/yazi/plugins/fg.yazi/main.lua
Normal file
|
@ -0,0 +1,274 @@
|
|||
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
|
||||
ya.render()
|
||||
end)
|
||||
|
||||
local init_ui_data = ya.sync(function(self,file_url)
|
||||
self.opt = {"nvim", "jump"}
|
||||
self.title = "fg"
|
||||
self.title_color = "#82ab3a"
|
||||
self.cursor = 0
|
||||
self.file_url = file_url and file_url or ""
|
||||
ya.render()
|
||||
end)
|
||||
|
||||
local set_option = ya.sync(function(self,enable)
|
||||
if enable then
|
||||
self.active_opt = self.opt[self.cursor+1]
|
||||
else
|
||||
self.active_opt = nil
|
||||
end
|
||||
end)
|
||||
|
||||
local get_option = ya.sync(function(self)
|
||||
return self.active_opt
|
||||
end)
|
||||
|
||||
local get_default_action = ya.sync(function(self)
|
||||
return self.default_action
|
||||
end)
|
||||
|
||||
local update_cursor = ya.sync(function(self, cursor)
|
||||
self.cursor = ya.clamp(0, self.cursor + cursor, 1)
|
||||
ya.render()
|
||||
end)
|
||||
|
||||
local M = {
|
||||
keys = {
|
||||
{ on = "q", run = "quit" },
|
||||
{ on = "<Esc>", run = "quit" },
|
||||
{ on = "<Enter>", run = "select" },
|
||||
|
||||
|
||||
{ on = "k", run = "up" },
|
||||
{ on = "j", run = "down" },
|
||||
|
||||
|
||||
{ on = "<Up>", run = "up" },
|
||||
{ on = "<Down>", run = "down" },
|
||||
|
||||
},
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
local function splitAndGetNth(inputstr, sep, index)
|
||||
if sep == nil then
|
||||
sep = "%s"
|
||||
end
|
||||
local count = 0
|
||||
local start = 1
|
||||
while true do
|
||||
local sepStart, sepEnd = string.find(inputstr, sep, start)
|
||||
if not sepStart then
|
||||
break
|
||||
end
|
||||
count = count + 1
|
||||
if count == index then
|
||||
return string.sub(inputstr, start, sepStart - 1)
|
||||
end
|
||||
start = sepEnd + 1
|
||||
end
|
||||
if index == 1 then
|
||||
return inputstr
|
||||
end
|
||||
return nil -- 如果没有足够的分割部分,返回nil
|
||||
end
|
||||
|
||||
local state = ya.sync(function() return tostring(cx.active.current.cwd) end)
|
||||
|
||||
local function fail(s, ...) ya.notify { title = "Fzf", content = string.format(s, ...), timeout = 5, level = "error" } end
|
||||
|
||||
function M:entry(job)
|
||||
local args = job.args
|
||||
local _permit = ya.hide()
|
||||
local cwd = state()
|
||||
local shell_value = ya.target_family() == "windows" and "nu" or os.getenv("SHELL"):match(".*/(.*)")
|
||||
local cmd_args = ""
|
||||
|
||||
local preview_cmd = [===[line={2} && begin=$( if [[ $line -lt 7 ]]; then echo $((line-1)); else echo 6; fi ) && bat --highlight-line={2} --color=always --line-range $((line-begin)):$((line+10)) {1}]===]
|
||||
if ya.target_family() == "windows" then
|
||||
preview_cmd = [[bat --highlight-line={2} --color=always --line-range {2}: {1}]]
|
||||
elseif shell_value == "fish" then
|
||||
preview_cmd = [[set line {2} && set begin ( test $line -lt 7 && echo (math "$line-1") || echo 6 ) && bat --highlight-line={2} --color=always --line-range (math "$line-$begin"):(math "$line+10") {1}]]
|
||||
elseif shell_value == "nu" then
|
||||
preview_cmd = [[let line = ({2} | into int); let begin = if $line < 7 { $line - 1 } else { 6 }; bat --highlight-line={2} --color=always --line-range $'($line - $begin):($line + 10)' {1}]]
|
||||
end
|
||||
if ya.target_family() == "windows" and args[1] == "fzf" then
|
||||
cmd_args = [[fzf --preview="bat --color=always {}"]]
|
||||
elseif ya.target_family() == "windows" and args[1] == "rg" then
|
||||
local rg_prefix = [[rg --colors "path:fg:blue" --colors "line:fg:red" --colors "column:fg:yellow" --column --line-number --no-heading --color=always --smart-case ]]
|
||||
cmd_args = [[fzf --ansi --disabled --bind "start:reload:]]
|
||||
.. rg_prefix
|
||||
.. [[{q}" --bind "change:reload:]]
|
||||
.. rg_prefix
|
||||
.. [[{q}" --delimiter ":" --preview "]]
|
||||
.. preview_cmd
|
||||
.. [[" --preview-window "up,60%" --nth "3.."]]
|
||||
elseif ya.target_family() == "windows" then
|
||||
cmd_args = [[rg --color=always --line-number --no-heading --smart-case "" | fzf --ansi --preview="]] .. preview_cmd .. [[" --delimiter=":" --preview-window="up:60%" --nth="3.."]]
|
||||
elseif args[1] == "fzf" then
|
||||
cmd_args = [[fzf --preview="bat --color=always {}"]]
|
||||
elseif args[1] == "rg" and shell_value == "fish" then
|
||||
cmd_args = [[
|
||||
RG_PREFIX="rg --colors 'path:fg:blue' --colors 'line:fg:red' --colors 'column:fg:yellow' --column --line-number --no-heading --color=always --smart-case " \
|
||||
fzf --ansi --disabled \
|
||||
--bind "start:reload:$RG_PREFIX {q}" \
|
||||
--bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \
|
||||
--delimiter : \
|
||||
--preview ']] .. preview_cmd .. [[' \
|
||||
--preview-window 'up,60%' \
|
||||
--nth '3..'
|
||||
]]
|
||||
elseif args[1] == "rg" and (shell_value == "bash" or shell_value == "zsh") then
|
||||
cmd_args = [[
|
||||
RG_PREFIX="rg --colors 'path:fg:blue' --colors 'line:fg:red' --colors 'column:fg:yellow' --column --line-number --no-heading --color=always --smart-case "
|
||||
fzf --ansi --disabled \
|
||||
--bind "start:reload:$RG_PREFIX {q}" \
|
||||
--bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \
|
||||
--delimiter : \
|
||||
--preview ']] .. preview_cmd .. [[' \
|
||||
--preview-window 'up,60%' \
|
||||
--nth '3..'
|
||||
]]
|
||||
elseif args[1] == "rg" and shell_value == "nu" then
|
||||
local rg_prefix = "rg --colors 'path:fg:blue' --colors 'line:fg:red' --colors 'column:fg:yellow' --column --line-number --no-heading --color=always --smart-case "
|
||||
cmd_args = [[fzf --ansi --disabled --bind "start:reload:]]
|
||||
.. rg_prefix
|
||||
.. [[{q}" --bind "change:reload:sleep 100ms; try { ]]
|
||||
.. rg_prefix
|
||||
.. [[{q} }" --delimiter : --preview ']]
|
||||
.. preview_cmd
|
||||
.. [[' --preview-window 'up,60%' --nth '3..']]
|
||||
else
|
||||
cmd_args = [[rg --color=always --line-number --no-heading --smart-case '' | fzf --ansi --preview=']] .. preview_cmd .. [[' --delimiter=':' --preview-window='up:60%' --nth='3..']]
|
||||
end
|
||||
|
||||
local child, err =
|
||||
Command(shell_value):args({"-c", cmd_args}):cwd(cwd):stdin(Command.INHERIT):stdout(Command.PIPED):stderr(Command.INHERIT):spawn()
|
||||
|
||||
if not child then
|
||||
return fail("Spawn `rfzf` failed with error code %s. Do you have it installed?", err)
|
||||
end
|
||||
|
||||
local output, err = child:wait_with_output()
|
||||
if not output then
|
||||
return fail("Cannot read `fzf` output, error code %s", err)
|
||||
elseif not output.status.success and output.status.code ~= 130 then
|
||||
return fail("`fzf` exited with error code %s", output.status.code)
|
||||
end
|
||||
|
||||
if output.stdout == "" then
|
||||
return
|
||||
end
|
||||
|
||||
local target = output.stdout:gsub("\n$", "")
|
||||
|
||||
local file_url = splitAndGetNth(target,":",1)
|
||||
local line_number = splitAndGetNth(target,":",2)
|
||||
line_number = line_number and line_number or 1
|
||||
init_ui_data(cwd.."/"..file_url)
|
||||
local default_action = get_default_action()
|
||||
|
||||
if (default_action == "menu" or default_action == nil) and args[1] ~= "fzf" then
|
||||
_permit:drop()
|
||||
toggle_ui()
|
||||
while true do
|
||||
local cand = self.keys[ya.which { cands = self.keys, silent = true }]
|
||||
if cand then
|
||||
if cand.run == "quit" then
|
||||
set_option(false)
|
||||
toggle_ui()
|
||||
break
|
||||
elseif cand.run == "select" then
|
||||
set_option(true)
|
||||
toggle_ui()
|
||||
break
|
||||
elseif cand.run == "down" then
|
||||
update_cursor(1)
|
||||
elseif cand.run == "up" then
|
||||
update_cursor(-1)
|
||||
end
|
||||
end
|
||||
end
|
||||
_permit = ya.hide()
|
||||
end
|
||||
|
||||
if (default_action == "nvim" or get_option() == "nvim" ) and args[1] ~= "fzf" then
|
||||
os.execute("nvim +"..line_number.." -n "..file_url)
|
||||
elseif (default_action == "jump" or get_option() == "jump" or args[1] == "fzf") and file_url ~= "" then
|
||||
ya.manager_emit(file_url:match("[/\\]$") and "cd" or "reveal", { file_url })
|
||||
else
|
||||
return
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function M:reflow() return { self } end
|
||||
|
||||
function M:redraw()
|
||||
local rows = {}
|
||||
|
||||
rows[1] = ui.Row { "open with nvim" }
|
||||
rows[2] = ui.Row { "reach at yazi" }
|
||||
return {
|
||||
ui.Clear(self._area),
|
||||
ui.Border(ui.Border.ALL)
|
||||
:area(self._area)
|
||||
:type(ui.Border.ROUNDED)
|
||||
:style(ui.Style():fg("#82ab3a"))
|
||||
:title(ui.Line(self.title):align(ui.Line.CENTER):fg(self.title_color)),
|
||||
ui.Table(rows)
|
||||
:area(self._area:pad(ui.Pad(1, 2, 1, 2)))
|
||||
:header(ui.Row({ "Action for:"..self.file_url }):style(ui.Style():bold():fg("#e73c80")))
|
||||
:row(self.cursor)
|
||||
:row_style(ui.Style():fg("#82ab3a"):underline()),
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
function M.fail(s, ...)
|
||||
ya.manager_emit("plugin", {"mount", args = "refresh" })
|
||||
ya.notify { title = "fg", content = string.format(s, ...), timeout = 10, level = "error" }
|
||||
end
|
||||
|
||||
function M:click() end
|
||||
|
||||
function M:scroll() end
|
||||
|
||||
function M:touch() end
|
||||
|
||||
function M:setup(config)
|
||||
self.default_action = (config and config.default_action) and config.default_action or "menu"
|
||||
end
|
||||
|
||||
return M
|
19
modules/home/yazi/plugins/file-extra-metadata.yazi/LICENSE
Normal file
|
@ -0,0 +1,19 @@
|
|||
Copyright (c) 2024 boydaihungst
|
||||
|
||||
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.
|
102
modules/home/yazi/plugins/file-extra-metadata.yazi/README.md
Normal file
|
@ -0,0 +1,102 @@
|
|||
# file-extra-metadata
|
||||
|
||||
<!--toc:start-->
|
||||
|
||||
- [file-extra-metadata](#file-extra-metadata)
|
||||
- [Preview](#preview)
|
||||
- [Before:](#before)
|
||||
- [After:](#after)
|
||||
- [Requirements](#requirements)
|
||||
- [Installation](#installation)
|
||||
- [For developer](#for-developer)
|
||||
<!--toc:end-->
|
||||
|
||||
This is a Yazi plugin that replaces the default file previewer and spotter with extra information.
|
||||
|
||||
## Preview
|
||||
|
||||
### Before:
|
||||
|
||||
- Previewer
|
||||
|
||||

|
||||
|
||||
- Spotter (yazi >= v0.4 after 21/11/2024)
|
||||
|
||||

|
||||
|
||||
### After:
|
||||
|
||||
- Previewer
|
||||
|
||||

|
||||
|
||||
- Spotter (yazi >= v0.4 after 21/11/2024)
|
||||
|
||||

|
||||
|
||||
## Requirements
|
||||
|
||||
- [yazi >=0.4](https://github.com/sxyazi/yazi)
|
||||
- Tested on Linux. For MacOS, Windows: some fields will shows empty values.
|
||||
|
||||
## Installation
|
||||
|
||||
Install the plugin:
|
||||
|
||||
```sh
|
||||
ya pack -a boydaihungst/file-extra-metadata
|
||||
```
|
||||
|
||||
Add spotter keybind, makes sure not conflict with other `<Tab>` keybind in
|
||||
`manager` section:
|
||||
|
||||
```toml
|
||||
[manager]
|
||||
keymap = [
|
||||
# ...
|
||||
# Spotting
|
||||
{ on = "<Tab>", run = "spot", desc = "Spot hovered file" },
|
||||
]
|
||||
```
|
||||
|
||||
Create `~/.config/yazi/yazi.toml` and add:
|
||||
|
||||
```toml
|
||||
[plugin]
|
||||
append_previewers = [
|
||||
{ name = "*", run = "file-extra-metadata" },
|
||||
]
|
||||
# yazi v0.4 after 21/11/2024
|
||||
# Setup keybind for spotter: https://github.com/sxyazi/yazi/pull/1802
|
||||
append_spotters = [
|
||||
{ name = "*", run = "file-extra-metadata" },
|
||||
]
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```toml
|
||||
[plugin]
|
||||
previewers = [
|
||||
# ... the rest
|
||||
# disable default file plugin { name = "*", run = "file" },
|
||||
{ name = "*", run = "file-extra-metadata" },
|
||||
]
|
||||
# yazi v0.4 after 21/11/2024
|
||||
# Setup keybind for spotter: https://github.com/sxyazi/yazi/pull/1802
|
||||
spotters = [
|
||||
# ... the rest
|
||||
# Fallback
|
||||
# { name = "*", run = "file" },
|
||||
{ name = "*", run = "file-extra-metadata" },
|
||||
]
|
||||
```
|
||||
|
||||
## For developer
|
||||
|
||||
If you want to compile this with other spotter/previewer:
|
||||
|
||||
```lua
|
||||
require("file-extra-metadata"):render_table(job, { show_plugins_section = true })
|
||||
```
|
489
modules/home/yazi/plugins/file-extra-metadata.yazi/main.lua
Normal file
|
@ -0,0 +1,489 @@
|
|||
local M = {}
|
||||
|
||||
local function permission(file)
|
||||
local h = file
|
||||
if not h then
|
||||
return ""
|
||||
end
|
||||
|
||||
local perm = h.cha:perm()
|
||||
if not perm then
|
||||
return ""
|
||||
end
|
||||
|
||||
local spans = ""
|
||||
for i = 1, #perm do
|
||||
local c = perm:sub(i, i)
|
||||
spans = spans .. c
|
||||
end
|
||||
return spans
|
||||
end
|
||||
|
||||
local function link_count(file)
|
||||
local h = file
|
||||
if h == nil or ya.target_family() ~= "unix" then
|
||||
return ""
|
||||
end
|
||||
|
||||
return h.cha.nlink
|
||||
end
|
||||
|
||||
local function owner_group(file)
|
||||
local h = file
|
||||
if h == nil or ya.target_family() ~= "unix" then
|
||||
return ""
|
||||
end
|
||||
return (ya.user_name(h.cha.uid) or tostring(h.cha.uid)) .. "/" .. (ya.group_name(h.cha.gid) or tostring(h.cha.gid))
|
||||
end
|
||||
|
||||
local file_size_and_folder_childs = function(file)
|
||||
local h = file
|
||||
if not h or h.cha.is_link then
|
||||
return ""
|
||||
end
|
||||
|
||||
return h.cha.len and ya.readable_size(h.cha.len) or ""
|
||||
end
|
||||
|
||||
--- get file timestamp
|
||||
---@param file any
|
||||
---@param type "mtime" | "atime" | "btime"
|
||||
---@return any
|
||||
local function fileTimestamp(file, type)
|
||||
local h = file
|
||||
if not h or h.cha.is_link then
|
||||
return ""
|
||||
end
|
||||
local time = math.floor(h.cha[type] or 0)
|
||||
if time == 0 then
|
||||
return ""
|
||||
else
|
||||
return os.date("%Y-%m-%d %H:%M", time)
|
||||
end
|
||||
end
|
||||
|
||||
-- Function to split a string by spaces (considering multiple spaces as one delimiter)
|
||||
local function split_by_whitespace(input)
|
||||
local result = {}
|
||||
for word in string.gmatch(input, "%S+") do
|
||||
table.insert(result, word)
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
local function get_filesystem_extra(file)
|
||||
local result = {
|
||||
filesystem = "",
|
||||
device = "",
|
||||
type = "",
|
||||
used_space = "",
|
||||
avail_space = "",
|
||||
total_space = "",
|
||||
used_space_percent = "",
|
||||
avail_space_percent = "",
|
||||
error = nil,
|
||||
}
|
||||
local h = file
|
||||
local file_url = tostring(h.url)
|
||||
if not h or ya.target_family() ~= "unix" then
|
||||
return result
|
||||
end
|
||||
|
||||
local output, _ = Command("tail")
|
||||
:args({ "-n", "-1" })
|
||||
:stdin(Command("df"):args({ "-P", "-T", "-h", file_url }):stdout(Command.PIPED):spawn():take_stdout())
|
||||
:stdout(Command.PIPED)
|
||||
:output()
|
||||
|
||||
if output then
|
||||
-- Splitting the data
|
||||
local parts = split_by_whitespace(output.stdout)
|
||||
|
||||
-- Display the result
|
||||
for i, part in ipairs(parts) do
|
||||
if i == 1 then
|
||||
result.filesystem = part
|
||||
elseif i == 2 then
|
||||
result.device = part
|
||||
elseif i == 3 then
|
||||
result.total_space = part
|
||||
elseif i == 4 then
|
||||
result.used_space = part
|
||||
elseif i == 5 then
|
||||
result.avail_space = part
|
||||
elseif i == 6 then
|
||||
result.used_space_percent = part
|
||||
result.avail_space_percent = 100 - tonumber((string.match(part, "%d+") or "0"))
|
||||
elseif i == 7 then
|
||||
result.type = part
|
||||
end
|
||||
end
|
||||
else
|
||||
result.error = "tail, df are installed?"
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
local function attributes(file)
|
||||
local h = file
|
||||
local file_url = tostring(h.url)
|
||||
if not h or ya.target_family() ~= "unix" then
|
||||
return ""
|
||||
end
|
||||
|
||||
local output, _ = Command("lsattr"):args({ "-d", file_url }):stdout(Command.PIPED):output()
|
||||
|
||||
if output then
|
||||
-- Splitting the data
|
||||
local parts = split_by_whitespace(output.stdout)
|
||||
|
||||
-- Display the result
|
||||
for i, part in ipairs(parts) do
|
||||
if i == 1 then
|
||||
return part
|
||||
end
|
||||
end
|
||||
return ""
|
||||
else
|
||||
return "lsattr is installed?"
|
||||
end
|
||||
end
|
||||
|
||||
---shorten string
|
||||
---@param _s string string
|
||||
---@param _t string tail
|
||||
---@param _w number max characters
|
||||
---@return string
|
||||
local shorten = function(_s, _t, _w)
|
||||
local s = _s or utf8.len(_s)
|
||||
local t = _t or ""
|
||||
local ellipsis = "…" .. t
|
||||
local w = _w < utf8.len(ellipsis) and utf8.len(ellipsis) or _w
|
||||
local n_ellipsis = utf8.len(ellipsis) or 0
|
||||
if utf8.len(s) > w then
|
||||
return s:sub(1, (utf8.offset(s, w - n_ellipsis + 1) or 2) - 1) .. ellipsis
|
||||
end
|
||||
return s
|
||||
end
|
||||
|
||||
local is_supported_table = type(ui.Table) ~= "nil" and type(ui.Row) ~= "nil"
|
||||
|
||||
local styles = {
|
||||
header = ui.Style():fg("green"),
|
||||
row_label = ui.Style():fg("reset"),
|
||||
row_value = ui.Style():fg("blue"),
|
||||
row_value_spot_hovered = ui.Style():fg("blue"):reverse(),
|
||||
}
|
||||
|
||||
function M:render_table(job, opts)
|
||||
local filesystem_extra = get_filesystem_extra(job.file)
|
||||
local prefix = " "
|
||||
local label_lines, value_lines, rows = {}, {}, {}
|
||||
local label_max_length = 15
|
||||
local file_name_extension = job.file.cha.is_dir and "…" or ("." .. (job.file.url.ext(job.file.url) or ""))
|
||||
|
||||
local row = function(key, value)
|
||||
local h = type(value) == "table" and #value or 1
|
||||
rows[#rows + 1] = ui.Row({ ui.Line(key):style(styles.row_label), ui.Line(value):style(styles.row_value) })
|
||||
:height(h)
|
||||
end
|
||||
|
||||
local file_name = shorten(
|
||||
job.file.name,
|
||||
file_name_extension,
|
||||
math.floor(job.area.w - label_max_length - utf8.len(file_name_extension))
|
||||
)
|
||||
local location =
|
||||
shorten(tostring(job.file.url:parent()), "", math.floor(job.area.w - label_max_length - utf8.len(prefix)))
|
||||
local filesystem_error = filesystem_extra.error
|
||||
and shorten(filesystem_extra.error, "", math.floor(job.area.w - label_max_length - utf8.len(prefix)))
|
||||
or nil
|
||||
local filesystem =
|
||||
shorten(filesystem_extra.filesystem, "", math.floor(job.area.w - label_max_length - utf8.len(prefix)))
|
||||
|
||||
if not is_supported_table then
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span("Metadata:"),
|
||||
}):style(styles.header)
|
||||
)
|
||||
table.insert(
|
||||
value_lines,
|
||||
ui.Line({
|
||||
ui.Span(""),
|
||||
})
|
||||
)
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("File:"),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(
|
||||
value_lines,
|
||||
ui.Line({
|
||||
ui.Span(file_name),
|
||||
}):style(styles.row_value)
|
||||
)
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Mimetype: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(value_lines, ui.Line(ui.Span(job._mime or job.mime)):style(styles.row_value))
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Location: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(
|
||||
value_lines,
|
||||
ui.Line({
|
||||
ui.Span(location),
|
||||
}):style(styles.row_value)
|
||||
)
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Mode: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(value_lines, ui.Line(permission(job.file)):style(styles.row_value))
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Attributes: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(value_lines, ui.Line(ui.Span(attributes(job.file))):style(styles.row_value))
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Links: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(
|
||||
value_lines,
|
||||
ui.Line({
|
||||
ui.Span(tostring(link_count(job.file))),
|
||||
}):style(styles.row_value)
|
||||
)
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Owner: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(value_lines, ui.Line(ui.Span(owner_group(job.file))):style(styles.row_value))
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Size: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(value_lines, ui.Line(ui.Span(file_size_and_folder_childs(job.file))):style(styles.row_value))
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Created: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(value_lines, ui.Line(ui.Span(fileTimestamp(job.file, "btime"))):style(styles.row_value))
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Modified: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(value_lines, ui.Line(ui.Span(fileTimestamp(job.file, "mtime"))):style(styles.row_value))
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Accessed: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(value_lines, ui.Line(ui.Span(fileTimestamp(job.file, "atime"))):style(styles.row_value))
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Filesystem: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(value_lines, ui.Line(ui.Span(filesystem_error or filesystem)):style(styles.row_value))
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Device: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(value_lines, ui.Line(ui.Span(filesystem_error or filesystem_extra.device)):style(styles.row_value))
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Type: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(value_lines, ui.Line(ui.Span(filesystem_error or filesystem_extra.type)):style(styles.row_value))
|
||||
|
||||
table.insert(
|
||||
label_lines,
|
||||
ui.Line({
|
||||
ui.Span(prefix),
|
||||
ui.Span("Free space: "),
|
||||
}):style(styles.row_label)
|
||||
)
|
||||
table.insert(
|
||||
value_lines,
|
||||
ui.Line(
|
||||
ui.Span(
|
||||
filesystem_extra.error
|
||||
or (
|
||||
filesystem_extra.avail_space
|
||||
.. " / "
|
||||
.. filesystem_extra.total_space
|
||||
.. " ("
|
||||
.. filesystem_extra.avail_space_percent
|
||||
.. "%)"
|
||||
)
|
||||
)
|
||||
):style(styles.row_value)
|
||||
)
|
||||
else
|
||||
rows[#rows + 1] = ui.Row({ "Metadata", "" }):style(styles.header)
|
||||
row(prefix .. "File:", file_name)
|
||||
row(prefix .. "Mimetype:", job.mime)
|
||||
row(prefix .. "Location:", location)
|
||||
row(prefix .. "Mode:", permission(job.file))
|
||||
row(prefix .. "Attributes:", attributes(job.file))
|
||||
row(prefix .. "Links:", tostring(link_count(job.file)))
|
||||
row(prefix .. "Owner:", owner_group(job.file))
|
||||
row(prefix .. "Size:", file_size_and_folder_childs(job.file))
|
||||
row(prefix .. "Created:", fileTimestamp(job.file, "btime"))
|
||||
row(prefix .. "Modified:", fileTimestamp(job.file, "mtime"))
|
||||
row(prefix .. "Accessed:", fileTimestamp(job.file, "atime"))
|
||||
row(prefix .. "Filesystem:", filesystem_error or filesystem)
|
||||
row(prefix .. "Device:", filesystem_error or filesystem_extra.device)
|
||||
row(prefix .. "Type:", filesystem_error or filesystem_extra.type)
|
||||
row(
|
||||
prefix .. "Free space:",
|
||||
filesystem_error
|
||||
or (
|
||||
(
|
||||
filesystem_extra.avail_space
|
||||
and filesystem_extra.total_space
|
||||
and filesystem_extra.avail_space_percent
|
||||
)
|
||||
and (filesystem_extra.avail_space .. " / " .. filesystem_extra.total_space .. " (" .. filesystem_extra.avail_space_percent .. "%)")
|
||||
or ""
|
||||
)
|
||||
)
|
||||
if opts and opts.show_plugins_section and PLUGIN then
|
||||
local spotter = PLUGIN.spotter(job.file.url, job.mime)
|
||||
local previewer = PLUGIN.previewer(job.file.url, job.mime)
|
||||
local fetchers = PLUGIN.fetchers(job.file, job.mime)
|
||||
local preloaders = PLUGIN.preloaders(job.file.url, job.mime)
|
||||
|
||||
for i, v in ipairs(fetchers) do
|
||||
fetchers[i] = v.cmd
|
||||
end
|
||||
for i, v in ipairs(preloaders) do
|
||||
preloaders[i] = v.cmd
|
||||
end
|
||||
|
||||
rows[#rows + 1] = ui.Row({ { "", "Plugins" }, "" }):height(2):style(styles.header)
|
||||
row(prefix .. "Spotter:", spotter and spotter.cmd or "")
|
||||
row(prefix .. "Previewer:", previewer and previewer.cmd or "")
|
||||
row(prefix .. "Fetchers:", #fetchers ~= 0 and fetchers or "")
|
||||
row(prefix .. "Preloaders:", #preloaders ~= 0 and preloaders or "")
|
||||
end
|
||||
end
|
||||
|
||||
if not is_supported_table then
|
||||
local areas = ui.Layout()
|
||||
:direction(ui.Layout.HORIZONTAL)
|
||||
:constraints({ ui.Constraint.Length(label_max_length), ui.Constraint.Fill(1) })
|
||||
:split(job.area)
|
||||
local label_area = areas[1]
|
||||
local value_area = areas[2]
|
||||
return {
|
||||
ui.Text(label_lines):area(label_area):align(ui.Text.LEFT):wrap(ui.Text.WRAP_NO),
|
||||
ui.Text(value_lines):area(value_area):align(ui.Text.LEFT):wrap(ui.Text.WRAP_NO),
|
||||
}
|
||||
else
|
||||
return {
|
||||
ui.Table(rows):area(job.area):row(1):col(1):col_style(styles.row_value):widths({
|
||||
ui.Constraint.Length(label_max_length),
|
||||
ui.Constraint.Fill(1),
|
||||
}),
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
function M:peek(job)
|
||||
local start, cache = os.clock(), ya.file_cache(job)
|
||||
if not cache or self:preload(job) ~= 1 then
|
||||
return 1
|
||||
end
|
||||
ya.sleep(math.max(0, PREVIEW.image_delay / 1000 + start - os.clock()))
|
||||
ya.preview_widgets(job, self:render_table(job))
|
||||
end
|
||||
|
||||
function M:seek(job)
|
||||
local h = cx.active.current.hovered
|
||||
if h and h.url == job.file.url then
|
||||
local step = math.floor(job.units * job.area.h / 10)
|
||||
ya.manager_emit("peek", {
|
||||
tostring(math.max(0, cx.active.preview.skip + step)),
|
||||
only_if = tostring(job.file.url),
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
function M:preload(job)
|
||||
local cache = ya.file_cache(job)
|
||||
if not cache or fs.cha(cache) then
|
||||
return 1
|
||||
end
|
||||
return 1
|
||||
end
|
||||
|
||||
function M:spot(job)
|
||||
job.area = ui.Pos({ "center", w = 80, h = 25 })
|
||||
ya.spot_table(
|
||||
job,
|
||||
self:render_table(job, { show_plugins_section = true })[1]:cell_style(styles.row_value_spot_hovered)
|
||||
)
|
||||
end
|
||||
|
||||
return M
|
21
modules/home/yazi/plugins/git.yazi/LICENSE
Normal 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.
|
78
modules/home/yazi/plugins/git.yazi/README.md
Normal file
|
@ -0,0 +1,78 @@
|
|||
# git.yazi
|
||||
|
||||
> [!NOTE]
|
||||
> Yazi v0.4.1 or later is required for this plugin to work.
|
||||
|
||||
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 pack -a 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
|
||||
|
||||
You can customize the [Style](https://yazi-rs.github.io/docs/plugins/layout#style) of the status sign with:
|
||||
|
||||
- `THEME.git.modified`
|
||||
- `THEME.git.added`
|
||||
- `THEME.git.untracked`
|
||||
- `THEME.git.ignored`
|
||||
- `THEME.git.deleted`
|
||||
- `THEME.git.updated`
|
||||
|
||||
For example:
|
||||
|
||||
```lua
|
||||
-- ~/.config/yazi/init.lua
|
||||
THEME.git = THEME.git or {}
|
||||
THEME.git.modified = ui.Style():fg("blue")
|
||||
THEME.git.deleted = ui.Style():fg("red"):bold()
|
||||
```
|
||||
|
||||
You can also customize the text of the status sign with:
|
||||
|
||||
- `THEME.git.modified_sign`
|
||||
- `THEME.git.added_sign`
|
||||
- `THEME.git.untracked_sign`
|
||||
- `THEME.git.ignored_sign`
|
||||
- `THEME.git.deleted_sign`
|
||||
- `THEME.git.updated_sign`
|
||||
|
||||
For example:
|
||||
|
||||
```lua
|
||||
-- ~/.config/yazi/init.lua
|
||||
THEME.git = THEME.git or {}
|
||||
THEME.git.modified_sign = "M"
|
||||
THEME.git.deleted_sign = "D"
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file.
|
217
modules/home/yazi/plugins/git.yazi/main.lua
Normal file
|
@ -0,0 +1,217 @@
|
|||
local WIN = ya.target_family() == "windows"
|
||||
local PATS = {
|
||||
{ "[MT]", 6 }, -- Modified
|
||||
{ "[AC]", 5 }, -- Added
|
||||
{ "?$", 4 }, -- Untracked
|
||||
{ "!$", 3 }, -- Ignored
|
||||
{ "D", 2 }, -- Deleted
|
||||
{ "U", 1 }, -- Updated
|
||||
{ "[AD][AD]", 1 }, -- Updated
|
||||
}
|
||||
|
||||
local function match(line)
|
||||
local signs = line:sub(1, 2)
|
||||
for _, p in ipairs(PATS) do
|
||||
local path
|
||||
if signs:find(p[1]) then
|
||||
path = line:sub(4, 4) == '"' and line:sub(5, -2) or line:sub(4)
|
||||
path = WIN and path:gsub("/", "\\") or path
|
||||
end
|
||||
if not path then
|
||||
elseif path:find("[/\\]$") then
|
||||
return p[2] == 3 and 30 or p[2], path:sub(1, -2)
|
||||
else
|
||||
return p[2], path
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
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
|
||||
|
||||
local function bubble_up(changed)
|
||||
local new, empty = {}, Url("")
|
||||
for k, v in pairs(changed) do
|
||||
if v ~= 3 and v ~= 30 then
|
||||
local url = Url(k):parent()
|
||||
while url and url ~= empty do
|
||||
local s = tostring(url)
|
||||
new[s] = (new[s] or 0) > v and new[s] or v
|
||||
url = url:parent()
|
||||
end
|
||||
end
|
||||
end
|
||||
return new
|
||||
end
|
||||
|
||||
local function propagate_down(ignored, cwd, repo)
|
||||
local new, rel = {}, cwd:strip_prefix(repo)
|
||||
for k, v in pairs(ignored) do
|
||||
if v == 30 then
|
||||
if rel:starts_with(k) then
|
||||
new[tostring(repo:join(rel))] = 30
|
||||
elseif cwd == repo:join(k):parent() then
|
||||
new[k] = 3
|
||||
end
|
||||
end
|
||||
end
|
||||
return new
|
||||
end
|
||||
|
||||
local add = ya.sync(function(st, cwd, repo, changed)
|
||||
st.dirs[cwd] = repo
|
||||
st.repos[repo] = st.repos[repo] or {}
|
||||
for k, v in pairs(changed) do
|
||||
if v == 0 then
|
||||
st.repos[repo][k] = nil
|
||||
elseif v == 30 then
|
||||
st.dirs[k] = ""
|
||||
else
|
||||
st.repos[repo][k] = v
|
||||
end
|
||||
end
|
||||
ya.render()
|
||||
end)
|
||||
|
||||
local remove = ya.sync(function(st, cwd)
|
||||
local dir = st.dirs[cwd]
|
||||
if not dir then
|
||||
return
|
||||
end
|
||||
|
||||
ya.render()
|
||||
st.dirs[cwd] = nil
|
||||
if not st.repos[dir] then
|
||||
return
|
||||
end
|
||||
|
||||
for _, r in pairs(st.dirs) do
|
||||
if r == dir then
|
||||
return
|
||||
end
|
||||
end
|
||||
st.repos[dir] = nil
|
||||
end)
|
||||
|
||||
local function setup(st, opts)
|
||||
st.dirs = {}
|
||||
st.repos = {}
|
||||
|
||||
opts = opts or {}
|
||||
opts.order = opts.order or 1500
|
||||
|
||||
-- Chosen by ChatGPT fairly, PRs are welcome to adjust them
|
||||
local t = THEME.git or {}
|
||||
local styles = {
|
||||
[6] = t.modified and ui.Style(t.modified) or ui.Style():fg("#ffa500"),
|
||||
[5] = t.added and ui.Style(t.added) or ui.Style():fg("#32cd32"),
|
||||
[4] = t.untracked and ui.Style(t.untracked) or ui.Style():fg("#a9a9a9"),
|
||||
[3] = t.ignored and ui.Style(t.ignored) or ui.Style():fg("#696969"),
|
||||
[2] = t.deleted and ui.Style(t.deleted) or ui.Style():fg("#ff4500"),
|
||||
[1] = t.updated and ui.Style(t.updated) or ui.Style():fg("#1e90ff"),
|
||||
}
|
||||
local signs = {
|
||||
[6] = t.modified_sign and t.modified_sign or "",
|
||||
[5] = t.added_sign and t.added_sign or "",
|
||||
[4] = t.untracked_sign and t.untracked_sign or "",
|
||||
[3] = t.ignored_sign and t.ignored_sign or "",
|
||||
[2] = t.deleted_sign and t.deleted_sign or "",
|
||||
[1] = t.updated_sign and t.updated_sign or "U",
|
||||
}
|
||||
|
||||
Linemode:children_add(function(self)
|
||||
local url = self._file.url
|
||||
local dir = st.dirs[tostring(url:parent())]
|
||||
local change
|
||||
if dir then
|
||||
change = dir == "" and 3 or st.repos[dir][tostring(url):sub(#dir + 2)]
|
||||
end
|
||||
|
||||
if not change or signs[change] == "" then
|
||||
return ""
|
||||
elseif self._file:is_hovered() then
|
||||
return ui.Line { " ", signs[change] }
|
||||
else
|
||||
return ui.Line { " ", ui.Span(signs[change]):style(styles[change]) }
|
||||
end
|
||||
end, opts.order)
|
||||
end
|
||||
|
||||
local function fetch(_, job)
|
||||
local cwd = job.files[1].url:parent()
|
||||
local repo = root(cwd)
|
||||
if not repo then
|
||||
remove(tostring(cwd))
|
||||
if not ya.__250127 then -- TODO: remove this
|
||||
return 1
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
local paths = {}
|
||||
for _, f in ipairs(job.files) do
|
||||
paths[#paths + 1] = tostring(f.url)
|
||||
end
|
||||
|
||||
-- stylua: ignore
|
||||
local output, err = Command("git")
|
||||
:cwd(tostring(cwd))
|
||||
:args({ "--no-optional-locks", "-c", "core.quotePath=", "status", "--porcelain", "-unormal", "--no-renames", "--ignored=matching" })
|
||||
:args(paths)
|
||||
:stdout(Command.PIPED)
|
||||
:output()
|
||||
if not output then
|
||||
if not ya.__250127 then -- TODO: remove this
|
||||
ya.err("Cannot spawn git command, error: " .. err)
|
||||
return 0
|
||||
end
|
||||
return true, Err("Cannot spawn `git` command, error: %s", err)
|
||||
end
|
||||
|
||||
local changed, ignored = {}, {}
|
||||
for line in output.stdout:gmatch("[^\r\n]+") do
|
||||
local sign, path = match(line)
|
||||
if sign == 30 then
|
||||
ignored[path] = sign
|
||||
else
|
||||
changed[path] = sign
|
||||
end
|
||||
end
|
||||
|
||||
if job.files[1].cha.is_dir then
|
||||
ya.dict_merge(changed, bubble_up(changed))
|
||||
ya.dict_merge(changed, propagate_down(ignored, cwd, Url(repo)))
|
||||
else
|
||||
ya.dict_merge(changed, propagate_down(ignored, cwd, Url(repo)))
|
||||
end
|
||||
|
||||
for _, p in ipairs(paths) do
|
||||
local s = p:sub(#repo + 2)
|
||||
changed[s] = changed[s] or 0
|
||||
end
|
||||
add(tostring(cwd), repo, changed)
|
||||
|
||||
if not ya.__250127 then -- TODO: remove this
|
||||
return 3
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
return { setup = setup, fetch = fetch }
|
21
modules/home/yazi/plugins/lazygit.yazi/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 Darius
|
||||
|
||||
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.
|
29
modules/home/yazi/plugins/lazygit.yazi/README.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
# lazygit.yazi
|
||||
Plugin for [Yazi](https://github.com/sxyazi/yazi) to manage git repos with [lazygit](https://github.com/jesseduffield/lazygit)
|
||||
## Dependencies
|
||||
Make sure [lazygit](https://github.com/jesseduffield/lazygit) is installed and in your `PATH`.
|
||||
## Installation
|
||||
|
||||
### Using `ya pack`
|
||||
```
|
||||
ya pack -a Lil-Dank/lazygit
|
||||
```
|
||||
|
||||
### Manual
|
||||
**Linux/macOS**
|
||||
```
|
||||
git clone https://github.com/Lil-Dank/lazygit.yazi.git ~/.config/yazi/plugins/lazygit.yazi
|
||||
```
|
||||
**Windows**
|
||||
```
|
||||
git clone https://github.com/Lil-Dank/lazygit.yazi.git %AppData%\yazi\config\plugins\lazygit.yazi
|
||||
```
|
||||
## Configuration
|
||||
add this to your **keymap.toml** file
|
||||
```toml
|
||||
[[manager.prepend_keymap]]
|
||||
on = [ "g", "i" ]
|
||||
run = "plugin lazygit"
|
||||
desc = "run lazygit"
|
||||
```
|
||||
you can customize the keybinding however you like. Please refer to the [keymap.toml](https://yazi-rs.github.io/docs/configuration/keymap) documentation
|
31
modules/home/yazi/plugins/lazygit.yazi/main.lua
Normal file
|
@ -0,0 +1,31 @@
|
|||
return {
|
||||
entry = function()
|
||||
local output = Command("git"):arg("status"):stderr(Command.PIPED):output()
|
||||
if output.stderr ~= "" then
|
||||
ya.notify({
|
||||
title = "lazygit",
|
||||
content = "Not in a git directory",
|
||||
level = "warn",
|
||||
timeout = 5,
|
||||
})
|
||||
else
|
||||
permit = ya.hide()
|
||||
local output, err_code = Command("lazygit"):stderr(Command.PIPED):output()
|
||||
if err_code ~= nil then
|
||||
ya.notify({
|
||||
title = "Failed to run lazygit command",
|
||||
content = "Status: " .. err_code,
|
||||
level = "error",
|
||||
timeout = 5,
|
||||
})
|
||||
elseif not output.status.success then
|
||||
ya.notify({
|
||||
title = "lazygit in" .. cwd .. "failed, exit code " .. output.status.code,
|
||||
content = output.stderr,
|
||||
level = "error",
|
||||
timeout = 5,
|
||||
})
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
19
modules/home/yazi/plugins/mediainfo.yazi/LICENSE
Normal file
|
@ -0,0 +1,19 @@
|
|||
Copyright (c) 2024 Lauri Niskanen
|
||||
|
||||
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.
|
26
modules/home/yazi/plugins/mediainfo.yazi/README.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
> [!NOTE]
|
||||
> Please use **boydaihungst**'s fork for the latest version of this plugin:
|
||||
> https://github.com/boydaihungst/mediainfo.yazi
|
||||
|
||||
# mediainfo.yazi
|
||||
|
||||
This is a Yazi plugin for previewing media files. The preview shows thumbnail
|
||||
using `ffmpegthumbnailer` if available and media metadata using `mediainfo`.
|
||||
|
||||
## Installation
|
||||
|
||||
Install the plugin:
|
||||
|
||||
```
|
||||
ya pack -a Ape/mediainfo
|
||||
```
|
||||
|
||||
Create `~/.config/yazi/yazi.toml` and add:
|
||||
|
||||
```
|
||||
[plugin]
|
||||
prepend_previewers = [
|
||||
{ mime = "{image,audio,video}/*", run = "mediainfo"},
|
||||
{ mime = "application/x-subrip", run = "mediainfo"},
|
||||
]
|
||||
```
|
111
modules/home/yazi/plugins/mediainfo.yazi/main.lua
Normal file
|
@ -0,0 +1,111 @@
|
|||
local skip_labels = {
|
||||
["Complete name"] = true,
|
||||
["CompleteName_Last"] = true,
|
||||
["Unique ID"] = true,
|
||||
["File size"] = true,
|
||||
["Format/Info"] = true,
|
||||
["Codec ID/Info"] = true,
|
||||
["MD5 of the unencoded content"] = true,
|
||||
}
|
||||
|
||||
local M = {}
|
||||
|
||||
function M:peek()
|
||||
local image_height = 0
|
||||
|
||||
if self:preload() == 1 then
|
||||
local cache = ya.file_cache(self)
|
||||
if cache and fs.cha(cache).length > 0 then
|
||||
image_height = ya.image_show(cache, self.area).h
|
||||
end
|
||||
end
|
||||
|
||||
local cmd = "mediainfo"
|
||||
local output, code = Command(cmd)
|
||||
:args({ tostring(self.file.url) })
|
||||
:stdout(Command.PIPED)
|
||||
:output()
|
||||
|
||||
local lines = {}
|
||||
|
||||
if output then
|
||||
local i = 0
|
||||
for str in output.stdout:gmatch("[^\n]*") do
|
||||
local label, value = str:match("(.*[^ ]) +: (.*)")
|
||||
local line
|
||||
|
||||
if label then
|
||||
if not skip_labels[label] then
|
||||
line = ui.Line({
|
||||
ui.Span(label .. ": "):bold(),
|
||||
ui.Span(value),
|
||||
})
|
||||
end
|
||||
elseif str ~= "General" then
|
||||
line = ui.Line({ ui.Span(str):underline() })
|
||||
end
|
||||
|
||||
if line then
|
||||
if i >= self.skip then
|
||||
table.insert(lines, line)
|
||||
end
|
||||
|
||||
local max_width = math.max(1, self.area.w - 3)
|
||||
i = i + math.max(1, math.ceil(line:width() / max_width))
|
||||
end
|
||||
end
|
||||
else
|
||||
local error = string.format("Spawn `%s` command returns %s", cmd, code)
|
||||
table.insert(lines, ui.Line(error))
|
||||
end
|
||||
|
||||
ya.preview_widgets(self, {
|
||||
ui.Paragraph(
|
||||
ui.Rect({
|
||||
x = self.area.x,
|
||||
y = self.area.y + image_height,
|
||||
w = self.area.w,
|
||||
h = self.area.h - image_height,
|
||||
}),
|
||||
lines
|
||||
):wrap(ui.Paragraph.WRAP),
|
||||
})
|
||||
end
|
||||
|
||||
function M:seek(units)
|
||||
local h = cx.active.current.hovered
|
||||
if h and h.url == self.file.url then
|
||||
local step = math.floor(units * self.area.h / 10)
|
||||
ya.manager_emit("peek", {
|
||||
math.max(0, cx.active.preview.skip + step),
|
||||
only_if = self.file.url,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
function M:preload()
|
||||
local cache = ya.file_cache(self)
|
||||
if not cache or fs.cha(cache) then
|
||||
return 1
|
||||
end
|
||||
|
||||
local cmd = "ffmpegthumbnailer"
|
||||
local child, code = Command(cmd):args({
|
||||
"-q", "6",
|
||||
"-c", "jpeg",
|
||||
"-i", tostring(self.file.url),
|
||||
"-o", tostring(cache),
|
||||
"-t", "5",
|
||||
"-s", tostring(PREVIEW.max_width),
|
||||
}):spawn()
|
||||
|
||||
if not child then
|
||||
ya.err(string.format("spawn `%s` command returns %s", cmd, code))
|
||||
return 0
|
||||
end
|
||||
|
||||
local status = child:wait()
|
||||
return status and status.success and 1 or 2
|
||||
end
|
||||
|
||||
return M
|
21
modules/home/yazi/plugins/mime-ext.yazi/LICENSE
Normal 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.
|
56
modules/home/yazi/plugins/mime-ext.yazi/README.md
Normal file
|
@ -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 pack -a 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.
|
1126
modules/home/yazi/plugins/mime-ext.yazi/main.lua
Normal file
21
modules/home/yazi/plugins/mount.yazi/LICENSE
Normal 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.
|
51
modules/home/yazi/plugins/mount.yazi/README.md
Normal file
|
@ -0,0 +1,51 @@
|
|||
# mount.yazi
|
||||
|
||||
> [!NOTE]
|
||||
> The plugin is currently very experimental, and the newest Yazi nightly is required for it to work.
|
||||
|
||||
A mount manager for Yazi, providing disk mount, unmount, and eject functionality.
|
||||
|
||||
Supported platforms:
|
||||
|
||||
- Linux with [`udisksctl`](https://github.com/storaged-project/udisks) and [`lsblk`](https://github.com/util-linux/util-linux)
|
||||
- macOS with `diskutil`
|
||||
|
||||
https://github.com/user-attachments/assets/c6f780ab-458b-420f-85cf-2fc45fcfe3a2
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
ya pack -a yazi-rs/plugins:mount
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Add this to your `~/.config/yazi/keymap.toml`:
|
||||
|
||||
```toml
|
||||
[[manager.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 have an Windows machine for testing, PRs welcome!)
|
||||
- Support mount, unmount, and eject the entire disk
|
||||
|
||||
## License
|
||||
|
||||
This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file.
|
266
modules/home/yazi/plugins/mount.yazi/main.lua
Normal file
|
@ -0,0 +1,266 @@
|
|||
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
|
||||
ya.render()
|
||||
end)
|
||||
|
||||
local subscribe = ya.sync(function(self)
|
||||
ps.unsub("mount")
|
||||
ps.sub("mount", function() ya.manager_emit("plugin", { self._id, args = "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))
|
||||
ya.render()
|
||||
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
|
||||
ya.render()
|
||||
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.manager_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 p.sub == "" then
|
||||
rows[#rows + 1] = ui.Row { p.main }
|
||||
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.Border.ALL)
|
||||
:area(self._area)
|
||||
:type(ui.Border.ROUNDED)
|
||||
:style(ui.Style():fg("blue"))
|
||||
:title(ui.Line("Mount"):align(ui.Line.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
|
||||
if ya.target_os() == "macos" then
|
||||
main, sub = p.src:match("^(/dev/disk%d+)(.+)$")
|
||||
elseif p.src:find("/dev/nvme", 1, true) == 1 then -- /dev/nvme0n1p1
|
||||
main, sub = p.src:match("^(/dev/nvme%d+n%d+)(p%d+)$")
|
||||
elseif p.src:find("/dev/sd", 1, true) == 1 then -- /dev/sda1
|
||||
main, sub = p.src:match("^(/dev/sd[a-z])(%d+)$")
|
||||
end
|
||||
if sub then
|
||||
if last ~= main then
|
||||
last, tbl[#tbl + 1] = main, { src = main, main = main, sub = "" }
|
||||
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 < b.sub
|
||||
else
|
||||
return a.main > b.main
|
||||
end
|
||||
end)
|
||||
return tbl
|
||||
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"):args({ "-p", "-o", "name,fstype", "-J" }):args(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 active.sub == "" then
|
||||
return -- TODO: mount/unmount main disk
|
||||
end
|
||||
|
||||
local output, err
|
||||
if ya.target_os() == "macos" then
|
||||
output, err = Command("diskutil"):args({ type, active.src }):output()
|
||||
end
|
||||
if ya.target_os() == "linux" then
|
||||
if type == "eject" then
|
||||
Command("udisksctl"):args({ "unmount", "-b", active.src }):status()
|
||||
output, err = Command("udisksctl"):args({ "power-off", "-b", active.src }):output()
|
||||
else
|
||||
output, err = Command("udisksctl"):args({ 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(s, ...) ya.notify { title = "Mount", content = string.format(s, ...), timeout = 10, level = "error" } end
|
||||
|
||||
function M:click() end
|
||||
|
||||
function M:scroll() end
|
||||
|
||||
function M:touch() end
|
||||
|
||||
return M
|
20
modules/home/yazi/plugins/open-with-cmd.yazi/main.lua
Normal file
|
@ -0,0 +1,20 @@
|
|||
return {
|
||||
entry = function(_, job)
|
||||
local block = job.args[1] and job.args[1] == "block"
|
||||
|
||||
local value, event = ya.input({
|
||||
title = block and "Open with (block):" or "Open with:",
|
||||
position = { "hovered", y = 1, w = 50 },
|
||||
})
|
||||
|
||||
if event == 1 then
|
||||
local s = ya.target_family() == "windows" and " %*" or ' "$@"'
|
||||
ya.manager_emit("shell", {
|
||||
value .. s,
|
||||
block = block,
|
||||
orphan = true,
|
||||
confirm = true,
|
||||
})
|
||||
end
|
||||
end,
|
||||
}
|
21
modules/home/yazi/plugins/ouch.yazi/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 ndtoan96
|
||||
|
||||
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.
|
83
modules/home/yazi/plugins/ouch.yazi/README.md
Normal file
|
@ -0,0 +1,83 @@
|
|||
# ouch.yazi
|
||||
|
||||
[ouch](https://github.com/ouch-org/ouch) plugin for [Yazi](https://github.com/sxyazi/yazi).
|
||||
|
||||

|
||||
|
||||
## Features
|
||||
- Archive preview
|
||||
- Compression
|
||||
|
||||
## Installation
|
||||
|
||||
If you use Yazi from latest main branch
|
||||
```bash
|
||||
# Linux/macOS
|
||||
git clone https://github.com/ndtoan96/ouch.yazi.git ~/.config/yazi/plugins/ouch.yazi
|
||||
|
||||
# Windows with cmd
|
||||
git clone https://github.com/ndtoan96/ouch.yazi.git %AppData%\yazi\config\plugins\ouch.yazi
|
||||
|
||||
# Windows with powershell
|
||||
git clone https://github.com/ndtoan96/ouch.yazi.git "$($env:APPDATA)\yazi\config\plugins\ouch.yazi"
|
||||
```
|
||||
|
||||
If you use Yazi < 0.4.3
|
||||
```bash
|
||||
# Linux/macOS
|
||||
git clone --branch v0.4.0 --single-branch https://github.com/ndtoan96/ouch.yazi.git ~/.config/yazi/plugins/ouch.yazi
|
||||
|
||||
# Windows with cmd
|
||||
git clone --branch v0.4.0 --single-branch https://github.com/ndtoan96/ouch.yazi.git %AppData%\yazi\config\plugins\ouch.yazi
|
||||
|
||||
# Windows with powershell
|
||||
git clone --branch v0.4.0 --single-branch https://github.com/ndtoan96/ouch.yazi.git "$($env:APPDATA)\yazi\config\plugins\ouch.yazi"
|
||||
```
|
||||
|
||||
Make sure you have [ouch](https://github.com/ouch-org/ouch) installed and in your `PATH`.
|
||||
|
||||
## Usage
|
||||
|
||||
### Preview
|
||||
For archive preview, add this to your `yazi.toml`:
|
||||
|
||||
```toml
|
||||
[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" },
|
||||
]
|
||||
```
|
||||
|
||||
Now go to an archive on Yazi, you should see the archive's content in the preview pane. You can use `J` and `K` to roll up and down the preview.
|
||||
|
||||
If you want to change the icon or the style of text, you can modify the `peek` function in `init.lua` file (all of them are stored in the `lines` variable).
|
||||
|
||||
### Compression
|
||||
For compession, add this to your `keymap.toml`:
|
||||
|
||||
```toml
|
||||
[[manager.prepend_keymap]]
|
||||
on = ["C"]
|
||||
run = "plugin ouch --args=zip"
|
||||
desc = "Compress with ouch"
|
||||
```
|
||||
|
||||
The `--args=zip` part tells the plugin that default format is `zip`. You can change that to whatever format you want.
|
||||
|
||||
### Decompression
|
||||
This plugin does not provide a decompression feature because it already is supported by Yazi.
|
||||
To decompress with `ouch`, configure the opener in `yazi.toml`.
|
||||
|
||||
```toml
|
||||
[opener]
|
||||
extract = [
|
||||
{ run = 'ouch d -y "%*"', desc = "Extract here with ouch", for = "windows" },
|
||||
{ run = 'ouch d -y "$@"', desc = "Extract here with ouch", for = "unix" },
|
||||
]
|
||||
```
|
145
modules/home/yazi/plugins/ouch.yazi/main.lua
Normal file
|
@ -0,0 +1,145 @@
|
|||
local M = {}
|
||||
|
||||
function M:peek(job)
|
||||
local child = Command("ouch")
|
||||
:args({ "l", "-t", "-y", tostring(job.file.url) })
|
||||
:stdout(Command.PIPED)
|
||||
:stderr(Command.PIPED)
|
||||
:spawn()
|
||||
local limit = job.area.h
|
||||
local file_name = string.match(tostring(job.file.url), ".*[/\\](.*)")
|
||||
local lines = string.format("📁 \x1b[2m%s\x1b[0m\n", file_name)
|
||||
local num_lines = 1
|
||||
local num_skip = 0
|
||||
repeat
|
||||
local line, event = child:read_line()
|
||||
if event == 1 then
|
||||
ya.err(tostring(event))
|
||||
elseif event ~= 0 then
|
||||
break
|
||||
end
|
||||
|
||||
if line:find('Archive', 1, true) ~= 1 and line:find('[INFO]', 1, true) ~= 1 then
|
||||
if num_skip >= job.skip then
|
||||
lines = lines .. line
|
||||
num_lines = num_lines + 1
|
||||
else
|
||||
num_skip = num_skip + 1
|
||||
end
|
||||
end
|
||||
until num_lines >= limit
|
||||
|
||||
child:start_kill()
|
||||
if job.skip > 0 and num_lines < limit then
|
||||
ya.manager_emit(
|
||||
"peek",
|
||||
{ tostring(math.max(0, job.skip - (limit - num_lines))), only_if = tostring(job.file.url), upper_bound = "" }
|
||||
)
|
||||
else
|
||||
ya.preview_widgets(job, { ui.Text(lines):area(job.area) })
|
||||
end
|
||||
end
|
||||
|
||||
function M:seek(job)
|
||||
local h = cx.active.current.hovered
|
||||
if h and h.url == job.file.url then
|
||||
local step = math.floor(job.units * job.area.h / 10)
|
||||
ya.manager_emit("peek", {
|
||||
math.max(0, cx.active.preview.skip + step),
|
||||
only_if = tostring(job.file.url),
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
-- Check if file exists
|
||||
local function file_exists(name)
|
||||
local f = io.open(name, "r")
|
||||
if f ~= nil then
|
||||
io.close(f)
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
-- Get the files that need to be compressed and infer a default archive name
|
||||
local get_compression_target = ya.sync(function()
|
||||
local tab = cx.active
|
||||
local default_name
|
||||
local paths = {}
|
||||
if #tab.selected == 0 then
|
||||
if tab.current.hovered then
|
||||
local name = tab.current.hovered.name
|
||||
default_name = name
|
||||
table.insert(paths, name)
|
||||
else
|
||||
return
|
||||
end
|
||||
else
|
||||
default_name = tab.current.cwd:name()
|
||||
for _, url in pairs(tab.selected) do
|
||||
table.insert(paths, tostring(url))
|
||||
end
|
||||
-- The compression targets are aquired, now unselect them
|
||||
ya.manager_emit("escape", {})
|
||||
end
|
||||
return paths, default_name
|
||||
end)
|
||||
|
||||
local function invoke_compress_command(paths, name)
|
||||
local cmd_output, err_code = Command("ouch")
|
||||
:args({ "c", "-y" })
|
||||
:args(paths)
|
||||
:arg(name)
|
||||
:stderr(Command.PIPED)
|
||||
:output()
|
||||
if err_code ~= nil then
|
||||
ya.notify({
|
||||
title = "Failed to run ouch command",
|
||||
content = "Status: " .. err_code,
|
||||
timeout = 5.0,
|
||||
level = "error",
|
||||
})
|
||||
elseif not cmd_output.status.success then
|
||||
ya.notify({
|
||||
title = "Compression failed: status code " .. cmd_output.status.code,
|
||||
content = cmd_output.stderr,
|
||||
timeout = 5.0,
|
||||
level = "error",
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
function M:entry(job)
|
||||
local default_fmt = job.args[1]
|
||||
|
||||
ya.manager_emit("escape", { visual = true })
|
||||
|
||||
-- Get the files that need to be compressed and infer a default archive name
|
||||
local paths, default_name = get_compression_target()
|
||||
|
||||
-- Get archive name from user
|
||||
local output_name, name_event = ya.input({
|
||||
title = "Create archive:",
|
||||
value = default_name .. "." .. default_fmt,
|
||||
position = { "top-center", y = 3, w = 40 },
|
||||
})
|
||||
if name_event ~= 1 then
|
||||
return
|
||||
end
|
||||
|
||||
-- Get confirmation if file exists
|
||||
if file_exists(output_name) then
|
||||
local confirm, confirm_event = ya.input({
|
||||
title = "Overwrite " .. output_name .. "? (y/N)",
|
||||
position = { "top-center", y = 3, w = 40 },
|
||||
})
|
||||
if not (confirm_event == 1 and confirm:lower() == "y") then
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
invoke_compress_command(paths, output_name)
|
||||
end
|
||||
|
||||
return M
|
280
modules/home/yazi/plugins/restore.yazi/main.lua
Normal file
|
@ -0,0 +1,280 @@
|
|||
--- @since 25.2.7
|
||||
|
||||
local M = {}
|
||||
local shell = os.getenv("SHELL") or ""
|
||||
local PackageName = "Restore"
|
||||
local function success(s, ...)
|
||||
ya.notify({ title = PackageName, content = string.format(s, ...), timeout = 5, level = "info" })
|
||||
end
|
||||
|
||||
local function fail(s, ...)
|
||||
ya.notify({ title = PackageName, content = string.format(s, ...), timeout = 5, level = "error" })
|
||||
end
|
||||
|
||||
---@enum STATE
|
||||
local STATE = {
|
||||
POSITION = "position",
|
||||
SHOW_CONFIRM = "show_confirm",
|
||||
THEME = "theme",
|
||||
}
|
||||
|
||||
local set_state = ya.sync(function(state, key, value)
|
||||
if state then
|
||||
state[key] = value
|
||||
else
|
||||
state = {}
|
||||
state[key] = value
|
||||
end
|
||||
end)
|
||||
|
||||
local get_state = ya.sync(function(state, key)
|
||||
if state then
|
||||
return state[key]
|
||||
else
|
||||
return nil
|
||||
end
|
||||
end)
|
||||
|
||||
---@enum File_Type
|
||||
local File_Type = {
|
||||
File = "file",
|
||||
Dir = "dir_all",
|
||||
None_Exist = "unknown",
|
||||
}
|
||||
|
||||
---@alias TRASHED_ITEM {trash_index: number, trashed_date_time: string, trashed_path: string, type: File_Type} Item in trash list
|
||||
|
||||
function get_basename(filepath)
|
||||
return filepath:match("^.+/(.+)$") or filepath
|
||||
end
|
||||
|
||||
local get_cwd = ya.sync(function()
|
||||
return tostring(cx.active.current.cwd)
|
||||
end)
|
||||
|
||||
local function path_quote(path)
|
||||
local result = "'" .. string.gsub(path, "'", "'\\''") .. "'"
|
||||
return result
|
||||
end
|
||||
|
||||
local function get_file_type(path)
|
||||
local cha, _ = fs.cha(Url(path))
|
||||
if cha then
|
||||
return cha.is_dir and File_Type.Dir or File_Type.File
|
||||
else
|
||||
return File_Type.None_Exist
|
||||
end
|
||||
end
|
||||
|
||||
local function get_trash_volume()
|
||||
local cwd = get_cwd()
|
||||
local trash_volumes_stream, cmr_err =
|
||||
Command("trash-list"):args({ "--volumes" }):stdout(Command.PIPED):stderr(Command.PIPED):output()
|
||||
|
||||
local matched_vol_path = nil
|
||||
if trash_volumes_stream then
|
||||
local matched_vol_length = 0
|
||||
for vol in trash_volumes_stream.stdout:gmatch("[^\r\n]+") do
|
||||
local vol_length = utf8.len(vol) or 0
|
||||
if cwd:sub(1, vol_length) == vol and vol_length > matched_vol_length then
|
||||
matched_vol_path = vol
|
||||
matched_vol_length = vol_length
|
||||
end
|
||||
end
|
||||
if not matched_vol_path then
|
||||
fail("Can't get trash directory")
|
||||
end
|
||||
else
|
||||
fail("Failed to start `trash-list` with error: `%s`. Do you have `trash-cli` installed?", cmr_err)
|
||||
end
|
||||
return matched_vol_path
|
||||
end
|
||||
|
||||
---get list of latest files/folders trashed
|
||||
---@param curr_working_volume currently working volume
|
||||
---@return TRASHED_ITEM[]|nil
|
||||
local function get_latest_trashed_items(curr_working_volume)
|
||||
---@type TRASHED_ITEM[]
|
||||
local restorable_items = {}
|
||||
local fake_enter = Command("printf"):stderr(Command.PIPED):stdout(Command.PIPED):spawn():take_stdout()
|
||||
local trash_list_stream, err_cmd = Command(shell)
|
||||
:args({ "-c", "trash-restore " .. path_quote(curr_working_volume) })
|
||||
:stdin(fake_enter)
|
||||
:stdout(Command.PIPED)
|
||||
:stderr(Command.PIPED)
|
||||
:output()
|
||||
|
||||
if trash_list_stream then
|
||||
---@type TRASHED_ITEM[]
|
||||
local trash_list = {}
|
||||
for line in trash_list_stream.stdout:gmatch("[^\r\n]+") do
|
||||
-- remove leading spaces
|
||||
line = line:match("^%s*(.+)$")
|
||||
local trash_index, item_date, item_path = line:match("^(%d+) (%S+ %S+) (.+)$")
|
||||
if item_date and item_path and trash_index ~= nil then
|
||||
table.insert(trash_list, {
|
||||
trash_index = tonumber(trash_index),
|
||||
trashed_date_time = item_date,
|
||||
trashed_path = item_path,
|
||||
type = File_Type.None_Exist,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
if #trash_list == 0 then
|
||||
success("Nothing left to restore")
|
||||
return
|
||||
end
|
||||
|
||||
local last_item_datetime = trash_list[#trash_list].trashed_date_time
|
||||
|
||||
for _, trash_item in ipairs(trash_list) do
|
||||
if trash_item then
|
||||
if trash_item.trashed_date_time == last_item_datetime then
|
||||
trash_item.type = get_file_type(trash_item.trashed_path)
|
||||
table.insert(restorable_items, trash_item)
|
||||
end
|
||||
end
|
||||
end
|
||||
else
|
||||
fail("Failed to start `trash-restore` with error: `%s`. Do you have `trash-cli` installed?", err_cmd)
|
||||
return
|
||||
end
|
||||
return restorable_items
|
||||
-- return newest_trashed_items
|
||||
end
|
||||
|
||||
---@param trash_list TRASHED_ITEM[]
|
||||
local function filter_none_exised_paths(trash_list)
|
||||
---@type TRASHED_ITEM[]
|
||||
local existed_trash_items = {}
|
||||
for _, v in ipairs(trash_list) do
|
||||
if v.type ~= File_Type.None_Exist then
|
||||
table.insert(existed_trash_items, v)
|
||||
end
|
||||
end
|
||||
return existed_trash_items
|
||||
end
|
||||
|
||||
local function restore_files(curr_working_volume, start_index, end_index)
|
||||
if type(start_index) ~= "number" or type(end_index) ~= "number" or start_index < 0 or end_index < 0 then
|
||||
fail("Failed to restore file(s): out of range")
|
||||
return
|
||||
end
|
||||
|
||||
ya.manager_emit("shell", {
|
||||
"echo " .. ya.quote(start_index .. "-" .. end_index) .. " | trash-restore --overwrite " .. path_quote(
|
||||
curr_working_volume
|
||||
),
|
||||
confirm = true,
|
||||
})
|
||||
local file_to_restore_count = end_index - start_index + 1
|
||||
success("Restored " .. tostring(file_to_restore_count) .. " file" .. (file_to_restore_count > 1 and "s" or ""))
|
||||
end
|
||||
|
||||
function M:setup(opts)
|
||||
if opts and opts.position and type(opts.position) == "table" then
|
||||
set_state(STATE.POSITION, opts.position)
|
||||
else
|
||||
set_state(STATE.POSITION, { "center", w = 70, h = 40 })
|
||||
end
|
||||
if opts and opts.show_confirm then
|
||||
set_state(STATE.SHOW_CONFIRM, opts.show_confirm)
|
||||
else
|
||||
set_state(STATE.SHOW_CONFIRM, false)
|
||||
end
|
||||
if opts and opts.theme and type(opts.theme) == "table" then
|
||||
set_state(STATE.THEME, opts.theme)
|
||||
else
|
||||
set_state(STATE.THEME, {})
|
||||
end
|
||||
end
|
||||
|
||||
---@param trash_list TRASHED_ITEM[]
|
||||
local function get_components(trash_list)
|
||||
local theme = get_state(STATE.THEME) or {}
|
||||
theme.list_item = theme.list_item or {
|
||||
odd = "blue",
|
||||
even = "blue",
|
||||
}
|
||||
local trashed_items_components = {}
|
||||
for idx, item in pairs(trash_list) do
|
||||
local fg_color = theme.list_item.odd or "blue"
|
||||
if idx % 2 == 0 then
|
||||
fg_color = theme.list_item.even or "blue"
|
||||
end
|
||||
table.insert(
|
||||
trashed_items_components,
|
||||
ui.Line({
|
||||
ui.Span(" "),
|
||||
ui.Span(item.trashed_path):fg(fg_color),
|
||||
}):align(ui.Line.LEFT)
|
||||
)
|
||||
end
|
||||
return trashed_items_components
|
||||
end
|
||||
|
||||
function M:entry()
|
||||
local curr_working_volume = get_trash_volume()
|
||||
if not curr_working_volume then
|
||||
return
|
||||
end
|
||||
local trashed_items = get_latest_trashed_items(curr_working_volume)
|
||||
if trashed_items == nil then
|
||||
return
|
||||
end
|
||||
local collided_items = filter_none_exised_paths(trashed_items)
|
||||
local overwrite_confirmed = true
|
||||
local show_confirm = get_state(STATE.SHOW_CONFIRM)
|
||||
local pos = get_state(STATE.POSITION)
|
||||
pos = pos or { "center", w = 70, h = 40 }
|
||||
|
||||
local theme = get_state(STATE.THEME) or {}
|
||||
theme.title = theme.title or "blue"
|
||||
theme.header = theme.header or "green"
|
||||
theme.header_warning = theme.header_warning or "yellow"
|
||||
if ya.confirm and show_confirm then
|
||||
local continue_restore = ya.confirm({
|
||||
title = ui.Line("Restore files/folders"):fg(theme.title):bold(),
|
||||
content = ui.Text({
|
||||
ui.Line(""),
|
||||
ui.Line("The following files and folders are going to be restored:"):fg(theme.header),
|
||||
ui.Line(""),
|
||||
table.unpack(get_components(trashed_items)),
|
||||
})
|
||||
:align(ui.Text.LEFT)
|
||||
:wrap(ui.Text.WRAP),
|
||||
--TODO: still wating for API :/
|
||||
-- list = ui.List({
|
||||
-- table.unpack(get_components(trashed_items)),
|
||||
-- }),
|
||||
|
||||
pos = pos,
|
||||
})
|
||||
-- stopping
|
||||
if not continue_restore then
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
-- show Confirm dialog with list of collided items
|
||||
if #collided_items > 0 then
|
||||
overwrite_confirmed = ya.confirm({
|
||||
title = ui.Line("Restore files/folders"):fg(theme.title):bold(),
|
||||
content = ui.Text({
|
||||
ui.Line(""),
|
||||
ui.Line("The following files and folders are existed, overwrite?"):fg(theme.header_warning),
|
||||
ui.Line(""),
|
||||
table.unpack(get_components(collided_items)),
|
||||
})
|
||||
:align(ui.Text.LEFT)
|
||||
:wrap(ui.Text.WRAP),
|
||||
pos = pos,
|
||||
})
|
||||
end
|
||||
if overwrite_confirmed then
|
||||
restore_files(curr_working_volume, trashed_items[1].trash_index, trashed_items[#trashed_items].trash_index)
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
53
modules/home/yazi/plugins/rich-preview.yazi/main.lua
Normal file
|
@ -0,0 +1,53 @@
|
|||
local M = {}
|
||||
|
||||
function M:peek(job)
|
||||
local child = Command("rich")
|
||||
:args({
|
||||
"-j",
|
||||
"--left",
|
||||
"--line-numbers",
|
||||
"--force-terminal",
|
||||
"--panel=rounded",
|
||||
"--guides",
|
||||
"--max-width",
|
||||
tostring(job.area.w),
|
||||
tostring(job.file.url),
|
||||
})
|
||||
:stdout(Command.PIPED)
|
||||
:stderr(Command.PIPED)
|
||||
:spawn()
|
||||
|
||||
if not child then
|
||||
return require("code"):peek(job)
|
||||
end
|
||||
|
||||
local limit = job.area.h
|
||||
local i, lines = 0, ""
|
||||
repeat
|
||||
local next, event = child:read_line()
|
||||
if event == 1 then
|
||||
return require("code"):peek(job)
|
||||
elseif event ~= 0 then
|
||||
break
|
||||
end
|
||||
|
||||
i = i + 1
|
||||
if i > job.skip then
|
||||
lines = lines .. next
|
||||
end
|
||||
until i >= job.skip + limit
|
||||
|
||||
child:start_kill()
|
||||
if job.skip > 0 and i < job.skip + limit then
|
||||
ya.manager_emit("peek", { math.max(0, i - limit), only_if = job.file.url, upper_bound = true })
|
||||
else
|
||||
lines = lines:gsub("\t", string.rep(" ", PREVIEW.tab_size))
|
||||
ya.preview_widgets(job, { ui.Text.parse(lines):area(job.area) })
|
||||
end
|
||||
end
|
||||
|
||||
function M:seek(job)
|
||||
require("code"):seek(job)
|
||||
end
|
||||
|
||||
return M
|
11
modules/home/yazi/plugins/smart-enter.yazi/main.lua
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- @since 25.2.7
|
||||
--- @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.manager_emit(h and h.cha.is_dir and "enter" or "open", { hovered = not self.open_multi })
|
||||
end
|
||||
|
||||
return { entry = entry, setup = setup }
|
13
modules/home/yazi/plugins/smart-paste.yazi/main.lua
Normal file
|
@ -0,0 +1,13 @@
|
|||
--- @sync entry
|
||||
return {
|
||||
entry = function()
|
||||
local h = cx.active.current.hovered
|
||||
if h and h.cha.is_dir then
|
||||
ya.manager_emit("enter", {})
|
||||
ya.manager_emit("paste", {})
|
||||
ya.manager_emit("leave", {})
|
||||
else
|
||||
ya.manager_emit("paste", {})
|
||||
end
|
||||
end,
|
||||
}
|
7
modules/home/yazi/plugins/smart-tab.yazi/main.lua
Normal file
|
@ -0,0 +1,7 @@
|
|||
--- @sync entry
|
||||
return {
|
||||
entry = function()
|
||||
local h = cx.active.current.hovered
|
||||
ya.manager_emit("tab_create", h and h.cha.is_dir and { h.url } or { current = true })
|
||||
end,
|
||||
}
|
21
modules/home/yazi/plugins/starship.yazi/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 Rolv Apneseth
|
||||
|
||||
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.
|