Hack together a quick way to execute using local bindirs (#1)

This commit is contained in:
Andrew Tomaka 2021-03-31 23:31:05 -04:00 committed by GitHub
parent cbc8bede7a
commit 3b01025006
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 56 additions and 2 deletions

View file

@ -1,11 +1,15 @@
excludes = -I Makefile -I README.md
symlinks = $(shell find . \( ! -iname "Makefile" ! -iname "README.md" ! -iname ".*" ! -path "./.git/*" ! -path "./zsh/*" ! -path "./nvim/*" ! -iname "nvim" \) | sed 's|./||')
symlinks = $(shell find . -maxdepth 1 \( ! -iname "Makefile" ! -iname "README.md" ! -iname ".*" ! -name "bin" ! -iname "nvim" \) | sed 's|./||')
.PHONY: $(symlinks) nvim
all: install
install: plug-vim $(symlinks)
install: install-bin plug-vim $(symlinks)
install-bin:
mkdir -p $$HOME/bin
cp bin/* $$HOME/bin
nvim:
mkdir -p ~/.config/nvim

25
bin/, Executable file
View file

@ -0,0 +1,25 @@
#!/bin/bash
function find-local-bin {
local readonly prefix=$1; shift
local bin_dir="$prefix-bin"
local found_bin_dir=""
current_dir=$(pwd)
found_bin_dir=$current_dir/$bin_dir
while [ ! -d $found_bin_dir ]; do
if [[ $current_dir == $HOME ]]; then
found_bin_dir=$HOME/bin
break
fi
current_dir=$(realpath "$current_dir/..")
found_bin_dir=$current_dir/$bin_dir
done
echo $found_bin_dir
}
dir=$(find-local-bin aet)
exec $dir/$@

View file

@ -7,6 +7,12 @@ function aws-profile {
fi
}
function aet-bin-exec {
local readonly script=$1; shift
./aet-bin/$script $@
}
function fix-permissions {
find . -type d -print0 | xargs -0 chmod 0755
find . -type f -print0 | xargs -0 chmod 0644

17
zsh-completions/_comma Normal file
View file

@ -0,0 +1,17 @@
#compdef ,
local bin_dir="aet-bin"
local found_bin_dir=""
current_dir=$(pwd)
found_bin_dir=$current_dir/$bin_dir
while [ ! -d $found_bin_dir ]; do
if [[ $current_dir == $HOME ]]; then
found_bin_dir=$HOME/bin
break
fi
current_dir=$(realpath "$current_dir/..")
found_bin_dir=$current_dir/$bin_dir
done
_files -g "^," -W $found_bin_dir

2
zshrc
View file

@ -48,7 +48,9 @@ if which direnv > /dev/null; then
fi
# completion
fpath=($HOME/.zsh-completions $fpath)
autoload -U compinit
autoload bashcompinit && bashcompinit
compinit
setopt completeinword
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'