zeal_fzf.sh 804 B

123456789101112131415161718192021222324252627282930313233
  1. #!/usr/bin/env bash
  2. SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
  3. docset=$1
  4. if [[ -z $docset ]]; then
  5. docsets=$(
  6. ls ~/.local/share/Zeal/Zeal/docsets \
  7. | grep -ioP ".*(?=.docset)" | tr '\n' ' ')
  8. echo -e "Must supply docset as parameter.\nAvailable docsets: $docsets"
  9. exit -1
  10. fi
  11. prefix="$HOME/.local/share/Zeal/Zeal/docsets/$docset.docset/Contents/Resources/Documents"
  12. if [[ ! -d "$prefix" ]]; then
  13. echo Could not find docset $docset
  14. exit -1
  15. fi
  16. url=$(echo "" | \
  17. fzf \
  18. --bind "change:reload('$SCRIPT_DIR/zeal_query.sh' $1 '{q}')" \
  19. --delimiter=";" \
  20. --with-nth=1 \
  21. --disabled | \
  22. grep -oP ';(.*<dash_entry.*>)?\K.*'
  23. )
  24. if [[ -n $url ]]; then
  25. w3m $prefix/$url
  26. else
  27. echo No result
  28. echo $url
  29. exit -1
  30. fi