SBT build tool integration for Sublime Text 2 and Sublime Text 3.
Switch branches/tags
Nothing to show
Clone or download
jarhart Merge pull request #46 from thunderkid/ColumnTagForSBT1
Column tag for sbt 1.0.0 - fixes ShowNextError.
Latest commit b82a614 Apr 5, 2018
Permalink
Failed to load latest commit information.
.gitignore Hide output coloring definitions from UI Mar 16, 2013
Default (Linux).sublime-keymap Add commands to recall, re-submit and edit command history Feb 16, 2014
Default (OSX).sublime-keymap Add commands to recall, re-submit and edit command history Feb 16, 2014
Default (Windows).sublime-keymap Add commands to recall, re-submit and edit command history Feb 16, 2014
Default.sublime-commands Add test:compile and ~test:compile commands Jul 31, 2015
LICENSE Initial commit Nov 26, 2012
Main.sublime-menu Add README and keybindings to Package Settings menu Feb 16, 2013
README.md Add doc to README for command history initialisation changes Nov 28, 2014
SBTError.hidden-tmLanguage Hide output coloring definitions from UI Mar 16, 2013
SBTOutput.hidden-tmLanguage Hide output coloring definitions from UI Mar 16, 2013
SBTOutput.hidden-tmTheme Hide output coloring definitions from UI Mar 16, 2013
SublimeSBT.sublime-settings Add commands to recall, re-submit and edit command history Feb 16, 2014
errormarker.py Make ErrorMarker._highlighter lazy to avoid settings loading issue Aug 13, 2013
errorreport.py Ignore errors in files that aren’t in the current project (#17) Nov 27, 2014
errorreporter.py Make update_status run on UI thread. Add way to update status immedia… May 6, 2013
errorview.py Improve clearing of errors (#21) Nov 27, 2014
highlighter.py Add bookmark icon to current error line when cycling through errors. Feb 24, 2013
outputmon.py Fixed bug with group number. Aug 22, 2017
project.py Make per-window object caching DRY and thread-safe Feb 22, 2013
sbterror.py Ignore errors in files that aren’t in the current project (#17) Nov 27, 2014
sbtrunner.py Add support for global and project-specific history initialisation Nov 28, 2014
sbtsettings.py Sublime Text 3 compatibility! Feb 9, 2013
sbtview.py Always show the selection position in the sbt output panel Nov 28, 2014
sublimesbt.py Improve clearing of errors (#21) Nov 27, 2014
util.py Make per-window object caching DRY and thread-safe Feb 22, 2013

README.md

SublimeSBT

Scala SBT build tool integration for Sublime Text 2 and Sublime Text 3.

Features

  • Compatible with Sublime Text 2 and Sublime Text 3.
  • Runs SBT as an interactive REPL inside Sublime Text's output panel.
  • Detects compile errors and test failures in SBT's output and highlights the errant lines in the source code.
  • Lists compile errors and test failures in a quick panel for easy navigation to the errant lines.
  • Cycles through errors for even faster navigation.
  • Displays the error text in an output panel for easy reading.
  • Detects Play Framework projects and runs SBT using play instead of sbt.
  • Supports project-specific configuration.

Installing

Download Package Control and use the Package Control: Install Package command from the command palette. Using Package Control ensures SublimeSBT will stay up to date automatically.

Using

SublimeSBT is mostly used through the Command Palette. To open the pallete, press ctrl+shift+p (Windows, Linux) or cmd+shift+p (OS X). The SublimeSBT commands are all prefixed with SBT:. The commands only show up in the command palette if SublimeSBT detects that your project is an SBT project.

Start SBT

  • Start an SBT session for the current project. If the project looks like a Play Framework project, the play command is used instead of the sbt command.

Stop SBT

  • Stop the currently running SBT session.

Kill SBT

  • Force the currently running SBT session to stop.

Show SBT Output

  • Show the SBT output panel if it's not already showing. This also focuses the output panel and puts the cursor at the end.

Compile, Test, Run, Package, Start Console

  • Run the compile, test, run, package, or console SBT command. If SBT is currently running the command is run in interactive mode, otherwise it's run in batch mode.

Start Continuous Compiling, Start Continuous Testing

  • Run ~ compile or ~ test. If SBT is currently running the command is run in interactive mode, otherwise it's run in batch mode.

Test-Only, Test-Quick

  • Run the test-only or test-quick command, prompting for an argument. If SBT is currently running the command is run in interactive mode, otherwise it's run in batch mode.

Start Continuous Test-Only, Start Continuous Test-Quick

  • Run ~ test-only or ~ test-quick, prompting for an argument. If SBT is currently running the command is run in interactive mode, otherwise it's run in batch mode.

Reload

  • Run the reload command if SBT is currently running.

Show Error List

  • Show a quick panel with any compile errors or test failures. Selecting an error opens the file at the line with the error and shows the error text in the error output panel.

Show Next Error

  • Jump to the next error in the error list. Opens the file at the line with the error and shows the error text in the error output panel.

Show Error Output

  • Show the error output panel if it's not already showing.

Clear Errors

  • Clear any compile errors or test failures and remove any highlighting thereof.

Show History

  • Show a quick panel with the history of submitted commands. Selecting a command submits it again.

Show History and Edit

  • As for Show History but also provides an opportunity to edit the selected command before it is re-submitted.

Clear History

  • Clear the command history.

Configuring

The default settings can be viewed by accessing the Preferences > Package Settings > SublimeSBT > Settings – Default menu entry. To ensure settings are not lost when the package is upgraded, make sure all edits are saved to Settings – User.

sbt_command

  • An array representing the command line to use to start sbt. Depending on your setup you may need to put the full path to the file here.

play_command

  • An array representing the command line to use to start sbt for a Play Framework project. Depending on your setup you may need to put the full path to the file here.

test_command

  • A string representing the sbt command to use to run tests.

run_command

  • A string representing the sbt command to use to run the project.

error_marking, failure_marking, warning_marking

  • How to mark errors, failures, and warnings in the source code:

    style

    • The mark style to use. Valid values are "dot", "outline", or "both".

    scope

    • The scope to use to color the outline.

color_scheme

  • The color scheme to use for the output panel.

Project-specific settings can be configured by accessing the Project > Edit Project menu entry and putting settings in a "SublimeSBT" object inside of "settings" in your project file, e.g.:

{
    "folders":
    [
        {
            "path": "/Users/jarhart/scalakoansexercises"
        }
    ],
    "settings":
    {
        "SublimeSBT":
        {
            "sbt_command": ["./sbt"],
            "test_command": "test-only org.functionalkoans.forscala.Koans"
        }
    }
}

history

  • An array that contains commands that should be added to the command history when a project is opened.

history_length

  • The maximum number of unique commands to keep in the command history. The default setting is 20.

Project-Specific Configuring

If the file .SublimeSBT_history exists at the top level of a project, each line of that file will be added to the command history when the project is opened.

Contributors

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Copyright

Copyright (c) 2012 Jason Arhart. See LICENSE for further details.