# Sublime Text Rails snippets > :warning: I'll be porting these changes to the [official Sublime Text Rails](https://github.com/sublimehq/Packages) snippets. [Here's how you can help](https://github.com/tadast/sublime-rails-snippets/issues/34) > > 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](http://tadast.github.com/sublime-rails-snippets) generated by [Snipcheat](https://github.com/tadast/snipcheat). ![class](http://cl.ly/image/023Y2X0P1R2X/class.gif) ![ActiveRecord](http://cl.ly/image/0i0B0M3E1I0A/ar.gif) ![migrations](http://cl.ly/image/342Y2m423Q3O/migration.gif) # Installation If you're using Sublime Text 2, please refer to [older installation instructions](https://github.com/tadast/sublime-rails-snippets/blob/8aa22a211e77e5e48df4522f88726baf60090b2b/README.md#installation). ## 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](http://wbond.net/sublime_packages/package_control/usage) ## 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 ```bash ➜ # 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](https://gist.github.com/925008). You'll need to change the path where it looks for that file. Here's the [forked version which works with this plug-in](https://gist.github.com/4161901). You may also need to change `Packages/(DetectSyntax|User)/DetectSyntax.sublime-settings` to replace/include this rule ```json { "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 1. Fork it 2. Create your feature branch for each group of snippet changes that could be merged individually (`git checkout -b my-new-snippet`) 3. Commit your changes (`git commit -am 'Add some snippet [tab_trigger]'`) 4. 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]" 5. Push to the branch (`git push origin my-new-snippet`) 6. Create new Pull Request