provide-module url-open %∴ declare-option -docstring %{ Command for opening URLs. } str url_open_cmd 'xdg-open %s' define-command -docstring %{ Open the URL the cursor is on with url_open_cmd. } url-open %{ evaluate-commands -save-regs 'ab' %{ set-register b 'https?://(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)' try %{ execute-keys -draft 'sb"ay' evaluate-commands %sh{ # strip trailing punctuation clean_url="$(echo "$kak_reg_a" | sed 's/[][(){}.,;!?]*$//')" echo "info -title 'URL Opened' '$clean_url'" eval "$(printf "$kak_opt_url_open_cmd" "$clean_url")" >/dev/null 2>&1 } } catch %{ fail 'Cursor is not on a URL!' } } } ∴