ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Ruby​Motion​Builder

by RubyMotionJP ALL

Sublime Text 2 and 3 plugin to simplify RubyMotion developing

Details

  • 2016.10.24.12.45.43
  • github.​com
  • github.​com
  • 8 years ago
  • 4 weeks ago
  • 13 years ago

Installs

  • Total 5K
  • Win 733
  • Mac 4K
  • Linux 461
Mar 14 Mar 13 Mar 12 Mar 11 Mar 10 Mar 9 Mar 8 Mar 7 Mar 6 Mar 5 Mar 4 Mar 3 Mar 2 Mar 1 Feb 28 Feb 27 Feb 26 Feb 25 Feb 24 Feb 23 Feb 22 Feb 21 Feb 20 Feb 19 Feb 18 Feb 17 Feb 16 Feb 15 Feb 14 Feb 13 Feb 12 Feb 11 Feb 10 Feb 9 Feb 8 Feb 7 Feb 6 Feb 5 Feb 4 Feb 3 Feb 2 Feb 1 Jan 31 Jan 30 Jan 29
Windows 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
01234Mar 14Mar 11Mar 8Mar 5Mar 2Feb 27Feb 24Feb 21Feb 18Feb 15Feb 12Feb 9Feb 6Feb 3Jan 31Mar 14 Linux: 0 Mac: 0 Windows: 0Mar 13 Linux: 0 Mac: 0 Windows: 0Mar 12 Linux: 0 Mac: 0 Windows: 0Mar 11 Linux: 0 Mac: 1 Windows: 0Mar 10 Linux: 0 Mac: 0 Windows: 0Mar 9 Linux: 0 Mac: 0 Windows: 0Mar 8 Linux: 0 Mac: 0 Windows: 0Mar 7 Linux: 0 Mac: 0 Windows: 0Mar 6 Linux: 0 Mac: 0 Windows: 0Mar 5 Linux: 0 Mac: 0 Windows: 0Mar 4 Linux: 0 Mac: 0 Windows: 0Mar 3 Linux: 0 Mac: 0 Windows: 1Mar 2 Linux: 0 Mac: 0 Windows: 0Mar 1 Linux: 0 Mac: 0 Windows: 0Feb 28 Linux: 0 Mac: 0 Windows: 0Feb 27 Linux: 0 Mac: 0 Windows: 0Feb 26 Linux: 0 Mac: 0 Windows: 0Feb 25 Linux: 0 Mac: 0 Windows: 0Feb 24 Linux: 0 Mac: 0 Windows: 0Feb 23 Linux: 0 Mac: 0 Windows: 0Feb 22 Linux: 0 Mac: 0 Windows: 0Feb 21 Linux: 0 Mac: 0 Windows: 0Feb 20 Linux: 0 Mac: 0 Windows: 0Feb 19 Linux: 0 Mac: 0 Windows: 0Feb 18 Linux: 0 Mac: 0 Windows: 0Feb 17 Linux: 0 Mac: 0 Windows: 0Feb 16 Linux: 0 Mac: 0 Windows: 0Feb 15 Linux: 0 Mac: 0 Windows: 0Feb 14 Linux: 0 Mac: 0 Windows: 0Feb 13 Linux: 0 Mac: 0 Windows: 0Feb 12 Linux: 0 Mac: 0 Windows: 0Feb 11 Linux: 0 Mac: 0 Windows: 0Feb 10 Linux: 0 Mac: 0 Windows: 0Feb 9 Linux: 0 Mac: 0 Windows: 0Feb 8 Linux: 0 Mac: 0 Windows: 0Feb 7 Linux: 0 Mac: 0 Windows: 0Feb 6 Linux: 0 Mac: 0 Windows: 0Feb 5 Linux: 0 Mac: 0 Windows: 0Feb 4 Linux: 0 Mac: 0 Windows: 0Feb 3 Linux: 0 Mac: 0 Windows: 0Feb 2 Linux: 0 Mac: 0 Windows: 0Feb 1 Linux: 0 Mac: 0 Windows: 0Jan 31 Linux: 0 Mac: 0 Windows: 0Jan 30 Linux: 0 Mac: 0 Windows: 0Jan 29 Linux: 0 Mac: 0 Windows: 0Mar 14 Linux: 0 Mac: 0 Windows: 0Mar 13 Linux: 0 Mac: 0 Windows: 0Mar 12 Linux: 0 Mac: 0 Windows: 0Mar 11 Linux: 0 Mac: 1 Windows: 0Mar 10 Linux: 0 Mac: 0 Windows: 0Mar 9 Linux: 0 Mac: 0 Windows: 0Mar 8 Linux: 0 Mac: 0 Windows: 0Mar 7 Linux: 0 Mac: 0 Windows: 0Mar 6 Linux: 0 Mac: 0 Windows: 0Mar 5 Linux: 0 Mac: 0 Windows: 0Mar 4 Linux: 0 Mac: 0 Windows: 0Mar 3 Linux: 0 Mac: 0 Windows: 1Mar 2 Linux: 0 Mac: 0 Windows: 0Mar 1 Linux: 0 Mac: 0 Windows: 0Feb 28 Linux: 0 Mac: 0 Windows: 0Feb 27 Linux: 0 Mac: 0 Windows: 0Feb 26 Linux: 0 Mac: 0 Windows: 0Feb 25 Linux: 0 Mac: 0 Windows: 0Feb 24 Linux: 0 Mac: 0 Windows: 0Feb 23 Linux: 0 Mac: 0 Windows: 0Feb 22 Linux: 0 Mac: 0 Windows: 0Feb 21 Linux: 0 Mac: 0 Windows: 0Feb 20 Linux: 0 Mac: 0 Windows: 0Feb 19 Linux: 0 Mac: 0 Windows: 0Feb 18 Linux: 0 Mac: 0 Windows: 0Feb 17 Linux: 0 Mac: 0 Windows: 0Feb 16 Linux: 0 Mac: 0 Windows: 0Feb 15 Linux: 0 Mac: 0 Windows: 0Feb 14 Linux: 0 Mac: 0 Windows: 0Feb 13 Linux: 0 Mac: 0 Windows: 0Feb 12 Linux: 0 Mac: 0 Windows: 0Feb 11 Linux: 0 Mac: 0 Windows: 0Feb 10 Linux: 0 Mac: 0 Windows: 0Feb 9 Linux: 0 Mac: 0 Windows: 0Feb 8 Linux: 0 Mac: 0 Windows: 0Feb 7 Linux: 0 Mac: 0 Windows: 0Feb 6 Linux: 0 Mac: 0 Windows: 0Feb 5 Linux: 0 Mac: 0 Windows: 0Feb 4 Linux: 0 Mac: 0 Windows: 0Feb 3 Linux: 0 Mac: 0 Windows: 0Feb 2 Linux: 0 Mac: 0 Windows: 0Feb 1 Linux: 0 Mac: 0 Windows: 0Jan 31 Linux: 0 Mac: 0 Windows: 0Jan 30 Linux: 0 Mac: 0 Windows: 0Jan 29 Linux: 0 Mac: 0 Windows: 0Mar 14 Linux: 0 Mac: 0 Windows: 0Mar 13 Linux: 0 Mac: 0 Windows: 0Mar 12 Linux: 0 Mac: 0 Windows: 0Mar 11 Linux: 0 Mac: 1 Windows: 0Mar 10 Linux: 0 Mac: 0 Windows: 0Mar 9 Linux: 0 Mac: 0 Windows: 0Mar 8 Linux: 0 Mac: 0 Windows: 0Mar 7 Linux: 0 Mac: 0 Windows: 0Mar 6 Linux: 0 Mac: 0 Windows: 0Mar 5 Linux: 0 Mac: 0 Windows: 0Mar 4 Linux: 0 Mac: 0 Windows: 0Mar 3 Linux: 0 Mac: 0 Windows: 1Mar 2 Linux: 0 Mac: 0 Windows: 0Mar 1 Linux: 0 Mac: 0 Windows: 0Feb 28 Linux: 0 Mac: 0 Windows: 0Feb 27 Linux: 0 Mac: 0 Windows: 0Feb 26 Linux: 0 Mac: 0 Windows: 0Feb 25 Linux: 0 Mac: 0 Windows: 0Feb 24 Linux: 0 Mac: 0 Windows: 0Feb 23 Linux: 0 Mac: 0 Windows: 0Feb 22 Linux: 0 Mac: 0 Windows: 0Feb 21 Linux: 0 Mac: 0 Windows: 0Feb 20 Linux: 0 Mac: 0 Windows: 0Feb 19 Linux: 0 Mac: 0 Windows: 0Feb 18 Linux: 0 Mac: 0 Windows: 0Feb 17 Linux: 0 Mac: 0 Windows: 0Feb 16 Linux: 0 Mac: 0 Windows: 0Feb 15 Linux: 0 Mac: 0 Windows: 0Feb 14 Linux: 0 Mac: 0 Windows: 0Feb 13 Linux: 0 Mac: 0 Windows: 0Feb 12 Linux: 0 Mac: 0 Windows: 0Feb 11 Linux: 0 Mac: 0 Windows: 0Feb 10 Linux: 0 Mac: 0 Windows: 0Feb 9 Linux: 0 Mac: 0 Windows: 0Feb 8 Linux: 0 Mac: 0 Windows: 0Feb 7 Linux: 0 Mac: 0 Windows: 0Feb 6 Linux: 0 Mac: 0 Windows: 0Feb 5 Linux: 0 Mac: 0 Windows: 0Feb 4 Linux: 0 Mac: 0 Windows: 0Feb 3 Linux: 0 Mac: 0 Windows: 0Feb 2 Linux: 0 Mac: 0 Windows: 0Feb 1 Linux: 0 Mac: 0 Windows: 0Jan 31 Linux: 0 Mac: 0 Windows: 0Jan 30 Linux: 0 Mac: 0 Windows: 0Jan 29 Linux: 0 Mac: 0 Windows: 0

