mirror of
https://github.com/magnars/multiple-cursors.el.git
synced 2025-10-13 05:03:03 +00:00
Intercept some reading commands
- so you won't have to answer them for every single cursor Fixes #15
This commit is contained in:
parent
ae0033fe3d
commit
97da9778fd
@ -119,6 +119,13 @@ Feature: Multiple cursors core
|
|||||||
And I type "!"
|
And I type "!"
|
||||||
Then I should see "This ! contains the word ! twice"
|
Then I should see "This ! contains the word ! twice"
|
||||||
|
|
||||||
|
Scenario: Bound keyboard macros
|
||||||
|
Given I have bound C-! to a keyboard macro that insert "_"
|
||||||
|
And I have cursors at "text" in "This text contains the word text twice"
|
||||||
|
When I press "C-!"
|
||||||
|
When I press "C-!"
|
||||||
|
Then I should see "This __text contains the word __text twice"
|
||||||
|
|
||||||
Scenario: Interprogram paste
|
Scenario: Interprogram paste
|
||||||
Given I have cursors at "text" in "This text contains the word text twice"
|
Given I have cursors at "text" in "This text contains the word text twice"
|
||||||
When I copy "external" in another program
|
When I copy "external" in another program
|
||||||
|
@ -68,6 +68,11 @@
|
|||||||
(defun mc-test-temp-command-2 () (interactive) (insert ins))
|
(defun mc-test-temp-command-2 () (interactive) (insert ins))
|
||||||
(global-set-key (kbd "C-!") 'mc-test-temp-command-2))))
|
(global-set-key (kbd "C-!") 'mc-test-temp-command-2))))
|
||||||
|
|
||||||
|
(Given "^I have bound C-! to a keyboard macro that insert \"_\"$"
|
||||||
|
(lambda ()
|
||||||
|
(fset 'mc-test-temp-kmacro "\C-q_")
|
||||||
|
(global-set-key (kbd "C-!") 'mc-test-temp-kmacro)))
|
||||||
|
|
||||||
(When "^I go to character \"\\(.+\\)\"$"
|
(When "^I go to character \"\\(.+\\)\"$"
|
||||||
(lambda (char)
|
(lambda (char)
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
|
@ -205,7 +205,31 @@ cursor with updated info."
|
|||||||
(mc/pop-state-from-overlay cursor)
|
(mc/pop-state-from-overlay cursor)
|
||||||
(ignore-errors
|
(ignore-errors
|
||||||
(mc/execute-command cmd)
|
(mc/execute-command cmd)
|
||||||
(mc/create-fake-cursor-at-point id)))))))))
|
(mc/create-fake-cursor-at-point id))))))))
|
||||||
|
(mc--reset-read-prompts))
|
||||||
|
|
||||||
|
;; Intercept some reading commands so you won't have to
|
||||||
|
;; answer them for every single cursor
|
||||||
|
|
||||||
|
(defadvice read-char (around mc-support activate)
|
||||||
|
(if (not multiple-cursors-mode)
|
||||||
|
ad-do-it
|
||||||
|
(unless mc--read-char
|
||||||
|
(setq mc--read-char ad-do-it))
|
||||||
|
(setq ad-return-value mc--read-char)))
|
||||||
|
|
||||||
|
(defadvice read-quoted-char (around mc-support activate)
|
||||||
|
(if (not multiple-cursors-mode)
|
||||||
|
ad-do-it
|
||||||
|
(unless mc--read-quoted-char
|
||||||
|
(setq mc--read-quoted-char ad-do-it))
|
||||||
|
(setq ad-return-value mc--read-quoted-char)))
|
||||||
|
|
||||||
|
(defun mc--reset-read-prompts ()
|
||||||
|
(setq mc--read-char nil)
|
||||||
|
(setq mc--read-quoted-char nil))
|
||||||
|
|
||||||
|
(mc--reset-read-prompts)
|
||||||
|
|
||||||
(defun mc/fake-cursor-p (o)
|
(defun mc/fake-cursor-p (o)
|
||||||
"Predicate to check if an overlay is a fake cursor"
|
"Predicate to check if an overlay is a fake cursor"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user