[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/inf-ruby c6990a60c7 244/265: Implement inf-ruby-reuse-olde
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/inf-ruby c6990a60c7 244/265: Implement inf-ruby-reuse-older-buffers |
Date: |
Sat, 9 Jul 2022 21:59:30 -0400 (EDT) |
branch: elpa/inf-ruby
commit c6990a60c740b2d69495e34e95b29f13014b3cde
Author: Dmitry Gutov <dgutov@yandex.ru>
Commit: Dmitry Gutov <dgutov@yandex.ru>
Implement inf-ruby-reuse-older-buffers
Resolves #145
---
inf-ruby.el | 25 +++++++++++++++++++++----
1 file changed, 21 insertions(+), 4 deletions(-)
diff --git a/inf-ruby.el b/inf-ruby.el
index e7896e436f..d00a80966d 100755
--- a/inf-ruby.el
+++ b/inf-ruby.el
@@ -126,6 +126,12 @@ Currently only affects Rails and Hanami consoles."
(const ask :tag "Ask the user")
(string :tag "Environment name")))
+(defcustom inf-ruby-reuse-older-buffers t
+ "When non-nil, `run-ruby-new' will try to reuse the buffer left
+over by a previous Ruby process, as long as it was launched in
+the same directory and used the same base name."
+ :type 'boolean)
+
(defconst inf-ruby-prompt-format
(concat
(mapconcat
@@ -331,13 +337,15 @@ The following commands are available:
(and current-dir
(inf-ruby-buffer-in-directory current-dir))))
-(defun inf-ruby-buffer-in-directory (dir)
+(defun inf-ruby-buffer-in-directory (dir &optional impl-name)
(setq dir (expand-file-name dir))
(catch 'buffer
(dolist (buffer inf-ruby-buffers)
(when (buffer-live-p buffer)
(with-current-buffer buffer
- (when (string= (expand-file-name default-directory) dir)
+ (when (and (string= (expand-file-name default-directory) dir)
+ (or (not impl-name)
+ (equal impl-name inf-ruby-buffer-impl-name)))
(throw 'buffer buffer)))))))
;;;###autoload
@@ -390,7 +398,7 @@ Type \\[describe-mode] in the process buffer for the list
of commands."
inf-ruby-buffer)))
(defun run-ruby-new (command &optional name)
- "Create a new inferior Ruby process in a new buffer.
+ "Create a new inferior Ruby process in a new or existing buffer.
COMMAND is the command to call. NAME will be used for the name of
the buffer, defaults to \"ruby\"."
@@ -403,7 +411,7 @@ the buffer, defaults to \"ruby\"."
(setenv "PAGER" (executable-find "cat"))
(set-buffer (apply 'make-comint-in-buffer
name
- (generate-new-buffer-name (format "*%s*" name))
+ (inf-ruby-choose-buffer-name name)
(car commandlist)
nil (cdr commandlist)))
(inf-ruby-mode)
@@ -417,6 +425,15 @@ the buffer, defaults to \"ruby\"."
(pop-to-buffer (current-buffer)))
+(defun inf-ruby-choose-buffer-name (name)
+ "Return the name of a suitable buffer or generate a unique one."
+ (let ((buffer (and inf-ruby-reuse-older-buffers
+ (inf-ruby-buffer-in-directory default-directory
+ name))))
+ (if buffer
+ (buffer-name buffer)
+ (generate-new-buffer-name (format "*%s*" name)))))
+
(defun run-ruby-or-pop-to-buffer (command &optional name buffer)
(if (not (and buffer
(comint-check-proc buffer)))
- [nongnu] elpa/inf-ruby d2cc45ac1a 221/265: Bump the version, (continued)
- [nongnu] elpa/inf-ruby d2cc45ac1a 221/265: Bump the version, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 4a7ed23971 222/265: Revert "Add `ansi-color-process-output` to comint output functions", ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 928b1dd2c2 223/265: Merge pull request #123 from nonsequitur/revert-118-master, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby b228a7d9af 225/265: inf-ruby-error-regexp-alist: bol-anchor for better performance, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 1b89400e6f 227/265: Add '--nomultiline' with newer IRB versions, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 41e5ed3a88 229/265: run-ruby: Update for the latest change, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 6291121307 236/265: It is a triangle, right?, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 2ec94b4b33 237/265: Exclude --noreadline when Irb version is > 1.2.0, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby bb7d4ca086 240/265: Merge pull request #141 from sharmanr/send-definition, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 1fc972ecda 243/265: Merge pull request #142 from PuercoPop/patch-1, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby c6990a60c7 244/265: Implement inf-ruby-reuse-older-buffers,
ELPA Syncer <=
- [nongnu] elpa/inf-ruby f484fa82cc 247/265: ruby-send-last-stmt: New command, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 6943bf1e78 254/265: Apply code review - print evaluation as default, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 3940b91ac5 252/265: Create load current ruby file fn and key binding, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby c49b3d360a 253/265: Apply code review - remove unecessary line, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby bae94383d5 256/265: Stop wrapping the evaluation result in quotes, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby ff25dda5e2 259/265: Bump the version, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby f892e6e74f 262/265: Set env var RUBY_DEBUG_NO_RELINE, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 4ddf6b3889 265/265: Bump the version, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby c97c8184ca 070/265: Take `inf-ruby-setup-keybindings' out of the picture, ELPA Syncer, 2022/07/09
- [nongnu] elpa/inf-ruby 673d6b66b0 064/265: Do Bond completion in the middle of the line, ELPA Syncer, 2022/07/09