public
Last active

Sublime Text plugin : Open the URL under the cursor

  • Download Gist
open_url.py
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
import sublime
import sublime_plugin
import webbrowser
 
 
class OpenUrlCommand(sublime_plugin.TextCommand):
def run(self, edit):
s = self.view.sel()[0]
 
# Expand selection to possible URL
start = s.a
end = s.b
 
view_size = self.view.size()
terminator = ['\t', ' ', '\"', '\'', '(', ')']
 
while (start > 0
and not self.view.substr(start - 1) in terminator
and self.view.classify(start) & sublime.CLASS_LINE_START == 0):
start -= 1
 
while (end < view_size
and not self.view.substr(end) in terminator
and self.view.classify(end) & sublime.CLASS_LINE_END == 0):
end += 1
 
# Check if this is URL
url = self.view.substr(sublime.Region(start, end))
print("URL : " + url)
 
if url.startswith(('http://', 'https://')):
webbrowser.open_new_tab(url)
else:
print("not URL")

It is possible to get similar functionality but with files. I mean: From a text containing a path to a file with a line number like 'path/to/a/file.extension line 22' on click goto that file on that line????

Thanks.

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.