Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tadast/sublime-rails-snippets

Sublime Text snippets for the latest Ruby and Rails versions
https://github.com/tadast/sublime-rails-snippets

editor-plugin productivity rails-snippets ruby ruby-on-rails snippets sublime-text

Last synced: 2 days ago
JSON representation

Sublime Text snippets for the latest Ruby and Rails versions

Awesome Lists containing this project

README

        

# 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