diff options
| author | Kipras Melnikovas <kipras@kipras.org> | 2024-07-15 20:37:04 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-15 17:37:04 +0000 |
| commit | 131dcce2689f9fe45572212803b36be11ff2eb4e (patch) | |
| tree | 8381c44ecd2871d66fb1a3826ad983d53f16ec2a /.local/bin/shortcuts | |
| parent | 368d3583a6c2e067491a160553c4130187fd0127 (diff) | |
| download | eibhear-131dcce2689f9fe45572212803b36be11ff2eb4e.tar.gz eibhear-131dcce2689f9fe45572212803b36be11ff2eb4e.tar.zst eibhear-131dcce2689f9fe45572212803b36be11ff2eb4e.zip | |
shortcuts: export env vars for each shortcut (#1395)
useful if want to use shortcuts w/ different progs instead of
their default behavior (cd / $EDITOR), e.g.:
```sh
cd ~/Downloads
mv foo.mp3 $music
```
Co-authored-by: Luke Smith <luke@lukesmith.xyz>
Diffstat (limited to '.local/bin/shortcuts')
| -rwxr-xr-x | .local/bin/shortcuts | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/.local/bin/shortcuts b/.local/bin/shortcuts index 0c7cf75..08a2f57 100755 --- a/.local/bin/shortcuts +++ b/.local/bin/shortcuts @@ -5,6 +5,7 @@ bmfiles="${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-files" # Output locations. Unactivated progs should go to /dev/null. shell_shortcuts="${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc" +shell_env_shortcuts="${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutenvrc" zsh_named_dirs="${XDG_CONFIG_HOME:-$HOME/.config}/shell/zshnameddirrc" lf_shortcuts="${XDG_CONFIG_HOME:-$HOME/.config}/lf/shortcutrc" vim_shortcuts="${XDG_CONFIG_HOME:-$HOME/.config}/nvim/shortcuts.vim" @@ -16,12 +17,14 @@ vifm_shortcuts="/dev/null" rm -f "$lf_shortcuts" "$qute_shortcuts" "$zsh_named_dirs" "$vim_shortcuts" 2>/dev/null printf "# vim: filetype=sh\\n" > "$fish_shortcuts" printf "# vim: filetype=sh\\nalias " > "$shell_shortcuts" +printf "# vim: filetype=sh\\n" > "$shell_env_shortcuts" printf "\" vim: filetype=vim\\n" > "$vifm_shortcuts" # Format the `directories` file in the correct syntax and sent it to all three configs. eval "echo \"$(cat "$bmdirs")\"" | \ awk "!/^\s*#/ && !/^\s*\$/ {gsub(\"\\\s*#.*$\",\"\"); printf(\"%s=\42cd %s && ls -A\42 \\\\\n\",\$1,\$2) >> \"$shell_shortcuts\" ; + printf(\"[ -n \42%s\42 ] && export %s=\42%s\42 \n\",\$1,\$1,\$2) >> \"$shell_env_shortcuts\" ; printf(\"hash -d %s=%s \n\",\$1,\$2) >> \"$zsh_named_dirs\" ; printf(\"abbr %s \42cd %s; and ls -A\42\n\",\$1,\$2) >> \"$fish_shortcuts\" ; printf(\"map g%s :cd %s<CR>\nmap t%s <tab>:cd %s<CR><tab>\nmap M%s <tab>:cd %s<CR><tab>:mo<CR>\nmap Y%s <tab>:cd %s<CR><tab>:co<CR> \n\",\$1,\$2, \$1, \$2, \$1, \$2, \$1, \$2) >> \"$vifm_shortcuts\" ; @@ -33,6 +36,7 @@ awk "!/^\s*#/ && !/^\s*\$/ {gsub(\"\\\s*#.*$\",\"\"); eval "echo \"$(cat "$bmfiles")\"" | \ awk "!/^\s*#/ && !/^\s*\$/ {gsub(\"\\\s*#.*$\",\"\"); printf(\"%s=\42\$EDITOR %s\42 \\\\\n\",\$1,\$2) >> \"$shell_shortcuts\" ; + printf(\"[ -n \42%s\42 ] && export %s=\42%s\42 \n\",\$1,\$1,\$2) >> \"$shell_env_shortcuts\" ; printf(\"hash -d %s=%s \n\",\$1,\$2) >> \"$zsh_named_dirs\" ; printf(\"abbr %s \42\$EDITOR %s\42 \n\",\$1,\$2) >> \"$fish_shortcuts\" ; printf(\"map %s :e %s<CR> \n\",\$1,\$2) >> \"$vifm_shortcuts\" ; |
