{"__v":16,"_id":"551df5bfa77fec1700f6f296","category":{"__v":9,"_id":"551df586e52a0b23000c62b6","pages":["551df5bfa77fec1700f6f296","551df5c9fa7f722d00db21f0","551df5dfa77fec1700f6f298","551df5eca7e98017009e3ede","551df5f4a77fec1700f6f29a","551df5fdfa7f722d00db21f3","551df609a7e98017009e3ee0","551f3c0450a0fc210057968e","552836448962f339009a67ab"],"project":"54d53c7b23010a0d001aca0c","version":"54d5635532d98b0d00384afb","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-04-03T02:05:58.352Z","from_sync":false,"order":3,"slug":"cloud9-bundle","title":"Cloud9 Bundle"},"parentDoc":null,"project":"54d53c7b23010a0d001aca0c","user":"54cfa8e1a8a4fd0d00b7fd1d","version":{"__v":10,"_id":"54d5635532d98b0d00384afb","forked_from":"54d53c7c23010a0d001aca0f","project":"54d53c7b23010a0d001aca0c","createdAt":"2015-02-07T00:59:01.934Z","releaseDate":"2015-02-07T00:59:01.934Z","categories":["54d5635632d98b0d00384afc","54d5635632d98b0d00384afd","54d5635632d98b0d00384afe","54d5635632d98b0d00384aff","54d5635632d98b0d00384b00","54d5635632d98b0d00384b01","54d5635632d98b0d00384b02","54d652097e05890d006f153e","54dd1315ca1e5219007e9daa","54e21e2b22de1c230094b147","54e68e62a43fe13500db3879","54fa1d3fe7a0ba2f00306309","551c453a23a1ee190034d19a","551df586e52a0b23000c62b6","551f39be6886f8230055f02a","55a6720751457325000e4d97"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"0.1.0","version":"0.1"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-04-03T02:06:55.463Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":1,"body":"Runners are small JSON files that describe how to run files of a certain type. These runners can also tell Cloud9 which debugger to use and how to provide relevant information to the user who starts the runner. When a user hits the `run` button in Cloud9 it will use the filename to determine which runner to choose and use that runner to run that file. Users can use the run menu to select a runner of choice to run the current file. \n\n*For more information on creating runners see [this guide](doc:runners)*\n\n# Adding a Runner to a Bundle\n\nA bundle can contain one or more runners. Each runner *must* be stored in a single file with a `.run` extension and be placed in the `runners` directory. \n\nThe *filename* of your runner will be used as the caption of the menu item for that runner.\n\nSuppose your runner is called `haskell.run`. Your file structure will look something like this:\n\n```\n└─ your.plugin\n    ├─ runners\n    |    └─ haskell.run\n    ├─ package.json\n    └─ README.md\n```","excerpt":"","slug":"bundle-runners","type":"basic","title":"Runners"}
Runners are small JSON files that describe how to run files of a certain type. These runners can also tell Cloud9 which debugger to use and how to provide relevant information to the user who starts the runner. When a user hits the `run` button in Cloud9 it will use the filename to determine which runner to choose and use that runner to run that file. Users can use the run menu to select a runner of choice to run the current file. *For more information on creating runners see [this guide](doc:runners)* # Adding a Runner to a Bundle A bundle can contain one or more runners. Each runner *must* be stored in a single file with a `.run` extension and be placed in the `runners` directory. The *filename* of your runner will be used as the caption of the menu item for that runner. Suppose your runner is called `haskell.run`. Your file structure will look something like this: ``` └─ your.plugin ├─ runners | └─ haskell.run ├─ package.json └─ README.md ```