Sublime Text plugin to improve build system
Python
Latest commit 26c2d43 Jan 8, 2017 @albertosantini Convert eol to lf.
Permalink
Failed to load latest commit information.
.travis.yml Convert eol to lf. Jan 8, 2017
BuildNext.py Convert eol to lf. Jan 8, 2017
CHANGELOG.md Release 1.4.0. Sep 22, 2016
LICENSE Initial commit Dec 7, 2013
README.md Update README. Sep 22, 2016

README.md

Build Next

Build Status

Build Next is a Sublime Text plugin to improve the default build system.

Features

  • Extend Default.exec plugin and no external dependencies.
  • Zero user preferences and preferences per build system.
  • Close build results view if there are not errors.
  • Show a dot icon in the gutter area close to the error.
  • Draw an horizontal region close to the column (tabs-aware) of the error.
  • Open finally the output panel.
  • Go to the results following a line number order.
  • Wrap around the end of the document for the next (previous) result.
  • The output panel content is refreshed on the next (previous) result command.

Requirements

At least Sublime Text 3 Build 3124.

Installation

After installing the plugin with Sublime Package Manager, you should add the following user key bindings (Preferences / Key Bindings - User) to engage it:

[
...
    { "keys": ["f4"], "command": "goto_next_error" },
    { "keys": ["shift+f4"], "command": "goto_prev_error" },
...
]

This configuration overrides the default key bindings next_result and prev_result.

Preferences

There are not user preferences, but there are preferences per build system file. The preferences are embedded in the build file, contained in the env property.

There are use cases where the following preferences are useful, like displaying the output after the unit test command or adjusting the error column, because the build command is zero based column.

  • ST_BUILD_SHOW_OUTPUTVIEW (default false): to display always the Build Results panel, even if there are not error and the build command exit code is zero.

  • ST_BUILD_ADJUST_COLUMNERROR (default 0): to adjust the column of the error adding a value.

For instance,

...
    "env":
    {
        "ST_BUILD_SHOW_OUTPUTVIEW": "true"
    }
...
  • ST_BUILD_PUT_PRIORITY (default ""): to put priority on errors containing a token.

Notes

The build system should contain the file_regex property for the filename, line, column and message field. For instance, a JSHint build setting (JSHint.sublime-build):

{
    "selector": "source.js, source.json",

    "cmd": ["jshint", "$file"],
    "shell": true,

    "file_regex": "^(.*): line (\\d+), col (\\d+), (.+)$",

    "windows":
    {
        "cmd": ["jshint.cmd", "$file"]
    }
}

I recommend SublimeOnSaveBuild plugin, if you need to execute the build when you save the file.