diff options
Diffstat (limited to 'scripts/url_search.sh')
-rwxr-xr-x | scripts/url_search.sh | 53 |
1 files changed, 5 insertions, 48 deletions
diff --git a/scripts/url_search.sh b/scripts/url_search.sh index 9276126..497b09c 100755 --- a/scripts/url_search.sh +++ b/scripts/url_search.sh @@ -5,52 +5,9 @@ # Date: 2019-04-25 # # Description: Search buffer for url results -# -# Set options: -# e: Stop script if command fails -# u: Stop script if unset variable is referenced -# x: Debug, print commands as they are executed -# o pipefail: If any command in a pipeline fails it all fails -# -# IFS: Internal Field Separator -set -euo pipefail -IFS=$'\n\t' - -# Colors for printing -G='\e[0;32m' # Green -LG='\e[0;37m' # Light Gray -C='\e[0;36m' # Cyan -NC='\e[0m' # No Color - -# Immutable globals -readonly ARGS=( "$@" ) -readonly NUM_ARGS="$#" -readonly PROGNAME=$(basename "$0") -readonly BUFFER='/tmp/tmuxcopy.log' -POSITION=1 - -cleanup() { - rm -rf "$BUFFER" -} - -create_buffer() { - touch "$BUFFER" - trap cleanup EXIT -} - -capture_pane() { - tmux capture-pane -S -9000000 -p > "$BUFFER" -} - -find_urls() { - perl -wnl -e '/https?\:\/\/[^\s]+[\/\w]/ and print $&' "$BUFFER" -} -# Main loop of program -main() { - create_buffer - capture_pane - URL=$(find_urls | tail -n "$POSITION") - tmux copy-mode ; tmux send -X search-backward $URL -} -main +PANE_HISTORY="$(tmux capture-pane -J -p)" +URL=$(echo "$PANE_HISTORY" | perl -wnl -e '/https?\:\/\/[^\s]+[\/\w]/ and print $&' | fzf-tmux) +if [[ -n "$URL" ]]; then + echo "$URL" | xp +fi |