All Projects → asok → rake

asok / rake

Licence: other
Emacs package for interaction with rake command tool

Programming Languages

emacs lisp
2029 projects
Gherkin
971 projects

Rake Build Status

Rake is a package for running rake tasks in Emacs.

  • runs rake command using zeus, spring or bundler
  • caches the tasks
  • displays the docstrings of the tasks

Screenshot

Installation

Melpa

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

Usage

rake command

  • M-x rake to run a rake task.
  • C-u M-x rake to amend the command to run. Useful if you want to add arguments.
  • C-u C-u M-x rake to bypass the cache (when enabled).

rake-find-task command

  • M-x rake-find-task to find a rake task.

rake-rerun command

  • M-x rake-rerun to run the last task.

Setting up keybinding

By default rake command is not bound to any key. You might want to do something like this:

(define-key ruby-mode-map (kbd "C-!") 'rake)

Replace (kbd "C-!") with a key of your liking.

Customization

Caching

By default the caching is enabled. To disable it:

(setq rake-enable-caching nil)

Completion

By default ido is used for completion. You can customize it with:

(setq rake-completion-system 'helm)

You can set it to ido, helm, grizzl or default for the Emacs' default completion. Also, you can set it to the symbol of a custom command that accepts "prompt" as the first argument and "choices" as the second argument.

Also if you are a user of Projectile you might want to just set it to the value of projectile-completion-system like this:

(eval-after-load 'projectile
  '(setq rake-completion-system projectile-completion-system))

Alternatives

Contribution

Install cask if you haven't already, then:

$ cd /path/to/rake
$ cask

Run all tests with:

$ cask exec ecukes
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].