diff options
author | Ben Sima <ben@bsima.me> | 2021-12-16 07:57:39 -0500 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2021-12-21 11:01:54 -0500 |
commit | 47287f3b218e7f30e2ce5b1bdd7f6b0f3fac41ee (patch) | |
tree | 4fa04bcc416aac10b198287142d400d13f094194 | |
parent | 3fad7346721514af8bbe457abd61aab97916d2e3 (diff) |
Add hoog.sh, improve ide scripts
-rw-r--r-- | .editorconfig | 2 | ||||
-rwxr-xr-x | Biz/Ide/ftags.sh | 30 | ||||
-rwxr-xr-x | Biz/Ide/hoog.sh | 14 | ||||
-rwxr-xr-x | Biz/Ide/init_tags.sh | 21 | ||||
-rwxr-xr-x | Biz/Ide/ns | 65 |
5 files changed, 76 insertions, 56 deletions
diff --git a/.editorconfig b/.editorconfig index e86f731..9288346 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,7 +8,7 @@ trim_trailing_whitespace = true charset = utf-8 max_line_length = 80 -[*.{hs,nix,scm}] +[*.{hs,nix,scm,sh}] indent_size = 2 [*.py] diff --git a/Biz/Ide/ftags.sh b/Biz/Ide/ftags.sh index 2687e9a..4b8396b 100755 --- a/Biz/Ide/ftags.sh +++ b/Biz/Ide/ftags.sh @@ -1,13 +1,19 @@ #!/usr/bin/env bash -# ftags - search ctags -set -euo pipefail -tags=$BIZ_ROOT/tags -tag_search=$( - awk 'BEGIN { FS="\t" } !/^!/ {print toupper($4)"\t"$1"\t"$2"\t"$3}' $tags \ - | cut -c1-80 \ - | fzf --nth=1,2 -) -${EDITOR:-vim} \ - $(cut -f3 <<< "$tag_search") \ - -c "set nocst" \ - -c "silent tag $(cut -f2 <<< "$tag_search")" +# +# search tags with fzf +# + set -euo pipefail + tags=$BIZ_ROOT/tags + tag_search=$( + awk 'BEGIN { FS="\t" } !/^!/ {print toupper($4)"\t"$1"\t"$2"\t"$3}' $tags \ + | cut -c1-80 \ + | fzf \ + --nth=1,2 \ + --preview-window=down \ + --preview "rg --ignore-case --pretty --context 2 --word-regexp {+2}" + ) + ${EDITOR:-vim} \ + $(cut -f3 <<< "$tag_search") \ + -c "set nocst" \ + -c "silent tag $(cut -f2 <<< "$tag_search")" +## diff --git a/Biz/Ide/hoog.sh b/Biz/Ide/hoog.sh new file mode 100755 index 0000000..5379e54 --- /dev/null +++ b/Biz/Ide/hoog.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# +# search hoogle with fzf +# + set -euo pipefail + HOOG="hoogle search --count=200" + export FZF_DEFAULT_COMMAND="$HOOG $@" + fzf \ + --preview-window=down \ + --preview "hoogle search --link --info {+2}" \ + --bind "change:reload:$HOOG {q} || true" \ + --print-query \ + --ansi +## diff --git a/Biz/Ide/init_tags.sh b/Biz/Ide/init_tags.sh index 10e9c85..0efc0ed 100755 --- a/Biz/Ide/init_tags.sh +++ b/Biz/Ide/init_tags.sh @@ -1,13 +1,12 @@ #!/usr/bin/env bash +# # fast-tags wrapper to generate tags automatically if there are none. - -flags=( - --fully-qualified -) -fns=$@ -if [[ ! -r tags ]]; then - echo Generating tags from scratch... - exec fast-tags $flags -R . -else - exec fast-tags $flags $fns -fi +# + fns=$@ + if [[ ! -r tags ]]; then + echo Generating tags from scratch... + exec fast-tags $flags -R . + else + exec fast-tags $fns + fi +## @@ -1,33 +1,34 @@ #!/usr/bin/env bash - -if [[ $NOUN == "" ]] -then - export NOUN=$(fd --exclude=_ -t f . $BIZ_ROOT | fzf) -fi - -if [[ $VERB == "" ]] -then - export VERB=$(fzf <<< $(sed 's/ /\n/g' <<< "edit bild push ship lint")) -fi - -$VERB $NOUN - -printf "\nn:\tchange ns\nv:\tchange verb\nb:\tchange both\n^C:\texit\nelse:\tcontinue\n" -read -p " ns> " -n 1 input - -if [[ $input == "v" ]] -then - unset VERB - $0 -elif [[ $input == "n" ]] -then - unset NOUN - $0 -elif [[ $input == "b" ]] -then - unset NOUN - unset VERB - $0 -else - $0 -fi +## + if [[ $NOUN == "" ]] + then + export NOUN=$(fd --exclude=_ -t f . $BIZ_ROOT | fzf) + fi +## + if [[ $VERB == "" ]] + then + export VERB=$(fzf <<< $(sed 's/ /\n/g' <<< "edit bild push ship lint")) + fi +## + $VERB $NOUN +## + printf "\nn:\tchange ns\nv:\tchange verb\nb:\tchange both\n^C:\texit\nelse:\tcontinue\n" + read -p " ns> " -n 1 input +## + if [[ $input == "v" ]] + then + unset VERB + $0 + elif [[ $input == "n" ]] + then + unset NOUN + $0 + elif [[ $input == "b" ]] + then + unset NOUN + unset VERB + $0 + else + $0 + fi +## |