{"metadata":{"image":[],"title":"","description":""},"api":{"url":"","auth":"required","params":[],"results":{"codes":[]}},"next":{"description":"","pages":[]},"title":"Runners","type":"basic","slug":"bundle-runners","excerpt":"","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```","updates":[],"order":1,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"551df5bfa77fec1700f6f296","user":"54cfa8e1a8a4fd0d00b7fd1d","project":"54d53c7b23010a0d001aca0c","version":{"version":"0.1","version_clean":"0.1.0","codename":"","is_stable":true,"is_beta":true,"is_hidden":false,"is_deprecated":false,"categories":["54d5635632d98b0d00384afc","54d5635632d98b0d00384afd","54d5635632d98b0d00384afe","54d5635632d98b0d00384aff","54d5635632d98b0d00384b00","54d5635632d98b0d00384b01","54d5635632d98b0d00384b02","54d652097e05890d006f153e","54dd1315ca1e5219007e9daa","54e21e2b22de1c230094b147","54e68e62a43fe13500db3879","54fa1d3fe7a0ba2f00306309","551c453a23a1ee190034d19a","551df586e52a0b23000c62b6","551f39be6886f8230055f02a","55a6720751457325000e4d97"],"_id":"54d5635532d98b0d00384afb","project":"54d53c7b23010a0d001aca0c","__v":10,"createdAt":"2015-02-07T00:59:01.934Z","forked_from":"54d53c7c23010a0d001aca0f","releaseDate":"2015-02-07T00:59:01.934Z"},"createdAt":"2015-04-03T02:06:55.463Z","githubsync":"","parentDoc":null,"__v":16,"category":{"sync":{"isSync":false,"url":""},"pages":["551df5bfa77fec1700f6f296","551df5c9fa7f722d00db21f0","551df5dfa77fec1700f6f298","551df5eca7e98017009e3ede","551df5f4a77fec1700f6f29a","551df5fdfa7f722d00db21f3","551df609a7e98017009e3ee0","551f3c0450a0fc210057968e","552836448962f339009a67ab"],"title":"Cloud9 Bundle","slug":"cloud9-bundle","order":3,"from_sync":false,"reference":false,"_id":"551df586e52a0b23000c62b6","__v":9,"createdAt":"2015-04-03T02:05:58.352Z","project":"54d53c7b23010a0d001aca0c","version":"54d5635532d98b0d00384afb"}}
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 ```