Readme

Source
raw.​githubusercontent.​com

RubyMotionBuilder for Sublime Text 2 and 3

This plugin provides some features that simplify RubyMotion developing in Sublime Text 2 and 3.

  • RubyMotion syntax

    It will work with RubyMotion project related *.rb and Rakefile. Code completion and Build system don't work in pure Ruby editing.

  • Code completion

    It is same as RubyMotionSublimeCompletions. The only difference is syntax scope.

  • Build system (only work with RubyMotion)

    Provides build system for RubyMotion. Supports four commands, Build, Clean, Run and Deploy. Run kick Terminal.app automatically.

Package Control Installation

note: This step requires Package Control.

  1. Open the Command Palette using [command + shift + p] and enter “install package”.
  2. Select Package Control: Install Package from the popup menu and press [enter / return]
  3. Enter “RubyMotionBuilder” and press [enter / return]

Manual Installation

Put this package into your Sublime Text 2 or 3 packages folder:

  • Sublime Text 2
% git clone https://github.com/RubyMotionJP/SublimeRubyMotionBuilder.git ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/RubyMotionBuilder
  • Sublime Text 3
% git clone https://github.com/RubyMotionJP/SublimeRubyMotionBuilder.git ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/RubyMotionBuilder

Set up

First, RubyMotionBuilder requires PATH environment variable to run Build and some commands. Mountain Lion or later users can configure variable via /etc/launchd.conf like

