settings

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

multiple-cursors-core.feature (6521B)


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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
Feature: Multiple cursors core
  In order to make efficient changes
  As an Emacs user with multiple-cursors
  I want to change multiple parts of the buffer at once

  Scenario: Exiting multiple-cursors mode with return
    Given I have cursors at "text" in "This text contains the word text twice"
    And I press "<return>"
    Then I should have one cursor

  Scenario: Exiting multiple-cursors mode with C-g
    Given I have cursors at "text" in "This text contains the word text twice"
    And I press "C-g"
    Then I should have one cursor

  Scenario: Separate kill-rings
    Given I have cursors at "text" in "This text contains the word text twice"
    When I press "M-f"
    And I press "M-d"
    And I press "M-b"
    And I press "C-y"
    Then I should see "This  containstext the word  twicetext"

  Scenario: Separate kill-rings, yank-pop
    Given I have cursors at "text" in "This text contains the word text twice"
    When I press "M-d"
    And I press "C-f"
    And I press "M-d"
    And I press "C-y M-y"
    Then I should see "This  text the word  text"

  Scenario: Multiple lambdas
    Given I have bound C-! to a lambda that inserts "a"
    And I have cursors at "text" in "This text contains the word text twice"
    When I press "C-!"
    Then I should see "This atext contains the word atext twice"

  Scenario: Multiple supported command (forward-word in this case)
    Given I have cursors at "text" in "This text contains the word text twice"
    And I type "("
    And I press "M-f"
    And I press "M-f"
    And I type ")"
    Then I should see "This (text contains) the word (text twice)"

  Scenario: Unknown command: yes, do for all
    Given I have bound C-! to a new command that inserts "a"
    And I have cursors at "text" in "This text contains the word text twice"
    When I press "C-! y"
    And I press "C-!"
    Then I should see "This aatext contains the word aatext twice"

  Scenario: Unknown command: no, don't do for all
    Given I have bound C-! to another new command that inserts "a"
    And I have cursors at "text" in "This text contains the word text twice"
    When I press "C-! n"
    And I press "C-!"
    Then I should see "This aatext contains the word text twice"

  Scenario: Undo
    Given I have cursors at "text" in "This text contains the word text twice"
    When I press "M-f"
    And I press "M-DEL"
    And I press "C-_"
    And I type "!"
    Then I should see "This text! contains the word text! twice"

  Scenario: Setting and popping mark
    Given I have cursors at "text" in "This text contains the word text twice"
    And I press "C-SPC"
    And I press "M-f"
    And I press "C-u C-SPC"
    And I type "!"
    Then I should see "This !text contains the word !text twice"

  Scenario: delete-selection-mode (self-insert-command)
    Given I turn on delete-selection-mode
    And I have cursors at "text" in "This text contains the word text twice"
    And I press "C-SPC"
    And I press "M-f"
    And I type "!"
    Then I should see "This ! contains the word ! twice"

  Scenario: delete-selection-mode (delete-char)
    Given I turn on delete-selection-mode
    And I have cursors at "text" in "This text contains the word text twice"
    And I press "C-SPC"
    And I press "M-f"
    And I press "C-d"
    Then I should see "This  contains the word  twice"

  Scenario: delete-selection-mode (yank)
    Given I turn on delete-selection-mode
    And I have cursors at "text" in "This text contains the word text twice"
    And I press "M-b"
    And I press "C-SPC"
    And I press "M-f"
    And I press "M-w"
    And I press "C-SPC"
    And I press "M-f"
    And I press "C-y"
    Then I should see "ThisThis contains the wordword twice"

  Scenario: subword-mode
    Given I turn on subword-mode
    And I have cursors at "textSnippet" in "This textSnippet contains the word textSnippet twice"
    And I press "M-f"
    And I type "_"
    And I press "M-l"
    Then I should see "This text_snippet contains the word text_snippet twice"

  Scenario: cua-mode
    Given I turn on cua-mode
    And I insert "This text contains the word text twice"
    And I go to the front of the word "text"
    And I press "C-SPC"
    And I press "M-f"
    And I mark next like this
    And I type "!"
    Then I should see "This ! contains the word ! twice"

  Scenario: wrap-region (function turns to keyboard macros)
    Given I turn on wrap-region-mode
    And I insert "This text contains the word text twice"
    And I go to the front of the word "text"
    And I press "C-M-SPC"
    And I mark next like this
    And I press "C-g"
    And I type "("
    Then I should see "This (text contains the word (text 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
    Given I have cursors at "text" in "This text contains the word text twice"
    When I copy "external" in another program
    And I press "C-y"
    Then I should see "This externaltext contains the word externaltext twice"

  Scenario: Added to killed-rectangle after exiting multiple-cursors-mode
    Given I have cursors at "text" in "This text contains the word text twice"
    When I press "M-f"
    And I press "C-f"
    And I press "C-SPC"
    And I press "M-f"
    And I press "M-w"
    And I press "<return>"
    And I press "C-a"
    And I press "C-k"
    And I press "C-x r y"
    Then I should see:
    """
    contains
    twice
    """

  Scenario: Looping forwards around cursors
    Given I have cursors at "_" in "1_34567_9"
    And I press "C-v"
    And I press "C-v"
    And I press "C-v"
    Then the cursor should be at point "8"

  Scenario: Looping forwards around cursors including one at point-max
    Given I have cursors at "_" in "1_34_67_"
    And I press "C-f"
    And I press "C-v"
    And I press "C-v"
    And I press "C-v"
    Then the cursor should be at point "3"

  Scenario: Looping backwards around cursors
    Given I have cursors at "_" in "1_34567_9"
    And I press "M-v"
    And I press "M-v"
    Then the cursor should be at point "2"

  Scenario: Looping backwards around cursors including one at point-min
    Given I have cursors at "_" in "_234_67_9"
    And I press "M-v"
    And I press "M-v"
    And I press "M-v"
    Then the cursor should be at point "1"