blob: 027f789cd8b0c181ef91be931997ad1076fc9e9e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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 "$@"
|