A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/asok/projectile-rails below:

asok/projectile-rails: Emacs Rails mode based on projectile

Projectile Rails is a minor mode for working with Ruby on Rails applications and engines in GNU Emacs. Internally it is based on Projectile.

It means that you can use Projectile's commands for greping (or acking) files, run tests, switch between projects, etc.

With Projectile Rails you are able to:

It can be a replacement for rinari.

Once you have setup Melpa you can use package-install command to install Projectile Rails. The package name is projectile-rails.

The package name for el-get is projectile-rails.

Use the package as a global mode:

(projectile-rails-global-mode)

That will turn on the local projectile-rails-mode for the buffers which belong to a Rails project (either application or an engine).

Probably you should read Projectile's README on setting up the completion system, caching and indexing files. Although the default settings are quite sensible and you should be ready to go without much tweaking.

Prior to version 0.20.0 the keymap prefix used to be setup. Following the convention we have stopped doing this automatically. Now you need to attach the mode's map to the desired key yourself. For example to get the old key you can do:

(define-key projectile-rails-mode-map (kbd "C-c r") 'projectile-rails-command-map)

The mode's buffers will have the Rails keywords highlighted. To turn it off:

(setq projectile-rails-add-keywords nil)

If you have yas-minor-mode or yas-global-mode and auto-insert-mode enabled and you open a new file it will be filled with a skeleton class. To turn it off:

(setq projectile-rails-expand-snippet nil)

Note: this variable controls whether auto-insert-mode is configured, that is if you set this variable to nil after you opened any rails file the snippets will still be inserted. In order to disable this feature in such scenarios just disable auto-insert-mode instead.

By default the buffer of the projectile-rails-server-mode is applying the ansi colors. If you find it slow you can disable it with:

(setq projectile-rails-server-mode-ansi-colors nil)

You can customize the way the rails, spring and zeus commands are invoked. For example if you want to use binstubs:

(setq projectile-rails-vanilla-command "bin/rails"
      projectile-rails-spring-command "bin/spring"
      projectile-rails-zeus-command "bin/zeus")
The keymap is unbound by default. The following keybinding assume that you've bound it to C-c r. See Keymap prefix section for details. Command Keybinding Description projectile-rails-find-model C-c r m Find a model using projectile-completion-system. projectile-rails-find-current-model C-c r M Go to a model connected with the current resource. projectile-rails-find-controller C-c r c Find a controller using projectile-completion-system. projectile-rails-find-current-controller C-c r C Go to a controller connected with the current resource. projectile-rails-find-view C-c r v Find a template or partial using projectile-completion-system. projectile-rails-find-current-view C-c r V Go to a view connected with the current resource. projectile-rails-find-helper C-c r h Find a helper using projectile-completion-system. projectile-rails-find-current-helper C-c r H Go to a helper connected with the current resource. projectile-rails-find-lib C-c r l Find a lib using projectile-completion-system. projectile-rails-find-feature C-c r f Find a feature using projectile-completion-system. projectile-rails-find-spec C-c r p Find a spec using projectile-completion-system. projectile-rails-find-current-spec C-c r P Go to a spec connected with the current resource. projectile-rails-find-test C-c r t Find a test using projectile-completion-system. projectile-rails-find-current-test C-c r T Go to a test connected with the current resource. projectile-rails-find-migration C-c r n Find a migration using projectile-completion-system. projectile-rails-find-current-migration C-c r N Go to a migration connected with the current resource. projectile-rails-find-fixture C-c r u Find a fixture using projectile-completion-system. projectile-rails-find-current-fixture C-c r U Go to a fixture connected with the current resource. projectile-rails-find-javascript C-c r j Find a javascript using projectile-completion-system. projectile-rails-find-stylesheet C-c r s Find a stylesheet using projectile-completion-system. projectile-rails-find-log C-c r o Find a log file and enable auto-revert-tail-mode in its buffer. projectile-rails-find-initializer C-c r i Find an initializer file using projectile-completion-system. projectile-rails-find-environment C-c r e Find an environment file using projectile-completion-system. projectile-rails-find-locale C-c r a Find a locale file using projectile-completion-system. projectile-rails-find-mailer C-c r @ Find a mailer file using projectile-completion-system. projectile-rails-find-validator C-c r ! Find a validator file using projectile-completion-system. projectile-rails-find-layout C-c r y Find a layout file using projectile-completion-system. projectile-rails-find-rake-task C-c r k Find a rake task file using rake-completion-system. projectile-rails-find-job C-c r b Find a job file using projectile-completion-system. projectile-rails-dbconsole C-c r ! b Run rails dbconsole command in sql-interactive-mode. projectile-rails-console C-c r ! c, C-c r r Run rails console command in inf-ruby buffer. projectile-rails-server C-c r ! s, C-c r R Run rails server. projectile-rails-rake C-c r ! r Select a rake task to run using rake-completion-system. projectile-rails-generate C-c r ! g Run rails generate command. projectile-rails-extract-region C-c r x Extract the selected region to a partial. projectile-rails-goto-file-at-point C-c r RET, C-c r g f Go to a file at point. Depending on the context that might be a constant, template or partial, or a gem. projectile-rails-goto-gemfile C-c r g g Go to Gemfile file. projectile-rails-goto-routes C-c r g r Go to config/routes.rb file. projectile-rails-goto-schema C-c r g d Go to db/schema.rb file. projectile-rails-goto-seeds C-c r g s Go to db/seeds.rb file. projectile-rails-goto-spec-helper C-c r g h Go to spec/spec_helper.rb file.

You might want to create your own keybinding for your favorite commands. For example:

(define-key projectile-rails-mode-map (kbd "s-m")   'projectile-rails-find-model)
(define-key projectile-rails-mode-map (kbd "s-c")   'projectile-rails-find-controller)
(define-key projectile-rails-mode-map (kbd "s-v")   'projectile-rails-find-view)
(define-key projectile-rails-mode-map (kbd "s-RET") 'projectile-rails-goto-file-at-point)
(define-key projectile-rails-mode-map (kbd "C-c g")  projectile-rails-mode-goto-map)

There's also integration with discover.el. The key that trigger the menu is s-r (the "s" stands for Win/Command key).

There's also integration with hydra. The name of the hydra hydra-projectile-rails. In order to bind it you can something like this:

(define-key projectile-rails-mode-map (kbd "s-r") 'hydra-projectile-rails/body)

Consider installing other Emacs packages that can help you working specifically with Rails projects.

Some of the Projectile Rails functions run rake or rails executables. If you are using a ruby version manager you might need to configure your Emacs to play nicely with it.

OS X users might want to look at exec-path-from-shell.

Running pry instead of irb

To use binding.pry or byebug, install inf-ruby and add this to your init file:

(add-hook 'after-init-hook 'inf-ruby-switch-setup)

Here's a list of the people that contributed to the projects. Many thanks! :)

Install cask if you haven't already, then:

$ cd /path/to/projectile-rails
$ cask

Run all tests with:

For all of them to pass you will need the bundle executable in your path.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4