Sublime Text Rails snippets
β οΈ I'll be porting these changes to the official Sublime Text Rails snippets. Here's how you can help
This repo provides up-to-date Ruby and Rails snippets for Sublime Text: it's designed to be used with Ruby >= 2.0 and Rails >= 3. All the snippets can be found in this cheatsheet generated by Snipcheat.
Installation
If you're using Sublime Text 2, please refer to older installation instructions.
From Package Control
The easiest way to install the snippets is via package control.
However this method has a little downside: it adds new snippets but does not remove the old ones. This means that for some snippet triggers e.g. vp
(validates presence) you'll see a drop-down with two options, not one.
Look for "Ruby on Rails snippets" in Package Control. Here's how to install packages
From Git
This method replaces the default outdated snippets, but you have to keep it up to date manually by running git pull
every now and again.
To install via git:
- First, cd into the ST3 Packages directory
β # Mac:
β cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages
β # Linux:
β cd ~/.config/sublime-text-3/Packages/
- Then clone this repo into the folder
β ls | grep Rails
β # if there is a `Rails` dir, back it up e.g. archive it and remove the original.
β git clone https://github.com/tadast/sublime-rails-snippets.git Rails
It is important to clone it into a folder called Rails. Some Sublime plugins have hard-coded dependencies pointing to that path. See troubleshooting.
Troubleshooting
Syntax highlighting doesn't work
You might need to tell Sublime text to use the Ruby on Rails syntax
provided by Ruby on Rails Snippets
. With an .rb
file open and focused navigate to View -> Syntax -> Open all with current extension as... -> Ruby on Rails Snippets -> Ruby on Rails
Sublime picks Ruby (not Rails) syntax
You might need to tell Sublime to prefer Rails over Ruby by navigating to
View -> Syntax -> Open all with current extension as...
and picking Rails
of Ruby on Rails snippets
Can't find *.tmLanguage
If Sublime complains it can't find Ruby on Rails.tmLanguage
, chances are you are using this hack.
You'll need to change the path where it looks for that file. Here's the forked version which works with this plug-in.
You may also need to change Packages/(DetectSyntax|User)/DetectSyntax.sublime-settings
to replace/include this rule
{
"name": "Ruby on Rails snippets/Ruby Haml",
"rules": [
{"file_name": ".*\\.haml$"}
]
},
{
"name": "Ruby on Rails snippets/Ruby on Rails",
"rules": [
{"function": {"name": "is_rails_file"}}
]
}
Ruby on Rails snippets
is a default installation directory for Package Control.
If you installed in a different directory, change the path accordingly
How to contribute
- Fork it
- Create your feature branch for each group of snippet changes that could be merged individually (
git checkout -b my-new-snippet
) - Commit your changes (
git commit -am 'Add some snippet [tab_trigger]'
) - Commit messages should start with a verb in present simple tense and have all affected tab triggers in square brackets e.g. "Add a snippets for partial rendering [rpc, rpo]"
- Push to the branch (
git push origin my-new-snippet
) - Create new Pull Request