1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2026-02-13 05:59:46 +08:00

Compare commits

...

2 Commits

Author SHA1 Message Date
Atk
4806f75569
feat(wd): update to latest upstream release (#11235)
Based on https://github.com/mfaerevaag/wd/releases/tag/v0.5.2
2022-11-06 20:52:53 +01:00
Jeremy Combs
3eda3e5650
feat(encode64): add encodefile64 function (#10813)
Co-authored-by: Jeremy Combs <jeremy.combs@convergetp.com>
2022-11-06 20:50:39 +01:00
4 changed files with 50 additions and 9 deletions

View File

@ -11,8 +11,9 @@ plugins=(... encode64)
## Functions and Aliases ## Functions and Aliases
| Function | Alias | Description | | Function | Alias | Description |
| ---------- | ----- | ------------------------------ | | -------------- | ------ | -------------------------------------- |
| `encode64` | `e64` | Encodes given data to base64 | | `encode64` | `e64` | Encodes given data to base64 |
| `encodefile64` | `ef64` | Encodes given file's content to base64 |
| `decode64` | `d64` | Decodes given data from base64 | | `decode64` | `d64` | Decodes given data from base64 |
## Usage and examples ## Usage and examples
@ -37,6 +38,20 @@ plugins=(... encode64)
b2gtbXktenNo== b2gtbXktenNo==
``` ```
### Encoding a file
Encode a file's contents to base64 and save output to text file.
**NOTE:** Takes provided file and saves encoded content as new file with `.txt` extension
- From parameter
```console
$ encodefile64 ohmyzsh.icn
ohmyzsh.icn's content encoded in base64 and saved as ohmyzsh.icn.txt
$ ef64 "oh-my-zsh"
ohmyzsh.icn's content encoded in base64 and saved as ohmyzsh.icn.txt
```
### Decoding ### Decoding
- From parameter - From parameter

View File

@ -6,6 +6,15 @@ encode64() {
fi fi
} }
encodefile64() {
if [[ $# -eq 0 ]]; then
echo "You must provide a filename"
else
base64 -i $1 -o $1.txt
echo "${1}'s content encoded in base64 and saved as ${1}.txt"
fi
}
decode64() { decode64() {
if [[ $# -eq 0 ]]; then if [[ $# -eq 0 ]]; then
cat | base64 --decode cat | base64 --decode
@ -14,4 +23,5 @@ decode64() {
fi fi
} }
alias e64=encode64 alias e64=encode64
alias ef64=encodefile64
alias d64=decode64 alias d64=decode64

View File

@ -1,12 +1,12 @@
# wd # wd
[![Build Status](https://travis-ci.org/mfaerevaag/wd.png?branch=master)](https://travis-ci.org/mfaerevaag/wd) [![Build Status](https://github.com/mfaerevaag/wd/actions/workflows/test.yml/badge.svg)](https://github.com/mfaerevaag/wd/actions)
`wd` (*warp directory*) lets you jump to custom directories in zsh, without using `cd`. `wd` (*warp directory*) lets you jump to custom directories in zsh, without using `cd`.
Why? Why?
Because `cd` seems inefficient when the folder is frequently visited or has a long path. Because `cd` seems inefficient when the folder is frequently visited or has a long path.
![tty.gif](https://raw.githubusercontent.com/mfaerevaag/wd/master/tty.gif) ![Demo](https://raw.githubusercontent.com/mfaerevaag/wd/master/tty.gif)
## Setup ## Setup
@ -36,6 +36,10 @@ In your `.zshrc`:
antibody bundle mfaerevaag/wd antibody bundle mfaerevaag/wd
``` ```
### [Fig](https://fig.io)
Install `wd` here: [![Fig plugin store](https://fig.io/badges/install-with-fig.svg)](https://fig.io/plugins/other/wd_mfaerevaag)
### Arch ([AUR](https://aur.archlinux.org/packages/zsh-plugin-wd-git/)) ### Arch ([AUR](https://aur.archlinux.org/packages/zsh-plugin-wd-git/))
1. Install from the AUR 1. Install from the AUR

View File

@ -163,6 +163,7 @@ wd_add()
{ {
local point=$1 local point=$1
local force=$2 local force=$2
cmdnames=(add rm show list ls path clean help)
if [[ $point == "" ]] if [[ $point == "" ]]
then then
@ -178,6 +179,9 @@ wd_add()
elif [[ $point =~ : ]] || [[ $point =~ / ]] elif [[ $point =~ : ]] || [[ $point =~ / ]]
then then
wd_exit_fail "Warp point contains illegal character (:/)" wd_exit_fail "Warp point contains illegal character (:/)"
elif (($cmdnames[(Ie)$point]))
then
wd_exit_fail "Warp point name cannot be a wd command (see wd -h for a full list)"
elif [[ ${points[$point]} == "" ]] || [ ! -z "$force" ] elif [[ ${points[$point]} == "" ]] || [ ! -z "$force" ]
then then
wd_remove "$point" > /dev/null wd_remove "$point" > /dev/null
@ -185,7 +189,7 @@ wd_add()
if (whence sort >/dev/null); then if (whence sort >/dev/null); then
local config_tmp=$(mktemp "${TMPDIR:-/tmp}/wd.XXXXXXXXXX") local config_tmp=$(mktemp "${TMPDIR:-/tmp}/wd.XXXXXXXXXX")
# use 'cat' below to ensure we respect $WD_CONFIG as a symlink # use 'cat' below to ensure we respect $WD_CONFIG as a symlink
command sort -o "${config_tmp}" "$WD_CONFIG" && command cat "${config_tmp}" > "$WD_CONFIG" && command rm "${config_tmp}" command sort -o "${config_tmp}" "$WD_CONFIG" && command cat "${config_tmp}" >| "$WD_CONFIG" && command rm "${config_tmp}"
fi fi
wd_export_static_named_directories wd_export_static_named_directories
@ -214,7 +218,7 @@ wd_remove()
then then
local config_tmp=$(mktemp "${TMPDIR:-/tmp}/wd.XXXXXXXXXX") local config_tmp=$(mktemp "${TMPDIR:-/tmp}/wd.XXXXXXXXXX")
# Copy and delete in two steps in order to preserve symlinks # Copy and delete in two steps in order to preserve symlinks
if sed -n "/^${point_name}:.*$/!p" "$WD_CONFIG" > "$config_tmp" && command cp "$config_tmp" "$WD_CONFIG" && command rm "$config_tmp" if sed -n "/^${point_name}:.*$/!p" "$WD_CONFIG" >| "$config_tmp" && command cp "$config_tmp" "$WD_CONFIG" && command rm "$config_tmp"
then then
wd_print_msg "$WD_GREEN" "Warp point removed" wd_print_msg "$WD_GREEN" "Warp point removed"
else else
@ -251,7 +255,7 @@ wd_list_all()
then then
arr=(${(s,:,)line}) arr=(${(s,:,)line})
key=${arr[1]} key=${arr[1]}
val=${arr[2]} val=${line#"${arr[1]}:"}
if [[ -z $wd_quiet_mode ]] if [[ -z $wd_quiet_mode ]]
then then
@ -389,6 +393,11 @@ else
wd_export_static_named_directories wd_export_static_named_directories
fi fi
# disable extendedglob for the complete wd execution time
setopt | grep -q extendedglob
wd_extglob_is_set=$?
[[ $wd_extglob_is_set ]] && setopt noextendedglob
# load warp points # load warp points
typeset -A points typeset -A points
while read -r line while read -r line
@ -475,6 +484,9 @@ fi
# if not, next time warp will pick up variables from this run # if not, next time warp will pick up variables from this run
# remember, there's no sub shell # remember, there's no sub shell
[[ $wd_extglob_is_set ]] && setopt extendedglob
unset wd_extglob_is_set
unset wd_warp unset wd_warp
unset wd_add unset wd_add
unset wd_remove unset wd_remove