The Golang Build Sublime Text package is structured as follows:
As is dictated by the Sublime Text API, the following list shows a mapping of command to Python class name:
golang_build_get, the commands display output to the user via an output panel. Normally with Sublime Text when a reference to the
sublime.View object for an output panel is requested, any existing content is erased. To prevent a jarring experience for users when a build is interrupted, a reference to each window's Golang Build output panel is held in memory and re-used when a user interrupts a running build with a new invocation.
GolangProcess() class reprents an invocation of the
go executable, and provides a queue of output information. This output queue is processed by a
GolangProcessPrinter() object which adds environment information before the output starts, and summary information once completed. There is one
GolangPanel() object per Sublime Text window, and it contains a lock to ensure that only one
GolangProcessPrinter() may be displaying output at a time to prevent interleaved output.