feat: yazi plugins [glow, projects, custom_scripts-set_wallpaper]

This commit is contained in:
Aleksander Cynarski 2025-04-13 12:25:36 +02:00
parent 5d779b0b66
commit 0b508021b3
9 changed files with 151 additions and 16 deletions

View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -eaou pipefail
osascript -e 'tell application "System Events" to set picture of every desktop to "'"$1"'"'

View File

@ -0,0 +1,41 @@
return {
-- Matches: a URL in parens: (URL)
{
regex = "\\((\\w+://\\S+)\\)",
format = "$1",
highlight = 1,
},
-- Matches: a URL in brackets: [URL]
{
regex = "\\[(\\w+://\\S+)\\]",
format = "$1",
highlight = 1,
},
-- Matches: a URL in curly braces: {URL}
{
regex = "\\{(\\w+://\\S+)\\}",
format = "$1",
highlight = 1,
},
-- Matches: a URL in angle brackets: <URL>
{
regex = "<(\\w+://\\S+)>",
format = "$1",
highlight = 1,
},
-- Then handle URLs not wrapped in brackets
{
-- Before
--regex = '\\b\\w+://\\S+[)/a-zA-Z0-9-]+',
--format = '$0',
-- After
regex = "[^(]\\b(\\w+://\\S+[)/a-zA-Z0-9-]+)",
format = "$1",
highlight = 1,
},
-- implicit mailto link
{
regex = "\\b\\w+@[\\w-]+(\\.[\\w-]+)+\\b",
format = "mailto:$0",
},
}

View File

@ -14,7 +14,7 @@ local config = {
font = wezterm.font("JetBrains Mono", { weight = "Medium" }),
font_size = 12,
line_height = 1.0,
window_background_opacity = 0.8,
window_background_opacity = 0.97,
-- tab bar
use_fancy_tab_bar = true,
tab_bar_at_bottom = false,
@ -38,6 +38,7 @@ local config = {
keys = mappings.keys,
key_tables = mappings.key_tables,
hyperlink_rules = hyperlinks,
audible_bell = "Disabled",
}
-- sessions.apply_to_config(config) -- optional, this adds default keybindings

View File

@ -15,3 +15,26 @@ require("bookmarks"):setup({
},
},
})
require("projects"):setup({
save = {
method = "yazi", -- yazi | lua
lua_save_path = "", -- comment out to get the default value
-- windows: "%APPDATA%/yazi/state/projects.json"
-- unix: "~/.local/state/yazi/projects.json"
},
last = {
update_after_save = true,
update_after_load = true,
load_after_start = false,
},
merge = {
quit_after_merge = false,
},
notify = {
enable = true,
title = "Projects",
timeout = 3,
level = "info",
},
})

View File

@ -17,3 +17,43 @@ desc = "Delete a bookmark"
on = [ "b", "D" ]
run = "plugin bookmarks delete_all"
desc = "Delete all bookmarks"
[[manager.prepend_keymap]]
on = [ "P", "s" ]
run = "plugin projects save"
desc = "Save current project"
[[manager.prepend_keymap]]
on = [ "P", "l" ]
run = "plugin projects load"
desc = "Load project"
[[manager.prepend_keymap]]
on = [ "P", "P" ]
run = "plugin projects load_last"
desc = "Load last project"
[[manager.prepend_keymap]]
on = [ "P", "d" ]
run = "plugin projects delete"
desc = "Delete project"
[[manager.prepend_keymap]]
on = [ "P", "D" ]
run = "plugin projects delete_all"
desc = "Delete all projects"
[[manager.prepend_keymap]]
on = [ "P", "m" ]
run = "plugin projects 'merge current'"
desc = "Merge current tab to other projects"
[[manager.prepend_keymap]]
on = [ "P", "M" ]
run = "plugin projects 'merge all'"
desc = "Merge current project to other projects"
[[manager.prepend_keymap]]
on = ["C", "w"]
run = 'shell -- ${HOME}/.config/custom_scripts/osx/set_wallpaper.sh "$1"'
desc = "Set wallpaper"

