From a8b4132b7a5fe99ca1d5b9d575b377be078ee43e Mon Sep 17 00:00:00 2001 From: Anton Bobov Date: Sat, 18 May 2024 00:30:06 +0500 Subject: [tmux] Replace copycat with native search --- files/.config/tmux/scripts/search | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 files/.config/tmux/scripts/search (limited to 'files/.config/tmux/scripts') 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 "$@" -- cgit v1.2.3