tmux-fingers/scripts/config.sh

45 lines
1.1 KiB
Bash
Raw Normal View History

2016-05-02 21:15:29 +02:00
#!/usr/bin/env bash
2016-04-30 00:35:52 +02:00
2016-05-01 19:01:28 +02:00
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
2016-04-30 00:35:52 +02:00
function check_pattern() {
echo "beep beep" | grep -e "$1" 2> /dev/null
if [[ $? == "2" ]]; then
echo 0
else
echo 1
fi
}
2016-05-01 19:01:28 +02:00
source "$CURRENT_DIR/utils.sh"
2016-04-30 00:35:52 +02:00
PATTERNS_LIST=(
"((^|^\.|[[:space:]]|[[:space:]]\.|[[:space:]]\.\.|^\.\.)[[:alnum:]~_-]*/[][[:alnum:]_.#$%&+=/@-]*)"
2016-05-01 19:54:20 +02:00
"([[:digit:]]{4,})"
2016-04-30 00:35:52 +02:00
"([0-9a-f]{7}|[0-9a-f]{40})"
2016-05-01 22:01:31 +02:00
"((https?://|git@|git://|ssh://|ftp://|file:///)[[:alnum:]?=%/_.:,;~@!#$&()*+-]*)"
"([[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3})"
2016-04-30 00:35:52 +02:00
)
IFS=$'\n'
USER_DEFINED_PATTERNS=($(tmux show-options -g | grep ^@fingers-pattern | sed 's/^@fingers-pattern-[0-9] "\(.*\)"$/(\1)/'))
unset IFS
PATTERNS_LIST=("${PATTERNS_LIST[@]}" "${USER_DEFINED_PATTERNS[@]}")
i=0
for pattern in "${PATTERNS_LIST[@]}" ; do
is_pattern_good=$(check_pattern "$pattern")
if [[ $is_pattern_good == 0 ]]; then
display_message "fingers-error: bad user defined pattern $pattern" 5000
PATTERNS_LIST[$i]="nope{4000}"
fi
i=$((i + 1))
done
PATTERNS=$(array_join "|" "${PATTERNS_LIST[@]}")
export PATTERNS