redcar-dev 0.12.17dev → 0.12.18dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +4 -2
- data/README.md +5 -41
- data/Rakefile +3 -35
- data/lib/redcar.rb +19 -17
- data/lib/redcar/runner.rb +1 -7
- data/lib/redcar_quick_start.rb +5 -5
- data/plugins/application/features/main_menu.feature +1 -1
- data/plugins/application/features/step_definitions/command_steps.rb +8 -7
- data/plugins/application/features/step_definitions/filter_list_dialog_steps.rb +25 -10
- data/plugins/application/features/step_definitions/key_steps.rb +6 -4
- data/plugins/application/features/step_definitions/menu_steps.rb +27 -26
- data/plugins/application/features/step_definitions/speedbar_steps.rb +28 -16
- data/plugins/application/features/step_definitions/tree_steps.rb +88 -64
- data/plugins/application/features/step_definitions/window_steps.rb +14 -10
- data/plugins/application/features/support/env.rb +85 -83
- data/plugins/application/spec/application/application_spec.rb +1 -1
- data/plugins/application/spec/application/clipboard_spec.rb +1 -1
- data/plugins/application/spec/application/command/executor_spec.rb +1 -1
- data/plugins/application/spec/application/command/history_spec.rb +1 -1
- data/plugins/application/spec/application/command_spec.rb +1 -1
- data/plugins/application/spec/application/keymap/builder_spec.rb +1 -1
- data/plugins/application/spec/application/menu/builder_spec.rb +1 -1
- data/plugins/application/spec/application/menu/menu_item_spec.rb +1 -1
- data/plugins/application/spec/application/menu_spec.rb +1 -1
- data/plugins/application/spec/application/navigation_history_spec.rb +2 -0
- data/plugins/application/spec/application/notebook_spec.rb +1 -1
- data/plugins/application/spec/application/sensitive_spec.rb +1 -1
- data/plugins/application/spec/application/speedbar_spec.rb +1 -1
- data/plugins/application/spec/application/treebook_spec.rb +1 -1
- data/plugins/application/spec/application/window_spec.rb +1 -1
- data/plugins/application/spec/spec_helper.rb +4 -6
- data/plugins/application_swt/lib/application_swt/dialogs/filter_list_dialog_controller.rb +1 -1
- data/plugins/application_swt/lib/application_swt/gradient.rb +15 -5
- data/plugins/application_swt/lib/application_swt/window.rb +1 -1
- data/plugins/application_swt/spec/application_swt/gradient_spec.rb +13 -14
- data/plugins/application_swt/spec/application_swt/menu/binding_translator_spec.rb +1 -1
- data/plugins/application_swt/spec/application_swt/menu_spec.rb +1 -1
- data/plugins/application_swt/spec/spec_helper.rb +1 -19
- data/plugins/auto_completer/features/auto_complete.feature +7 -7
- data/plugins/auto_completer/features/step_definitions/auto_complete_steps.rb +3 -1
- data/plugins/auto_completer/features/step_definitions/dependency_steps.rb +0 -0
- data/plugins/auto_indenter/features/java_style_indentation.feature +5 -3
- data/plugins/auto_indenter/features/ruby_style_indentation.feature +13 -13
- data/plugins/auto_indenter/features/step_definitions/indentation_steps.rb +3 -1
- data/plugins/auto_indenter/spec/auto_indenter/analyzer_spec.rb +1 -1
- data/plugins/auto_indenter/spec/spec_helper.rb +1 -5
- data/plugins/auto_pairer/features/auto_pairer.feature +1 -1
- data/plugins/comment/features/line_comment.feature +31 -26
- data/plugins/comment/features/selection_comment.feature +1 -1
- data/plugins/comment/features/step_definitions/comment_steps.rb +6 -2
- data/plugins/comment/vendor/comment_lib.json +2 -0
- data/plugins/core/lib/core.rb +26 -0
- data/plugins/core/spec/core/base_storage_spec.rb +1 -1
- data/plugins/core/spec/core/gui_spec.rb +1 -1
- data/plugins/core/spec/core/observable_spec.rb +2 -1
- data/plugins/core/spec/core/persistent_cache_spec.rb +1 -1
- data/plugins/core/spec/core/shared_storage_spec.rb +1 -1
- data/plugins/core/spec/core/storage_spec.rb +1 -1
- data/plugins/core/spec/core/task_queue_spec.rb +1 -3
- data/plugins/core/spec/spec_helper.rb +1 -4
- data/plugins/declarations/spec/declarations/file_spec.rb +1 -1
- data/plugins/declarations/spec/spec_helper.rb +1 -5
- data/plugins/document_search/features/find.feature +39 -39
- data/plugins/document_search/features/step_definitions/find_steps.rb +6 -2
- data/plugins/edit_view/features/align_assignment.feature +6 -82
- data/plugins/edit_view/features/case_change.feature +22 -22
- data/plugins/edit_view/features/cursor_navigation.feature +2 -2
- data/plugins/edit_view/features/cut_and_paste.feature +9 -9
- data/plugins/edit_view/features/indentation_commands.feature +8 -8
- data/plugins/edit_view/features/line_delimiter.feature +7 -7
- data/plugins/edit_view/features/multiple_windows.feature +48 -48
- data/plugins/edit_view/features/step_definitions/dependency_steps.rb +0 -0
- data/plugins/edit_view/features/step_definitions/editing_steps.rb +237 -127
- data/plugins/edit_view/features/step_definitions/grammar_steps.rb +5 -1
- data/plugins/edit_view/features/step_definitions/notebook_steps.rb +38 -24
- data/plugins/edit_view/features/step_definitions/tab_steps.rb +83 -45
- data/plugins/edit_view/features/step_definitions/window_steps.rb +75 -54
- data/plugins/edit_view/features/support/env.rb +4 -23
- data/plugins/edit_view/lib/edit_view/commands/align_assignment_command.rb +29 -30
- data/plugins/edit_view/lib/edit_view/document.rb +23 -0
- data/plugins/edit_view/spec/edit_view/commands/align_assignment_command_spec.rb +83 -0
- data/plugins/edit_view/spec/edit_view/document/indentation_spec.rb +1 -1
- data/plugins/edit_view/spec/edit_view/document_spec.rb +1 -1
- data/plugins/edit_view/spec/spec_helper.rb +1 -4
- data/plugins/edit_view_swt/spec/edit_view_swt/word_movement_spec.rb +1 -1
- data/plugins/edit_view_swt/spec/spec_helper.rb +1 -4
- data/plugins/html_view/features/fixtures/sample.html +1 -1
- data/plugins/html_view/features/step_definitions/html_view_steps.rb +40 -39
- data/plugins/java/features/syntax_check_java.feature +18 -16
- data/plugins/line_tools/features/step_definitions/line_tools_steps.rb +18 -6
- data/plugins/macros/features/block_selection_in_macros.feature +47 -47
- data/plugins/macros/features/step_definitions/macro_steps.rb +9 -3
- data/plugins/macros/features/step_definitions/prediction_steps.rb +6 -2
- data/plugins/macros/plugin.rb +2 -1
- data/plugins/macros/spec/macros/predictive/sequence_finder_spec.rb +1 -1
- data/plugins/macros/spec/spec_helper.rb +1 -6
- data/plugins/outline_view/features/outline_view.feature +5 -5
- data/plugins/outline_view/features/step_definitions/outline_steps.rb +29 -17
- data/plugins/plugin_manager_ui/lib/plugin_manager_ui.rb +1 -1
- data/plugins/project/features/close_directory_tree.feature +0 -12
- data/plugins/project/features/open_directory_tree.feature +1 -2
- data/plugins/project/features/step_definitions/directory_steps.rb +13 -5
- data/plugins/project/features/step_definitions/file_steps.rb +23 -9
- data/plugins/project/features/step_definitions/find_file_steps.rb +6 -2
- data/plugins/project/features/step_definitions/project_tree_steps.rb +6 -2
- data/plugins/project/features/watch_for_modified_files.feature +1 -1
- data/plugins/project/spec/project/adapters/remote_protocols/ftp_spec.rb +1 -1
- data/plugins/project/spec/project/adapters/remote_protocols/sftp_spec.rb +1 -1
- data/plugins/project/spec/project/adapters/remote_spec.rb +1 -1
- data/plugins/project/spec/project/dir_mirror_spec.rb +1 -1
- data/plugins/project/spec/project/file_list_spec.rb +1 -1
- data/plugins/project/spec/project/file_mirror_spec.rb +2 -1
- data/plugins/project/spec/spec_helper.rb +1 -4
- data/plugins/project_search/spec/project_search/binary_data_detector_spec.rb +1 -1
- data/plugins/project_search/spec/project_search/word_search_spec.rb +1 -1
- data/plugins/project_search/spec/spec_helper.rb +1 -4
- data/plugins/{application → redcar}/features/navigation_history.feature +8 -8
- data/plugins/redcar/features/step_definitions/font_steps.rb +9 -5
- data/plugins/redcar/redcar.rb +0 -26
- data/plugins/repl/features/step_definitions/repl_steps.rb +15 -5
- data/plugins/repl/plugin.rb +1 -1
- data/plugins/repl/spec/repl/repl_mirror_spec.rb +1 -1
- data/plugins/repl/spec/spec_helper.rb +1 -4
- data/plugins/ruby/spec/ruby/repl_mirror_spec.rb +1 -1
- data/plugins/ruby/spec/spec_helper.rb +1 -5
- data/plugins/runnables/features/parameter_input.feature +43 -43
- data/plugins/runnables/features/step_definitions/runnable_steps.rb +9 -3
- data/plugins/runnables/plugin.rb +2 -2
- data/plugins/runnables/spec/runnables/output_processor_spec.rb +1 -1
- data/plugins/runnables/spec/spec_helper.rb +1 -5
- data/plugins/scm_svn/features/add_and_commit.feature +1 -0
- data/plugins/scm_svn/features/checkout.feature +1 -0
- data/plugins/scm_svn/features/edit_and_index.feature +1 -0
- data/plugins/scm_svn/features/ignore_files.feature +1 -0
- data/plugins/scm_svn/features/merge.feature +1 -0
- data/plugins/scm_svn/features/resolve_conflict.feature +1 -0
- data/plugins/scm_svn/features/revert_and_delete.feature +1 -0
- data/plugins/scm_svn/features/step_definitions/branch_and_merge_steps.rb +14 -9
- data/plugins/scm_svn/features/support/env.rb +4 -4
- data/plugins/scm_svn/features/switch_branches.feature +1 -0
- data/plugins/scm_svn/features/update.feature +1 -0
- data/plugins/strip_trailing_spaces/features/strip_trailing_spaces.feature +4 -4
- data/plugins/test_runner/plugin.rb +3 -1
- data/plugins/test_runner/spec/run_test_command_spec.rb +58 -50
- data/plugins/test_runner/spec/spec_helper.rb +1 -5
- data/plugins/textmate/features/step_definitions/tree_steps.rb +2 -0
- data/plugins/todo_list/features/todo_list.feature +1 -1
- data/plugins/todo_list/spec/spec_helper.rb +1 -4
- data/plugins/todo_list/spec/todo_list/file_parser_spec.rb +1 -1
- data/plugins/tree_view_swt/lib/tree_view_swt.rb +2 -1
- data/plugins/web_bookmarks/features/step_definitions/web_steps.rb +1 -1
- metadata +48 -48
- data/lib/redcar/installer.rb +0 -178
- data/plugins/key_bindings/spec/spec_helper.rb +0 -5
- data/plugins/scm/spec/spec_helper.rb +0 -5
|
@@ -39,7 +39,7 @@ Feature: Automatically insert paired characters
|
|
|
39
39
|
Scenario: Wrap selected text
|
|
40
40
|
When I open a new edit tab
|
|
41
41
|
And I type "Boris"
|
|
42
|
-
And I select from 0 to 5
|
|
42
|
+
And I select from (0,0) to (0,5)
|
|
43
43
|
And I type "("
|
|
44
44
|
Then the contents should be "(Boris)<c>"
|
|
45
45
|
|
|
@@ -6,7 +6,7 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
6
6
|
Scenario: Commenting a single line
|
|
7
7
|
When I replace the contents with "A piece of code"
|
|
8
8
|
And I switch the language to "C"
|
|
9
|
-
And I move the cursor to 5
|
|
9
|
+
And I move the cursor to (0,5)
|
|
10
10
|
And I toggle comment lines
|
|
11
11
|
Then the contents should be "// A pie<c>ce of code"
|
|
12
12
|
When I toggle comment lines
|
|
@@ -15,14 +15,14 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
15
15
|
Scenario: Uncommenting a single line
|
|
16
16
|
When I replace the contents with "# A piece of code"
|
|
17
17
|
And I switch the language to "Ruby"
|
|
18
|
-
And I move the cursor to 5
|
|
18
|
+
And I move the cursor to (0,5)
|
|
19
19
|
And I toggle comment lines
|
|
20
20
|
Then the contents should be "A p<c>iece of code"
|
|
21
21
|
|
|
22
22
|
Scenario: Commenting a single line among many
|
|
23
23
|
When I replace the contents with "foo\nbar\nbaz"
|
|
24
24
|
And I switch the language to "Ruby"
|
|
25
|
-
And I move the cursor to 4
|
|
25
|
+
And I move the cursor to (0,4)
|
|
26
26
|
And I toggle comment lines
|
|
27
27
|
Then the contents should be "foo\n<c># bar\nbaz"
|
|
28
28
|
When I toggle comment lines
|
|
@@ -31,14 +31,14 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
31
31
|
Scenario: Uncommenting a single line that doesn't have the space
|
|
32
32
|
When I replace the contents with "#A piece of code"
|
|
33
33
|
And I switch the language to "Ruby"
|
|
34
|
-
And I move the cursor to 5
|
|
34
|
+
And I move the cursor to (0,5)
|
|
35
35
|
And I toggle comment lines
|
|
36
36
|
Then the contents should be "A piece of code"
|
|
37
37
|
|
|
38
38
|
Scenario: Commenting several lines
|
|
39
39
|
When I replace the contents with "Two pieces\nof code"
|
|
40
40
|
And I switch the language to "Ruby"
|
|
41
|
-
And I select from 0 to
|
|
41
|
+
And I select from (0,0) to (1,2)
|
|
42
42
|
And I toggle comment lines
|
|
43
43
|
Then the contents should be "<s># Two pieces\n# of<c> code"
|
|
44
44
|
When I toggle comment lines
|
|
@@ -47,14 +47,14 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
47
47
|
Scenario: Uncommenting several lines, not all of them have the space
|
|
48
48
|
When I replace the contents with "# Two pieces\n#of code"
|
|
49
49
|
And I switch the language to "Ruby"
|
|
50
|
-
And I select from 0 to
|
|
50
|
+
And I select from (0,0) to (1,3)
|
|
51
51
|
And I toggle comment lines
|
|
52
52
|
Then the contents should be "<s>Two pieces\nof<c> code"
|
|
53
53
|
|
|
54
54
|
Scenario: Commenting when not all the lines begin with the comment symbol
|
|
55
55
|
When I replace the contents with "# foo\n# bar\nbaz"
|
|
56
56
|
And I switch the language to "Ruby"
|
|
57
|
-
And I select from 0 to
|
|
57
|
+
And I select from (0,0) to (2,3)
|
|
58
58
|
And I toggle comment lines
|
|
59
59
|
Then the contents should be "<s># # foo\n# # bar\n# baz<c>"
|
|
60
60
|
When I toggle comment lines
|
|
@@ -63,7 +63,7 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
63
63
|
Scenario: Commenting when not all the lines begin with the comment symbol, reversed
|
|
64
64
|
When I replace the contents with "# foo\n# bar\nbaz"
|
|
65
65
|
And I switch the language to "Ruby"
|
|
66
|
-
And I select from
|
|
66
|
+
And I select from (2,3) to (0,0)
|
|
67
67
|
And I toggle comment lines
|
|
68
68
|
Then the contents should be "<c># # foo\n# # bar\n# baz<s>"
|
|
69
69
|
When I toggle comment lines
|
|
@@ -72,7 +72,7 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
72
72
|
Scenario: Commenting a single line with the cursor on the next line
|
|
73
73
|
When I replace the contents with "Two pieces\nof code"
|
|
74
74
|
And I switch the language to "Ruby"
|
|
75
|
-
And I select from 0 to
|
|
75
|
+
And I select from (0,0) to (1,0)
|
|
76
76
|
And I toggle comment lines
|
|
77
77
|
Then the contents should be "<s># Two pieces\n<c>of code"
|
|
78
78
|
When I toggle comment lines
|
|
@@ -81,7 +81,7 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
81
81
|
Scenario: Commenting a single line with the cursor on the next line, reversed
|
|
82
82
|
When I replace the contents with "Two pieces\nof code"
|
|
83
83
|
And I switch the language to "Ruby"
|
|
84
|
-
And I select from
|
|
84
|
+
And I select from (1,0) to (0,0)
|
|
85
85
|
And I toggle comment lines
|
|
86
86
|
Then the contents should be "<c># Two pieces\n<s>of code"
|
|
87
87
|
When I toggle comment lines
|
|
@@ -90,7 +90,7 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
90
90
|
Scenario: Commenting a single line with the cursor and selection point on the same line
|
|
91
91
|
When I replace the contents with "Two pieces\nof code"
|
|
92
92
|
And I switch the language to "Ruby"
|
|
93
|
-
And I select from 3 to 0
|
|
93
|
+
And I select from (0,3) to (0,0)
|
|
94
94
|
And I toggle comment lines
|
|
95
95
|
Then the contents should be "<c># Two<s> pieces\nof code"
|
|
96
96
|
When I toggle comment lines
|
|
@@ -99,7 +99,7 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
99
99
|
Scenario: Inserting a single space after comments when a line has no indentation
|
|
100
100
|
When I replace the contents with "A few\nlines\nof unindented\ncode"
|
|
101
101
|
And I switch the language to "Ruby"
|
|
102
|
-
And I select from 2 to
|
|
102
|
+
And I select from (0,2) to (3,1)
|
|
103
103
|
And I toggle comment lines
|
|
104
104
|
Then the contents should be "A <s># few\n# lines\n# of unindented\n# c<c>ode"
|
|
105
105
|
When I toggle comment lines
|
|
@@ -116,7 +116,7 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
116
116
|
Scenario: Commenting several lines, not from the start of one of them
|
|
117
117
|
When I replace the contents with "Two pieces\nof code"
|
|
118
118
|
And I switch the language to "Ruby"
|
|
119
|
-
And I select from 2 to
|
|
119
|
+
And I select from (0,2) to (1,2)
|
|
120
120
|
And I toggle comment lines
|
|
121
121
|
Then the contents should be "Tw<s># o pieces\n# of<c> code"
|
|
122
122
|
When I toggle comment lines
|
|
@@ -125,7 +125,7 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
125
125
|
Scenario: Commenting several lines, not from the start of one of them, reversed
|
|
126
126
|
When I replace the contents with "Two pieces\nof code"
|
|
127
127
|
And I switch the language to "Ruby"
|
|
128
|
-
And I select from
|
|
128
|
+
And I select from (1,2) to (0,2)
|
|
129
129
|
And I toggle comment lines
|
|
130
130
|
Then the contents should be "Tw<c># o pieces\n# of<s> code"
|
|
131
131
|
When I toggle comment lines
|
|
@@ -134,7 +134,7 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
134
134
|
Scenario: Commenting several lines, not from the start of one of them
|
|
135
135
|
When I replace the contents with " foo\n bar"
|
|
136
136
|
And I switch the language to "Ruby"
|
|
137
|
-
And I select from 2 to
|
|
137
|
+
And I select from (0,2) to (1,7)
|
|
138
138
|
And I toggle comment lines
|
|
139
139
|
Then the contents should be " <s> # foo\n # bar<c>"
|
|
140
140
|
When I toggle comment lines
|
|
@@ -143,16 +143,17 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
143
143
|
Scenario: Commenting several lines, with mismatched indentation, beginning in the start
|
|
144
144
|
When I replace the contents with " def foo\n dfo\n sdfj\n asdf\nasdf"
|
|
145
145
|
And I switch the language to "Ruby"
|
|
146
|
-
And I select from 0 to
|
|
146
|
+
And I select from (0,0) to (4,2)
|
|
147
147
|
And I toggle comment lines
|
|
148
148
|
Then the contents should be "<s># def foo\n# dfo\n# sdfj\n# asdf\n# as<c>df"
|
|
149
149
|
|
|
150
150
|
Scenario: Commenting several indented lines, beginning before the text starts
|
|
151
151
|
Given the content is:
|
|
152
152
|
"""
|
|
153
|
-
|
|
154
|
-
dfo
|
|
153
|
+
def foo
|
|
154
|
+
dfo
|
|
155
155
|
"""
|
|
156
|
+
And I select from (0,2) to (1,11)
|
|
156
157
|
And I switch the language to "Ruby"
|
|
157
158
|
And I toggle comment lines
|
|
158
159
|
Then the content should be:
|
|
@@ -164,9 +165,10 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
164
165
|
Scenario: Commenting several indented lines, beginning before the text starts, reversed
|
|
165
166
|
Given the content is:
|
|
166
167
|
"""
|
|
167
|
-
|
|
168
|
-
dfo
|
|
168
|
+
def foo
|
|
169
|
+
dfo
|
|
169
170
|
"""
|
|
171
|
+
And I select from (1,11) to (0,2)
|
|
170
172
|
And I switch the language to "Ruby"
|
|
171
173
|
And I toggle comment lines
|
|
172
174
|
Then the content should be:
|
|
@@ -178,9 +180,10 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
178
180
|
Scenario: Commenting several indented lines, beginning where the text starts
|
|
179
181
|
Given the content is:
|
|
180
182
|
"""
|
|
181
|
-
|
|
182
|
-
dfo
|
|
183
|
+
def foo
|
|
184
|
+
dfo
|
|
183
185
|
"""
|
|
186
|
+
And I select from (0,6) to (1,11)
|
|
184
187
|
And I switch the language to "Ruby"
|
|
185
188
|
And I toggle comment lines
|
|
186
189
|
Then the content should be:
|
|
@@ -198,13 +201,14 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
198
201
|
Scenario: Commenting several indented lines, with a whitespace only line in between
|
|
199
202
|
Given the content is:
|
|
200
203
|
"""
|
|
201
|
-
|
|
204
|
+
doc.compound do
|
|
202
205
|
all_lines_are_already_commented = true
|
|
203
206
|
start_line_comment_offset = nil
|
|
204
207
|
insertion_column = 1000
|
|
205
208
|
|
|
206
|
-
|
|
209
|
+
(start_line..end_line).each do |line|
|
|
207
210
|
"""
|
|
211
|
+
And I select from (0,4) to (5,6)
|
|
208
212
|
And I switch the language to "Ruby"
|
|
209
213
|
And I toggle comment lines
|
|
210
214
|
Then the content should be:
|
|
@@ -220,13 +224,14 @@ Feature: Commenting lines by prefixing a comment string
|
|
|
220
224
|
Scenario: Commenting several indented lines, with a blank line in between
|
|
221
225
|
Given the content is:
|
|
222
226
|
"""
|
|
223
|
-
|
|
227
|
+
doc.compound do
|
|
224
228
|
all_lines_are_already_commented = true
|
|
225
229
|
start_line_comment_offset = nil
|
|
226
230
|
insertion_column = 1000
|
|
227
231
|
|
|
228
|
-
|
|
232
|
+
(start_line..end_line).each do |line|
|
|
229
233
|
"""
|
|
234
|
+
And I select from (0,4) to (5,6)
|
|
230
235
|
And I switch the language to "Ruby"
|
|
231
236
|
And I toggle comment lines
|
|
232
237
|
Then the content should be:
|
|
@@ -14,7 +14,7 @@ Feature: Commenting a selected area of text
|
|
|
14
14
|
Scenario: Commenting a selection spanning several lines
|
|
15
15
|
When I replace the contents with "a piece\nof code"
|
|
16
16
|
And I switch the language to "C++"
|
|
17
|
-
And I select from 4 to
|
|
17
|
+
And I select from (0,4) to (1,1)
|
|
18
18
|
And I toggle block comment
|
|
19
19
|
Then I should see "a pi/*ece\no*/f code" in the edit tab
|
|
20
20
|
And I toggle block comment
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
When /^I toggle block comment$/ do
|
|
2
|
-
|
|
2
|
+
Swt.sync_exec do
|
|
3
|
+
Redcar::Comment::ToggleSelectionCommentCommand.new.run
|
|
4
|
+
end
|
|
3
5
|
end
|
|
4
6
|
|
|
5
7
|
When /^I toggle comment lines$/ do
|
|
6
|
-
|
|
8
|
+
Swt.sync_exec do
|
|
9
|
+
Redcar::Comment::ToggleLineCommentCommand.new.run
|
|
10
|
+
end
|
|
7
11
|
end
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
"C" : { "line_comment" : "//" , "start_block" : "/*" , "end_block" : "*/" },
|
|
5
5
|
"C#" : { "line_comment" : "//" , "start_block" : "/*" , "end_block" : "*/" },
|
|
6
6
|
"C++" : { "line_comment" : "//" , "start_block" : "/*" , "end_block" : "*/" },
|
|
7
|
+
"CSS" : { "start_block" : "/*" , "end_block" : "*/" },
|
|
7
8
|
"Cucumber Plain Text Feature" : { "line_comment" : "#" },
|
|
8
9
|
"Clojure" : { "line_comment" : ";" , "start_block" : "(comment", "end_block" : ")" },
|
|
9
10
|
"CoffeeScript" : { "line_comment" : "#" , "start_block" : "###\n" , "end_block" : "\n###" },
|
|
@@ -30,6 +31,7 @@
|
|
|
30
31
|
"RSpec" : { "line_comment" : "#" , "start_block" : "=begin\n", "end_block" : "\n=end" },
|
|
31
32
|
"Ruby" : { "line_comment" : "#" , "start_block" : "=begin\n", "end_block" : "\n=end" },
|
|
32
33
|
"Ruby on Rails" : { "line_comment" : "#" , "start_block" : "=begin\n", "end_block" : "\n=end" },
|
|
34
|
+
"Ruby Sass" : { "line_comment" : "//" },
|
|
33
35
|
"Scala" : { "line_comment" : "//" , "start_block" : "/*" , "end_block" : "*/" },
|
|
34
36
|
"Scheme" : { "line_comment" : ";" , "start_block" : "#|" , "end_block" : "|#" },
|
|
35
37
|
"Shell Script (Bash)" : { "line_comment" : "#" },
|
data/plugins/core/lib/core.rb
CHANGED
|
@@ -38,4 +38,30 @@ module Redcar
|
|
|
38
38
|
PersistentCache.storage_dir = File.join(Redcar.user_dir, "cache")
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
|
+
|
|
42
|
+
class TimeoutError < StandardError; end
|
|
43
|
+
|
|
44
|
+
def self.timeout(limit)
|
|
45
|
+
x = Thread.current
|
|
46
|
+
result = nil
|
|
47
|
+
y = Thread.new do
|
|
48
|
+
begin
|
|
49
|
+
result = yield
|
|
50
|
+
rescue Object => e
|
|
51
|
+
x.raise e
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
s = Time.now
|
|
55
|
+
loop do
|
|
56
|
+
if not y.alive?
|
|
57
|
+
break
|
|
58
|
+
elsif Time.now - s > limit
|
|
59
|
+
y.kill
|
|
60
|
+
raise Redcar::TimeoutError, "timed out after #{Time.now - s}s"
|
|
61
|
+
break
|
|
62
|
+
end
|
|
63
|
+
sleep 0.1
|
|
64
|
+
end
|
|
65
|
+
result
|
|
66
|
+
end
|
|
41
67
|
end
|
|
@@ -8,21 +8,21 @@ Feature: Find
|
|
|
8
8
|
|
|
9
9
|
Scenario: Open Find speedbar
|
|
10
10
|
When I replace the contents with "Foo\nBar\nBaz"
|
|
11
|
-
And I move the cursor to 0
|
|
12
|
-
And I
|
|
11
|
+
And I move the cursor to (0,0)
|
|
12
|
+
And I select menu item "Edit|Find|Find..."
|
|
13
13
|
Then I should see the find speedbar
|
|
14
14
|
|
|
15
15
|
Scenario: Search for a word should select next occurrence
|
|
16
16
|
When I replace the contents with "Foo\nBar\nBaz"
|
|
17
|
-
And I move the cursor to 0
|
|
18
|
-
And I
|
|
17
|
+
And I move the cursor to (0,0)
|
|
18
|
+
And I select menu item "Edit|Find|Find..."
|
|
19
19
|
And I type "Bar" into the "Find" field in the speedbar
|
|
20
20
|
And I press "Next" in the speedbar
|
|
21
21
|
Then the selected text should be "Bar"
|
|
22
22
|
|
|
23
23
|
Scenario: Search twice should move to the next occurrence
|
|
24
24
|
When I replace the contents with "Foo\nBar\nFoo"
|
|
25
|
-
And I move the cursor to 0
|
|
25
|
+
And I move the cursor to (0,0)
|
|
26
26
|
And I open the find speedbar
|
|
27
27
|
And I type "Foo" into the "Find" field in the speedbar
|
|
28
28
|
And I press "Next" in the speedbar
|
|
@@ -33,7 +33,7 @@ Feature: Find
|
|
|
33
33
|
|
|
34
34
|
Scenario: Search for a word adjacent to cursor should select word
|
|
35
35
|
When I replace the contents with "Foo\nBar\nBaz"
|
|
36
|
-
And I move the cursor to 0
|
|
36
|
+
And I move the cursor to (0,0)
|
|
37
37
|
And I open the find speedbar
|
|
38
38
|
And I type "Foo" into the "Find" field in the speedbar
|
|
39
39
|
And I press "Next" in the speedbar
|
|
@@ -41,7 +41,7 @@ Feature: Find
|
|
|
41
41
|
|
|
42
42
|
Scenario: Search for a word should find occurrence after the cursor
|
|
43
43
|
When I replace the contents with "Foo\nBar\nBaz\nFoo"
|
|
44
|
-
And I move the cursor to 1
|
|
44
|
+
And I move the cursor to (0,1)
|
|
45
45
|
And I open the find speedbar
|
|
46
46
|
And I type "Foo" into the "Find" field in the speedbar
|
|
47
47
|
And I press "Next" in the speedbar
|
|
@@ -53,7 +53,7 @@ Feature: Find
|
|
|
53
53
|
|
|
54
54
|
Scenario: Search for a word should wrap to earlier occurrence if none left
|
|
55
55
|
When I replace the contents with "Foo\nBar\nBaz"
|
|
56
|
-
And I move the cursor to 3
|
|
56
|
+
And I move the cursor to (0,3)
|
|
57
57
|
And I open the find speedbar
|
|
58
58
|
And I type "Foo" into the "Find" field in the speedbar
|
|
59
59
|
And I press "Next" in the speedbar
|
|
@@ -62,7 +62,7 @@ Feature: Find
|
|
|
62
62
|
|
|
63
63
|
Scenario: Should start searching after the selection if the query matches exactly
|
|
64
64
|
When I replace the contents with "Foobar\nBarfoo\nBazhmm\nFoobar"
|
|
65
|
-
And I select from 0 to 6
|
|
65
|
+
And I select from (0,0) to (0,6)
|
|
66
66
|
And I open the find speedbar
|
|
67
67
|
And I type "Foobar" into the "Find" field in the speedbar
|
|
68
68
|
And I press "Next" in the speedbar
|
|
@@ -71,7 +71,7 @@ Feature: Find
|
|
|
71
71
|
|
|
72
72
|
Scenario: Should start search within the selection if it matches the beginning of the query
|
|
73
73
|
When I replace the contents with "Foobar\nBarfoo\nBazhmm\nFoobar"
|
|
74
|
-
And I select from 0 to 3
|
|
74
|
+
And I select from (0,0) to (0,3)
|
|
75
75
|
And I open the find speedbar
|
|
76
76
|
And I type "Foobar" into the "Find" field in the speedbar
|
|
77
77
|
And I press "Next" in the speedbar
|
|
@@ -80,7 +80,7 @@ Feature: Find
|
|
|
80
80
|
|
|
81
81
|
Scenario: Should start search within the selection if the query matches partially
|
|
82
82
|
When I replace the contents with "Foobar\nBarfoo\nBazhmm\nFoobar"
|
|
83
|
-
And I select from 0 to 6
|
|
83
|
+
And I select from (0,0) to (0,6)
|
|
84
84
|
And I open the find speedbar
|
|
85
85
|
And I type "Foo" into the "Find" field in the speedbar
|
|
86
86
|
And I press "Next" in the speedbar
|
|
@@ -89,7 +89,7 @@ Feature: Find
|
|
|
89
89
|
|
|
90
90
|
Scenario: Not thrown off by multi-byte characters
|
|
91
91
|
When I replace the contents with "Benedikt Müller"
|
|
92
|
-
And I move the cursor to 0
|
|
92
|
+
And I move the cursor to (0,0)
|
|
93
93
|
And I open the find speedbar
|
|
94
94
|
And I type "ler" into the "Find" field in the speedbar
|
|
95
95
|
And I press "Next" in the speedbar
|
|
@@ -98,7 +98,7 @@ Feature: Find
|
|
|
98
98
|
|
|
99
99
|
Scenario: Not thrown off by multi-byte characters 2
|
|
100
100
|
When I replace the contents with "Benedikt Müller\n foo "
|
|
101
|
-
And I move the cursor to 0
|
|
101
|
+
And I move the cursor to (0,0)
|
|
102
102
|
And I open the find speedbar
|
|
103
103
|
And I type "foo" into the "Find" field in the speedbar
|
|
104
104
|
And I press "Next" in the speedbar
|
|
@@ -107,7 +107,7 @@ Feature: Find
|
|
|
107
107
|
|
|
108
108
|
Scenario: Not thrown off by multi-byte characters 3
|
|
109
109
|
When I replace the contents with "你好, 凯兰\nYou make my heart super happy."
|
|
110
|
-
And I move the cursor to 0
|
|
110
|
+
And I move the cursor to (0,0)
|
|
111
111
|
And I open the find speedbar
|
|
112
112
|
And I type "you" into the "Find" field in the speedbar
|
|
113
113
|
And I press "Next" in the speedbar
|
|
@@ -116,7 +116,7 @@ Feature: Find
|
|
|
116
116
|
|
|
117
117
|
Scenario: Handles repeated search across by multi-byte characters
|
|
118
118
|
When I replace the contents with "Foo\n你好, 凯兰\nFoo\nBar\nFoo\nBaz"
|
|
119
|
-
And I move the cursor to 0
|
|
119
|
+
And I move the cursor to (0,0)
|
|
120
120
|
And I open the find speedbar
|
|
121
121
|
And I type "foo" into the "Find" field in the speedbar
|
|
122
122
|
And I press "Next" in the speedbar
|
|
@@ -137,7 +137,7 @@ Feature: Find
|
|
|
137
137
|
|
|
138
138
|
Scenario: Should select multi-byte characters
|
|
139
139
|
When I replace the contents with "Benedikt Müller"
|
|
140
|
-
And I move the cursor to 0
|
|
140
|
+
And I move the cursor to (0,0)
|
|
141
141
|
And I open the find speedbar
|
|
142
142
|
And I type "mül" into the "Find" field in the speedbar
|
|
143
143
|
And I press "Next" in the speedbar
|
|
@@ -146,7 +146,7 @@ Feature: Find
|
|
|
146
146
|
|
|
147
147
|
Scenario: Should select multi-byte characters
|
|
148
148
|
When I replace the contents with "Benedikt Müller"
|
|
149
|
-
And I move the cursor to 0
|
|
149
|
+
And I move the cursor to (0,0)
|
|
150
150
|
And I open the find speedbar
|
|
151
151
|
And I type "mül" into the "Find" field in the speedbar
|
|
152
152
|
And I press "Next" in the speedbar
|
|
@@ -155,7 +155,7 @@ Feature: Find
|
|
|
155
155
|
|
|
156
156
|
Scenario: Should select multi-byte characters 2
|
|
157
157
|
When I replace the contents with "你好, 凯兰\nYou make my heart super happy."
|
|
158
|
-
And I move the cursor to 0
|
|
158
|
+
And I move the cursor to (0,0)
|
|
159
159
|
And I open the find speedbar
|
|
160
160
|
And I type "凯兰" into the "Find" field in the speedbar
|
|
161
161
|
And I press "Next" in the speedbar
|
|
@@ -164,7 +164,7 @@ Feature: Find
|
|
|
164
164
|
|
|
165
165
|
Scenario: Doesn't search for a regex
|
|
166
166
|
When I replace the contents with "Foo\nBar\nBaz"
|
|
167
|
-
And I move the cursor to 0
|
|
167
|
+
And I move the cursor to (0,0)
|
|
168
168
|
And I open the find speedbar
|
|
169
169
|
And I type "Ba." into the "Find" field in the speedbar
|
|
170
170
|
And I press "Next" in the speedbar
|
|
@@ -172,7 +172,7 @@ Feature: Find
|
|
|
172
172
|
|
|
173
173
|
Scenario: Search for a regex
|
|
174
174
|
When I replace the contents with "Foo\nBar\nBaz"
|
|
175
|
-
And I move the cursor to 0
|
|
175
|
+
And I move the cursor to (0,0)
|
|
176
176
|
And I open the find speedbar
|
|
177
177
|
And I type "Ba." into the "Find" field in the speedbar
|
|
178
178
|
And I press "Next" in the speedbar
|
|
@@ -185,7 +185,7 @@ Feature: Find
|
|
|
185
185
|
|
|
186
186
|
Scenario: Should not match case by default
|
|
187
187
|
When I replace the contents with "Foo\nBar\nBaz"
|
|
188
|
-
And I move the cursor to 0
|
|
188
|
+
And I move the cursor to (0,0)
|
|
189
189
|
And I open the find speedbar
|
|
190
190
|
And I type "foo" into the "Find" field in the speedbar
|
|
191
191
|
And I press "Next" in the speedbar
|
|
@@ -193,7 +193,7 @@ Feature: Find
|
|
|
193
193
|
|
|
194
194
|
Scenario: Should not match case with regex by default
|
|
195
195
|
When I replace the contents with "Foo\nBar\nBaz"
|
|
196
|
-
And I move the cursor to 0
|
|
196
|
+
And I move the cursor to (0,0)
|
|
197
197
|
And I open the find speedbar
|
|
198
198
|
And I type "fo." into the "Find" field in the speedbar
|
|
199
199
|
And I press "Next" in the speedbar
|
|
@@ -204,36 +204,36 @@ Feature: Find
|
|
|
204
204
|
|
|
205
205
|
Scenario: Should match case if requested
|
|
206
206
|
When I replace the contents with "Foo\nBar\nBaz"
|
|
207
|
-
And I move the cursor to 0
|
|
207
|
+
And I move the cursor to (0,0)
|
|
208
208
|
And I open the find speedbar
|
|
209
209
|
And I type "foo" into the "Find" field in the speedbar
|
|
210
210
|
And I press "Next" in the speedbar
|
|
211
211
|
Then the selected text should be "Foo"
|
|
212
212
|
When I check "Match case" in the speedbar
|
|
213
|
-
And I move the cursor to 0
|
|
213
|
+
And I move the cursor to (0,0)
|
|
214
214
|
And I press "Next" in the speedbar
|
|
215
215
|
Then there should not be any text selected
|
|
216
216
|
When I type "Foo" into the "Find" field in the speedbar
|
|
217
|
-
And I move the cursor to 0
|
|
217
|
+
And I move the cursor to (0,0)
|
|
218
218
|
And I press "Next" in the speedbar
|
|
219
219
|
Then the selected text should be "Foo"
|
|
220
220
|
|
|
221
221
|
Scenario: Should match case if requested with regex
|
|
222
222
|
When I replace the contents with "Foo\nBar\nBaz"
|
|
223
|
-
And I move the cursor to 0
|
|
223
|
+
And I move the cursor to (0,0)
|
|
224
224
|
And I open the find speedbar
|
|
225
225
|
And I check "Regex" in the speedbar
|
|
226
226
|
And I type "fo." into the "Find" field in the speedbar
|
|
227
227
|
And I press "Next" in the speedbar
|
|
228
228
|
Then the selected text should be "Foo"
|
|
229
229
|
When I check "Match case" in the speedbar
|
|
230
|
-
And I move the cursor to 0
|
|
230
|
+
And I move the cursor to (0,0)
|
|
231
231
|
And I press "Next" in the speedbar
|
|
232
232
|
Then there should not be any text selected
|
|
233
233
|
|
|
234
234
|
Scenario: Find next with wrap around
|
|
235
235
|
When I replace the contents with "Foo\nBar Foo\nHmm\nBaz"
|
|
236
|
-
And I move the cursor to 0
|
|
236
|
+
And I move the cursor to (0,0)
|
|
237
237
|
And I open the find speedbar
|
|
238
238
|
And I type "Foo" into the "Find" field in the speedbar
|
|
239
239
|
And I press "Next" in the speedbar
|
|
@@ -251,7 +251,7 @@ Feature: Find
|
|
|
251
251
|
|
|
252
252
|
Scenario: Find next without wrap around
|
|
253
253
|
When I replace the contents with "Foo\nBar Foo\nHmm\nBaz"
|
|
254
|
-
And I move the cursor to 0
|
|
254
|
+
And I move the cursor to (0,0)
|
|
255
255
|
And I open the find speedbar
|
|
256
256
|
And I uncheck "Wrap around" in the speedbar
|
|
257
257
|
And I type "foo" into the "Find" field in the speedbar
|
|
@@ -269,7 +269,7 @@ Feature: Find
|
|
|
269
269
|
|
|
270
270
|
Scenario: Find previous with wrap around by default
|
|
271
271
|
When I replace the contents with "Foo\nBar Foo\nHmm\nBaz"
|
|
272
|
-
And I move the cursor to
|
|
272
|
+
And I move the cursor to (3,2)
|
|
273
273
|
And I open the find speedbar
|
|
274
274
|
And I type "foo" into the "Find" field in the speedbar
|
|
275
275
|
And I press "Next" in the speedbar
|
|
@@ -287,7 +287,7 @@ Feature: Find
|
|
|
287
287
|
|
|
288
288
|
Scenario: Find previous without wrap around
|
|
289
289
|
When I replace the contents with "Foo\nBar Foo\nHmm\nBaz"
|
|
290
|
-
And I move the cursor to
|
|
290
|
+
And I move the cursor to (3,2)
|
|
291
291
|
And I open the find speedbar
|
|
292
292
|
And I uncheck "Wrap around" in the speedbar
|
|
293
293
|
And I type "Foo" into the "Find" field in the speedbar
|
|
@@ -308,7 +308,7 @@ Feature: Find
|
|
|
308
308
|
Scenario: Should scroll vertically to the match
|
|
309
309
|
When I replace the contents with 100 lines of "xxx" then "Foo"
|
|
310
310
|
And I scroll to the top of the document
|
|
311
|
-
And I move the cursor to 0
|
|
311
|
+
And I move the cursor to (0,0)
|
|
312
312
|
And I open the find speedbar
|
|
313
313
|
And I type "foo" into the "Find" field in the speedbar
|
|
314
314
|
And I press "Next" in the speedbar
|
|
@@ -317,7 +317,7 @@ Feature: Find
|
|
|
317
317
|
|
|
318
318
|
Scenario: "Should scroll horizontally to the match"
|
|
319
319
|
When I replace the contents with 300 "x" then "Foo"
|
|
320
|
-
And I move the cursor to 0
|
|
320
|
+
And I move the cursor to (0,0)
|
|
321
321
|
And I open the find speedbar
|
|
322
322
|
And I type "foo" into the "Find" field in the speedbar
|
|
323
323
|
And I press "Next" in the speedbar
|
|
@@ -333,8 +333,8 @@ Feature: Find
|
|
|
333
333
|
|
|
334
334
|
Scenario: Should initialize query with the currently selected text
|
|
335
335
|
When I replace the contents with "Flux\nBar\nFoo"
|
|
336
|
-
And I move the cursor to 0
|
|
337
|
-
And I select from 0 to 4
|
|
336
|
+
And I move the cursor to (0,0)
|
|
337
|
+
And I select from (0,0) to (0,4)
|
|
338
338
|
And I open the find speedbar
|
|
339
339
|
Then the "Find" field in the speedbar should have text "Flux"
|
|
340
340
|
|
|
@@ -344,7 +344,7 @@ Feature: Find
|
|
|
344
344
|
|
|
345
345
|
Scenario: Replace and find with no initial selection
|
|
346
346
|
When I replace the contents with "Foo\nBar Foo Rab Rab\nHmm\nRab\nFoo\nBaz"
|
|
347
|
-
And I move the cursor to 0
|
|
347
|
+
And I move the cursor to (0,0)
|
|
348
348
|
And I open the find speedbar
|
|
349
349
|
And I type "Rab" into the "Find" field in the speedbar
|
|
350
350
|
And I type "RABBIT" into the "Replace" field in the speedbar
|
|
@@ -464,7 +464,7 @@ Feature: Find
|
|
|
464
464
|
|
|
465
465
|
Scenario: Replace all replaces one
|
|
466
466
|
When I replace the contents with "Foo\nBar\nBaz"
|
|
467
|
-
And I move the cursor to 0
|
|
467
|
+
And I move the cursor to (0,0)
|
|
468
468
|
And I open the find speedbar
|
|
469
469
|
And I type "Bar" into the "Find" field in the speedbar
|
|
470
470
|
And I type "Rab" into the "Replace" field in the speedbar
|
|
@@ -476,7 +476,7 @@ Feature: Find
|
|
|
476
476
|
|
|
477
477
|
Scenario: Replace all replaces two
|
|
478
478
|
When I replace the contents with "Foo\nBar\nBaz\nBar\nQux"
|
|
479
|
-
And I move the cursor to 0
|
|
479
|
+
And I move the cursor to (0,0)
|
|
480
480
|
And I open the find speedbar
|
|
481
481
|
And I type "Bar" into the "Find" field in the speedbar
|
|
482
482
|
And I type "Rab" into the "Replace" field in the speedbar
|
|
@@ -527,7 +527,7 @@ Feature: Find
|
|
|
527
527
|
|
|
528
528
|
Scenario: Replace all regex with back-references
|
|
529
529
|
When I replace the contents with "One fish\ntwo fish\nred fish\nblue fish"
|
|
530
|
-
And I move the cursor to 0
|
|
530
|
+
And I move the cursor to (0,0)
|
|
531
531
|
And I open the find speedbar
|
|
532
532
|
And I type "(\w+) fish" into the "Find" field in the speedbar
|
|
533
533
|
And I type "\1 car" into the "Replace" field in the speedbar
|