Skip to content

klorenz/atom-build-systems

Repository files navigation

Build System

This package enables you to call cake, make, apm, npm commands from command palette.

If you have a Cakefile with targets "foo" and "bar", you will find "Build: Cake Foo" and "Build: Cake Bar" commands. Commands are changed dynamically, if you add a task to that file, it will be added to command palette.

After a build has finished, you can cycle through build results using F4 for next result and shift-f4 for previous result. Hit ENTER to open file and jump to specified location.

This is under development

Extending

Build-Systems searches all packages folders for a subfolder build-systems/. If it exists, files from there are read and interpreted as build systems, if suitable. For now only ".coffee" is fully supported. ".cson" and ".json" and ".sublime-build" are planned.

Here build-systems/cake.coffee as an example:

module.exports = (builder) ->
  {BuildSystemProvider} = builder

  class Cake extends BuildSystemProvider
    buildTool: "cake"
    buildFiles: "Cakefile"

    getCommands: ->
      @buildFile =>
        @getLines (line) ->
          if /^cake/.test line
            [cmd, desc] = line.replace(/^cake\s+/, '').split(/\s*#\s*/, 1)
            name = cmd.replace(/\W/, '-').replace(/--+/, '-')
            commands[name] = cmd.split /\s+/

History

This package is forked from https://github.com/noseglid/atom-build. In the first place I wanted to contribute, but then I realized, that I rewrote almost everything and there was only little left from original package, so I decided to create an own package.

TODO

  • review specs to get them work
  • add more specs
  • connect to travis CI
  • Implement full Sublime-Like Build System
    • file_regex
    • line_regex
    • syntax
    • variants
    • name the selector-specific build system "Build: Run" and make it default build system, if hitting ctrl+alt+b
  • add more build systems
  • support more npm and apm commands
  • add keyboard shortcut to stop build (ESC, if in Build Output, else via command palette)

About

Build systems in atom

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published