Golang Build: add support for Sublime Text build navigation Allows for using the Tools > Build Results > (Next|Previous) Result menu entries or keyboard bindings to jump to files containing build errors. Also supports cmd/ctrl clicking file names in error messages. Change-Id: I55762e53e74308b02086835d17f66259acc84e2b Reviewed-on: https://go-review.googlesource.com/16153 Reviewed-by: Jason Buberel <jbuberel@google.com>
diff --git a/golang_build.py b/golang_build.py index b44c428..e0a32a7 100644 --- a/golang_build.py +++ b/golang_build.py
@@ -709,6 +709,7 @@ """ self.panel.printer_lock.acquire() + self.panel.set_base_dir(self.proc.cwd) try: self._write_header() @@ -845,6 +846,7 @@ panel_settings = self.panel.settings() panel_settings.set('syntax', 'Packages/Golang Build/Golang Build Output.tmLanguage') panel_settings.set('color_scheme', st_settings.get('color_scheme')) + panel_settings.set('result_file_regex', '^(.+\.go):([0-9]+):(?:([0-9]+):)?\s*(.*)') panel_settings.set('draw_white_space', 'selection') panel_settings.set('word_wrap', False) panel_settings.set("auto_indent", False) @@ -852,6 +854,19 @@ panel_settings.set('gutter', False) panel_settings.set('scroll_past_end', False) + def set_base_dir(self, cwd): + """ + Set the directory the process is being run in, for the sake of result + navigation + + :param cwd: + A unicode string of the working directory + """ + + def _update_settings(): + self.panel.settings().set('result_base_dir', cwd) + sublime.set_timeout(_update_settings, 1) + def write(self, string, content_separator=None, event=None): """ Queues data to be written to the output panel. Normally this will be