$ echo "setenv PATH $PATH" | sudo tee -ai /etc/launchd.conf

(Older Mac OS X users can configure using ~/.MacOSX/environment.plist)

Then, reboot your Mac.

Usage

Table of default key bind

Functions Key bind
Build command + b
Run command + r
Run Spec command + option + r
Deploy command + option + b
Run from list command + option + l
Set Breakpoint control + option + b
Show reference control + option + d

RubyMotion syntax

  1. Open *.rb or Rakefile in your RubyMotion project
  2. You can see the “RubyMotion” on status bar in right bottom corner. Otherwise, it's not working. If Sublime Text cache keep syntax as “Ruby”, please close and open the file.

note: RubyMotion detection rule is project's Rakefile contains “Motion”, or not.

Code completion

  1. Inside your RubyMotion project just start typing the name of a method and the autocomplete window will pop up.
  2. Press enter / return to trigger the completion.

Build

  1. Verify that Tools -> Build System is set to Automatic.
  2. Open *.rb or Rakefile in your RubyMotion project and press [command + b].
  3. Wait for the console to notify you the message “[Finished]”.
  4. If you get a error, you can jump to it with press [F4]

note: Default target is Simulator. If you want to change the target, please edit “RubyMotion.sublime-build”.

Clean

  1. Open the Command Palette using [command + shift + p] and press “clean”.
  2. Select RubyMotionBuilder: Clean from the popup menu and press [enter / return].
  3. Wait for the console to notify you the message “[Finished]”.

