diff --git a/terminus/mouse.py b/terminus/mouse.py index 30d6cb4..913693b 100644 --- a/terminus/mouse.py +++ b/terminus/mouse.py @@ -1,17 +1,18 @@ -import sublime -import sublime_plugin - -import re +# -*- coding: utf-8 -*- import logging +import re import webbrowser +from pathlib import Path -from .terminal import Terminal, CONTINUATION +import sublime +import sublime_plugin + +from .terminal import CONTINUATION, Terminal from .utils import highlight_key logger = logging.getLogger('Terminus') -rex = re.compile( - r'''(?x) +rex = re.compile(r'''(?x) \b(?: https?://(?:(?:[a-zA-Z0-9\-_]+(?:\.[a-zA-Z0-9\-._]+)+)|localhost)| # http:// www\.[a-zA-Z0-9\-_]+(?:\.[a-zA-Z0-9\-._]+)+ # www. @@ -19,6 +20,12 @@ /?[a-zA-Z0-9\-._?,!'(){}\[\]/+&@%$#=:"|~;]* # url path and query string [a-zA-Z0-9\-_~:/#@$*+=] # allowed end chars ''') +rexf = re.compile( + r'(?i)(?P(([a-zA-Z]:)|((\\||\.\.?|/){1,2}\w+)\$?|\w+)((\\|/)(\w[\w]*.*))\.([a-zA-Z0-9]+))([\",\s]+)?((line\s)|\(|$|:)(?P\d+)?(\)|$|\D)' +) +rexf_local = re.compile( + r'(?i)(?:(?<=\"))(?P[a-zA-Z0-9\-_\./\\]+)(?:(?=\"))(?:\",)?(?:\sline\s)(?P[0-9]+)' +) URL_POPUP = """