Skip to content


Subversion checkout URL

You can clone with
Download ZIP
RubyMotion workflow support in Redcar Editor
Failed to load latest commit information.
docs Update autocompletion images
templates Fix snippet typos
LICENSE Fix gemspec, license
plugin.rb Bump version
redcar-rubymotion.gemspec Bump version


RubyMotion workflow support in Redcar Editor



  • Build, Test, and Run app from Cocoa Menu
  • Inline syntax checking for MacRuby
  • Look up documentation for focussed text
  • Send Support Tickets
  • Generate classes from templates
  • Save and Install custom templates
  • View RubyMotion and iOS reference documentation
  • Resource Manager pane for adding, removing, and viewing project resources
  • CTags-based Autocompletion of class and method names -- Objective-C methods are automatically converted to Ruby!
  • Release builds to beta testers using TestFlight


  • AppleScript, for terminal emulator interaction
  • Redcar 0.12+
  • RubyMotion 1.0+
  • (Optional) ClamShell, Ingredients or Dash, for documentation lookup


Fresh Install

  1. Close Redcar
  2. Clone this repository into ~/.redcar/plugins/rubymotion
  3. rm ~/.redcar/cache/textmate-bundles.cache (only necessary if you do not already have a MacRuby bundle installed in ~/.redcar/Bundles)
  4. Start Redcar


  1. Close Redcar
  2. Run git fetch origin && git checkout 0.9.1 from ~/.redcar/plugins/rubymotion
  3. Start Redcar


Installing this plugin will add a new 'Cocoa' submenu to the Redcar menu bar.

Cocoa Menu

Syntax checking is performed on file save.

Syntax Checking

Primary Commands

  • Run (Cmd+R): Run default rake command; build app and launch simulator from a terminal window

  • Run on Device (Shift+Cmd+R): Build app and launch in attached and configured iOS device

  • Test (Ctrl+Cmd+T): Run test suite

  • Quit iOS Simulator (Shift+Ctrl+Q): Close simulator
  • Create Archives: Create release (App Store) and development .ipa files
  • Open Resource Manager: Show project resources in a tree pane, organized by type Screenshot
  • Show Configuration: Display rake config in a Web View
  • Show Documentation (Shift+Cmd+Space): Open documentation for selected or focussed text in ClamShell, Ingredients, or Dash. Documentation Lookup
  • File Support Ticket: File a ticket with RubyMotion support
  • Reference Links: Open developer documentation in Web Views
  • Menu Autocompletion: Typed text is automatically completed from available class, constant, struct, and method names. Press Return while a menu item is highlighted to insert it.

Method Automcompletion (before)

Method Automcompletion (after)


Documentation Launcher

  • The preferred app for searching documentation can be changed via the menu in Cocoa > Documentation Launcher.
  • To change the path to Ingredients, Dash, or ClamShell apps, change {app}_path in Cocoa preferences.

Inline Documentation

Terminal Emulator

  • To change which terminal emulator to use, set the preferred_command_line property in project_plugin preferences. I've only ever tried this with iTerm2 and Terminal, both seem to work fine.

Build Options

  • Saving Tabs Before Command Execution: Automatically saving tabs before running a command can be changed via the menu in Cocoa > Build Options.
  • Running Rake Commands with --trace: Running commands with full backtraces can be changed via the menu in Cocoa > Build Options.

Opening Links

  • Reference Documentation can be opened in either the built-in Redcar browser or the external browser of choice by editing use_external_browser_for_urls in html_view preferences.

Syntax Checking and Highlighting

  • By default, Redcar+RubyMotion interprets all Ruby files in RubyMotion projects using MacRuby syntax. Set force_macruby_grammar in Cocoa preferences to false to disable this option.
  • To change the path to the ruby implementation used for syntax checking, change macruby_path in Cocoa preferences.

File Templates

  • Custom File Templates can be installed in ~/.redcar/RubyMotion/templates. All files must end in snippet and can optionally use TextMate snippet syntax for filling in fields. Any instances of __NAME__ will replaced with the selected class name upon activation.


  • Feel free to file an issue on github if you have a bug or suggestion. :)
Something went wrong with that request. Please try again.