-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathevil-rails.el
More file actions
111 lines (90 loc) · 4.59 KB
/
evil-rails.el
File metadata and controls
111 lines (90 loc) · 4.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
;;; evil-rails.el --- Rails support for Evil Mode
;; Copyright (C) 2012, 2014 Antono Vasiljev
;; Author: Antono Vasiljev <antono.vasiljev@gmail.com>
;; URL: https://github.com/antono/evil-rails
;; Contributors:
;; - Joshua Mendoza <joshua.mdza@gmail.com>
;; - Josh Black <raskchanky@gmail.com>
;; Version: 0.2
;; Created: 2014-05-01
;; Keywords: ruby, rails, vim, project, convenience, web, evil, projectile
;; EmacsWiki: EvilRails
;; Package-Requires: ((evil "1.0") (projectile-rails "1.0"))
;; This file is NOT part of GNU Emacs.
;;; License:
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary:
;; evil-rails is Ruby on Rails support for Evil mode
;; Code:
(require 'evil)
(require 'projectile-rails)
(defgroup evil-rails nil
"Evil Rails customizations."
:prefix "evil-rails-"
:group 'evil-rails)
;; Projectile actions.
(evil-ex-define-cmd "A" 'projectile-toggle-between-implementation-and-test)
(evil-ex-define-cmd "AV" '(lambda ()
(interactive)
(evil-window-vsplit)
(windmove-right)
(projectile-toggle-between-implementation-and-test)))
(evil-ex-define-cmd "AS" '(lambda ()
(interactive)
(evil-window-split)
(windmove-down)
(projectile-toggle-between-implementation-and-test)))
;; Projectile Rails find actions.
(evil-ex-define-cmd "Rmodel" 'projectile-rails-find-model)
(evil-ex-define-cmd "RCmodel" 'projectile-rails-find-current-model)
(evil-ex-define-cmd "Rcontroller" 'projectile-rails-find-controller)
(evil-ex-define-cmd "RCcontroller" 'projectile-rails-find-current-controller)
(evil-ex-define-cmd "Rview" 'projectile-rails-find-view)
(evil-ex-define-cmd "RCview" 'projectile-rails-find-current-view)
(evil-ex-define-cmd "Rhelper" 'projectile-rails-find-helper)
(evil-ex-define-cmd "RChelper" 'projectile-rails-find-current-helper)
(evil-ex-define-cmd "Rlib" 'projectile-rails-find-lib)
(evil-ex-define-cmd "Rfeature" 'projectile-rails-find-feature)
(evil-ex-define-cmd "Rspec" 'projectile-rails-find-spec)
(evil-ex-define-cmd "RCspec" 'projectile-rails-find-current-spec)
(evil-ex-define-cmd "Rtest" 'projectile-rails-find-test)
(evil-ex-define-cmd "RCtest" 'projectile-rails-find-current-test)
(evil-ex-define-cmd "Rmigration" 'projectile-rails-find-migration)
(evil-ex-define-cmd "RCmigration" 'projectile-rails-find-current-migration)
(evil-ex-define-cmd "Rfixture" 'projectile-rails-find-fixture)
(evil-ex-define-cmd "RCfixture" 'projectile-rails-find-current-fixture)
(evil-ex-define-cmd "Rjavascript" 'projectile-rails-find-javascript)
(evil-ex-define-cmd "Rstylesheet" 'projectile-rails-find-stylesheet)
(evil-ex-define-cmd "Rlog" 'projectile-rails-find-log)
(evil-ex-define-cmd "Rinitializer" 'projectile-rails-find-initializer)
(evil-ex-define-cmd "Renv" 'projectile-rails-find-environment)
(evil-ex-define-cmd "Rlocale" 'projectile-rails-find-locale)
(evil-ex-define-cmd "Rmailer" 'projectile-rails-find-mailer)
(evil-ex-define-cmd "Rlayout" 'projectile-rails-find-layout)
;; Projectile Rails general actions.
(evil-ex-define-cmd "Rconsole" 'projectile-rails-console)
(evil-ex-define-cmd "Rserver" 'projectile-rails-server)
(evil-ex-define-cmd "Rrake" 'projectile-rails-rake)
(evil-ex-define-cmd "Rgenerate" 'projectile-rails-generate)
(evil-ex-define-cmd "Rextract" 'projectile-rails-extract-region)
;; Projectile Rails go-to actions.
(evil-ex-define-cmd "RGfile" 'projectile-rails-goto-file-at-point)
(evil-ex-define-cmd "RGgemfile" 'projectile-rails-goto-gemfile)
(evil-ex-define-cmd "RGroutes" 'projectile-rails-goto-routes)
(evil-ex-define-cmd "RGschema" 'projectile-rails-goto-schema)
(evil-ex-define-cmd "RGspechelper" 'projectile-rails-goto-spec-helper)
(provide 'evil-rails)
;;; evil-rails.el ends here