Add Rails support to Ruby module

The +rails flag sets up projectile-rails as a minor mode for
enh-ruby-mode and, if enabled under :lang, web-mode. Projectile-rails
keybindings are under "<localleader> r".

robe-rails-refresh was moved to "<localleader> R".
This commit is contained in:
Alexander Graul 2020-02-01 13:34:37 +01:00
parent aa627c7bbe
commit 28ce581ca4
3 changed files with 24 additions and 2 deletions

View file

@ -131,7 +131,7 @@ Modules that bring support for a language or group of languages to Emacs.
+ qt - TODO
+ racket - TODO
+ [[file:../modules/lang/rest/README.org][rest]] - TODO
+ ruby =+lsp +rvm +rbenv= - TODO
+ ruby =+lsp +rvm +rbenv +rails= - TODO
+ [[file:../modules/lang/rust/README.org][rust]] =+lsp= - TODO
+ scala =+lsp= - TODO
+ [[file:../modules/lang/scheme/README.org][scheme]] - TODO

View file

@ -63,7 +63,7 @@
"'" #'robe-start
;; robe mode specific
"h" #'robe-doc
"rr" #'robe-rails-refresh
"R" #'robe-rails-refresh
;; inf-enh-ruby-mode
:prefix "s"
"d" #'ruby-send-definition
@ -168,3 +168,20 @@
"a" #'minitest-verify-all
"s" #'minitest-verify-single
"v" #'minitest-verify))
(use-package! projectile-rails
:when (featurep! +rails)
:hook (enh-ruby-mode . projectile-rails-mode)
:init
(when (featurep! :lang web)
(add-hook 'web-mode-hook #'projectile-rails-mode))
:config
(when (featurep! :editor evil)
(add-hook 'projectile-rails-mode-hook #'evil-normalize-keymaps))
(map! :localleader
:map projectile-rails-mode-map
"r" #'projectile-rails-command-map)
(push '((nil . "projectile-rails-\\(.+\\)") . (nil . "\\1"))
which-key-replacement-alist)
(set-popup-rule! "^\\*\\(projectile-\\)?rails" :ttl nil))

View file

@ -27,3 +27,8 @@
;; Testing frameworks
(package! rspec-mode :pin "c4353a1bff")
(package! minitest :pin "6d9f6233b7")
;; Rails
(when (featurep! +rails)
(package! projectile-rails :pin "228f631")
(package! inflections :pin "e4f1372"))