1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2025-12-11 15:23:41 +08:00

Compare commits

...

3 Commits

Author SHA1 Message Date
bretello
6ff6cba832
Merge a62e4f0339 into 92aed2e936 2025-12-09 23:28:54 +01:00
Tanzim Hossain Romel
92aed2e936
feat(extract): add unar as fallback for RAR extraction (#13472)
Add unar as a fallback when unrar is not available for extracting
RAR files. This addresses the issue where unrar has been removed
from Homebrew due to licensing issues.

The extraction now:
- Prefers unrar if available (backward compatible)
- Falls back to unar if unrar is not found
- Shows helpful error message if neither tool is installed
2025-12-09 20:14:31 +01:00
bretello
a62e4f0339
feat(clipboard): tmux: send clipboard to client when using clipcopy
From `man tmux`:

```
load-buffer [-w] [-b buffer-name] [-t target-client] path
             (alias: loadb)
       Load the contents of the specified paste buffer from path.
       If -w is given, the buffer is also sent to the clipboard
       for target-client using the xterm(1) escape sequence,
       if possible.  If path is ‘-’, the contents are read from stdin.
```

By adding '-w', we can get `load-buffer` (and `clipcopy`) to also send
the copied buffer to the client, allowing for easy copying tmux buffers
into the local client, which is useful in scenarios such as ssh+tmux
remote sessions.
2025-11-28 10:53:01 +01:00
2 changed files with 10 additions and 2 deletions

View File

@ -82,7 +82,7 @@ function detect-clipboard() {
function clipcopy() { cat "${1:-/dev/stdin}" | termux-clipboard-set; }
function clippaste() { termux-clipboard-get; }
elif [ -n "${TMUX:-}" ] && (( ${+commands[tmux]} )); then
function clipcopy() { tmux load-buffer "${1:--}"; }
function clipcopy() { tmux load-buffer -w "${1:--}"; }
function clippaste() { tmux save-buffer -; }
else
function _retry_clipboard_detection_or_fail() {

View File

@ -77,7 +77,15 @@ EOF
(*.lzma) unlzma "$full_path" ;;
(*.z) uncompress "$full_path" ;;
(*.zip|*.war|*.jar|*.ear|*.sublime-package|*.ipa|*.ipsw|*.xpi|*.apk|*.aar|*.whl|*.vsix|*.crx|*.pk3|*.pk4) unzip "$full_path" ;;
(*.rar) unrar x -ad "$full_path" ;;
(*.rar)
if (( $+commands[unrar] )); then
unrar x -ad "$full_path"
elif (( $+commands[unar] )); then
unar -o . "$full_path"
else
echo "extract: cannot extract RAR files: install unrar or unar" >&2
success=1
fi ;;
(*.rpm)
rpm2cpio "$full_path" | cpio --quiet -id ;;
(*.7z | *.7z.[0-9]* | *.pk7) 7za x "$full_path" ;;