View File

@ -3,6 +3,16 @@ use = "dedukun/bookmarks"
rev = "95b2c58"
hash = "17a094653b7d0db4ac68ed531d2e1412"
[[plugin.deps]]
use = "Reledia/glow"
rev = "c76bf4f"
hash = "a6b78bf9af5390e3a85a6951fbb7b93"
[[plugin.deps]]
use = "MasouShizuka/projects"
rev = "4f11ecc"
hash = "17fa17295d27864f62875f06a77f72e7"
[[flavor.deps]]
use = "BennyOe/tokyo-night"
rev = "695dac6"

View File

@ -10,5 +10,10 @@ show_hidden = true
show_symlink = true
scrolloff = 5
mouse_events = ["click", "scroll"]
# title_format = "Yazi: {cwd}"
#title_format = "Yazi: {cwd}"
[plugin]
prepend_previewers = [
{ name = "*.md", run = "glow" },
]

View File

@ -35,3 +35,5 @@
lgdu = !git lgd $( git rev-parse --symbolic @{u} ) HEAD
; lg me: my commits from all branches, by date
lgme = !git lgd --author=\"$( git config --get user.name )\" --all
[core]
excludesfile = /Users/paramah/.gitignore

36
.zshrc
View File

@ -50,7 +50,9 @@ source $HOME/.oh-my-zsh/custom/plugins/fzf-tab-completion/zsh/fzf-zsh-completion
zstyle ':completion:*' fzf-search-display true
zstyle ':completion::*:cd::*' fzf-cd-widget
zstyle ':completion::*:ls::*' fzf-completion-opts --preview='eval head {1}'
zstyle ':completion::*:lsd::*' fzf-completion-opts --preview='eval head -n30 {1}'
zstyle ':completion::*:cat::*' fzf-completion-opts --preview='eval head {1}'
zstyle ':completion::*:nvim::*' fzf-completion-opts --preview='eval head {1}'
# Map widgets to key
@ -69,21 +71,10 @@ bindkey '^xn' fzf-insert-named-directory
## Git
bindkey '^@g' fzf-select-git-widget
bindkey '^@ga' fzf-git-add-files
bindkey '^@a' fzf-git-add-files
bindkey '^@gc' fzf-git-change-repository
# GitHub
bindkey '^@h' fzf-select-github-widget
bindkey '^@hs' fzf-github-show-issue
bindkey '^@hc' fzf-github-close-issue
## Docker
bindkey '^@d' fzf-select-docker-widget
bindkey '^@dc' fzf-docker-remove-containers
bindkey '^@di' fzf-docker-remove-images
bindkey '^@dv' fzf-docker-remove-volumes
zplug load
# zplug load
# ___ _ __ ___ ____
# / _ \| '_ ` _ \|_ /
@ -98,19 +89,36 @@ source $ZSH/oh-my-zsh.sh
autoload bashcompinit
bashcompinit
# yazi cwd wrapper
function y() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
yazi "$@" --cwd-file="$tmp"
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
builtin cd -- "$cwd"
fi
rm -f -- "$tmp"
}
# Default aliases
alias vim="nvim"
alias j="jump"
alias b="bookmark"
alias ls="lsd"
alias y="yazi"
eval "$(/opt/homebrew/bin/brew shellenv)"
# Add Visual Studio Code (code)
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
export PATH="$PATH:$HOME/tools/git-scripts"
export PATH="$PATH:/usr/local/share/dotnet"
export EDITOR=nvim
# Added by LM Studio CLI (lms)
export PATH="$PATH:/Users/paramah/.lmstudio/bin"
# bun completions
[ -s "/Users/paramah/.bun/_bun" ] && source "/Users/paramah/.bun/_bun"
# bun
export BUN_INSTALL="$HOME/.bun"
export PATH="$BUN_INSTALL/bin:$PATH"