redcar-dev 0.12.17dev
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 +664 -0
- data/LICENSE +32 -0
- data/README.md +119 -0
- data/Rakefile +283 -0
- data/bin/redcar +29 -0
- data/lib/redcar.rb +307 -0
- data/lib/redcar/installer.rb +178 -0
- data/lib/redcar/instance_exec.rb +25 -0
- data/lib/redcar/logger.rb +64 -0
- data/lib/redcar/plist.rb +83 -0
- data/lib/redcar/ruby_extensions.rb +201 -0
- data/lib/redcar/runner.rb +130 -0
- data/lib/redcar/usage.rb +42 -0
- data/lib/redcar_quick_start.rb +100 -0
- data/lib/regex_replace.rb +221 -0
- data/lib/tasks/app-bundle.rake +63 -0
- data/plugins/application/features/main_menu.feature +9 -0
- data/plugins/application/features/navigation_history.feature +66 -0
- data/plugins/application/features/step_definitions/command_steps.rb +10 -0
- data/plugins/application/features/step_definitions/dialog_steps.rb +25 -0
- data/plugins/application/features/step_definitions/filter_list_dialog_steps.rb +42 -0
- data/plugins/application/features/step_definitions/key_steps.rb +18 -0
- data/plugins/application/features/step_definitions/menu_steps.rb +42 -0
- data/plugins/application/features/step_definitions/navigation_history_steps.rb +4 -0
- data/plugins/application/features/step_definitions/speedbar_steps.rb +88 -0
- data/plugins/application/features/step_definitions/tree_steps.rb +107 -0
- data/plugins/application/features/step_definitions/window_steps.rb +17 -0
- data/plugins/application/features/support/env.rb +257 -0
- data/plugins/application/features/support/fake_event.rb +26 -0
- data/plugins/application/lib/application.rb +425 -0
- data/plugins/application/lib/application/assets/file.png +0 -0
- data/plugins/application/lib/application/clipboard.rb +95 -0
- data/plugins/application/lib/application/command.rb +108 -0
- data/plugins/application/lib/application/command/executor.rb +80 -0
- data/plugins/application/lib/application/command/history.rb +54 -0
- data/plugins/application/lib/application/commands/application_commands.rb +21 -0
- data/plugins/application/lib/application/commands/notebook_commands.rb +73 -0
- data/plugins/application/lib/application/commands/tab_commands.rb +105 -0
- data/plugins/application/lib/application/commands/treebook_commands.rb +117 -0
- data/plugins/application/lib/application/commands/window_commands.rb +68 -0
- data/plugins/application/lib/application/dialog.rb +170 -0
- data/plugins/application/lib/application/dialogs/filter_list_dialog.rb +123 -0
- data/plugins/application/lib/application/dialogs/modeless_list_dialog.rb +85 -0
- data/plugins/application/lib/application/event_spewer.rb +32 -0
- data/plugins/application/lib/application/keymap.rb +41 -0
- data/plugins/application/lib/application/keymap/builder.rb +23 -0
- data/plugins/application/lib/application/menu.rb +117 -0
- data/plugins/application/lib/application/menu/builder.rb +80 -0
- data/plugins/application/lib/application/menu/builder/group.rb +47 -0
- data/plugins/application/lib/application/menu/item.rb +79 -0
- data/plugins/application/lib/application/menu/lazy_menu.rb +25 -0
- data/plugins/application/lib/application/navigation_history.rb +71 -0
- data/plugins/application/lib/application/notebook.rb +163 -0
- data/plugins/application/lib/application/sensitive.rb +57 -0
- data/plugins/application/lib/application/sensitivity.rb +82 -0
- data/plugins/application/lib/application/speedbar.rb +100 -0
- data/plugins/application/lib/application/tab.rb +92 -0
- data/plugins/application/lib/application/tab/command.rb +5 -0
- data/plugins/application/lib/application/toolbar.rb +83 -0
- data/plugins/application/lib/application/toolbar/builder.rb +80 -0
- data/plugins/application/lib/application/toolbar/builder/group.rb +47 -0
- data/plugins/application/lib/application/toolbar/item.rb +71 -0
- data/plugins/application/lib/application/toolbar/lazy_toolbar.rb +25 -0
- data/plugins/application/lib/application/tree.rb +94 -0
- data/plugins/application/lib/application/tree/command.rb +5 -0
- data/plugins/application/lib/application/tree/controller.rb +64 -0
- data/plugins/application/lib/application/tree/mirror.rb +132 -0
- data/plugins/application/lib/application/treebook.rb +83 -0
- data/plugins/application/lib/application/window.rb +274 -0
- data/plugins/application/plugin.rb +8 -0
- data/plugins/application/spec/application/application_spec.rb +23 -0
- data/plugins/application/spec/application/clipboard_spec.rb +55 -0
- data/plugins/application/spec/application/command/executor_spec.rb +78 -0
- data/plugins/application/spec/application/command/history_spec.rb +49 -0
- data/plugins/application/spec/application/command_spec.rb +78 -0
- data/plugins/application/spec/application/controllers/application_controller.rb +4 -0
- data/plugins/application/spec/application/controllers/notebook_controller.rb +4 -0
- data/plugins/application/spec/application/controllers/window_controller.rb +5 -0
- data/plugins/application/spec/application/keymap/builder_spec.rb +17 -0
- data/plugins/application/spec/application/menu/builder_spec.rb +61 -0
- data/plugins/application/spec/application/menu/menu_item_spec.rb +17 -0
- data/plugins/application/spec/application/menu_spec.rb +171 -0
- data/plugins/application/spec/application/navigation_history_spec.rb +96 -0
- data/plugins/application/spec/application/notebook_spec.rb +31 -0
- data/plugins/application/spec/application/sensitive_spec.rb +156 -0
- data/plugins/application/spec/application/speedbar_spec.rb +77 -0
- data/plugins/application/spec/application/treebook_spec.rb +27 -0
- data/plugins/application/spec/application/window_spec.rb +24 -0
- data/plugins/application/spec/spec_helper.rb +18 -0
- data/plugins/application_swt/build.xml +74 -0
- data/plugins/application_swt/lib/application_swt.rb +218 -0
- data/plugins/application_swt/lib/application_swt/bring_to_front.rb +53 -0
- data/plugins/application_swt/lib/application_swt/clipboard.rb +42 -0
- data/plugins/application_swt/lib/application_swt/dialog_adapter.rb +180 -0
- data/plugins/application_swt/lib/application_swt/dialogs/filter_list_dialog_controller.rb +233 -0
- data/plugins/application_swt/lib/application_swt/dialogs/input_dialog.rb +46 -0
- data/plugins/application_swt/lib/application_swt/dialogs/modeless_dialog.rb +113 -0
- data/plugins/application_swt/lib/application_swt/dialogs/modeless_html_dialog.rb +85 -0
- data/plugins/application_swt/lib/application_swt/dialogs/modeless_list_dialog_controller.rb +143 -0
- data/plugins/application_swt/lib/application_swt/dialogs/no_buttons_dialog.rb +24 -0
- data/plugins/application_swt/lib/application_swt/dialogs/text_and_file_dialog.rb +118 -0
- data/plugins/application_swt/lib/application_swt/gradient.rb +61 -0
- data/plugins/application_swt/lib/application_swt/html_tab.rb +79 -0
- data/plugins/application_swt/lib/application_swt/icon.rb +35 -0
- data/plugins/application_swt/lib/application_swt/listener_helpers.rb +20 -0
- data/plugins/application_swt/lib/application_swt/menu.rb +167 -0
- data/plugins/application_swt/lib/application_swt/menu/binding_translator.rb +94 -0
- data/plugins/application_swt/lib/application_swt/notebook.rb +148 -0
- data/plugins/application_swt/lib/application_swt/notebook/tab_drag_and_drop_listener.rb +124 -0
- data/plugins/application_swt/lib/application_swt/notebook/tab_transfer.rb +83 -0
- data/plugins/application_swt/lib/application_swt/speedbar.rb +185 -0
- data/plugins/application_swt/lib/application_swt/speedbar/button_item.rb +20 -0
- data/plugins/application_swt/lib/application_swt/speedbar/combo_item.rb +55 -0
- data/plugins/application_swt/lib/application_swt/speedbar/label_item.rb +15 -0
- data/plugins/application_swt/lib/application_swt/speedbar/slider_item.rb +32 -0
- data/plugins/application_swt/lib/application_swt/speedbar/text_box_item.rb +36 -0
- data/plugins/application_swt/lib/application_swt/speedbar/toggle_item.rb +29 -0
- data/plugins/application_swt/lib/application_swt/tab.rb +84 -0
- data/plugins/application_swt/lib/application_swt/toolbar.rb +138 -0
- data/plugins/application_swt/lib/application_swt/toolbar/binding_translator.rb +94 -0
- data/plugins/application_swt/lib/application_swt/treebook.rb +78 -0
- data/plugins/application_swt/lib/application_swt/window.rb +419 -0
- data/plugins/application_swt/lib/dist/application_swt.jar +0 -0
- data/plugins/application_swt/lib/swt/graphics_utils.rb +193 -0
- data/plugins/application_swt/lib/swt/vtab_folder.rb +177 -0
- data/plugins/application_swt/lib/swt/vtab_item.rb +78 -0
- data/plugins/application_swt/lib/swt/vtab_label.rb +127 -0
- data/plugins/application_swt/plugin.rb +8 -0
- data/plugins/application_swt/spec/application_swt/gradient_spec.rb +133 -0
- data/plugins/application_swt/spec/application_swt/menu/binding_translator_spec.rb +73 -0
- data/plugins/application_swt/spec/application_swt/menu_spec.rb +7 -0
- data/plugins/application_swt/spec/spec_helper.rb +20 -0
- data/plugins/application_swt/src/com/redcareditor/application_swt/CocoaUIEnhancer.java +313 -0
- data/plugins/auto_completer/features/auto_complete.feature +65 -0
- data/plugins/auto_completer/features/step_definitions/auto_complete_steps.rb +4 -0
- data/plugins/auto_completer/features/support/env.rb +2 -0
- data/plugins/auto_completer/lib/auto_completer.rb +129 -0
- data/plugins/auto_completer/lib/auto_completer/current_document_completion_source.rb +19 -0
- data/plugins/auto_completer/lib/auto_completer/document_controller.rb +52 -0
- data/plugins/auto_completer/lib/auto_completer/list_dialog.rb +21 -0
- data/plugins/auto_completer/lib/auto_completer/word_iterator.rb +48 -0
- data/plugins/auto_completer/lib/auto_completer/word_list.rb +47 -0
- data/plugins/auto_completer/plugin.rb +10 -0
- data/plugins/auto_indenter/features/java_style_indentation.feature +36 -0
- data/plugins/auto_indenter/features/ruby_style_indentation.feature +42 -0
- data/plugins/auto_indenter/features/step_definitions/indentation_steps.rb +15 -0
- data/plugins/auto_indenter/features/support/env.rb +1 -0
- data/plugins/auto_indenter/lib/auto_indenter.rb +108 -0
- data/plugins/auto_indenter/lib/auto_indenter/analyzer.rb +100 -0
- data/plugins/auto_indenter/lib/auto_indenter/commands.rb +66 -0
- data/plugins/auto_indenter/lib/auto_indenter/document_controller.rb +103 -0
- data/plugins/auto_indenter/lib/auto_indenter/rules.rb +41 -0
- data/plugins/auto_indenter/plugin.rb +9 -0
- data/plugins/auto_indenter/spec/auto_indenter/analyzer_spec.rb +151 -0
- data/plugins/auto_indenter/spec/spec_helper.rb +5 -0
- data/plugins/auto_pairer/features/auto_pairer.feature +92 -0
- data/plugins/auto_pairer/features/step_definitions/auto_pairer_steps.rb +0 -0
- data/plugins/auto_pairer/features/support/env.rb +1 -0
- data/plugins/auto_pairer/lib/auto_pairer.rb +12 -0
- data/plugins/auto_pairer/lib/auto_pairer/document_controller.rb +168 -0
- data/plugins/auto_pairer/lib/auto_pairer/pairs_for_scope.rb +57 -0
- data/plugins/auto_pairer/plugin.rb +9 -0
- data/plugins/clipboard-viewer/Screenshot.png +0 -0
- data/plugins/clipboard-viewer/lib/clipboard_viewer.rb +50 -0
- data/plugins/clipboard-viewer/lib/clipboard_viewer/browser_controller.rb +27 -0
- data/plugins/clipboard-viewer/lib/clipboard_viewer/clipboard_bar.rb +67 -0
- data/plugins/clipboard-viewer/plugin.rb +9 -0
- data/plugins/clipboard-viewer/views/clipboard.html.erb +19 -0
- data/plugins/clipboard-viewer/views/default.css +43 -0
- data/plugins/clipboard-viewer/views/redcar_small_icon.png +0 -0
- data/plugins/comment/features/line_comment.feature +249 -0
- data/plugins/comment/features/selection_comment.feature +21 -0
- data/plugins/comment/features/step_definitions/comment_steps.rb +7 -0
- data/plugins/comment/lib/comment.rb +268 -0
- data/plugins/comment/plugin.rb +7 -0
- data/plugins/comment/vendor/comment_lib.json +47 -0
- data/plugins/connection_manager/lib/connection_manager.rb +57 -0
- data/plugins/connection_manager/lib/connection_manager/commands.rb +14 -0
- data/plugins/connection_manager/lib/connection_manager/connection_store.rb +87 -0
- data/plugins/connection_manager/lib/connection_manager/controller.rb +100 -0
- data/plugins/connection_manager/lib/connection_manager/filter_dialog.rb +38 -0
- data/plugins/connection_manager/lib/connection_manager/private_key_store.rb +93 -0
- data/plugins/connection_manager/plugin.rb +12 -0
- data/plugins/connection_manager/views/index.html.erb +284 -0
- data/plugins/core/lib/core.rb +41 -0
- data/plugins/core/lib/core/controller.rb +23 -0
- data/plugins/core/lib/core/gui.rb +100 -0
- data/plugins/core/lib/core/has_spi.rb +10 -0
- data/plugins/core/lib/core/interface.rb +73 -0
- data/plugins/core/lib/core/model.rb +11 -0
- data/plugins/core/lib/core/observable.rb +115 -0
- data/plugins/core/lib/core/observable_struct.rb +34 -0
- data/plugins/core/lib/core/persistent_cache.rb +57 -0
- data/plugins/core/lib/core/plugin.rb +12 -0
- data/plugins/core/lib/core/plugin/storage.rb +133 -0
- data/plugins/core/lib/core/reentry_helpers.rb +13 -0
- data/plugins/core/lib/core/resource.rb +86 -0
- data/plugins/core/lib/core/task.rb +62 -0
- data/plugins/core/lib/core/task_queue.rb +72 -0
- data/plugins/core/plugin.rb +7 -0
- data/plugins/core/spec/core/base_storage_spec.rb +81 -0
- data/plugins/core/spec/core/gui_spec.rb +27 -0
- data/plugins/core/spec/core/observable_spec.rb +104 -0
- data/plugins/core/spec/core/persistent_cache_spec.rb +100 -0
- data/plugins/core/spec/core/resource_spec.rb +125 -0
- data/plugins/core/spec/core/shared_storage_spec.rb +49 -0
- data/plugins/core/spec/core/storage_spec.rb +27 -0
- data/plugins/core/spec/core/task_queue_spec.rb +199 -0
- data/plugins/core/spec/spec_helper.rb +27 -0
- data/plugins/declarations/lib/declarations.rb +159 -0
- data/plugins/declarations/lib/declarations/completion_source.rb +22 -0
- data/plugins/declarations/lib/declarations/file.rb +68 -0
- data/plugins/declarations/lib/declarations/parser.rb +186 -0
- data/plugins/declarations/lib/declarations/select_tag_dialog.rb +45 -0
- data/plugins/declarations/plugin.rb +7 -0
- data/plugins/declarations/spec/declarations/file_spec.rb +62 -0
- data/plugins/declarations/spec/fixtures/federalist.rb +15 -0
- data/plugins/declarations/spec/spec_helper.rb +5 -0
- data/plugins/document_search/Readme.md +14 -0
- data/plugins/document_search/features/find.feature +541 -0
- data/plugins/document_search/features/incremental_search.feature +351 -0
- data/plugins/document_search/features/replace.feature +178 -0
- data/plugins/document_search/features/step_definitions/find_steps.rb +16 -0
- data/plugins/document_search/features/support/env.rb +14 -0
- data/plugins/document_search/lib/document_search.rb +191 -0
- data/plugins/document_search/lib/document_search/commands.rb +307 -0
- data/plugins/document_search/lib/document_search/find_speedbar.rb +162 -0
- data/plugins/document_search/lib/document_search/incremental_search_speedbar.rb +70 -0
- data/plugins/document_search/lib/document_search/query_options.rb +21 -0
- data/plugins/document_search/plugin.rb +8 -0
- data/plugins/edit_view/features/align_assignment.feature +106 -0
- data/plugins/edit_view/features/case_change.feature +67 -0
- data/plugins/edit_view/features/cursor_navigation.feature +36 -0
- data/plugins/edit_view/features/cut_and_paste.feature +45 -0
- data/plugins/edit_view/features/grammar.feature +11 -0
- data/plugins/edit_view/features/indentation_commands.feature +49 -0
- data/plugins/edit_view/features/line_delimiter.feature +47 -0
- data/plugins/edit_view/features/multiple_notebooks.feature +52 -0
- data/plugins/edit_view/features/multiple_windows.feature +48 -0
- data/plugins/edit_view/features/new_tab.feature +11 -0
- data/plugins/edit_view/features/soft_tabs.feature +243 -0
- data/plugins/edit_view/features/sort_lines.feature +15 -0
- data/plugins/edit_view/features/step_definitions/editing_steps.rb +350 -0
- data/plugins/edit_view/features/step_definitions/grammar_steps.rb +4 -0
- data/plugins/edit_view/features/step_definitions/key_steps.rb +48 -0
- data/plugins/edit_view/features/step_definitions/notebook_steps.rb +59 -0
- data/plugins/edit_view/features/step_definitions/tab_steps.rb +113 -0
- data/plugins/edit_view/features/step_definitions/window_steps.rb +86 -0
- data/plugins/edit_view/features/support/env.rb +59 -0
- data/plugins/edit_view/features/switch_tabs.feature +106 -0
- data/plugins/edit_view/features/tabs.feature +146 -0
- data/plugins/edit_view/features/undo_and_redo.feature +73 -0
- data/plugins/edit_view/features/word_matching.feature +67 -0
- data/plugins/edit_view/lib/edit_view.rb +659 -0
- data/plugins/edit_view/lib/edit_view/actions/arrow_keys.rb +170 -0
- data/plugins/edit_view/lib/edit_view/actions/cmd_enter.rb +11 -0
- data/plugins/edit_view/lib/edit_view/actions/deletion.rb +40 -0
- data/plugins/edit_view/lib/edit_view/actions/esc.rb +15 -0
- data/plugins/edit_view/lib/edit_view/actions/tab.rb +70 -0
- data/plugins/edit_view/lib/edit_view/command.rb +14 -0
- data/plugins/edit_view/lib/edit_view/commands/align_assignment_command.rb +55 -0
- data/plugins/edit_view/lib/edit_view/commands/text_conversion_commands.rb +85 -0
- data/plugins/edit_view/lib/edit_view/document.rb +796 -0
- data/plugins/edit_view/lib/edit_view/document/command.rb +25 -0
- data/plugins/edit_view/lib/edit_view/document/controller.rb +43 -0
- data/plugins/edit_view/lib/edit_view/document/history.rb +41 -0
- data/plugins/edit_view/lib/edit_view/document/indentation.rb +40 -0
- data/plugins/edit_view/lib/edit_view/document/mirror.rb +42 -0
- data/plugins/edit_view/lib/edit_view/edit_tab.rb +59 -0
- data/plugins/edit_view/lib/edit_view/grammar.rb +58 -0
- data/plugins/edit_view/lib/edit_view/grammars/default.rb +10 -0
- data/plugins/edit_view/lib/edit_view/grammars/ruby.rb +10 -0
- data/plugins/edit_view/lib/edit_view/grammars/ruby_on_rails.rb +7 -0
- data/plugins/edit_view/lib/edit_view/info_speedbar.rb +98 -0
- data/plugins/edit_view/lib/edit_view/modified_tabs_checker.rb +35 -0
- data/plugins/edit_view/lib/edit_view/select_font_dialog.rb +45 -0
- data/plugins/edit_view/lib/edit_view/select_theme_dialog.rb +42 -0
- data/plugins/edit_view/lib/edit_view/tab_settings.rb +135 -0
- data/plugins/edit_view/plugin.rb +9 -0
- data/plugins/edit_view/spec/edit_view/document/indentation_spec.rb +112 -0
- data/plugins/edit_view/spec/edit_view/document_spec.rb +130 -0
- data/plugins/edit_view/spec/spec_helper.rb +5 -0
- data/plugins/edit_view_swt/lib/edit_view_swt.rb +621 -0
- data/plugins/edit_view_swt/lib/edit_view_swt/document.rb +224 -0
- data/plugins/edit_view_swt/lib/edit_view_swt/edit_tab.rb +50 -0
- data/plugins/edit_view_swt/lib/edit_view_swt/word_movement.rb +68 -0
- data/plugins/edit_view_swt/plugin.rb +9 -0
- data/plugins/edit_view_swt/spec/edit_view_swt/word_movement_spec.rb +29 -0
- data/plugins/edit_view_swt/spec/spec_helper.rb +5 -0
- data/plugins/encryption/encryption.rb +52 -0
- data/plugins/encryption/ezcrypto.rb +652 -0
- data/plugins/encryption/jarmor-1.1.jar +0 -0
- data/plugins/encryption/plugin.rb +9 -0
- data/plugins/execute_current_tab/lib/execute_current_tab.rb +68 -0
- data/plugins/execute_current_tab/plugin.rb +8 -0
- data/plugins/help/lib/help.rb +64 -0
- data/plugins/help/lib/help/help_tab.rb +11 -0
- data/plugins/help/lib/help/view_controller.rb +30 -0
- data/plugins/help/plugin.rb +9 -0
- data/plugins/help/views/default.css +31 -0
- data/plugins/help/views/index.html.erb +41 -0
- data/plugins/help/views/redcar_small_icon.png +0 -0
- data/plugins/html_view/assets/blueprint/ie.css +35 -0
- data/plugins/html_view/assets/blueprint/print.css +29 -0
- data/plugins/html_view/assets/blueprint/screen.css +257 -0
- data/plugins/html_view/assets/blueprint/src/forms.css +65 -0
- data/plugins/html_view/assets/blueprint/src/grid.css +281 -0
- data/plugins/html_view/assets/blueprint/src/grid.png +0 -0
- data/plugins/html_view/assets/blueprint/src/ie.css +76 -0
- data/plugins/html_view/assets/blueprint/src/print.css +85 -0
- data/plugins/html_view/assets/blueprint/src/reset.css +38 -0
- data/plugins/html_view/assets/blueprint/src/typography.css +106 -0
- data/plugins/html_view/assets/jquery-1.4.min.js +151 -0
- data/plugins/html_view/assets/json2.js +476 -0
- data/plugins/html_view/assets/redcar.css +44 -0
- data/plugins/html_view/features/browser_bar.feature +47 -0
- data/plugins/html_view/features/fixtures/other.html +1 -0
- data/plugins/html_view/features/fixtures/sample.html +1 -0
- data/plugins/html_view/features/step_definitions/html_view_steps.rb +64 -0
- data/plugins/html_view/features/step_definitions/web_view_steps.rb +12 -0
- data/plugins/html_view/features/support/env.rb +27 -0
- data/plugins/html_view/features/web_preview.feature +21 -0
- data/plugins/html_view/lib/html_controller.rb +50 -0
- data/plugins/html_view/lib/html_view.rb +170 -0
- data/plugins/html_view/lib/html_view/browser_bar.rb +82 -0
- data/plugins/html_view/lib/html_view/commands.rb +64 -0
- data/plugins/html_view/lib/html_view/default_controller.rb +23 -0
- data/plugins/html_view/lib/html_view/html_tab.rb +40 -0
- data/plugins/html_view/plugin.rb +13 -0
- data/plugins/html_view/views/default.css +117 -0
- data/plugins/html_view/views/index.html.erb +5 -0
- data/plugins/html_view/views/watermark-48.png +0 -0
- data/plugins/java/features/fixtures/lib/classes.jar +0 -0
- data/plugins/java/features/fixtures/test.java +0 -0
- data/plugins/java/features/support/env.rb +27 -0
- data/plugins/java/features/syntax_check_java.feature +86 -0
- data/plugins/java/lib/syntax_check/java.rb +86 -0
- data/plugins/java/plugin.rb +7 -0
- data/plugins/key_bindings/lib/key_bindings.rb +34 -0
- data/plugins/key_bindings/plugin.rb +8 -0
- data/plugins/key_bindings/spec/spec_helper.rb +5 -0
- data/plugins/line_tools/features/clear_line.feature +25 -0
- data/plugins/line_tools/features/kill_line.feature +25 -0
- data/plugins/line_tools/features/lower_text.feature +54 -0
- data/plugins/line_tools/features/raise_text.feature +50 -0
- data/plugins/line_tools/features/replace_line.feature +33 -0
- data/plugins/line_tools/features/step_definitions/line_tools_steps.rb +23 -0
- data/plugins/line_tools/features/support/env.rb +0 -0
- data/plugins/line_tools/features/trim_line.feature +73 -0
- data/plugins/line_tools/lib/line_tools.rb +217 -0
- data/plugins/line_tools/plugin.rb +9 -0
- data/plugins/macros/features/block_selection_in_macros.feature +48 -0
- data/plugins/macros/features/predictive_macros.feature +79 -0
- data/plugins/macros/features/record_and_run_macro.feature +87 -0
- data/plugins/macros/features/step_definitions/macro_steps.rb +11 -0
- data/plugins/macros/features/step_definitions/prediction_steps.rb +8 -0
- data/plugins/macros/features/support/env.rb +0 -0
- data/plugins/macros/lib/macros.rb +167 -0
- data/plugins/macros/lib/macros/action_sequence.rb +30 -0
- data/plugins/macros/lib/macros/commands.rb +108 -0
- data/plugins/macros/lib/macros/macro.rb +37 -0
- data/plugins/macros/lib/macros/manager_controller.rb +67 -0
- data/plugins/macros/lib/macros/predictive/document_controller.rb +69 -0
- data/plugins/macros/lib/macros/predictive/sequence_finder.rb +112 -0
- data/plugins/macros/plugin.rb +9 -0
- data/plugins/macros/spec/macros/predictive/sequence_finder_spec.rb +142 -0
- data/plugins/macros/spec/spec_helper.rb +6 -0
- data/plugins/macros/views/macro_manager.html.erb +92 -0
- data/plugins/my_plugin/lib/my_plugin.rb +47 -0
- data/plugins/my_plugin/plugin.rb +8 -0
- data/plugins/open_default_app/lib/open_default_app.rb +61 -0
- data/plugins/open_default_app/plugin.rb +8 -0
- data/plugins/open_default_app/screenshot.png +0 -0
- data/plugins/outline_view/features/outline_view.feature +79 -0
- data/plugins/outline_view/features/step_definitions/outline_steps.rb +45 -0
- data/plugins/outline_view/lib/outline_view.rb +66 -0
- data/plugins/outline_view/lib/outline_view/commands.rb +13 -0
- data/plugins/outline_view/plugin.rb +10 -0
- data/plugins/outline_view/spec/fixtures/some_project/javascript.js +10 -0
- data/plugins/outline_view/spec/fixtures/some_project/nothing_to_see.rb +0 -0
- data/plugins/outline_view/spec/fixtures/some_project/one_lonely_class.rb +2 -0
- data/plugins/outline_view/spec/fixtures/some_project/similar_names.rb +18 -0
- data/plugins/outline_view/spec/fixtures/some_project/something_fancy.rb +736 -0
- data/plugins/outline_view/spec/fixtures/some_project/trailing_space.rb +5 -0
- data/plugins/outline_view_swt/lib/outline_view_swt.rb +79 -0
- data/plugins/outline_view_swt/plugin.rb +7 -0
- data/plugins/pair_highlighter/lib/pair_highlighter.rb +34 -0
- data/plugins/pair_highlighter/lib/pair_highlighter/document_controller.rb +185 -0
- data/plugins/pair_highlighter/plugin.rb +9 -0
- data/plugins/plugin_manager_ui/lib/plugin_manager_ui.rb +122 -0
- data/plugins/plugin_manager_ui/plugin.rb +13 -0
- data/plugins/plugin_manager_ui/views/index.html.erb +62 -0
- data/plugins/project/features/close_directory_tree.feature +28 -0
- data/plugins/project/features/find_file.feature +119 -0
- data/plugins/project/features/highlight_focussed_tab.feature +53 -0
- data/plugins/project/features/move_and_rename_files.feature +25 -0
- data/plugins/project/features/open_and_save_files.feature +85 -0
- data/plugins/project/features/open_directory_tree.feature +93 -0
- data/plugins/project/features/refresh_directory_tree.feature +44 -0
- data/plugins/project/features/step_definitions/directory_steps.rb +35 -0
- data/plugins/project/features/step_definitions/drb_steps.rb +40 -0
- data/plugins/project/features/step_definitions/file_steps.rb +66 -0
- data/plugins/project/features/step_definitions/find_file_steps.rb +7 -0
- data/plugins/project/features/step_definitions/project_tree_steps.rb +7 -0
- data/plugins/project/features/sub_project.feature +15 -0
- data/plugins/project/features/support/env.rb +35 -0
- data/plugins/project/features/watch_for_modified_files.feature +109 -0
- data/plugins/project/lib/project.rb +266 -0
- data/plugins/project/lib/project/adapters/local.rb +82 -0
- data/plugins/project/lib/project/adapters/remote.rb +96 -0
- data/plugins/project/lib/project/adapters/remote_protocols/ftp.rb +93 -0
- data/plugins/project/lib/project/adapters/remote_protocols/protocol.rb +94 -0
- data/plugins/project/lib/project/adapters/remote_protocols/sftp.rb +181 -0
- data/plugins/project/lib/project/commands.rb +449 -0
- data/plugins/project/lib/project/dir_controller.rb +275 -0
- data/plugins/project/lib/project/dir_mirror.rb +176 -0
- data/plugins/project/lib/project/drb_service.rb +86 -0
- data/plugins/project/lib/project/file_list.rb +164 -0
- data/plugins/project/lib/project/file_mirror.rb +85 -0
- data/plugins/project/lib/project/find_file_dialog.rb +118 -0
- data/plugins/project/lib/project/find_recent_dialog.rb +30 -0
- data/plugins/project/lib/project/manager.rb +545 -0
- data/plugins/project/lib/project/project_tree_controller.rb +24 -0
- data/plugins/project/lib/project/recent.rb +64 -0
- data/plugins/project/lib/project/sub_project.rb +17 -0
- data/plugins/project/lib/project/support/recycle.js +2 -0
- data/plugins/project/lib/project/support/trash.rb +73 -0
- data/plugins/project/plugin.rb +11 -0
- data/plugins/project/spec/fixture_helper.rb +30 -0
- data/plugins/project/spec/project/adapters/remote_protocols/ftp_spec.rb +75 -0
- data/plugins/project/spec/project/adapters/remote_protocols/sftp_spec.rb +121 -0
- data/plugins/project/spec/project/adapters/remote_spec.rb +136 -0
- data/plugins/project/spec/project/dir_mirror_spec.rb +65 -0
- data/plugins/project/spec/project/file_list_spec.rb +151 -0
- data/plugins/project/spec/project/file_mirror_spec.rb +97 -0
- data/plugins/project/spec/spec_helper.rb +26 -0
- data/plugins/project/views/bulk_rename.html.erb +162 -0
- data/plugins/project_search/features/support/env.rb +6 -0
- data/plugins/project_search/features/word_search.feature +34 -0
- data/plugins/project_search/lib/project_search.rb +82 -0
- data/plugins/project_search/lib/project_search/binary_data_detector.rb +46 -0
- data/plugins/project_search/lib/project_search/commands.rb +50 -0
- data/plugins/project_search/lib/project_search/hit.rb +21 -0
- data/plugins/project_search/lib/project_search/images/spinner.gif +0 -0
- data/plugins/project_search/lib/project_search/lucene_index.rb +81 -0
- data/plugins/project_search/lib/project_search/lucene_refresh.rb +22 -0
- data/plugins/project_search/lib/project_search/project.rb +14 -0
- data/plugins/project_search/lib/project_search/query.rb +29 -0
- data/plugins/project_search/lib/project_search/stylesheets/style.css +279 -0
- data/plugins/project_search/lib/project_search/views/_file.html.erb +58 -0
- data/plugins/project_search/lib/project_search/views/index.html.erb +156 -0
- data/plugins/project_search/lib/project_search/word_search.rb +143 -0
- data/plugins/project_search/lib/project_search/word_search_controller.rb +219 -0
- data/plugins/project_search/plugin.rb +8 -0
- data/plugins/project_search/spec/fixtures/project/binary_file.bin +0 -0
- data/plugins/project_search/spec/fixtures/project/foo.txt +43 -0
- data/plugins/project_search/spec/fixtures/project/qux.rb +3 -0
- data/plugins/project_search/spec/project_search/binary_data_detector_spec.rb +24 -0
- data/plugins/project_search/spec/project_search/word_search_spec.rb +157 -0
- data/plugins/project_search/spec/spec_helper.rb +27 -0
- data/plugins/redcar/features/alter_font_size.feature +26 -0
- data/plugins/redcar/features/goto_line_command.feature +20 -0
- data/plugins/redcar/features/step_definitions/env.rb +5 -0
- data/plugins/redcar/features/step_definitions/font_steps.rb +34 -0
- data/plugins/redcar/features/text_editing.feature +34 -0
- data/plugins/redcar/features/text_navigation.feature +30 -0
- data/plugins/redcar/plugin.rb +17 -0
- data/plugins/redcar/redcar.rb +1097 -0
- data/plugins/redcar_debug/lib/redcar_debug.rb +91 -0
- data/plugins/redcar_debug/plugin.rb +8 -0
- data/plugins/redcar_debug/views/history.html.erb +34 -0
- data/plugins/redcar_debug/views/index.html.erb +36 -0
- data/plugins/repl/features/command_editing.feature +55 -0
- data/plugins/repl/features/command_history.feature +75 -0
- data/plugins/repl/features/step_definitions/repl_steps.rb +19 -0
- data/plugins/repl/features/support/env.rb +24 -0
- data/plugins/repl/features/support/fake_repl.rb +16 -0
- data/plugins/repl/lib/repl.rb +40 -0
- data/plugins/repl/lib/repl/repl_command.rb +20 -0
- data/plugins/repl/lib/repl/repl_mirror.rb +255 -0
- data/plugins/repl/lib/repl/repl_tab.rb +154 -0
- data/plugins/repl/plugin.rb +8 -0
- data/plugins/repl/spec/repl/repl_mirror_spec.rb +72 -0
- data/plugins/repl/spec/spec_helper.rb +5 -0
- data/plugins/repl_swt/lib/repl_swt.rb +7 -0
- data/plugins/repl_swt/lib/repl_swt/key_listener.rb +43 -0
- data/plugins/repl_swt/plugin.rb +8 -0
- data/plugins/ruby/features/fixtures/test.rb +0 -0
- data/plugins/ruby/features/support/env.rb +4 -0
- data/plugins/ruby/features/syntax_check_ruby.feature +26 -0
- data/plugins/ruby/lib/ruby.rb +35 -0
- data/plugins/ruby/lib/ruby/repl_mirror.rb +46 -0
- data/plugins/ruby/lib/ruby/syntax_checker.rb +30 -0
- data/plugins/ruby/plugin.rb +8 -0
- data/plugins/ruby/spec/ruby/repl_mirror_spec.rb +202 -0
- data/plugins/ruby/spec/spec_helper.rb +5 -0
- data/plugins/runnables/features/command_tree.feature +63 -0
- data/plugins/runnables/features/file_runner_input.feature +21 -0
- data/plugins/runnables/features/parameter_input.feature +43 -0
- data/plugins/runnables/features/run_alternate_command.feature +15 -0
- data/plugins/runnables/features/run_command_tab.feature +47 -0
- data/plugins/runnables/features/step_definitions/runnable_steps.rb +28 -0
- data/plugins/runnables/features/support/env.rb +124 -0
- data/plugins/runnables/lib/runnables.rb +180 -0
- data/plugins/runnables/lib/runnables/command_output_controller.rb +183 -0
- data/plugins/runnables/lib/runnables/commands.rb +82 -0
- data/plugins/runnables/lib/runnables/output_processor.rb +74 -0
- data/plugins/runnables/lib/runnables/running_process_checker.rb +34 -0
- data/plugins/runnables/lib/runnables/tree_mirror/nodes/runnable.rb +62 -0
- data/plugins/runnables/lib/runnables/tree_mirror/nodes/runnable_group.rb +45 -0
- data/plugins/runnables/lib/runnables/tree_mirror/nodes/runnable_type_group.rb +30 -0
- data/plugins/runnables/lib/runnables/tree_mirror/tree_controller.rb +36 -0
- data/plugins/runnables/lib/runnables/tree_mirror/tree_mirror.rb +66 -0
- data/plugins/runnables/plugin.rb +9 -0
- data/plugins/runnables/spec/runnables/output_processor_spec.rb +57 -0
- data/plugins/runnables/spec/spec_helper.rb +5 -0
- data/plugins/runnables/views/basic_ansi.css +34 -0
- data/plugins/runnables/views/color_tester.html +50 -0
- data/plugins/runnables/views/command_output.html.erb +32 -0
- data/plugins/runnables/views/default.css +79 -0
- data/plugins/runnables/views/indicator.gif +0 -0
- data/plugins/runnables/views/redcar_small_icon.png +0 -0
- data/plugins/runnables/views/reset.css +53 -0
- data/plugins/runnables/views/running_test.html +41 -0
- data/plugins/runnables/views/wedgeDown.png +0 -0
- data/plugins/runnables/views/wedgeRight.png +0 -0
- data/plugins/scm/lib/scm.rb +296 -0
- data/plugins/scm/lib/scm/commands.rb +48 -0
- data/plugins/scm/lib/scm/commit_mirror.rb +72 -0
- data/plugins/scm/lib/scm/diff_mirror.rb +31 -0
- data/plugins/scm/lib/scm/errors.rb +8 -0
- data/plugins/scm/lib/scm/model.rb +275 -0
- data/plugins/scm/lib/scm/scm_changes_controller.rb +107 -0
- data/plugins/scm/lib/scm/scm_changes_mirror.rb +51 -0
- data/plugins/scm/lib/scm/scm_changes_mirror/change.rb +63 -0
- data/plugins/scm/lib/scm/scm_changes_mirror/changes_node.rb +47 -0
- data/plugins/scm/lib/scm/scm_changes_mirror/drag_controller.rb +78 -0
- data/plugins/scm/lib/scm/scm_commits_controller.rb +49 -0
- data/plugins/scm/lib/scm/scm_commits_mirror.rb +36 -0
- data/plugins/scm/lib/scm/scm_commits_mirror/commit.rb +26 -0
- data/plugins/scm/lib/scm/scm_commits_mirror/commits_node.rb +38 -0
- data/plugins/scm/plugin.rb +8 -0
- data/plugins/scm/spec/spec_helper.rb +5 -0
- data/plugins/scm_git/lib/scm_git.rb +543 -0
- data/plugins/scm_git/lib/scm_git/change.rb +137 -0
- data/plugins/scm_git/lib/scm_git/commit.rb +18 -0
- data/plugins/scm_git/lib/scm_git/config_file.rb +31 -0
- data/plugins/scm_git/plugin.rb +7 -0
- data/plugins/scm_hg/lib/scm_hg.rb +30 -0
- data/plugins/scm_hg/plugin.rb +7 -0
- data/plugins/scm_svn/LICENSE +48 -0
- data/plugins/scm_svn/features/add_and_commit.feature +18 -0
- data/plugins/scm_svn/features/checkout.feature +5 -0
- data/plugins/scm_svn/features/edit_and_index.feature +12 -0
- data/plugins/scm_svn/features/ignore_files.feature +14 -0
- data/plugins/scm_svn/features/merge.feature +34 -0
- data/plugins/scm_svn/features/resolve_conflict.feature +23 -0
- data/plugins/scm_svn/features/revert_and_delete.feature +21 -0
- data/plugins/scm_svn/features/step_definitions/branch_and_merge_steps.rb +27 -0
- data/plugins/scm_svn/features/step_definitions/checkout_steps.rb +25 -0
- data/plugins/scm_svn/features/step_definitions/edit_and_index_steps.rb +50 -0
- data/plugins/scm_svn/features/step_definitions/scm_svn_steps.rb +57 -0
- data/plugins/scm_svn/features/support/env.rb +71 -0
- data/plugins/scm_svn/features/switch_branches.feature +53 -0
- data/plugins/scm_svn/features/update.feature +16 -0
- data/plugins/scm_svn/lib/scm_svn.rb +445 -0
- data/plugins/scm_svn/lib/scm_svn/change.rb +116 -0
- data/plugins/scm_svn/plugin.rb +7 -0
- data/plugins/snippets/features/snippet_indenting.feature +87 -0
- data/plugins/snippets/features/snippets.feature +398 -0
- data/plugins/snippets/features/step_definitions/snippet_steps.rb +16 -0
- data/plugins/snippets/features/support/env.rb +1 -0
- data/plugins/snippets/lib/snippets.rb +111 -0
- data/plugins/snippets/lib/snippets/document_controller.rb +591 -0
- data/plugins/snippets/lib/snippets/explorer.rb +48 -0
- data/plugins/snippets/lib/snippets/tab_handler.rb +117 -0
- data/plugins/snippets/plugin.rb +9 -0
- data/plugins/splash_screen/plugin.rb +8 -0
- data/plugins/splash_screen/splash_screen.rb +62 -0
- data/plugins/strip_trailing_spaces/features/fixtures/test.txt +3 -0
- data/plugins/strip_trailing_spaces/features/strip_trailing_spaces.feature +34 -0
- data/plugins/strip_trailing_spaces/lib/strip_trailing_spaces.rb +60 -0
- data/plugins/strip_trailing_spaces/plugin.rb +8 -0
- data/plugins/syntax_check/README +6 -0
- data/plugins/syntax_check/features/step_definitions/syntax_check_steps.rb +11 -0
- data/plugins/syntax_check/features/support/env.rb +3 -0
- data/plugins/syntax_check/lib/syntax_check.rb +100 -0
- data/plugins/syntax_check/lib/syntax_check/annotation.rb +61 -0
- data/plugins/syntax_check/lib/syntax_check/checker.rb +47 -0
- data/plugins/syntax_check/lib/syntax_check/error.rb +24 -0
- data/plugins/syntax_check/plugin.rb +7 -0
- data/plugins/task_manager/lib/task_manager.rb +30 -0
- data/plugins/task_manager/plugin.rb +11 -0
- data/plugins/task_manager/views/index.html.erb +70 -0
- data/plugins/test_runner/lib/test_runner.rb +40 -0
- data/plugins/test_runner/lib/test_runner/jasmine_test_runner.rb +15 -0
- data/plugins/test_runner/lib/test_runner/rspec_runner.rb +20 -0
- data/plugins/test_runner/lib/test_runner/run_test_command.rb +63 -0
- data/plugins/test_runner/lib/test_runner/runnable_test_runner.rb +42 -0
- data/plugins/test_runner/plugin.rb +8 -0
- data/plugins/test_runner/spec/run_test_command_spec.rb +51 -0
- data/plugins/test_runner/spec/spec_helper.rb +5 -0
- data/plugins/textmate/features/bundle_tree.feature +23 -0
- data/plugins/textmate/features/step_definitions/tree_steps.rb +57 -0
- data/plugins/textmate/features/support/env.rb +19 -0
- data/plugins/textmate/features/support/test_bundle.tmbundle/Snippets/If.tmSnippet +18 -0
- data/plugins/textmate/features/support/test_bundle.tmbundle/Snippets/If__Else.tmSnippet +20 -0
- data/plugins/textmate/features/support/test_bundle.tmbundle/Snippets/Include.tmSnippet +16 -0
- data/plugins/textmate/features/support/test_bundle.tmbundle/Snippets/Loop.tmSnippet +18 -0
- data/plugins/textmate/features/support/test_bundle.tmbundle/Snippets/Unless.tmSnippet +18 -0
- data/plugins/textmate/features/support/test_bundle.tmbundle/Snippets/Var.tmSnippet +16 -0
- data/plugins/textmate/features/support/test_bundle.tmbundle/Snippets/next_If__Else.tmSnippet +20 -0
- data/plugins/textmate/features/support/test_bundle.tmbundle/info.plist +26 -0
- data/plugins/textmate/lib/textmate.rb +202 -0
- data/plugins/textmate/lib/textmate/bundle.rb +100 -0
- data/plugins/textmate/lib/textmate/commands.rb +79 -0
- data/plugins/textmate/lib/textmate/environment.rb +76 -0
- data/plugins/textmate/lib/textmate/plist.rb +80 -0
- data/plugins/textmate/lib/textmate/preference.rb +125 -0
- data/plugins/textmate/lib/textmate/snippet.rb +47 -0
- data/plugins/textmate/lib/textmate/tree_mirror.rb +206 -0
- data/plugins/textmate/plugin.rb +8 -0
- data/plugins/textmate/views/installed_bundles.html.erb +24 -0
- data/plugins/todo_list/README.md +22 -0
- data/plugins/todo_list/features/support/env.rb +8 -0
- data/plugins/todo_list/features/todo_list.feature +26 -0
- data/plugins/todo_list/lib/todo_list.rb +49 -0
- data/plugins/todo_list/lib/todo_list/file_parser.rb +58 -0
- data/plugins/todo_list/lib/todo_list/todo_controller.rb +99 -0
- data/plugins/todo_list/plugin.rb +11 -0
- data/plugins/todo_list/spec/fixtures/project/FIXME.file +3 -0
- data/plugins/todo_list/spec/fixtures/project/NOTE.ignored.file +1 -0
- data/plugins/todo_list/spec/fixtures/project/OPTIMIZE_colon.file +1 -0
- data/plugins/todo_list/spec/fixtures/project/XXX.ignored +1 -0
- data/plugins/todo_list/spec/fixtures/project/ignored_directory/TODO.file +2 -0
- data/plugins/todo_list/spec/fixtures/settings.rb +11 -0
- data/plugins/todo_list/spec/spec_helper.rb +6 -0
- data/plugins/todo_list/spec/todo_list/file_parser_spec.rb +35 -0
- data/plugins/todo_list/views/default.css +15 -0
- data/plugins/todo_list/views/index.html.erb +19 -0
- data/plugins/todo_list/views/redcar_small_icon.png +0 -0
- data/plugins/tree_view_swt/lib/tree_view_swt.rb +496 -0
- data/plugins/tree_view_swt/plugin.rb +9 -0
- data/plugins/web_bookmarks/Screenshot.png +0 -0
- data/plugins/web_bookmarks/features/bookmark.feature +37 -0
- data/plugins/web_bookmarks/features/fixtures/other.html +1 -0
- data/plugins/web_bookmarks/features/fixtures/sample.html +1 -0
- data/plugins/web_bookmarks/features/step_definitions/web_steps.rb +4 -0
- data/plugins/web_bookmarks/features/support/env.rb +26 -0
- data/plugins/web_bookmarks/lib/web_bookmarks.rb +49 -0
- data/plugins/web_bookmarks/lib/web_bookmarks/bookmark.rb +52 -0
- data/plugins/web_bookmarks/lib/web_bookmarks/commands.rb +65 -0
- data/plugins/web_bookmarks/lib/web_bookmarks/tree.rb +74 -0
- data/plugins/web_bookmarks/plugin.rb +10 -0
- metadata +937 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
module Redcar
|
|
2
|
+
class Declarations
|
|
3
|
+
class SelectTagDialog < FilterListDialog
|
|
4
|
+
|
|
5
|
+
def initialize(matches)
|
|
6
|
+
super()
|
|
7
|
+
@matches = matches
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def close
|
|
11
|
+
super
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def update_list(filter)
|
|
15
|
+
@last_list = @matches
|
|
16
|
+
filtered_list = @matches
|
|
17
|
+
if filter.length >= 1
|
|
18
|
+
filtered_list = filter_and_rank_by(filtered_list, filter, filtered_list.length) do |match|
|
|
19
|
+
match[:file].split(::File::SEPARATOR).last
|
|
20
|
+
end
|
|
21
|
+
@last_list = filtered_list
|
|
22
|
+
end
|
|
23
|
+
align_matches_for_display(filtered_list)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def selected(text, ix, closing=false)
|
|
27
|
+
if @last_list
|
|
28
|
+
close
|
|
29
|
+
Redcar::Declarations.go_to_definition(@last_list[ix])
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
private
|
|
34
|
+
|
|
35
|
+
def align_matches_for_display(filtered_list)
|
|
36
|
+
filtered_list.collect do |match|
|
|
37
|
+
file_path = match[:file]
|
|
38
|
+
file = file_path.split(::File::SEPARATOR).last
|
|
39
|
+
relative_path = file_path.gsub(Regexp.compile(Project::Manager.focussed_project.path + '/'), '')
|
|
40
|
+
"%s (%s)" % [file, relative_path]
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
|
|
2
|
+
require File.join(File.dirname(__FILE__), "..", "spec_helper")
|
|
3
|
+
|
|
4
|
+
module Redcar
|
|
5
|
+
describe Declarations::File do
|
|
6
|
+
before do
|
|
7
|
+
@tags_file = File.join(File.dirname(__FILE__), "..", "tags")
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
after do
|
|
11
|
+
FileUtils.rm_f(@tags_file)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
describe "dump and load from file" do
|
|
15
|
+
describe "with no existing tags file" do
|
|
16
|
+
before do
|
|
17
|
+
@file = Declarations::File.new(@tags_file)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it "should have no tags" do
|
|
21
|
+
@file.tags.should be_empty
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it "should add new tags" do
|
|
25
|
+
@file.add_tags([%w"Abc /foo class:Abc"])
|
|
26
|
+
@file.tags.length.should == 1
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe "with tags added" do
|
|
30
|
+
before do
|
|
31
|
+
@file.add_tags([%w"Abc /foo class:Abc"])
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it "should dump a tags file" do
|
|
35
|
+
@file.dump
|
|
36
|
+
File.exist?(@tags_file).should be_true
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
describe "with existing tags file" do
|
|
42
|
+
before do
|
|
43
|
+
file = Declarations::File.new(@tags_file)
|
|
44
|
+
file.add_tags([%w"Abc /foo class:Abc"])
|
|
45
|
+
file.last_updated = Time.now
|
|
46
|
+
@last_updated = Time.now
|
|
47
|
+
file.dump
|
|
48
|
+
@file = Declarations::File.new(@tags_file)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
it "should load up the tags" do
|
|
52
|
+
@file.tags.should == [%w"Abc /foo class:Abc"]
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
it "should know the timestamp of when it was last updated" do
|
|
56
|
+
@file.last_updated.to_s.should == @last_updated.to_s
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
Todo List
|
|
3
|
+
---
|
|
4
|
+
1. Store last n search and replace results in memory
|
|
5
|
+
1. Optionally store the search and replace results in configuration file.
|
|
6
|
+
1. Pre-populate seach box with selected text
|
|
7
|
+
1. Adding a shortcut keystroke.
|
|
8
|
+
1. Better error handling
|
|
9
|
+
1. Advanced Search and Replace - Across all open files or across all files in a project
|
|
10
|
+
1. RSpec Tests
|
|
11
|
+
1. Regex handling for replace (groups, etc..)
|
|
12
|
+
1. Fix same line bug - doesn't go back and seach to left of cursor.
|
|
13
|
+
|
|
14
|
+
Comments or suggestions wcherry69@gmail.com
|
|
@@ -0,0 +1,541 @@
|
|
|
1
|
+
@speedbar
|
|
2
|
+
Feature: Find
|
|
3
|
+
|
|
4
|
+
Background:
|
|
5
|
+
Given I open a new edit tab
|
|
6
|
+
|
|
7
|
+
# Begin: Scenarios adapted from incremental_search.feature
|
|
8
|
+
|
|
9
|
+
Scenario: Open Find speedbar
|
|
10
|
+
When I replace the contents with "Foo\nBar\nBaz"
|
|
11
|
+
And I move the cursor to 0
|
|
12
|
+
And I open the find speedbar
|
|
13
|
+
Then I should see the find speedbar
|
|
14
|
+
|
|
15
|
+
Scenario: Search for a word should select next occurrence
|
|
16
|
+
When I replace the contents with "Foo\nBar\nBaz"
|
|
17
|
+
And I move the cursor to 0
|
|
18
|
+
And I open the find speedbar
|
|
19
|
+
And I type "Bar" into the "Find" field in the speedbar
|
|
20
|
+
And I press "Next" in the speedbar
|
|
21
|
+
Then the selected text should be "Bar"
|
|
22
|
+
|
|
23
|
+
Scenario: Search twice should move to the next occurrence
|
|
24
|
+
When I replace the contents with "Foo\nBar\nFoo"
|
|
25
|
+
And I move the cursor to 0
|
|
26
|
+
And I open the find speedbar
|
|
27
|
+
And I type "Foo" into the "Find" field in the speedbar
|
|
28
|
+
And I press "Next" in the speedbar
|
|
29
|
+
Then the selection should be on line 0
|
|
30
|
+
When I press "Next" in the speedbar
|
|
31
|
+
Then the selected text should be "Foo"
|
|
32
|
+
And the selection should be on line 2
|
|
33
|
+
|
|
34
|
+
Scenario: Search for a word adjacent to cursor should select word
|
|
35
|
+
When I replace the contents with "Foo\nBar\nBaz"
|
|
36
|
+
And I move the cursor to 0
|
|
37
|
+
And I open the find speedbar
|
|
38
|
+
And I type "Foo" into the "Find" field in the speedbar
|
|
39
|
+
And I press "Next" in the speedbar
|
|
40
|
+
Then the selected text should be "Foo"
|
|
41
|
+
|
|
42
|
+
Scenario: Search for a word should find occurrence after the cursor
|
|
43
|
+
When I replace the contents with "Foo\nBar\nBaz\nFoo"
|
|
44
|
+
And I move the cursor to 1
|
|
45
|
+
And I open the find speedbar
|
|
46
|
+
And I type "Foo" into the "Find" field in the speedbar
|
|
47
|
+
And I press "Next" in the speedbar
|
|
48
|
+
Then the selection should be on line 3
|
|
49
|
+
And the selected text should be "Foo"
|
|
50
|
+
When I press "Next" in the speedbar
|
|
51
|
+
Then the selected text should be "Foo"
|
|
52
|
+
And the selection should be on line 0
|
|
53
|
+
|
|
54
|
+
Scenario: Search for a word should wrap to earlier occurrence if none left
|
|
55
|
+
When I replace the contents with "Foo\nBar\nBaz"
|
|
56
|
+
And I move the cursor to 3
|
|
57
|
+
And I open the find speedbar
|
|
58
|
+
And I type "Foo" into the "Find" field in the speedbar
|
|
59
|
+
And I press "Next" in the speedbar
|
|
60
|
+
Then the selected text should be "Foo"
|
|
61
|
+
And the selection should be on line 0
|
|
62
|
+
|
|
63
|
+
Scenario: Should start searching after the selection if the query matches exactly
|
|
64
|
+
When I replace the contents with "Foobar\nBarfoo\nBazhmm\nFoobar"
|
|
65
|
+
And I select from 0 to 6
|
|
66
|
+
And I open the find speedbar
|
|
67
|
+
And I type "Foobar" into the "Find" field in the speedbar
|
|
68
|
+
And I press "Next" in the speedbar
|
|
69
|
+
Then the selected text should be "Foobar"
|
|
70
|
+
And the selection should be on line 3
|
|
71
|
+
|
|
72
|
+
Scenario: Should start search within the selection if it matches the beginning of the query
|
|
73
|
+
When I replace the contents with "Foobar\nBarfoo\nBazhmm\nFoobar"
|
|
74
|
+
And I select from 0 to 3
|
|
75
|
+
And I open the find speedbar
|
|
76
|
+
And I type "Foobar" into the "Find" field in the speedbar
|
|
77
|
+
And I press "Next" in the speedbar
|
|
78
|
+
Then the selected text should be "Foobar"
|
|
79
|
+
And the selection range should be from 0 to 6
|
|
80
|
+
|
|
81
|
+
Scenario: Should start search within the selection if the query matches partially
|
|
82
|
+
When I replace the contents with "Foobar\nBarfoo\nBazhmm\nFoobar"
|
|
83
|
+
And I select from 0 to 6
|
|
84
|
+
And I open the find speedbar
|
|
85
|
+
And I type "Foo" into the "Find" field in the speedbar
|
|
86
|
+
And I press "Next" in the speedbar
|
|
87
|
+
Then the selected text should be "Foo"
|
|
88
|
+
And the selection range should be from 0 to 3
|
|
89
|
+
|
|
90
|
+
Scenario: Not thrown off by multi-byte characters
|
|
91
|
+
When I replace the contents with "Benedikt Müller"
|
|
92
|
+
And I move the cursor to 0
|
|
93
|
+
And I open the find speedbar
|
|
94
|
+
And I type "ler" into the "Find" field in the speedbar
|
|
95
|
+
And I press "Next" in the speedbar
|
|
96
|
+
Then the selected text should be "ler"
|
|
97
|
+
And the selection range should be from 12 to 15
|
|
98
|
+
|
|
99
|
+
Scenario: Not thrown off by multi-byte characters 2
|
|
100
|
+
When I replace the contents with "Benedikt Müller\n foo "
|
|
101
|
+
And I move the cursor to 0
|
|
102
|
+
And I open the find speedbar
|
|
103
|
+
And I type "foo" into the "Find" field in the speedbar
|
|
104
|
+
And I press "Next" in the speedbar
|
|
105
|
+
Then the selected text should be "foo"
|
|
106
|
+
And the selection range should be from 17 to 20
|
|
107
|
+
|
|
108
|
+
Scenario: Not thrown off by multi-byte characters 3
|
|
109
|
+
When I replace the contents with "你好, 凯兰\nYou make my heart super happy."
|
|
110
|
+
And I move the cursor to 0
|
|
111
|
+
And I open the find speedbar
|
|
112
|
+
And I type "you" into the "Find" field in the speedbar
|
|
113
|
+
And I press "Next" in the speedbar
|
|
114
|
+
Then the selected text should be "You"
|
|
115
|
+
And the selection range should be from 7 to 10
|
|
116
|
+
|
|
117
|
+
Scenario: Handles repeated search across by multi-byte characters
|
|
118
|
+
When I replace the contents with "Foo\n你好, 凯兰\nFoo\nBar\nFoo\nBaz"
|
|
119
|
+
And I move the cursor to 0
|
|
120
|
+
And I open the find speedbar
|
|
121
|
+
And I type "foo" into the "Find" field in the speedbar
|
|
122
|
+
And I press "Next" in the speedbar
|
|
123
|
+
Then the selected text should be "Foo"
|
|
124
|
+
And the selection should be on line 0
|
|
125
|
+
When I press "Next" in the speedbar
|
|
126
|
+
Then the selected text should be "Foo"
|
|
127
|
+
And the selection should be on line 2
|
|
128
|
+
When I press "Next" in the speedbar
|
|
129
|
+
Then the selected text should be "Foo"
|
|
130
|
+
And the selection should be on line 4
|
|
131
|
+
When I press "Next" in the speedbar
|
|
132
|
+
Then the selected text should be "Foo"
|
|
133
|
+
And the selection should be on line 0
|
|
134
|
+
When I press "Next" in the speedbar
|
|
135
|
+
Then the selected text should be "Foo"
|
|
136
|
+
And the selection should be on line 2
|
|
137
|
+
|
|
138
|
+
Scenario: Should select multi-byte characters
|
|
139
|
+
When I replace the contents with "Benedikt Müller"
|
|
140
|
+
And I move the cursor to 0
|
|
141
|
+
And I open the find speedbar
|
|
142
|
+
And I type "mül" into the "Find" field in the speedbar
|
|
143
|
+
And I press "Next" in the speedbar
|
|
144
|
+
Then the selected text should be "Mül"
|
|
145
|
+
And the selection range should be from 9 to 12
|
|
146
|
+
|
|
147
|
+
Scenario: Should select multi-byte characters
|
|
148
|
+
When I replace the contents with "Benedikt Müller"
|
|
149
|
+
And I move the cursor to 0
|
|
150
|
+
And I open the find speedbar
|
|
151
|
+
And I type "mül" into the "Find" field in the speedbar
|
|
152
|
+
And I press "Next" in the speedbar
|
|
153
|
+
Then the selected text should be "Mül"
|
|
154
|
+
And the selection range should be from 9 to 12
|
|
155
|
+
|
|
156
|
+
Scenario: Should select multi-byte characters 2
|
|
157
|
+
When I replace the contents with "你好, 凯兰\nYou make my heart super happy."
|
|
158
|
+
And I move the cursor to 0
|
|
159
|
+
And I open the find speedbar
|
|
160
|
+
And I type "凯兰" into the "Find" field in the speedbar
|
|
161
|
+
And I press "Next" in the speedbar
|
|
162
|
+
Then the selected text should be "凯兰"
|
|
163
|
+
And the selection range should be from 4 to 6
|
|
164
|
+
|
|
165
|
+
Scenario: Doesn't search for a regex
|
|
166
|
+
When I replace the contents with "Foo\nBar\nBaz"
|
|
167
|
+
And I move the cursor to 0
|
|
168
|
+
And I open the find speedbar
|
|
169
|
+
And I type "Ba." into the "Find" field in the speedbar
|
|
170
|
+
And I press "Next" in the speedbar
|
|
171
|
+
Then there should not be any text selected
|
|
172
|
+
|
|
173
|
+
Scenario: Search for a regex
|
|
174
|
+
When I replace the contents with "Foo\nBar\nBaz"
|
|
175
|
+
And I move the cursor to 0
|
|
176
|
+
And I open the find speedbar
|
|
177
|
+
And I type "Ba." into the "Find" field in the speedbar
|
|
178
|
+
And I press "Next" in the speedbar
|
|
179
|
+
Then there should not be any text selected
|
|
180
|
+
When I check "Regex" in the speedbar
|
|
181
|
+
And I press "Next" in the speedbar
|
|
182
|
+
Then the selected text should be "Bar"
|
|
183
|
+
When I press "Next" in the speedbar
|
|
184
|
+
Then the selected text should be "Baz"
|
|
185
|
+
|
|
186
|
+
Scenario: Should not match case by default
|
|
187
|
+
When I replace the contents with "Foo\nBar\nBaz"
|
|
188
|
+
And I move the cursor to 0
|
|
189
|
+
And I open the find speedbar
|
|
190
|
+
And I type "foo" into the "Find" field in the speedbar
|
|
191
|
+
And I press "Next" in the speedbar
|
|
192
|
+
Then the selected text should be "Foo"
|
|
193
|
+
|
|
194
|
+
Scenario: Should not match case with regex by default
|
|
195
|
+
When I replace the contents with "Foo\nBar\nBaz"
|
|
196
|
+
And I move the cursor to 0
|
|
197
|
+
And I open the find speedbar
|
|
198
|
+
And I type "fo." into the "Find" field in the speedbar
|
|
199
|
+
And I press "Next" in the speedbar
|
|
200
|
+
Then there should not be any text selected
|
|
201
|
+
When I check "Regex" in the speedbar
|
|
202
|
+
And I press "Next" in the speedbar
|
|
203
|
+
Then the selected text should be "Foo"
|
|
204
|
+
|
|
205
|
+
Scenario: Should match case if requested
|
|
206
|
+
When I replace the contents with "Foo\nBar\nBaz"
|
|
207
|
+
And I move the cursor to 0
|
|
208
|
+
And I open the find speedbar
|
|
209
|
+
And I type "foo" into the "Find" field in the speedbar
|
|
210
|
+
And I press "Next" in the speedbar
|
|
211
|
+
Then the selected text should be "Foo"
|
|
212
|
+
When I check "Match case" in the speedbar
|
|
213
|
+
And I move the cursor to 0
|
|
214
|
+
And I press "Next" in the speedbar
|
|
215
|
+
Then there should not be any text selected
|
|
216
|
+
When I type "Foo" into the "Find" field in the speedbar
|
|
217
|
+
And I move the cursor to 0
|
|
218
|
+
And I press "Next" in the speedbar
|
|
219
|
+
Then the selected text should be "Foo"
|
|
220
|
+
|
|
221
|
+
Scenario: Should match case if requested with regex
|
|
222
|
+
When I replace the contents with "Foo\nBar\nBaz"
|
|
223
|
+
And I move the cursor to 0
|
|
224
|
+
And I open the find speedbar
|
|
225
|
+
And I check "Regex" in the speedbar
|
|
226
|
+
And I type "fo." into the "Find" field in the speedbar
|
|
227
|
+
And I press "Next" in the speedbar
|
|
228
|
+
Then the selected text should be "Foo"
|
|
229
|
+
When I check "Match case" in the speedbar
|
|
230
|
+
And I move the cursor to 0
|
|
231
|
+
And I press "Next" in the speedbar
|
|
232
|
+
Then there should not be any text selected
|
|
233
|
+
|
|
234
|
+
Scenario: Find next with wrap around
|
|
235
|
+
When I replace the contents with "Foo\nBar Foo\nHmm\nBaz"
|
|
236
|
+
And I move the cursor to 0
|
|
237
|
+
And I open the find speedbar
|
|
238
|
+
And I type "Foo" into the "Find" field in the speedbar
|
|
239
|
+
And I press "Next" in the speedbar
|
|
240
|
+
Then the contents should be "Foo\nBar Foo\nHmm\nBaz"
|
|
241
|
+
And the selected text should be "Foo"
|
|
242
|
+
And the selection range should be from 0 to 3
|
|
243
|
+
When I press "Next" in the speedbar
|
|
244
|
+
Then the contents should be "Foo\nBar Foo\nHmm\nBaz"
|
|
245
|
+
And the selected text should be "Foo"
|
|
246
|
+
And the selection range should be from 8 to 11
|
|
247
|
+
When I press "Next" in the speedbar
|
|
248
|
+
Then the contents should be "Foo\nBar Foo\nHmm\nBaz"
|
|
249
|
+
And the selected text should be "Foo"
|
|
250
|
+
And the selection range should be from 0 to 3
|
|
251
|
+
|
|
252
|
+
Scenario: Find next without wrap around
|
|
253
|
+
When I replace the contents with "Foo\nBar Foo\nHmm\nBaz"
|
|
254
|
+
And I move the cursor to 0
|
|
255
|
+
And I open the find speedbar
|
|
256
|
+
And I uncheck "Wrap around" in the speedbar
|
|
257
|
+
And I type "foo" into the "Find" field in the speedbar
|
|
258
|
+
And I press "Next" in the speedbar
|
|
259
|
+
Then the contents should be "Foo\nBar Foo\nHmm\nBaz"
|
|
260
|
+
And the selected text should be "Foo"
|
|
261
|
+
And the selection range should be from 0 to 3
|
|
262
|
+
When I press "Next" in the speedbar
|
|
263
|
+
Then the contents should be "Foo\nBar Foo\nHmm\nBaz"
|
|
264
|
+
And the selected text should be "Foo"
|
|
265
|
+
And the selection range should be from 8 to 11
|
|
266
|
+
When I press "Next" in the speedbar
|
|
267
|
+
Then the contents should be "Foo\nBar Foo\nHmm\nBaz"
|
|
268
|
+
And there should not be any text selected
|
|
269
|
+
|
|
270
|
+
Scenario: Find previous with wrap around by default
|
|
271
|
+
When I replace the contents with "Foo\nBar Foo\nHmm\nBaz"
|
|
272
|
+
And I move the cursor to 18
|
|
273
|
+
And I open the find speedbar
|
|
274
|
+
And I type "foo" into the "Find" field in the speedbar
|
|
275
|
+
And I press "Next" in the speedbar
|
|
276
|
+
Then the selected text should be "Foo"
|
|
277
|
+
And the selection range should be from 0 to 3
|
|
278
|
+
When I press "Previous" in the speedbar
|
|
279
|
+
Then the selected text should be "Foo"
|
|
280
|
+
And the selection range should be from 8 to 11
|
|
281
|
+
When I press "Previous" in the speedbar
|
|
282
|
+
Then the selected text should be "Foo"
|
|
283
|
+
And the selection range should be from 0 to 3
|
|
284
|
+
When I press "Previous" in the speedbar
|
|
285
|
+
Then the selected text should be "Foo"
|
|
286
|
+
And the selection range should be from 8 to 11
|
|
287
|
+
|
|
288
|
+
Scenario: Find previous without wrap around
|
|
289
|
+
When I replace the contents with "Foo\nBar Foo\nHmm\nBaz"
|
|
290
|
+
And I move the cursor to 18
|
|
291
|
+
And I open the find speedbar
|
|
292
|
+
And I uncheck "Wrap around" in the speedbar
|
|
293
|
+
And I type "Foo" into the "Find" field in the speedbar
|
|
294
|
+
Then the contents should be "Foo\nBar Foo\nHmm\nBaz"
|
|
295
|
+
And there should not be any text selected
|
|
296
|
+
When I press "Previous" in the speedbar
|
|
297
|
+
Then the contents should be "Foo\nBar Foo\nHmm\nBaz"
|
|
298
|
+
And the selected text should be "Foo"
|
|
299
|
+
And the selection range should be from 8 to 11
|
|
300
|
+
When I press "Previous" in the speedbar
|
|
301
|
+
Then the contents should be "Foo\nBar Foo\nHmm\nBaz"
|
|
302
|
+
And the selected text should be "Foo"
|
|
303
|
+
And the selection range should be from 0 to 3
|
|
304
|
+
When I press "Previous" in the speedbar
|
|
305
|
+
Then the contents should be "Foo\nBar Foo\nHmm\nBaz"
|
|
306
|
+
And there should not be any text selected
|
|
307
|
+
|
|
308
|
+
Scenario: Should scroll vertically to the match
|
|
309
|
+
When I replace the contents with 100 lines of "xxx" then "Foo"
|
|
310
|
+
And I scroll to the top of the document
|
|
311
|
+
And I move the cursor to 0
|
|
312
|
+
And I open the find speedbar
|
|
313
|
+
And I type "foo" into the "Find" field in the speedbar
|
|
314
|
+
And I press "Next" in the speedbar
|
|
315
|
+
Then the selected text should be "Foo"
|
|
316
|
+
And line number 100 should be visible
|
|
317
|
+
|
|
318
|
+
Scenario: "Should scroll horizontally to the match"
|
|
319
|
+
When I replace the contents with 300 "x" then "Foo"
|
|
320
|
+
And I move the cursor to 0
|
|
321
|
+
And I open the find speedbar
|
|
322
|
+
And I type "foo" into the "Find" field in the speedbar
|
|
323
|
+
And I press "Next" in the speedbar
|
|
324
|
+
Then the selected text should be "Foo"
|
|
325
|
+
And horizontal offset 302 should be visible
|
|
326
|
+
|
|
327
|
+
Scenario: Should reopen with the same text as the previous search
|
|
328
|
+
When I open the find speedbar
|
|
329
|
+
And I type "foo" into the "Find" field in the speedbar
|
|
330
|
+
And I close the speedbar
|
|
331
|
+
And I open the find speedbar
|
|
332
|
+
Then the "Find" field in the speedbar should have text "foo"
|
|
333
|
+
|
|
334
|
+
Scenario: Should initialize query with the currently selected text
|
|
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
|
|
338
|
+
And I open the find speedbar
|
|
339
|
+
Then the "Find" field in the speedbar should have text "Flux"
|
|
340
|
+
|
|
341
|
+
# End: Scenarios adapted from incremental_search.feature
|
|
342
|
+
|
|
343
|
+
# Begin: Replacement scenarios specific to Find speedbar
|
|
344
|
+
|
|
345
|
+
Scenario: Replace and find with no initial selection
|
|
346
|
+
When I replace the contents with "Foo\nBar Foo Rab Rab\nHmm\nRab\nFoo\nBaz"
|
|
347
|
+
And I move the cursor to 0
|
|
348
|
+
And I open the find speedbar
|
|
349
|
+
And I type "Rab" into the "Find" field in the speedbar
|
|
350
|
+
And I type "RABBIT" into the "Replace" field in the speedbar
|
|
351
|
+
And I press "Replace && Find" in the speedbar
|
|
352
|
+
Then the contents should be "Foo\nBar Foo Rab Rab\nHmm\nRab\nFoo\nBaz"
|
|
353
|
+
And the selected text should be "Rab"
|
|
354
|
+
And the selection range should be from 12 to 15
|
|
355
|
+
When I press "Replace && Find" in the speedbar
|
|
356
|
+
Then the contents should be "Foo\nBar Foo RABBIT Rab\nHmm\nRab\nFoo\nBaz"
|
|
357
|
+
And the selected text should be "Rab"
|
|
358
|
+
And the selection range should be from 19 to 22
|
|
359
|
+
When I press "Replace && Find" in the speedbar
|
|
360
|
+
Then the contents should be "Foo\nBar Foo RABBIT RABBIT\nHmm\nRab\nFoo\nBaz"
|
|
361
|
+
And the selected text should be "Rab"
|
|
362
|
+
And the selection range should be from 30 to 33
|
|
363
|
+
When I press "Replace && Find" in the speedbar
|
|
364
|
+
Then the contents should be "Foo\nBar Foo RABBIT RABBIT\nHmm\nRABBIT\nFoo\nBaz"
|
|
365
|
+
And the selected text should be "RAB"
|
|
366
|
+
And the selection range should be from 12 to 15
|
|
367
|
+
When I press "Replace && Find" in the speedbar
|
|
368
|
+
Then the contents should be "Foo\nBar Foo RABBITBIT RABBIT\nHmm\nRABBIT\nFoo\nBaz"
|
|
369
|
+
And the selected text should be "RAB"
|
|
370
|
+
And the selection range should be from 22 to 25
|
|
371
|
+
|
|
372
|
+
Scenario: Replace and find with matching initial selection
|
|
373
|
+
When I replace the contents with "Foo\nBar Foo Rab Rab\nHmm\nRab\nFoo\nBaz"
|
|
374
|
+
And I select from 12 to 15
|
|
375
|
+
And I open the find speedbar
|
|
376
|
+
And I type "Rab" into the "Find" field in the speedbar
|
|
377
|
+
And I type "RABBIT" into the "Replace" field in the speedbar
|
|
378
|
+
And I press "Replace && Find" in the speedbar
|
|
379
|
+
Then the contents should be "Foo\nBar Foo RABBIT Rab\nHmm\nRab\nFoo\nBaz"
|
|
380
|
+
And the selected text should be "Rab"
|
|
381
|
+
And the selection range should be from 19 to 22
|
|
382
|
+
When I press "Replace && Find" in the speedbar
|
|
383
|
+
Then the contents should be "Foo\nBar Foo RABBIT RABBIT\nHmm\nRab\nFoo\nBaz"
|
|
384
|
+
And the selected text should be "Rab"
|
|
385
|
+
And the selection range should be from 30 to 33
|
|
386
|
+
When I press "Replace && Find" in the speedbar
|
|
387
|
+
Then the contents should be "Foo\nBar Foo RABBIT RABBIT\nHmm\nRABBIT\nFoo\nBaz"
|
|
388
|
+
And the selected text should be "RAB"
|
|
389
|
+
And the selection range should be from 12 to 15
|
|
390
|
+
When I press "Replace && Find" in the speedbar
|
|
391
|
+
Then the contents should be "Foo\nBar Foo RABBITBIT RABBIT\nHmm\nRABBIT\nFoo\nBaz"
|
|
392
|
+
And the selected text should be "RAB"
|
|
393
|
+
And the selection range should be from 22 to 25
|
|
394
|
+
|
|
395
|
+
Scenario: Replace and find with initial selection that doesn't match
|
|
396
|
+
When I replace the contents with "Foo\nBar Foo Rab Rab\nHmm\nRab\nFoo\nBaz"
|
|
397
|
+
And I select from 4 to 7
|
|
398
|
+
And I open the find speedbar
|
|
399
|
+
And I type "Rab" into the "Find" field in the speedbar
|
|
400
|
+
And I type "RABBIT" into the "Replace" field in the speedbar
|
|
401
|
+
And I press "Replace && Find" in the speedbar
|
|
402
|
+
Then the contents should be "Foo\nBar Foo Rab Rab\nHmm\nRab\nFoo\nBaz"
|
|
403
|
+
And the selected text should be "Rab"
|
|
404
|
+
And the selection range should be from 12 to 15
|
|
405
|
+
When I press "Replace && Find" in the speedbar
|
|
406
|
+
Then the contents should be "Foo\nBar Foo RABBIT Rab\nHmm\nRab\nFoo\nBaz"
|
|
407
|
+
And the selected text should be "Rab"
|
|
408
|
+
And the selection range should be from 19 to 22
|
|
409
|
+
When I press "Replace && Find" in the speedbar
|
|
410
|
+
Then the contents should be "Foo\nBar Foo RABBIT RABBIT\nHmm\nRab\nFoo\nBaz"
|
|
411
|
+
And the selected text should be "Rab"
|
|
412
|
+
And the selection range should be from 30 to 33
|
|
413
|
+
When I press "Replace && Find" in the speedbar
|
|
414
|
+
Then the contents should be "Foo\nBar Foo RABBIT RABBIT\nHmm\nRABBIT\nFoo\nBaz"
|
|
415
|
+
And the selected text should be "RAB"
|
|
416
|
+
And the selection range should be from 12 to 15
|
|
417
|
+
When I press "Replace && Find" in the speedbar
|
|
418
|
+
Then the contents should be "Foo\nBar Foo RABBITBIT RABBIT\nHmm\nRABBIT\nFoo\nBaz"
|
|
419
|
+
And the selected text should be "RAB"
|
|
420
|
+
And the selection range should be from 22 to 25
|
|
421
|
+
|
|
422
|
+
Scenario: Replace and find with initial selection that is after last match
|
|
423
|
+
When I replace the contents with "Foo\nBar Foo Rab Rab\nHmm\nRab\nFoo\nBaz"
|
|
424
|
+
And I select from 28 to 31
|
|
425
|
+
And I open the find speedbar
|
|
426
|
+
And I type "Rab" into the "Find" field in the speedbar
|
|
427
|
+
And I type "RABBIT" into the "Replace" field in the speedbar
|
|
428
|
+
And I press "Replace && Find" in the speedbar
|
|
429
|
+
Then the contents should be "Foo\nBar Foo Rab Rab\nHmm\nRab\nFoo\nBaz"
|
|
430
|
+
And the selected text should be "Rab"
|
|
431
|
+
And the selection range should be from 12 to 15
|
|
432
|
+
When I press "Replace && Find" in the speedbar
|
|
433
|
+
Then the contents should be "Foo\nBar Foo RABBIT Rab\nHmm\nRab\nFoo\nBaz"
|
|
434
|
+
And the selected text should be "Rab"
|
|
435
|
+
And the selection range should be from 19 to 22
|
|
436
|
+
When I press "Replace && Find" in the speedbar
|
|
437
|
+
Then the contents should be "Foo\nBar Foo RABBIT RABBIT\nHmm\nRab\nFoo\nBaz"
|
|
438
|
+
And the selected text should be "Rab"
|
|
439
|
+
And the selection range should be from 30 to 33
|
|
440
|
+
When I press "Replace && Find" in the speedbar
|
|
441
|
+
Then the contents should be "Foo\nBar Foo RABBIT RABBIT\nHmm\nRABBIT\nFoo\nBaz"
|
|
442
|
+
And the selected text should be "RAB"
|
|
443
|
+
And the selection range should be from 12 to 15
|
|
444
|
+
When I press "Replace && Find" in the speedbar
|
|
445
|
+
Then the contents should be "Foo\nBar Foo RABBITBIT RABBIT\nHmm\nRABBIT\nFoo\nBaz"
|
|
446
|
+
And the selected text should be "RAB"
|
|
447
|
+
And the selection range should be from 22 to 25
|
|
448
|
+
|
|
449
|
+
Scenario: Replace and find with initial selection that is after last match and no wrap around
|
|
450
|
+
When I replace the contents with "Foo\nBar Foo Rab Rab\nHmm\nRab\nFoo\nBaz"
|
|
451
|
+
And I select from 28 to 31
|
|
452
|
+
And I open the find speedbar
|
|
453
|
+
And I type "Rab" into the "Find" field in the speedbar
|
|
454
|
+
And I type "RABBIT" into the "Replace" field in the speedbar
|
|
455
|
+
And I uncheck "Wrap around" in the speedbar
|
|
456
|
+
And I press "Replace && Find" in the speedbar
|
|
457
|
+
Then the contents should be "Foo\nBar Foo Rab Rab\nHmm\nRab\nFoo\nBaz"
|
|
458
|
+
And the selected text should be ""
|
|
459
|
+
And the selection range should be from 31 to 31
|
|
460
|
+
When I press "Replace && Find" in the speedbar
|
|
461
|
+
Then the contents should be "Foo\nBar Foo Rab Rab\nHmm\nRab\nFoo\nBaz"
|
|
462
|
+
And the selected text should be ""
|
|
463
|
+
And the selection range should be from 31 to 31
|
|
464
|
+
|
|
465
|
+
Scenario: Replace all replaces one
|
|
466
|
+
When I replace the contents with "Foo\nBar\nBaz"
|
|
467
|
+
And I move the cursor to 0
|
|
468
|
+
And I open the find speedbar
|
|
469
|
+
And I type "Bar" into the "Find" field in the speedbar
|
|
470
|
+
And I type "Rab" into the "Replace" field in the speedbar
|
|
471
|
+
And I uncheck "Wrap around" in the speedbar
|
|
472
|
+
And I press "Replace All" in the speedbar
|
|
473
|
+
Then the contents should be "Foo\nRab\nBaz"
|
|
474
|
+
And the selected text should be "Rab"
|
|
475
|
+
And the selection range should be from 4 to 7
|
|
476
|
+
|
|
477
|
+
Scenario: Replace all replaces two
|
|
478
|
+
When I replace the contents with "Foo\nBar\nBaz\nBar\nQux"
|
|
479
|
+
And I move the cursor to 0
|
|
480
|
+
And I open the find speedbar
|
|
481
|
+
And I type "Bar" into the "Find" field in the speedbar
|
|
482
|
+
And I type "Rab" into the "Replace" field in the speedbar
|
|
483
|
+
And I uncheck "Wrap around" in the speedbar
|
|
484
|
+
And I press "Replace All" in the speedbar
|
|
485
|
+
Then the contents should be "Foo\nRab\nBaz\nRab\nQux"
|
|
486
|
+
And the selected text should be "Rab"
|
|
487
|
+
And the selection range should be from 12 to 15
|
|
488
|
+
|
|
489
|
+
Scenario: Replace all replaces two on the same line
|
|
490
|
+
When I replace the contents with "abcabc"
|
|
491
|
+
And I open the find speedbar
|
|
492
|
+
And I type "bc" into the "Find" field in the speedbar
|
|
493
|
+
And I type "xx" into the "Replace" field in the speedbar
|
|
494
|
+
And I uncheck "Wrap around" in the speedbar
|
|
495
|
+
And I press "Replace All" in the speedbar
|
|
496
|
+
Then the contents should be "axxaxx"
|
|
497
|
+
And the selected text should be "xx"
|
|
498
|
+
And the selection range should be from 4 to 6
|
|
499
|
+
When I press "Replace All" in the speedbar
|
|
500
|
+
Then the contents should be "axxaxx"
|
|
501
|
+
And the selected text should be "xx"
|
|
502
|
+
And the selection range should be from 4 to 6
|
|
503
|
+
|
|
504
|
+
Scenario: Replace all replaces overlapping occurences on the same line
|
|
505
|
+
When I replace the contents with "deedeedeed"
|
|
506
|
+
And I open the find speedbar
|
|
507
|
+
And I type "deed" into the "Find" field in the speedbar
|
|
508
|
+
And I type "misdeed" into the "Replace" field in the speedbar
|
|
509
|
+
And I uncheck "Wrap around" in the speedbar
|
|
510
|
+
And I press "Replace All" in the speedbar
|
|
511
|
+
Then the contents should be "misdeedeemisdeed"
|
|
512
|
+
And the selected text should be "misdeed"
|
|
513
|
+
And the selection range should be from 9 to 16
|
|
514
|
+
|
|
515
|
+
Scenario: Replace all is a single undo action
|
|
516
|
+
When I replace the contents with "Foo\n\nabcabc\n\nBar"
|
|
517
|
+
And I open the find speedbar
|
|
518
|
+
And I type "bc" into the "Find" field in the speedbar
|
|
519
|
+
And I type "xx" into the "Replace" field in the speedbar
|
|
520
|
+
And I uncheck "Wrap around" in the speedbar
|
|
521
|
+
And I press "Replace All" in the speedbar
|
|
522
|
+
Then the contents should be "Foo\n\naxxaxx\n\nBar"
|
|
523
|
+
And the selected text should be "xx"
|
|
524
|
+
And the selection range should be from 9 to 11
|
|
525
|
+
When I undo
|
|
526
|
+
Then the contents should be "Foo\n\nabcabc\n\nBar"
|
|
527
|
+
|
|
528
|
+
Scenario: Replace all regex with back-references
|
|
529
|
+
When I replace the contents with "One fish\ntwo fish\nred fish\nblue fish"
|
|
530
|
+
And I move the cursor to 0
|
|
531
|
+
And I open the find speedbar
|
|
532
|
+
And I type "(\w+) fish" into the "Find" field in the speedbar
|
|
533
|
+
And I type "\1 car" into the "Replace" field in the speedbar
|
|
534
|
+
And I check "Regex" in the speedbar
|
|
535
|
+
And I uncheck "Wrap around" in the speedbar
|
|
536
|
+
And I press "Replace All" in the speedbar
|
|
537
|
+
Then the contents should be "One car\ntwo car\nred car\nblue car"
|
|
538
|
+
And the selected text should be "blue car"
|
|
539
|
+
And the selection range should be from 24 to 32
|
|
540
|
+
|
|
541
|
+
# End: Replacement scenarios specific to Find speedbar
|