[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/inf-ruby 33e17e055f 037/265: Move keys to a new minor mode
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/inf-ruby 33e17e055f 037/265: Move keys to a new minor mode |
Date: |
Sat, 9 Jul 2022 21:59:11 -0400 (EDT) |
branch: elpa/inf-ruby
commit 33e17e055f0d4f267f2e90aaec77e3d5999ae07a
Author: Dmitry Gutov <dgutov@yandex.ru>
Commit: Dmitry Gutov <dgutov@yandex.ru>
Move keys to a new minor mode
* Add `enh-ruby-mode` to `ruby-source-modes`.
* Hook it up in `inf-ruby-setup-keybindings`.
* Fixes #19.
---
inf-ruby.el | 41 ++++++++++++++++++++++++-----------------
1 file changed, 24 insertions(+), 17 deletions(-)
diff --git a/inf-ruby.el b/inf-ruby.el
index 597d12268e..a0569d428b 100755
--- a/inf-ruby.el
+++ b/inf-ruby.el
@@ -58,8 +58,7 @@
("macruby" . "macirb -r irb/completion"))
"An alist of ruby implementations to irb executable names.")
-;; TODO: do we need these two defvars?
-(defvar ruby-source-modes '(ruby-mode)
+(defvar ruby-source-modes '(ruby-mode enh-ruby-mode)
"*Used to determine if a buffer contains Ruby source code.
If it's loaded into a buffer that is in one of these major modes, it's
considered a ruby source file by ruby-load-file.
@@ -79,18 +78,28 @@ next one.")
;;;###autoload
(defun inf-ruby-setup-keybindings ()
- "Set local key defs to invoke inf-ruby from ruby-mode."
- (define-key ruby-mode-map (kbd "C-M-x") 'ruby-send-definition)
- (define-key ruby-mode-map (kbd "C-x C-e") 'ruby-send-last-sexp)
- (define-key ruby-mode-map (kbd "C-c C-b") 'ruby-send-block)
- (define-key ruby-mode-map (kbd "C-c M-b") 'ruby-send-block-and-go)
- (define-key ruby-mode-map (kbd "C-c C-x") 'ruby-send-definition)
- (define-key ruby-mode-map (kbd "C-c M-x") 'ruby-send-definition-and-go)
- (define-key ruby-mode-map (kbd "C-c C-r") 'ruby-send-region)
- (define-key ruby-mode-map (kbd "C-c M-r") 'ruby-send-region-and-go)
- (define-key ruby-mode-map (kbd "C-c C-z") 'ruby-switch-to-inf)
- (define-key ruby-mode-map (kbd "C-c C-l") 'ruby-load-file)
- (define-key ruby-mode-map (kbd "C-c C-s") 'inf-ruby))
+ "Hook up `inf-ruby-minor-mode' to each of `ruby-source-modes'."
+ (dolist (mode ruby-source-modes)
+ (add-hook (intern (format "%s-hook" mode)) 'inf-ruby-minor-mode)))
+
+(defvar inf-ruby-minor-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map (kbd "C-M-x") 'ruby-send-definition)
+ (define-key map (kbd "C-x C-e") 'ruby-send-last-sexp)
+ (define-key map (kbd "C-c C-b") 'ruby-send-block)
+ (define-key map (kbd "C-c M-b") 'ruby-send-block-and-go)
+ (define-key map (kbd "C-c C-x") 'ruby-send-definition)
+ (define-key map (kbd "C-c M-x") 'ruby-send-definition-and-go)
+ (define-key map (kbd "C-c C-r") 'ruby-send-region)
+ (define-key map (kbd "C-c M-r") 'ruby-send-region-and-go)
+ (define-key map (kbd "C-c C-z") 'ruby-switch-to-inf)
+ (define-key map (kbd "C-c C-l") 'ruby-load-file)
+ (define-key map (kbd "C-c C-s") 'inf-ruby)))
+
+;;;###autoload
+(define-minor-mode inf-ruby-minor-mode
+ "Minor mode for interacting with the inferior process buffer."
+ :lighter "" :keymap inf-ruby-minor-mode-map)
(defvar inf-ruby-buffer nil "Current irb process buffer.")
@@ -368,9 +377,7 @@ Module used by readline when running irb through a terminal"
(call-interactively 'indent-for-tab-command)
(inf-ruby-complete command)))
-;;;###autoload
-(eval-after-load 'ruby-mode
- '(inf-ruby-setup-keybindings))
+;;;###autoload (inf-ruby-setup-keybindings)
(provide 'inf-ruby)
;;; inf-ruby.el ends here
- [nongnu] elpa/inf-ruby 4d82095424 174/265: inf-ruby-console-gem: Only try to load Ruby files, (continued)
- [nongnu] elpa/inf-ruby 4d82095424 174/265: inf-ruby-console-gem: Only try to load Ruby files, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 4f6a265640 178/265: Add support for zeus console, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby af4f238ef4 200/265: Merge pull request #99 from dgopstein/master, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 4893dd6426 208/265: Describe how to add custom prompt patterns (#108), ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 49d59a7897 216/265: Merge pull request #115 from p-sdk/add-ruby-send-and-go-commands, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby a4c766e605 231/265: Use pry_instance, _pry_ is not in Pry 0.13 anymore, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 9f0f79ff45 232/265: inf-ruby-console-rails: Try to handle IRB's "multiline" thing here, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby c2a28ef6a1 242/265: Replace toggle-read-only-mode with read-only-mode, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby cd50ce8432 249/265: Creating eval overlay feature, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 57642c27fd 053/265: inf-ruby-completions: support non-"current" inf-ruby-mode buffers and Pry, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 33e17e055f 037/265: Move keys to a new minor mode,
ELPA Syncer <=
- [nongnu] elpa/inf-ruby 91bbd7763d 071/265: Avoid error when trying to switch to non-existing inf-ruby buffer, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 54508a9923 011/265: Mac OS: Fix completion output splitting for Ruby 1.8.7 compatibility., ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 74e96360b1 034/265: Added macruby to inf-ruby-implementations, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby a7bb5f99e3 013/265: Pesky header stuff., ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 164f2dda53 065/265: Add commands to launch different types of consoles, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby d776551688 087/265: Add pry to inf-ruby-implementations, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 28b84de084 122/265: Advertise using the .pryrc workaround, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 562fa9a422 094/265: Close #37, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 55559dfaac 144/265: fix OpenStruct.new syntax to work with ruby 1.8.7, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 488fc1b129 147/265: Refine the previous change, ELPA Syncer, 2022/07/09