diff options
Diffstat (limited to 'files/.config/tmux/scripts/search')
| -rwxr-xr-x | files/.config/tmux/scripts/search | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/files/.config/tmux/scripts/search b/files/.config/tmux/scripts/search new file mode 100755 index 0000000..027f789 --- /dev/null +++ b/files/.config/tmux/scripts/search @@ -0,0 +1,35 @@ +#!/bin/bash +# From https://github.com/toupeira/dotfiles/blob/main/config/tmux/scripts/search + +set -euo pipefail + +search() { + tmux send-keys -X search-backward "$1" +} + +search_string() { + tmux send-keys "?" +} + +search_path() { + # pattern from copycat https://github.com/tmux-plugins/tmux-copycat/blob/d7f7e6c1de0bc0d6915f4beea5be6a8a42045c09/copycat.tmux#L21 + # "(^|^\.|[[:space:]]|[[:space:]]\.|[[:space:]]\.\.|^\.\.)[[:alnum:]~_-]*/[][[:alnum:]_.#$%&+=/@-]*" + path='[-_.[:alnum:]]' + search "~?(/$path+|$path+/|$path*\.$path+)+$path*(:[0-9]+)*" +} + +search_interesting() { + urls='(https?://|git@|git://|ssh://|ftp://|file:///)[[:alnum:]?=%/_.:,;~@!#$&()*+-]*' + emails='[-_\.[:alnum:]]+@[-_\.[:alnum:]]+' + hashes='\b(([0-9a-f]{7,40}|[[:alnum:]]{52}|[0-9a-f]{64})(\.{2,3})?)+\b' + ips='[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}' + + search "($urls|$emails|$hashes|$ips)" +} + +main() { + tmux copy-mode + "search_${1:-string}" +} + +main "$@" |
