mirror of
https://github.com/kristoferssolo/solorice.git
synced 2025-10-21 20:10:34 +00:00
Update 2024-12-10
This commit is contained in:
parent
d231e9de9c
commit
9e0be0285a
@ -1,7 +1,7 @@
|
||||
[helpers]
|
||||
|
||||
[default]
|
||||
depends = [ ]
|
||||
depends = []
|
||||
|
||||
[default.files]
|
||||
LICENSE = ""
|
||||
@ -13,38 +13,38 @@ LICENSE = ""
|
||||
default_target_type = "symbolic"
|
||||
|
||||
[base]
|
||||
depends = [ "default", "zsh", "spotify", "terminal", "local", "misc" ]
|
||||
depends = ["default", "zsh", "spotify", "terminal", "local", "misc"]
|
||||
|
||||
[x11]
|
||||
depends = [ "base", "awesome", "picom", "dunst" ]
|
||||
depends = ["base", "awesome", "picom", "dunst"]
|
||||
|
||||
|
||||
[x11.files]
|
||||
"config/zsh/.zprofile-x11" = "~/.config/zsh/.zprofile"
|
||||
"config/x11/" = "~/.config/x11/"
|
||||
"config/x11/xresources" = {target = "~/.config/x11/xresources", type = "template"}
|
||||
"config/x11/xresources" = { target = "~/.config/x11/xresources", type = "template" }
|
||||
|
||||
[x11-laptop]
|
||||
depends = [ "base", "awesome_laptop", "picom", "dunst" ]
|
||||
depends = ["base", "awesome_laptop", "picom", "dunst"]
|
||||
|
||||
[x11-laptop.files]
|
||||
"config/zsh/.zprofile-x11" = "~/.config/zsh/.zprofile"
|
||||
"config/x11/" = "~/.config/x11/"
|
||||
"config/x11/xresources" = {target = "~/.config/x11/xresources", type = "template"}
|
||||
"config/x11/xresources" = { target = "~/.config/x11/xresources", type = "template" }
|
||||
|
||||
[wayland]
|
||||
depends = [ "base", "hyprland", "dunst" ]
|
||||
depends = ["base", "hyprland", "dunst"]
|
||||
|
||||
[wayland.files]
|
||||
"config/zsh/.zprofile-wayland" = "~/.config/zsh/.zprofile"
|
||||
"config/x11/xresources" = {target = "~/.config/x11/xresources", type = "template"}
|
||||
"config/x11/xresources" = { target = "~/.config/x11/xresources", type = "template" }
|
||||
|
||||
|
||||
[shell.files]
|
||||
"config/shell/" = "~/.config/shell/"
|
||||
|
||||
[zsh]
|
||||
depends = [ "shell" ]
|
||||
depends = ["shell"]
|
||||
|
||||
[zsh.files]
|
||||
"config/shell/env" = "~/.zshenv"
|
||||
@ -55,10 +55,11 @@ depends = [ "shell" ]
|
||||
"local/share/" = "~/.local/share/"
|
||||
|
||||
[misc]
|
||||
depends = [ "torrent", "zathura" ]
|
||||
depends = ["torrent", "zathura"]
|
||||
|
||||
[misc.files]
|
||||
"config/batrc" = "~/.config/bat/config"
|
||||
"config/tmThemes/" = "~/.config/silicon/themes/"
|
||||
"config/btop/" = "~/.config/btop/"
|
||||
"config/htoprc" = "~/.config/htop/htoprc"
|
||||
"config/fastfetch/" = "~/.config/fastfetch/"
|
||||
@ -92,7 +93,7 @@ depends = [ "torrent", "zathura" ]
|
||||
"config/dunst/" = "~/.config/dunst/"
|
||||
|
||||
[hyprland]
|
||||
depends = [ "dunst", "misc", "local", "eww", "lock" ]
|
||||
depends = ["dunst", "misc", "local", "eww", "lock"]
|
||||
|
||||
[hyprland.files]
|
||||
"config/hypr/" = "~/.config/hypr/"
|
||||
@ -120,11 +121,11 @@ depends = [ "dunst", "misc", "local", "eww", "lock" ]
|
||||
"config/spotify-tui.yml" = "~/.config/spotify-tui/config.yml"
|
||||
|
||||
[terminal]
|
||||
depends = [ "zsh", "tmux", "yazi" ]
|
||||
depends = ["zsh", "tmux", "yazi"]
|
||||
|
||||
[terminal.files]
|
||||
"config/alacritty/" = "~/.config/alacritty/"
|
||||
"config/alacritty/alacritty.toml" = {target = "~/.config/alacritty/alacritty.toml", type = "template"}
|
||||
"config/alacritty/alacritty.toml" = { target = "~/.config/alacritty/alacritty.toml", type = "template" }
|
||||
"config/starship.toml" = "~/.config/starship/starship.toml"
|
||||
|
||||
[tmux.files]
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
|
||||
# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
|
||||
# for a list of all available themes
|
||||
--theme="base16-256"
|
||||
--theme="Rosé Pine"
|
||||
|
||||
# Enable this to use italic text on the terminal. This is not supported on all
|
||||
# terminal emulators (like tmux, by default):
|
||||
|
||||
@ -57,7 +57,7 @@ update_ms = 500
|
||||
|
||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||
proc_sorting = "cpu direct"
|
||||
proc_sorting = "memory"
|
||||
|
||||
#* Reverse sorting order, True or False.
|
||||
proc_reversed = False
|
||||
|
||||
@ -46,7 +46,6 @@ alias \
|
||||
night="redshift -PO 4500" \
|
||||
py="python" \
|
||||
sv="rsv" \
|
||||
typst-port="ss -tunlp | rg tinymist" \
|
||||
v="$EDITOR" \
|
||||
weather="curl wttr.in/" \
|
||||
wg-down="wg-quick down wg0" \
|
||||
|
||||
299
config/tmThemes/Rosé Pine Dawn.tmTheme
Normal file
299
config/tmThemes/Rosé Pine Dawn.tmTheme
Normal file
@ -0,0 +1,299 @@
|
||||
<?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>Rosé Pine Dawn</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#faf4ed</string>
|
||||
<key>caret</key>
|
||||
<string>#cecacd</string>
|
||||
<key>foreground</key>
|
||||
<string>#575279</string>
|
||||
<key>invisibles</key>
|
||||
<string>#fffaf3</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#f4ede8</string>
|
||||
<key>selection</key>
|
||||
<string>#dfdad9</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Comment</string>
|
||||
<key>scope</key>
|
||||
<string>comment</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#797593</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ea9d34</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>#907aa9</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>#907aa9</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>#907aa9</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>
|
||||
<key>foreground</key>
|
||||
<string>#d7827e</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b4637a</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>#b4637a</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>#56949f</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> bold</string>
|
||||
<key>foreground</key>
|
||||
<string>#286983</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 </string>
|
||||
<key>foreground</key>
|
||||
<string>#286983</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>#286983</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>#ea9d34</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>#b4637a</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>#286983</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>#56949f</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>#56949f</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>#56949f</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>Invalid</string>
|
||||
<key>scope</key>
|
||||
<string>invalid</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#b4637a</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#575279</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>#907aa9</string>
|
||||
<key>foreground</key>
|
||||
<string>#575279</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>dac29768-bcff-4df3-936c-88c7540d550d</string>
|
||||
<key>colorSpaceName</key>
|
||||
<string>sRGB</string>
|
||||
<key>semanticClass</key>
|
||||
<string>theme.light.rosé_pine-dawn</string>
|
||||
<key>author</key>
|
||||
<string>oplik0</string>
|
||||
<key>comment</key>
|
||||
<string>soho vibes - modified from the sublime text theme by ThatOneCalculator</string>
|
||||
</dict>
|
||||
</plist>
|
||||
299
config/tmThemes/Rosé Pine Moon.tmTheme
Normal file
299
config/tmThemes/Rosé Pine Moon.tmTheme
Normal file
@ -0,0 +1,299 @@
|
||||
<?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>Rosé Pine Moon</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#232136</string>
|
||||
<key>caret</key>
|
||||
<string>#56526e</string>
|
||||
<key>foreground</key>
|
||||
<string>#e0def4</string>
|
||||
<key>invisibles</key>
|
||||
<string>#2a273f</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#2a283e</string>
|
||||
<key>selection</key>
|
||||
<string>#6e6a86</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Comment</string>
|
||||
<key>scope</key>
|
||||
<string>comment</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#908caa</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f6c177</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>#c4a7e7</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>#c4a7e7</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>#c4a7e7</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>
|
||||
<key>foreground</key>
|
||||
<string>#ea9a97</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eb6f92</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>#eb6f92</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>#9ccfd8</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> bold</string>
|
||||
<key>foreground</key>
|
||||
<string>#3e8fb0</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 </string>
|
||||
<key>foreground</key>
|
||||
<string>#3e8fb0</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>#3e8fb0</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>#f6c177</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>#eb6f92</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>#3e8fb0</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>#9ccfd8</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>#9ccfd8</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>#9ccfd8</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>Invalid</string>
|
||||
<key>scope</key>
|
||||
<string>invalid</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#eb6f92</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#e0def4</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>#c4a7e7</string>
|
||||
<key>foreground</key>
|
||||
<string>#e0def4</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>a65f621e-b84b-48fb-afec-e5c085e8debf</string>
|
||||
<key>colorSpaceName</key>
|
||||
<string>sRGB</string>
|
||||
<key>semanticClass</key>
|
||||
<string>theme.dark.rosé_pine-moon</string>
|
||||
<key>author</key>
|
||||
<string>oplik0</string>
|
||||
<key>comment</key>
|
||||
<string>soho vibes - modified from the sublime text theme by ThatOneCalculator</string>
|
||||
</dict>
|
||||
</plist>
|
||||
299
config/tmThemes/Rosé Pine.tmTheme
Normal file
299
config/tmThemes/Rosé Pine.tmTheme
Normal file
@ -0,0 +1,299 @@
|
||||
<?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>Rosé Pine</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#191724</string>
|
||||
<key>caret</key>
|
||||
<string>#524f67</string>
|
||||
<key>foreground</key>
|
||||
<string>#e0def4</string>
|
||||
<key>invisibles</key>
|
||||
<string>#1f1d2e</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#21202e</string>
|
||||
<key>selection</key>
|
||||
<string>#403d52</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Comment</string>
|
||||
<key>scope</key>
|
||||
<string>comment</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#908caa</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f6c177</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>#c4a7e7</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>#c4a7e7</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>#c4a7e7</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>
|
||||
<key>foreground</key>
|
||||
<string>#ebbcba</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eb6f92</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>#eb6f92</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>#9ccfd8</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> bold</string>
|
||||
<key>foreground</key>
|
||||
<string>#31748f</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 </string>
|
||||
<key>foreground</key>
|
||||
<string>#31748f</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>#31748f</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>#f6c177</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>#eb6f92</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>#31748f</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>#9ccfd8</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>#9ccfd8</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>#9ccfd8</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>Invalid</string>
|
||||
<key>scope</key>
|
||||
<string>invalid</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#eb6f92</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#e0def4</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>#c4a7e7</string>
|
||||
<key>foreground</key>
|
||||
<string>#e0def4</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>c3af112c-80e3-45fe-8890-43ca225fda21</string>
|
||||
<key>colorSpaceName</key>
|
||||
<string>sRGB</string>
|
||||
<key>semanticClass</key>
|
||||
<string>theme.dark.rosé_pine</string>
|
||||
<key>author</key>
|
||||
<string>oplik0</string>
|
||||
<key>comment</key>
|
||||
<string>soho vibes - modified from the sublime text theme by ThatOneCalculator</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@ -8,6 +8,9 @@ set-option -g status-position top
|
||||
set-option -sg escape-time 0
|
||||
set-option -g focus-events on
|
||||
|
||||
set -g allow-passthrough on
|
||||
set -g visual-activity off
|
||||
|
||||
set -g mouse on
|
||||
|
||||
# Disable setatus bar
|
||||
@ -49,8 +52,6 @@ set -g @plugin "tmux-plugins/tmux-yank"
|
||||
set -g @plugin "tmux-plugins/tmux-resurrect"
|
||||
set -g @plugin "rose-pine/tmux"
|
||||
|
||||
set -g allow-passthrough on
|
||||
|
||||
set -ga update-environment TERM
|
||||
set -ga update-environment TERM_PROGRAM
|
||||
|
||||
|
||||
@ -170,7 +170,7 @@ prepend_keymap = [
|
||||
{on = [ "m", "a" ], run = ''' shell 'ripdrag -atk "$@"' --confirm ''', desc = "Drag and drop all"},
|
||||
{on = [ "m", "i" ], run = ''' shell 'ripdrag -tk "$@"' --confirm ''', desc = "Drag and drop individual"},
|
||||
# vidir
|
||||
{on = [ "B" ], run = ''' shell 'vidir "$@"' --confirm ''', desc = "Bulk rename"},
|
||||
{on = "B", run = 'vidir "$1"', desc = "Bulk rename"},
|
||||
# Max Preview
|
||||
{on = "T", run = "plugin --sync max-preview", desc = "Maximize or restore preview"},
|
||||
# Hide Preview
|
||||
|
||||
@ -1,21 +1,21 @@
|
||||
[plugin]
|
||||
deps = [
|
||||
{use = "AnirudhG07/nbpreview", rev = "2d24602"},
|
||||
{use = "Reledia/glow", rev = "388e847"},
|
||||
{use = "Reledia/hexyl", rev = "ccc0a4a"},
|
||||
{use = "Reledia/miller", rev = "40e0265"},
|
||||
{use = "Sonico98/exifaudio", rev = "855ff05"},
|
||||
{use = "dedukun/relative-motions", rev = "44c4c1c"},
|
||||
{use = "hankertrix/augment-command", rev = "fe145ac"},
|
||||
{use = "imsi32/yatline", rev = "e255f5c"},
|
||||
{use = "kirasok/torrent-preview", rev = "76970b6"},
|
||||
{use = "ndtoan96/ouch", rev = "db14883"},
|
||||
{use = "pirafrank/what-size", rev = "f08f7f2"},
|
||||
{use = "yazi-rs/plugins:chmod", rev = "d85bfd6"},
|
||||
{use = "yazi-rs/plugins:full-border", rev = "d85bfd6"},
|
||||
{use = "yazi-rs/plugins:git", rev = "d85bfd6"},
|
||||
{use = "yazi-rs/plugins:hide-preview", rev = "d85bfd6"},
|
||||
{use = "yazi-rs/plugins:max-preview", rev = "d85bfd6"},
|
||||
{use = "AnirudhG07/nbpreview", rev = "1d85745" },
|
||||
{use = "Reledia/glow", rev = "c2ed51e" },
|
||||
{use = "Reledia/hexyl", rev = "39d3d4e" },
|
||||
{use = "Reledia/miller", rev = "40e0265" },
|
||||
{use = "Sonico98/exifaudio", rev = "d794614" },
|
||||
{use = "dedukun/relative-motions", rev = "df97039" },
|
||||
{use = "hankertrix/augment-command", rev = "4d64860" },
|
||||
{use = "imsi32/yatline", rev = "1b4a9a1" },
|
||||
{use = "kirasok/torrent-preview", rev = "76970b6" },
|
||||
{use = "ndtoan96/ouch", rev = "b869886" },
|
||||
{use = "pirafrank/what-size", rev = "f08f7f2" },
|
||||
{use = "yazi-rs/plugins:chmod", rev = "ec97f88" },
|
||||
{use = "yazi-rs/plugins:full-border", rev = "ec97f88" },
|
||||
{use = "yazi-rs/plugins:git", rev = "ec97f88" },
|
||||
{use = "yazi-rs/plugins:hide-preview", rev = "ec97f88" },
|
||||
{use = "yazi-rs/plugins:max-preview", rev = "ec97f88" },
|
||||
]
|
||||
|
||||
[flavor]
|
||||
|
||||
@ -5,7 +5,8 @@ plugin that enhances Yazi's default commands.
|
||||
This plugin is inspired by the
|
||||
[Yazi tips page](https://yazi-rs.github.io/docs/tips),
|
||||
the [bypass.yazi](https://github.com/Rolv-Apneseth/bypass.yazi) plugin
|
||||
and the [fast-enter.yazi](https://github.com/ourongxing/fast-enter.yazi) plugin.
|
||||
and the [fast-enter.yazi](https://github.com/ourongxing/fast-enter.yazi)
|
||||
plugin.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
@ -44,15 +45,18 @@ ya pack -u
|
||||
| `prompt` | `true` or `false` | `false` | Create a prompt to choose between hovered and selected items when both exist. If this option is disabled, selected items will only be operated on when the hovered item is selected, otherwise the hovered item will be the default item that is operated on. |
|
||||
| `default_item_group_for_prompt` | `hovered`, `selected` or `none` | `hovered` | The default item group to operate on when the prompt is submitted without any value. This only takes effect if `prompt` is set to `true`, otherwise this option doesn't do anything. `hovered` means the hovered item is operated on, `selected` means the selected items are operated on, and `none` just cancels the operation. |
|
||||
| `smart_enter` | `true` or `false` | `true` | Use one command to open files or enter a directory. With this option set, the `enter` and `open` commands will both call the `enter` command when a directory is hovered and call the `open` command when a regular file is hovered. |
|
||||
| `smart_paste` | `true` or `false` | `false` | Paste items into a directory without entering it. The behaviour is exactly the same as the [smart-paste tip on Yazi's documentation](https://yazi-rs.github.io/docs/tips#smart-paste). Setting this option to `false` will use the default `paste` behaviour. You can also enable smart pasting by passing the `--smart` flag to the paste command. |
|
||||
| `smart_paste` | `true` or `false` | `false` | Paste items into a directory without entering it. The behaviour is exactly the same as the [smart paste tip on Yazi's documentation](https://yazi-rs.github.io/docs/tips#smart-paste). Setting this option to `false` will use the default `paste` behaviour. You can also enable this behaviour by passing the `--smart` flag to the `paste` command. |
|
||||
| `smart_tab_create` | `true` or `false` | `false` | Create tabs in the directory that is being hovered instead of the current directory. The behaviour is exactly the same as the [smart tab tip on Yazi's documentation](https://yazi-rs.github.io/docs/tips#smart-tab). Setting this option to `false` will use the default `tab_create` behaviour, which means you need to pass the `--current` flag to the command. You can also enable this behaviour by passing the `--smart` flag to the `tab_create` command. |
|
||||
| `smart_tab_switch` | `true` or `false` | `false` | If the tab that is being switched to does not exist yet, setting this option to `true` will create all the tabs in between the current number of open tabs, and the tab that is being switched to. The behaviour is exactly the same as [this tip](https://github.com/sxyazi/yazi/issues/918#issuecomment-2058157773). Setting this option to `false` will use the default `tab_switch` behaviour. You can also enable this behaviour by passing the `--smart` flag to the `tab_switch` command. |
|
||||
| `enter_archives` | `true` or `false` | `true` | Automatically extract and enter archive files. This option requires the [7z or 7zz command](https://github.com/p7zip-project/p7zip) to be present. |
|
||||
| `extract_retries` | An integer, like `1`, `3`, `10`, etc. | `3` | This option determines how many times the plugin will retry opening an encrypted or password-protected archive when a wrong password is given. This value plus 1 is the total number of times the plugin will try opening an encrypted or password-protected archive. |
|
||||
| `extract_archives_recursively` | `true` or `false` | `true` | This option determines whether the plugin will extract all archives inside an archive file recursively. If this option is set to `false`, archive files inside an archive will not be extracted, and you will have to manually extract them yourself. |
|
||||
| `must_have_hovered_item` | `true` or `false` | `true` | This option stops the plugin from executing any commands when there is no hovered item. |
|
||||
| `skip_single_subdirectory_on_enter` | `true` or `false` | `true` | Skip directories when there is only one subdirectory and no other files when entering directories. This behaviour can be turned off by passing the `--no-skip` flag to the `enter` or `open` commands. |
|
||||
| `skip_single_subdirectory_on_leave` | `true` or `false` | `true` | Skip directories when there is only one subdirectory and no other files when leaving directories. This behaviour can be turned off by passing the `--no-skip` flag to the `leave` command. |
|
||||
| `ignore_hidden_items` | `true` or `false` | `false` | Ignore hidden items when determining whether a directory only has one subdirectory and no other items. Setting this option to `false` will mean that hidden items in a directory will stop the plugin from skipping the single subdirectory. |
|
||||
| `wraparound_file_navigation` | `true` or `false` | `false` | Wrap around from the bottom to the top or from the top to the bottom when using the `arrow` or `parent-arrow` command to navigate. |
|
||||
| `sort_directories_first` | `true` or `false` | `true` | This option tells the plugin if you have sorted directories first in your [`yazi.toml` file](https://yazi-rs.github.io/docs/configuration/yazi#manager.sort_dir_first), located at `~/.config/yazi/yazi.toml` on Linux and macOS or `C:\Users\USERNAME\AppData\Roaming\yazi\config\yazi.toml` on Windows, where `USERNAME` is your Windows username. If you have set [`sort_dir_first`](https://yazi-rs.github.io/docs/configuration/yazi#manager.sort_dir_first) to `true` in your [`yazi.toml` file](https://yazi-rs.github.io/docs/configuration/yazi#manager.sort_dir_first), set this option to `true` as well. If you have set [`sort_dir_first`](https://yazi-rs.github.io/docs/configuration/yazi#manager.sort_dir_first) to `false` instead, set this option to `false` as well. This option only affects the `parent-arrow` command with `wraparound_file_navigation` set to `true`. If the [`sort_dir_first`](https://yazi-rs.github.io/docs/configuration/yazi#manager.sort_dir_first) setting doesn't match the plugin's `sort_directories_first` setting, i.e. Yazi's `sort_dir_first` is `true` but the plugin's `sort_directories_first` is `false`, or Yazi's `sort_dir_first` is `false` but the plugin's `sort_directories_first` is `true`, the wraparound functionality of the `parent-arrow` command will not work properly and may act erratically. The default value of `sort_directories_first` follows Yazi's [`sort_dir_first`](https://yazi-rs.github.io/docs/configuration/yazi#manager.sort_dir_first) default value, which is `true`. |
|
||||
| `wraparound_file_navigation` | `true` or `false` | `false` | Wrap around from the bottom to the top or from the top to the bottom when using the `arrow` or `parent_arrow` command to navigate. |
|
||||
| `sort_directories_first` | `true` or `false` | `true` | This option tells the plugin if you have sorted directories first in your [`yazi.toml` file](https://yazi-rs.github.io/docs/configuration/yazi#manager.sort_dir_first), located at `~/.config/yazi/yazi.toml` on Linux and macOS or `C:\Users\USERNAME\AppData\Roaming\yazi\config\yazi.toml` on Windows, where `USERNAME` is your Windows username. If you have set [`sort_dir_first`](https://yazi-rs.github.io/docs/configuration/yazi#manager.sort_dir_first) to `true` in your [`yazi.toml` file](https://yazi-rs.github.io/docs/configuration/yazi#manager.sort_dir_first), set this option to `true` as well. If you have set [`sort_dir_first`](https://yazi-rs.github.io/docs/configuration/yazi#manager.sort_dir_first) to `false` instead, set this option to `false` as well. This option only affects the `parent_arrow` command with `wraparound_file_navigation` set to `true`. If the [`sort_dir_first`](https://yazi-rs.github.io/docs/configuration/yazi#manager.sort_dir_first) setting doesn't match the plugin's `sort_directories_first` setting, i.e. Yazi's `sort_dir_first` is `true` but the plugin's `sort_directories_first` is `false`, or Yazi's `sort_dir_first` is `false` but the plugin's `sort_directories_first` is `true`, the wraparound functionality of the `parent_arrow` command will not work properly and may act erratically. The default value of `sort_directories_first` follows Yazi's [`sort_dir_first`](https://yazi-rs.github.io/docs/configuration/yazi#manager.sort_dir_first) default value, which is `true`. |
|
||||
|
||||
If you would like to use the default configuration, which is shown below,
|
||||
you don't need to add anything to your `~/.config/yazi/init.lua`
|
||||
@ -70,8 +74,11 @@ require("augment-command"):setup({
|
||||
default_item_group_for_prompt = "hovered",
|
||||
smart_enter = true,
|
||||
smart_paste = false,
|
||||
smart_tab_create = false,
|
||||
smart_tab_switch = false,
|
||||
enter_archives = true,
|
||||
extract_retries = 3,
|
||||
extract_archives_recursively = true,
|
||||
must_have_hovered_item = true,
|
||||
skip_single_subdirectory_on_enter = true,
|
||||
skip_single_subdirectory_on_leave = true,
|
||||
@ -83,9 +90,11 @@ require("augment-command"):setup({
|
||||
|
||||
However, if you would like to configure the plugin, you can add
|
||||
your desired configuration options to your `~/.config/yazi/init.lua` file
|
||||
on Linux and macOS, or your `C:\Users\USERNAME\AppData\Roaming\yazi\config\init.lua`
|
||||
on Linux and macOS, or your
|
||||
`C:\Users\USERNAME\AppData\Roaming\yazi\config\init.lua`
|
||||
file on Windows, where `USERNAME` is your Windows username.
|
||||
You can leave out configuration options that you would like to be left as default.
|
||||
You can leave out configuration options that you would
|
||||
like to be left as default.
|
||||
An example configuration is shown below:
|
||||
|
||||
```lua
|
||||
@ -135,17 +144,16 @@ then it will operate on the selected items.
|
||||
- Automatically extracts and enters archive files,
|
||||
with support for skipping directories
|
||||
that contain only one subdirectory in the extracted archive.
|
||||
This can be disabled by setting `enter_archives` to `false` in the configuration.
|
||||
This can be disabled by setting `enter_archives` to `false`
|
||||
in the configuration.
|
||||
This feature requires the
|
||||
[`7z` or `7zz` command](https://github.com/p7zip-project/p7zip)
|
||||
to be present to extract the archives.
|
||||
- If the archive file contains only a single file,
|
||||
the command will automatically extract it to the
|
||||
current directory instead of creating a folder
|
||||
for the contents of the archive.
|
||||
If this extracted file is also an archive file,
|
||||
the command will automatically
|
||||
extract its contents before deleting it.
|
||||
- If the extracted archive file contains other archive
|
||||
files in it, those archives will be automatically
|
||||
extracted, keeping the directory structure
|
||||
of the archive if the archive doesn't
|
||||
only contain a single archive file.
|
||||
This feature requires the
|
||||
[`file` command](https://www.darwinsys.com/file/)
|
||||
to detect the mime type of the extracted file,
|
||||
@ -154,6 +162,9 @@ then it will operate on the selected items.
|
||||
compressed tarballs much easier, as there's no need
|
||||
to press a key twice to decompress and extract
|
||||
the compressed tarballs.
|
||||
You can disable this feature by setting
|
||||
`extract_archives_recursively` to `false`
|
||||
in the configuration.
|
||||
|
||||
### Enter (`enter`)
|
||||
|
||||
@ -192,23 +203,6 @@ then it will operate on the selected items.
|
||||
- The `remove` command is augmented as stated in
|
||||
[this section above](#what-about-the-commands-are-augmented).
|
||||
|
||||
### Paste (`paste`)
|
||||
|
||||
- When `smart_paste` is set to `true`,
|
||||
the `paste` command will paste items
|
||||
into a hovered directory without entering it.
|
||||
If the hovered item is not a directory,
|
||||
the command pastes in the current directory instead.
|
||||
Otherwise, when `smart_paste` is set to `false`,
|
||||
the `paste` command will behave like the default
|
||||
`paste` command.
|
||||
- `--smart` flag to enable pasting in a hovered directory
|
||||
without entering the directory.
|
||||
This flag will cause the `paste` command to paste items
|
||||
into a hovered directory even when `smart_paste` is set to `false`.
|
||||
This allows you to set a key to use smart paste
|
||||
instead of using smart paste for every paste command.
|
||||
|
||||
### Shell (`shell`)
|
||||
|
||||
- This command runs the shell command given with the augment stated in
|
||||
@ -257,7 +251,7 @@ then it will operate on the selected items.
|
||||
desc = "Open the pager"
|
||||
```
|
||||
|
||||
- `--exit-if-directory` flag to stop the shell command given
|
||||
- `--exit-if-dir` flag to stop the shell command given
|
||||
from executing if the item group consists only of directories.
|
||||
For example, if the item group is the hovered item, then
|
||||
the shell command will not be executed if the hovered item
|
||||
@ -273,10 +267,84 @@ then it will operate on the selected items.
|
||||
|
||||
[[manager.prepend_keymap]]
|
||||
on = [ "i" ]
|
||||
run = '''plugin augment-command --args="shell '$PAGER $@' --block --confirm --exit-if-directory"'''
|
||||
run = '''plugin augment-command --args="shell '$PAGER $@' --block --confirm --exit-if-dir"'''
|
||||
desc = "Open the pager"
|
||||
```
|
||||
|
||||
### Paste (`paste`)
|
||||
|
||||
- When `smart_paste` is set to `true`,
|
||||
the `paste` command will paste items
|
||||
into the hovered directory without entering it.
|
||||
If the hovered item is not a directory,
|
||||
the command pastes in the current directory instead.
|
||||
Otherwise, when `smart_paste` is set to `false`,
|
||||
the `paste` command will behave like the default
|
||||
`paste` command.
|
||||
- `--smart` flag to enable pasting in the hovered directory
|
||||
without entering the directory.
|
||||
This flag will cause the `paste` command to paste items
|
||||
into the hovered directory even when `smart_paste` is set to `false`.
|
||||
This allows you to set a key to use this behaviour
|
||||
with the `paste` command instead of using it for
|
||||
every `paste` command.
|
||||
|
||||
### Tab create (`tab_create`)
|
||||
|
||||
- When `smart_tab_create` is set to `true`,
|
||||
the `tab_create` command will create a tab
|
||||
in the hovered directory instead of the
|
||||
current directory like the default key binds.
|
||||
If the hovered item is not a directory,
|
||||
then the command just creates a new tab in
|
||||
the current directory instead.
|
||||
Otherwise, when `smart_tab_create` is set to
|
||||
`false`, the `tab_create` command will behave
|
||||
like the default key bind to create a tab,
|
||||
which is `tab_create --current`.
|
||||
- `--smart` flag to enable creating a tab
|
||||
in the hovered directory.
|
||||
This flag will cause the `tab_create` command
|
||||
to create a tab in the hovered directory even
|
||||
when `smart_tab_create` is set to `false`.
|
||||
This allows you to set a specific key to use this
|
||||
behaviour with the `tab_create` command instead
|
||||
of using it for every `tab_create` command.
|
||||
|
||||
### Tab switch (`tab_switch`)
|
||||
|
||||
- When `smart_tab_switch` is set to `true`,
|
||||
the `tab_switch` command will ensure that
|
||||
the tab that is being switched to exist.
|
||||
It does this by automatically creating
|
||||
all the tabs required for the desired
|
||||
tab to exist.
|
||||
For example, if you are switching to
|
||||
tab 5 (`tab_switch 4`), and you only have
|
||||
two tabs currently open (tabs 1 and 2),
|
||||
the plugin will create tabs 3, 4 and 5
|
||||
and then switch to tab 5.
|
||||
The tabs are created using the current
|
||||
directory. The `smart_tab_create`
|
||||
configuration option does not affect
|
||||
the behaviour of this command.
|
||||
Otherwise, when `smart_tab_switch` is
|
||||
set to `false`, the `tab_switch` command
|
||||
will behave like the default `tab_switch`
|
||||
command, and simply switch to the tab
|
||||
if it exists, and do nothing if it doesn't
|
||||
exist.
|
||||
- `--smart` flag to automatically create
|
||||
the required tabs for the desired tab
|
||||
to exist.
|
||||
This flag will cause the `tab_switch`
|
||||
command to automatically create the
|
||||
required tabs even when `smart_tab_switch`
|
||||
is set to `false`.
|
||||
This allows you to set a specific key to use this
|
||||
behaviour with the `tab_switch` command instead
|
||||
of using it for every `tab_switch` command.
|
||||
|
||||
### Arrow (`arrow`)
|
||||
|
||||
- When `wraparound_file_navigation` is set to `true`,
|
||||
@ -286,7 +354,7 @@ then it will operate on the selected items.
|
||||
|
||||
## New commands
|
||||
|
||||
### Parent-arrow (`parent-arrow`)
|
||||
### Parent arrow (`parent_arrow`)
|
||||
|
||||
- This command behaves like the `arrow` command,
|
||||
but in the parent directory.
|
||||
@ -304,8 +372,8 @@ then it will operate on the selected items.
|
||||
i.e. if you have set the
|
||||
[`sort_dir_first`](https://yazi-rs.github.io/docs/configuration/yazi#manager.sort_dir_first)
|
||||
to `true` in your `~/.config/yazi/yazi.toml` file on Linux and macOS,
|
||||
or your `C:\Users\USERNAME\AppData\Roaming\yazi\config\yazi.toml` on Windows,
|
||||
like so:
|
||||
or your `C:\Users\USERNAME\AppData\Roaming\yazi\config\yazi.toml`
|
||||
on Windows, like so:
|
||||
|
||||
```toml
|
||||
# ~/.config/yazi/yazi.toml on Linux and macOS
|
||||
@ -385,13 +453,15 @@ then it will operate on the selected items.
|
||||
|
||||
### Editor (`editor`)
|
||||
|
||||
- The `editor` command opens the default editor set by the `$EDITOR` environment variable.
|
||||
- The `editor` command opens the default editor set by the
|
||||
`$EDITOR` environment variable.
|
||||
- The command is also augmented as stated in
|
||||
[this section above](#what-about-the-commands-are-augmented).
|
||||
|
||||
### Pager (`pager`)
|
||||
|
||||
- The `pager` command opens the default pager set by the `$PAGER` environment variable.
|
||||
- The `pager` command opens the default pager set by the
|
||||
`$PAGER` environment variable.
|
||||
- The command is also augmented as stated in
|
||||
[this section above](#what-about-the-commands-are-augmented).
|
||||
- The `pager` command will also skip opening directories, as the pager
|
||||
@ -400,7 +470,7 @@ then it will operate on the selected items.
|
||||
is a directory, or if **all** the selected items are directories.
|
||||
This makes the pager command less annoying as it will not
|
||||
try to open a directory and then immediately fail with an error,
|
||||
causing a flash and Yazi to send a notification.
|
||||
causing a flash and causing Yazi to send a notification.
|
||||
|
||||
## Usage
|
||||
|
||||
@ -431,7 +501,8 @@ run = "plugin augment-command --args='enter'"
|
||||
desc = "Enter a directory and skip directories with only a single subdirectory"
|
||||
```
|
||||
|
||||
All the default arguments, flags and options provided by Yazi are also supported, for example:
|
||||
All the default arguments, flags and options provided by Yazi
|
||||
are also supported, for example:
|
||||
|
||||
```toml
|
||||
# ~/.config/yazi/keymap.toml on Linux and macOS
|
||||
@ -470,7 +541,7 @@ For a full configuration example,
|
||||
you can take a look at
|
||||
[my `keymap.toml` file](https://github.com/hankertrix/Dotfiles/blob/master/.config/yazi/keymap.toml).
|
||||
|
||||
## Licence
|
||||
## [Licence](LICENSE)
|
||||
|
||||
This plugin is licenced under the GNU AGPL v3 licence.
|
||||
You can view the full licence in the `LICENSE` file.
|
||||
This plugin is licenced under the [GNU AGPL v3 licence](LICENSE).
|
||||
You can view the full licence in the [`LICENSE`](LICENSE) file.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -40,8 +40,8 @@ function Mediainfo(...)
|
||||
return child
|
||||
end
|
||||
|
||||
function M:peek()
|
||||
local cache = ya.file_cache(self)
|
||||
function M:peek(job)
|
||||
local cache = ya.file_cache(job)
|
||||
if not cache then
|
||||
return
|
||||
end
|
||||
@ -50,26 +50,26 @@ function M:peek()
|
||||
local cache_dir = GetPath(tostring(cache))
|
||||
|
||||
-- Try mediainfo, otherwise use exiftool
|
||||
local status, child = pcall(Mediainfo, self.file.url, cache_dir)
|
||||
local status, child = pcall(Mediainfo, job.file.url, cache_dir)
|
||||
if not status or child == nil then
|
||||
status, child = pcall(Exiftool, self.file.url)
|
||||
status, child = pcall(Exiftool, job.file.url)
|
||||
if not status or child == nil then
|
||||
local error = ui.Line { ui.Span("Make sure exiftool is installed and in your PATH") }
|
||||
-- TODO)) Remove legacy method when v0.4 gets released
|
||||
local function display_error_legacy()
|
||||
local p = ui.Paragraph(self.area, { error }):wrap(ui.Paragraph.WRAP)
|
||||
ya.preview_widgets(self, { p })
|
||||
local p = ui.Paragraph(job.area, { error }):wrap(ui.Paragraph.WRAP)
|
||||
ya.preview_widgets(job, { p })
|
||||
end
|
||||
local function display_error()
|
||||
local p = ui.Text(error):area(self.area):wrap(ui.Text.WRAP)
|
||||
ya.preview_widgets(self, { p })
|
||||
local p = ui.Text(error):area(job.area):wrap(ui.Text.WRAP)
|
||||
ya.preview_widgets(job, { p })
|
||||
end
|
||||
if pcall(display_error) then else pcall(display_error_legacy) end
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
local limit = self.area.h
|
||||
local limit = job.area.h
|
||||
local i, metadata = 0, {}
|
||||
repeat
|
||||
local next, event = child:read_line()
|
||||
@ -80,7 +80,7 @@ function M:peek()
|
||||
end
|
||||
|
||||
i = i + 1
|
||||
if i > self.skip then
|
||||
if i > job.skip then
|
||||
local m_title, m_tag = Prettify(next)
|
||||
if m_title ~= "" and m_tag ~= "" then
|
||||
local ti = ui.Span(m_title):bold()
|
||||
@ -89,30 +89,30 @@ function M:peek()
|
||||
table.insert(metadata, ui.Line{})
|
||||
end
|
||||
end
|
||||
until i >= self.skip + limit
|
||||
until i >= job.skip + limit
|
||||
|
||||
-- TODO)) Remove legacy method when v0.4 gets released
|
||||
local function display_metadata_legacy()
|
||||
local p = ui.Paragraph(self.area, metadata):wrap(ui.Paragraph.WRAP)
|
||||
ya.preview_widgets(self, { p })
|
||||
local p = ui.Paragraph(job.area, metadata):wrap(ui.Paragraph.WRAP)
|
||||
ya.preview_widgets(job, { p })
|
||||
end
|
||||
local function display_metadata()
|
||||
local p = ui.Text(metadata):area(self.area):wrap(ui.Text.WRAP)
|
||||
ya.preview_widgets(self, { p })
|
||||
local p = ui.Text(metadata):area(job.area):wrap(ui.Text.WRAP)
|
||||
ya.preview_widgets(job, { p })
|
||||
end
|
||||
if pcall(display_metadata) then else pcall(display_metadata_legacy) end
|
||||
|
||||
local cover_width = self.area.w / 2 - 5
|
||||
local cover_height = (self.area.h / 4) + 3
|
||||
local cover_width = job.area.w / 2 - 5
|
||||
local cover_height = (job.area.h / 4) + 3
|
||||
|
||||
local bottom_right = ui.Rect {
|
||||
x = self.area.right - cover_width,
|
||||
y = self.area.bottom - cover_height,
|
||||
x = job.area.right - cover_width,
|
||||
y = job.area.bottom - cover_height,
|
||||
w = cover_width,
|
||||
h = cover_height,
|
||||
}
|
||||
|
||||
if self:preload() == 1 then
|
||||
if self:preload(job) == 1 then
|
||||
ya.image_show(cache, bottom_right)
|
||||
end
|
||||
end
|
||||
@ -172,18 +172,18 @@ function Prettify(metadata)
|
||||
|
||||
end
|
||||
|
||||
function M:seek(units)
|
||||
function M:seek(job)
|
||||
local h = cx.active.current.hovered
|
||||
if h and h.url == self.file.url then
|
||||
if h and h.url == job.file.url then
|
||||
ya.manager_emit("peek", {
|
||||
tostring(math.max(0, cx.active.preview.skip + units)),
|
||||
only_if = tostring(self.file.url),
|
||||
tostring(math.max(0, cx.active.preview.skip + job.units)),
|
||||
only_if = tostring(job.file.url),
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
function M:preload()
|
||||
local cache = ya.file_cache(self)
|
||||
function M:preload(job)
|
||||
local cache = ya.file_cache(job)
|
||||
if not cache or fs.cha(cache) then
|
||||
return 1
|
||||
end
|
||||
@ -216,7 +216,7 @@ Channels: %Channel(s)%"\
|
||||
fs.write(Url(cache_dir.."mediainfo.txt"), mediainfo_template)
|
||||
|
||||
local output = Command("exiftool")
|
||||
:args({ "-b", "-CoverArt", "-Picture", tostring(self.file.url) })
|
||||
:args({ "-b", "-CoverArt", "-Picture", tostring(job.file.url) })
|
||||
:stdout(Command.PIPED)
|
||||
:stderr(Command.PIPED)
|
||||
:output()
|
||||
|
||||
@ -2,20 +2,20 @@ local M = {}
|
||||
|
||||
function M:peek()
|
||||
local child = Command("glow")
|
||||
:args({
|
||||
"--style",
|
||||
"dark",
|
||||
"--width",
|
||||
tostring(self.area.w),
|
||||
tostring(self.file.url),
|
||||
})
|
||||
:env("CLICOLOR_FORCE", "1")
|
||||
:stdout(Command.PIPED)
|
||||
:stderr(Command.PIPED)
|
||||
:spawn()
|
||||
:args({
|
||||
"--style",
|
||||
"dark",
|
||||
"--width",
|
||||
tostring(self.area.w),
|
||||
tostring(self.file.url),
|
||||
})
|
||||
:env("CLICOLOR_FORCE", "1")
|
||||
:stdout(Command.PIPED)
|
||||
:stderr(Command.PIPED)
|
||||
:spawn()
|
||||
|
||||
if not child then
|
||||
return self:fallback_to_builtin()
|
||||
return require("code").peek(self)
|
||||
end
|
||||
|
||||
local limit = self.area.h
|
||||
@ -23,7 +23,7 @@ function M:peek()
|
||||
repeat
|
||||
local next, event = child:read_line()
|
||||
if event == 1 then
|
||||
return self:fallback_to_builtin()
|
||||
return require("code").peek(self)
|
||||
elseif event ~= 0 then
|
||||
break
|
||||
end
|
||||
@ -36,36 +36,15 @@ function M:peek()
|
||||
|
||||
child:start_kill()
|
||||
if self.skip > 0 and i < self.skip + limit then
|
||||
ya.manager_emit(
|
||||
"peek",
|
||||
{ tostring(math.max(0, i - limit)), only_if = tostring(self.file.url), upper_bound = "" }
|
||||
)
|
||||
ya.manager_emit("peek", { math.max(0, i - limit), only_if = self.file.url, upper_bound = true })
|
||||
else
|
||||
lines = lines:gsub("\t", string.rep(" ", PREVIEW.tab_size))
|
||||
ya.preview_widgets(self, { ui.Paragraph.parse(self.area, lines) })
|
||||
ya.preview_widgets(self, { ui.Text.parse(lines):area(self.area) })
|
||||
end
|
||||
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", {
|
||||
tostring(math.max(0, cx.active.preview.skip + step)),
|
||||
only_if = tostring(self.file.url),
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
function M:fallback_to_builtin()
|
||||
local err, bound = ya.preview_code(self)
|
||||
if bound then
|
||||
ya.manager_emit("peek", { bound, only_if = self.file.url, upper_bound = true })
|
||||
elseif err and not err:find("cancelled", 1, true) then
|
||||
ya.preview_widgets(self, {
|
||||
ui.Paragraph(self.area, { ui.Line(err):reverse() }),
|
||||
})
|
||||
end
|
||||
require("code").seek(self, units)
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
local M = {}
|
||||
|
||||
function M:peek()
|
||||
function M:peek(job)
|
||||
local child
|
||||
local l = self.file.cha.len
|
||||
if l == 0 then
|
||||
child = Command("hexyl")
|
||||
:args({
|
||||
tostring(self.file.url),
|
||||
tostring(job.file.url),
|
||||
})
|
||||
:stdout(Command.PIPED)
|
||||
:stderr(Command.PIPED)
|
||||
@ -17,15 +17,15 @@ function M:peek()
|
||||
"--border",
|
||||
"none",
|
||||
"--terminal-width",
|
||||
tostring(self.area.w),
|
||||
tostring(self.file.url),
|
||||
tostring(job.area.w),
|
||||
tostring(job.file.url),
|
||||
})
|
||||
:stdout(Command.PIPED)
|
||||
:stderr(Command.PIPED)
|
||||
:spawn()
|
||||
end
|
||||
|
||||
local limit = self.area.h
|
||||
local limit = job.area.h
|
||||
local i, lines = 0, ""
|
||||
repeat
|
||||
local next, event = child:read_line()
|
||||
@ -36,29 +36,22 @@ function M:peek()
|
||||
end
|
||||
|
||||
i = i + 1
|
||||
if i > self.skip then
|
||||
if i > job.skip then
|
||||
lines = lines .. next
|
||||
end
|
||||
until i >= self.skip + limit
|
||||
until i >= job.skip + limit
|
||||
|
||||
child:start_kill()
|
||||
if self.skip > 0 and i < self.skip + limit then
|
||||
ya.manager_emit("peek", { math.max(0, i - limit), only_if = self.file.url, upper_bound = true })
|
||||
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(self, { ui.Text.parse(lines):area(self.area) })
|
||||
ya.preview_widgets(job, { ui.Text.parse(lines):area(job.area) })
|
||||
end
|
||||
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", {
|
||||
tostring(math.max(0, cx.active.preview.skip + step)),
|
||||
only_if = tostring(self.file.url),
|
||||
})
|
||||
end
|
||||
require("code").seek(job, units)
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
local M = {}
|
||||
|
||||
function M:peek()
|
||||
function M:peek(job)
|
||||
local child = Command("nbpreview")
|
||||
:args({
|
||||
-- DO NOT CHANGE --
|
||||
@ -17,43 +17,42 @@ function M:peek()
|
||||
-- SPECIAL CUSTOMIZATIONS --
|
||||
"--color-system=standard",
|
||||
"--theme=ansi_dark",
|
||||
tostring(self.file.url),
|
||||
tostring(job.file.url),
|
||||
})
|
||||
:stdout(Command.PIPED)
|
||||
:stderr(Command.PIPED)
|
||||
:spawn()
|
||||
|
||||
if not child then
|
||||
return require("code").peek(self)
|
||||
return require("code"):peek(job)
|
||||
end
|
||||
|
||||
local limit = self.area.h
|
||||
local limit = job.area.h
|
||||
local i, lines = 0, ""
|
||||
repeat
|
||||
local next, event = child:read_line()
|
||||
if event == 1 then
|
||||
return require("code").peek(self)
|
||||
return require("code"):peek(job)
|
||||
elseif event ~= 0 then
|
||||
break
|
||||
end
|
||||
|
||||
i = i + 1
|
||||
if i > self.skip then
|
||||
if i > job.skip then
|
||||
lines = lines .. next
|
||||
end
|
||||
until i >= self.skip + limit
|
||||
until i >= job.skip + limit
|
||||
|
||||
child:start_kill()
|
||||
if self.skip > 0 and i < self.skip + limit then
|
||||
ya.manager_emit("peek", { math.max(0, i - limit), only_if = self.file.url, upper_bound = true })
|
||||
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(self, { ui.Text.parse(lines):area(self.area) })
|
||||
ya.preview_widgets(job, { ui.Text.parse(lines):area(job.area) })
|
||||
end
|
||||
end
|
||||
|
||||
function M:seek(units)
|
||||
require("code").seek(self, units)
|
||||
function M:seek(job)
|
||||
require("code"):seek(job)
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
local M = {}
|
||||
|
||||
function M:peek()
|
||||
function M:peek(job)
|
||||
local child = Command("ouch")
|
||||
:args({ "l", "-t", "-y", tostring(self.file.url) })
|
||||
:args({ "l", "-t", "-y", tostring(job.file.url) })
|
||||
:stdout(Command.PIPED)
|
||||
:stderr(Command.PIPED)
|
||||
:spawn()
|
||||
local limit = self.area.h
|
||||
local file_name = string.match(tostring(self.file.url), ".*[/\\](.*)")
|
||||
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
|
||||
@ -20,7 +20,7 @@ function M:peek()
|
||||
end
|
||||
|
||||
if line:find('Archive', 1, true) ~= 1 and line:find('[INFO]', 1, true) ~= 1 then
|
||||
if num_skip >= self.skip then
|
||||
if num_skip >= job.skip then
|
||||
lines = lines .. line
|
||||
num_lines = num_lines + 1
|
||||
else
|
||||
@ -30,23 +30,23 @@ function M:peek()
|
||||
until num_lines >= limit
|
||||
|
||||
child:start_kill()
|
||||
if self.skip > 0 and num_lines < limit then
|
||||
if job.skip > 0 and num_lines < limit then
|
||||
ya.manager_emit(
|
||||
"peek",
|
||||
{ tostring(math.max(0, self.skip - (limit - num_lines))), only_if = tostring(self.file.url), upper_bound = "" }
|
||||
{ tostring(math.max(0, job.skip - (limit - num_lines))), only_if = tostring(job.file.url), upper_bound = "" }
|
||||
)
|
||||
else
|
||||
ya.preview_widgets(self, { ui.Text(lines):area(self.area) })
|
||||
ya.preview_widgets(job, { ui.Text(lines):area(job.area) })
|
||||
end
|
||||
end
|
||||
|
||||
function M:seek(units)
|
||||
function M:seek(job)
|
||||
local h = cx.active.current.hovered
|
||||
if h and h.url == self.file.url then
|
||||
local step = math.floor(units * self.area.h / 10)
|
||||
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(self.file.url),
|
||||
only_if = tostring(job.file.url),
|
||||
})
|
||||
end
|
||||
end
|
||||
@ -110,8 +110,8 @@ local function invoke_compress_command(paths, name)
|
||||
end
|
||||
end
|
||||
|
||||
function M:entry(args)
|
||||
local default_fmt = args[1]
|
||||
function M:entry(job)
|
||||
local default_fmt = job.args[1]
|
||||
|
||||
ya.manager_emit("escape", { visual = true })
|
||||
|
||||
|
||||
@ -51,7 +51,7 @@ local render_motion_setup = ya.sync(function(_)
|
||||
end
|
||||
|
||||
-- TODO: check why it doesn't work line this
|
||||
-- Status:children_add(Status.motion, 100, Status.RIGHT)
|
||||
-- Status:children_add(function() return ui.Span("") end, 1000, Status.RIGHT)
|
||||
end)
|
||||
|
||||
local render_motion = ya.sync(function(_, motion_num, motion_cmd)
|
||||
@ -66,15 +66,15 @@ local render_motion = ya.sync(function(_, motion_num, motion_cmd)
|
||||
|
||||
local motion_span
|
||||
if not motion_cmd then
|
||||
motion_span = ui.Span(string.format(" %3d ", motion_num)):style(style)
|
||||
motion_span = ui.Span(string.format(" %3d ", motion_num))
|
||||
else
|
||||
motion_span = ui.Span(string.format(" %3d%s ", motion_num, motion_cmd)):style(style)
|
||||
motion_span = ui.Span(string.format(" %3d%s ", motion_num, motion_cmd))
|
||||
end
|
||||
|
||||
return ui.Line {
|
||||
ui.Span(THEME.status.separator_open):fg(style.bg),
|
||||
motion_span,
|
||||
ui.Span(THEME.status.separator_close):fg(style.bg),
|
||||
ui.Span(THEME.status.separator_open):fg(style.main.bg),
|
||||
motion_span:style(style.main),
|
||||
ui.Span(THEME.status.separator_close):fg(style.main.bg),
|
||||
ui.Span(" "),
|
||||
}
|
||||
end
|
||||
@ -210,9 +210,10 @@ local get_active_tab = ya.sync(function(_) return cx.tabs.idx end)
|
||||
-----------------------------------------------
|
||||
|
||||
return {
|
||||
entry = function(_, args)
|
||||
entry = function(_, job)
|
||||
local initial_value
|
||||
|
||||
local args = job.args
|
||||
-- this is checking if the argument is a valid number
|
||||
if #args > 0 then
|
||||
initial_value = tostring(tonumber(args[1]))
|
||||
|
||||
@ -228,7 +228,7 @@ end
|
||||
function Yatline.string.get:hovered_size()
|
||||
local hovered = cx.active.current.hovered
|
||||
if hovered then
|
||||
return ya.readable_size(hovered:size() or hovered.cha.length)
|
||||
return ya.readable_size(hovered:size() or hovered.cha.len)
|
||||
else
|
||||
return ""
|
||||
end
|
||||
@ -522,7 +522,7 @@ function Yatline.coloreds.get:permissions()
|
||||
local hovered = cx.active.current.hovered
|
||||
|
||||
if hovered then
|
||||
local perm = hovered.cha:permissions()
|
||||
local perm = hovered.cha:perm()
|
||||
|
||||
if perm then
|
||||
local coloreds = {}
|
||||
@ -826,9 +826,9 @@ end
|
||||
local function config_paragraph(area, line)
|
||||
local line_array = { line } or {}
|
||||
if show_background then
|
||||
return ui.Paragraph(area, line_array):style(style_c)
|
||||
return ui.Text(line_array):area(area):style(style_c)
|
||||
else
|
||||
return ui.Paragraph(area, line_array)
|
||||
return ui.Text(line_array):area(area)
|
||||
end
|
||||
end
|
||||
|
||||
@ -976,7 +976,7 @@ return {
|
||||
return { config_paragraph(self._area) }
|
||||
end
|
||||
|
||||
local gauge = ui.Gauge(self._area)
|
||||
local gauge = ui.Gauge():area(self._area)
|
||||
if progress.fail == 0 then
|
||||
gauge = gauge:gauge_style(THEME.status.progress_normal)
|
||||
else
|
||||
@ -998,13 +998,13 @@ return {
|
||||
|
||||
if display_header_line then
|
||||
if show_line(header_line) then
|
||||
Header.render = function(self)
|
||||
Header.redraw = function(self)
|
||||
local left_line = config_line(header_line.left, Side.LEFT)
|
||||
local right_line = config_line(header_line.right, Side.RIGHT)
|
||||
|
||||
return {
|
||||
config_paragraph(self._area, left_line),
|
||||
ui.Paragraph(self._area, { right_line }):align(ui.Paragraph.RIGHT)
|
||||
ui.Text(right_line):area(self._area):align(ui.Text.RIGHT)
|
||||
}
|
||||
end
|
||||
|
||||
@ -1012,19 +1012,20 @@ return {
|
||||
Header.children_remove = function() return {} end
|
||||
end
|
||||
else
|
||||
Header.render = function() return {} end
|
||||
Header.redraw = function() return {} end
|
||||
end
|
||||
|
||||
if display_status_line then
|
||||
if show_line(status_line) then
|
||||
Status.render = function(self)
|
||||
Status.redraw = function(self)
|
||||
local left_line = config_line(status_line.left, Side.LEFT)
|
||||
local right_line = config_line(status_line.right, Side.RIGHT)
|
||||
local right_width = right_line:width()
|
||||
|
||||
return {
|
||||
config_paragraph(self._area, left_line),
|
||||
ui.Paragraph(self._area, { right_line }):align(ui.Paragraph.RIGHT),
|
||||
table.unpack(Progress:render(self._area, right_line:width())),
|
||||
ui.Text(right_line):area(self._area):align(ui.Text.RIGHT),
|
||||
table.unpack(Progress:new(self._area, right_width):redraw()),
|
||||
}
|
||||
end
|
||||
|
||||
@ -1032,7 +1033,7 @@ return {
|
||||
Status.children_remove = function() return {} end
|
||||
end
|
||||
else
|
||||
Status.render = function() return {} end
|
||||
Status.redraw = function() return {} end
|
||||
end
|
||||
|
||||
Root.layout = function(self)
|
||||
|
||||
@ -26,7 +26,7 @@ ueberzug_offset = [ 0, 0, 0, 0 ]
|
||||
|
||||
[opener]
|
||||
edit = [
|
||||
{run = '${EDITOR:=vi} "$@"', desc = "$EDITOR", block = true, for = "unix"},
|
||||
{run = '${EDITOR:=vim} "$@"', desc = "$EDITOR", block = true, for = "unix"},
|
||||
{run = 'code "%*"', orphan = true, desc = "code", for = "windows"},
|
||||
{run = 'code -w "%*"', block = true, desc = "code (block)", for = "windows"},
|
||||
]
|
||||
|
||||
32
local/bin/typst-port
Normal file
32
local/bin/typst-port
Normal file
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
copy_to_clipboard() {
|
||||
if [[ "$XDG_SESSION_TYPE" == "wayland" ]]; then
|
||||
# Wayland
|
||||
wl-copy
|
||||
else
|
||||
# X11
|
||||
xclip -selection clipboard
|
||||
fi
|
||||
}
|
||||
|
||||
get_tinymist_ports() {
|
||||
local line_num=${1:-0} # Default to 0 if no argument provided
|
||||
|
||||
# Get all lines and store in array
|
||||
mapfile -t lines < <(ss -tunlp | grep tinymist | awk '{
|
||||
split($5, addr, ":")
|
||||
print addr[1] ":" addr[2]
|
||||
}')
|
||||
|
||||
# Check if requested line exists
|
||||
if [ "$line_num" -lt 0 ] || [ "$line_num" -ge "${#lines[@]}" ]; then
|
||||
echo "Error: Line $line_num does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Output the requested line
|
||||
echo "${lines[$line_num]}" | tee >(copy_to_clipboard)
|
||||
}
|
||||
|
||||
get_tinymist_ports "$1"
|
||||
Loading…
Reference in New Issue
Block a user