From b5efb94ed8e3cb15f489cdabe4fe2cbc00af1df9 Mon Sep 17 00:00:00 2001
From: Cody Hiar <codyfh@gmail.com>
Date: Thu, 25 Apr 2019 11:14:30 -0600
Subject: Initial work on url copy

---
 scripts/url_search.sh | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100755 scripts/url_search.sh

(limited to 'scripts')

diff --git a/scripts/url_search.sh b/scripts/url_search.sh
new file mode 100755
index 0000000..9276126
--- /dev/null
+++ b/scripts/url_search.sh
@@ -0,0 +1,56 @@
+#!/usr/bin/env bash
+# vim: set filetype=sh
+#
+# Author: Cody Hiar
+# 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
-- 
cgit v1.2.3