Run

  1. Open *.rb or Rakefile in your RubyMotion project and press [command + r]. If you want to enable retina, please press [shift + command + r].
  2. Wait for the Terminal.app will kick Simulator.
  3. If you want to modify code and to try again, just re-press [command + r]. Then, automatically post “quit” to Terminal.app and re-execute “rake”.

note: Goto symbol was assigned to [control + r]

Run Spec

  1. Open *.rb or Rakefile in your RubyMotion project and press [command + option + r].
  2. Wait for the Terminal.app will kick Simulator.
  3. If you want to modify code and to try again, just re-press [command + option + r]. Then, automatically post “quit” to Terminal.app and re-execute “rake spec”.

Deploy

  1. Open *.rb or Rakefile in your RubyMotion project and press [command + option + b].
  2. Wait for the console to notify you the message “[Finished]”.

Run commands from Rake task list

  1. Open *.rb or Rakefile in your RubyMotion project and press [command + option + l].
  2. Select a task from displayed list.

Set break point for debugging

  1. Open *.rb or Rakefile in your RubyMotion project.
  2. Move a text cursor in where set a breakpoint and [control + option + b]. Then, the breakpoint was described in debugger_cmds like b app_delegate.rb:7

Show reference documents using Dash app

  1. Open *.rb or Rakefile in your RubyMotion project.
  2. Select a word (like method) and press [control + option + d].

Completions generator

The command is supported in command palette.

  • RubyMotionBuilder: Generate completions will generate completions from BridgeSupport files of RubyMotion.

Configuration

Switch Terminal

  1. Open *.rb or Rakefile in your RubyMotion project
  2. Open [Sublime Text]->[Preferences]->[Settings - More]->[Syntax Specific - User] in Sublime Text menu.
  3. Configure “terminal” setting to switch terminal application to build app. The following settings switch terminal to “iTerm” (By default, “Terminal”).
{
    "terminal": "iTerm"
}

Disable to activate Terminal

  1. Open *.rb or Rakefile in your RubyMotion project
  2. Open [Sublime Text]->[Preferences]->[Settings - More]->[Syntax Specific - User] in Sublime Text menu.
  3. Configure “activate_terminal” setting to disable terminal activation. The following settings disable terminal activation (By default, true).
{
    "activate_terminal": false
}

Disable auto-save

When you would run app through this plugin, the plugin will save changed files. You could disable this feature.

  1. Open *.rb or Rakefile in your RubyMotion project
  2. Open [Sublime Text]->[Preferences]->[Settings - More]->[Syntax Specific - User] in Sublime Text menu.
  3. Configure “auto_save” setting to disable auto-save feature (By default, true).
{
    "auto_save": false
}

LICENSE

Copyright (c) 2012, 2013 Kentaro Hara
Copyright (c) 2014 RubyMotionJP

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.