mirror of
https://github.com/olexsmir/dotfiles.git
synced 2026-01-15 16:51:34 +02:00
34 lines
645 B
Bash
Executable file
34 lines
645 B
Bash
Executable file
#!/usr/bin/env bash
|
|
action=$1
|
|
shift
|
|
|
|
if [[ $action == "usage" ]]; then
|
|
echo "url [task_number] - opens link in the task"
|
|
exit 0
|
|
fi
|
|
|
|
item=$1
|
|
if [[ $item == "" ]]; then
|
|
TODOTXT_VERBOSE=0 $TODO_FULL_SH ls @url
|
|
exit 0
|
|
fi
|
|
|
|
if [[ ! "$item" =~ ^[0-9]+$ ]]; then
|
|
echo "provided [task_number] is invalid: $item"
|
|
exit 1
|
|
fi
|
|
|
|
URL_REGEX="\b(?:https?:\/\/)?(?:[\w-]+\.)+[a-z]{2,}(?:\/[\w\-./?%&=:#@+]*)?"
|
|
URL=$(sed "$item!d" "$TODO_FILE" | grep -Po "$URL_REGEX")
|
|
|
|
if [[ -z "$URL" ]]; then
|
|
echo "No URL found in task $item"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! "$URL" =~ ^(?!https?:\/\/) ]]; then
|
|
URL="https://$URL"
|
|
fi
|
|
|
|
echo "$URL"
|
|
xdg-open "$URL" &>/dev/null
|