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,116 @@
|
|
|
1
|
+
module Redcar
|
|
2
|
+
module Scm
|
|
3
|
+
module Subversion
|
|
4
|
+
class Change
|
|
5
|
+
include Redcar::Scm::ScmChangesMirror::Change
|
|
6
|
+
include_package 'org.tmatesoft.svn.core.wc'
|
|
7
|
+
include_package 'org.tmatesoft.svn.core'
|
|
8
|
+
|
|
9
|
+
def initialize(path,status,children,diff_client)
|
|
10
|
+
case Redcar.platform
|
|
11
|
+
when :osx, :linux
|
|
12
|
+
@path = path.gsub("//","/")
|
|
13
|
+
when :windows
|
|
14
|
+
@path = path.gsub("//","\\")
|
|
15
|
+
end
|
|
16
|
+
@status = status
|
|
17
|
+
@children = children
|
|
18
|
+
@diff_client = diff_client
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def text
|
|
22
|
+
File.basename(@path)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def tooltip_text
|
|
26
|
+
@path
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def icon
|
|
30
|
+
case @status
|
|
31
|
+
when :unmerged
|
|
32
|
+
if File.file?(@path)
|
|
33
|
+
File.join(Redcar.icons_directory, "blue-document--exclamation.png")
|
|
34
|
+
else
|
|
35
|
+
File.join(Redcar.icons_directory, "blue-folder--exclamation.png")
|
|
36
|
+
end
|
|
37
|
+
when :indexed
|
|
38
|
+
if File.file?(@path)
|
|
39
|
+
File.join(Redcar.icons_directory, "blue-document--plus.png")
|
|
40
|
+
else
|
|
41
|
+
File.join(Redcar.icons_directory, "blue-folder--plus.png")
|
|
42
|
+
end
|
|
43
|
+
when :deleted
|
|
44
|
+
if File.file?(@path)
|
|
45
|
+
File.join(Redcar.icons_directory, "blue-document-shred.png")
|
|
46
|
+
else
|
|
47
|
+
File.join(Redcar.icons_directory, "blue-folder-shred.png")
|
|
48
|
+
end
|
|
49
|
+
when :changed
|
|
50
|
+
if File.file?(@path)
|
|
51
|
+
File.join(Redcar.icons_directory, "blue-document--pencil.png")
|
|
52
|
+
else
|
|
53
|
+
File.join(Redcar.icons_directory, "blue-folder--pencil.png")
|
|
54
|
+
end
|
|
55
|
+
when :missing
|
|
56
|
+
File.join(Redcar.icons_directory, "question-white.png")
|
|
57
|
+
when :new
|
|
58
|
+
if File.directory?(@path.to_s)
|
|
59
|
+
:directory
|
|
60
|
+
else
|
|
61
|
+
:file
|
|
62
|
+
end
|
|
63
|
+
else
|
|
64
|
+
:file
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def leaf?
|
|
69
|
+
File.file?(@path)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def status
|
|
73
|
+
[@status]
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def log_status
|
|
77
|
+
"#{log_codes[status] || ''} #{path}"
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def path
|
|
81
|
+
@path
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def children
|
|
85
|
+
@children
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def diff
|
|
89
|
+
unless @status == :new
|
|
90
|
+
stream = Java::JavaIo::ByteArrayOutputStream.new
|
|
91
|
+
file = Java::JavaIo::File.new(path)
|
|
92
|
+
@diff_client.doDiff(
|
|
93
|
+
file, SVNRevision::BASE,
|
|
94
|
+
file, SVNRevision::WORKING,
|
|
95
|
+
SVNDepth::IMMEDIATES,
|
|
96
|
+
false,
|
|
97
|
+
stream,
|
|
98
|
+
Java::JavaUtil::ArrayList.new
|
|
99
|
+
)
|
|
100
|
+
stream.toString()
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def log_codes
|
|
105
|
+
{
|
|
106
|
+
[:indexed] => "A",
|
|
107
|
+
[:changed] => "M",
|
|
108
|
+
[:deleted] => "D",
|
|
109
|
+
[:missing] => "!",
|
|
110
|
+
[:unmerged] => "C"
|
|
111
|
+
}
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
Feature: Snippets should indent correctly
|
|
2
|
+
|
|
3
|
+
Scenario: Indent level 0, hard
|
|
4
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
5
|
+
"""
|
|
6
|
+
if $1\n\t\nend
|
|
7
|
+
"""
|
|
8
|
+
When I open a new edit tab
|
|
9
|
+
And tabs are hard
|
|
10
|
+
And I replace the contents with "if<c>"
|
|
11
|
+
And I press the Tab key in the edit tab
|
|
12
|
+
Then the contents should be "if <c>\n\t\nend"
|
|
13
|
+
|
|
14
|
+
Scenario: Indent level 1, hard
|
|
15
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
16
|
+
"""
|
|
17
|
+
if $1\n\t\nend
|
|
18
|
+
"""
|
|
19
|
+
When I open a new edit tab
|
|
20
|
+
And tabs are hard
|
|
21
|
+
And I replace the contents with "\tif<c>"
|
|
22
|
+
And I press the Tab key in the edit tab
|
|
23
|
+
Then the contents should be "\tif <c>\n\t\t\n\tend"
|
|
24
|
+
|
|
25
|
+
Scenario: Indent level 2, hard
|
|
26
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
27
|
+
"""
|
|
28
|
+
if $1\n\t\nend
|
|
29
|
+
"""
|
|
30
|
+
When I open a new edit tab
|
|
31
|
+
And tabs are hard
|
|
32
|
+
And I replace the contents with "\t\tif<c>"
|
|
33
|
+
And I press the Tab key in the edit tab
|
|
34
|
+
Then the contents should be "\t\tif <c>\n\t\t\t\n\t\tend"
|
|
35
|
+
|
|
36
|
+
Scenario: Indent level 0, soft
|
|
37
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
38
|
+
"""
|
|
39
|
+
if $1\n\t$2\nend
|
|
40
|
+
"""
|
|
41
|
+
When I open a new edit tab
|
|
42
|
+
And tabs are soft, 4 spaces
|
|
43
|
+
And I replace the contents with "if<c>"
|
|
44
|
+
And I press the Tab key in the edit tab
|
|
45
|
+
And I press the Tab key in the edit tab
|
|
46
|
+
Then the contents should be "if \n <c>\nend"
|
|
47
|
+
|
|
48
|
+
Scenario: Indent level 1, soft
|
|
49
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
50
|
+
"""
|
|
51
|
+
if $1\n\t\nend
|
|
52
|
+
"""
|
|
53
|
+
When I open a new edit tab
|
|
54
|
+
And tabs are soft, 4 spaces
|
|
55
|
+
And I replace the contents with " if<c>"
|
|
56
|
+
And I press the Tab key in the edit tab
|
|
57
|
+
Then the contents should be " if <c>\n \n end"
|
|
58
|
+
|
|
59
|
+
Scenario: Indent level 2, soft
|
|
60
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
61
|
+
"""
|
|
62
|
+
if $1\n\t\nend
|
|
63
|
+
"""
|
|
64
|
+
When I open a new edit tab
|
|
65
|
+
And tabs are soft, 4 spaces
|
|
66
|
+
And I replace the contents with " if<c>"
|
|
67
|
+
And I press the Tab key in the edit tab
|
|
68
|
+
Then the contents should be " if <c>\n \n end"
|
|
69
|
+
|
|
70
|
+
Scenario: Indent level 1, mixed
|
|
71
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
72
|
+
"""
|
|
73
|
+
if $1\n\t\nend
|
|
74
|
+
"""
|
|
75
|
+
When I open a new edit tab
|
|
76
|
+
And tabs are soft, 4 spaces
|
|
77
|
+
And I replace the contents with " \tif<c>"
|
|
78
|
+
And I press the Tab key in the edit tab
|
|
79
|
+
Then the contents should be " \tif <c>\n \n end"
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
Feature: Snippets
|
|
2
|
+
|
|
3
|
+
Background:
|
|
4
|
+
When I open a new edit tab
|
|
5
|
+
And tabs are hard
|
|
6
|
+
|
|
7
|
+
Scenario: Simple content snippet in global scope
|
|
8
|
+
Given there is a snippet with tab trigger "DBL" and scope "" and content
|
|
9
|
+
"""
|
|
10
|
+
Daniel Benjamin Lucraft
|
|
11
|
+
"""
|
|
12
|
+
When I replace the contents with "DBL<c>"
|
|
13
|
+
And I press the Tab key in the edit tab
|
|
14
|
+
Then the contents should be "Daniel Benjamin Lucraft<c>"
|
|
15
|
+
|
|
16
|
+
Scenario: Snippet text preceded by other characters and separated by non-word characters
|
|
17
|
+
Given there is a snippet with tab trigger "ewf" and scope "" and content
|
|
18
|
+
"""
|
|
19
|
+
Earth, Wind, and Fire
|
|
20
|
+
"""
|
|
21
|
+
When I replace the contents with "}}ewf<c>"
|
|
22
|
+
And I press the Tab key in the edit tab
|
|
23
|
+
Then the contents should be "}}Earth, Wind, and Fire<c>"
|
|
24
|
+
When I replace the contents with "(1,2,4)}}ewf<c>"
|
|
25
|
+
And I press the Tab key in the edit tab
|
|
26
|
+
Then the contents should be "(1,2,4)}}Earth, Wind, and Fire<c>"
|
|
27
|
+
When I replace the contents with "blank.test1.ewf<c>"
|
|
28
|
+
And I press the Tab key in the edit tab
|
|
29
|
+
Then the contents should be "blank.test1.Earth, Wind, and Fire<c>"
|
|
30
|
+
|
|
31
|
+
Scenario: Simple content snippet in plain text scope
|
|
32
|
+
Given there is a snippet with tab trigger "DBL" and scope "text.plain" and content
|
|
33
|
+
"""
|
|
34
|
+
Daniel Benjamin Lucraft
|
|
35
|
+
"""
|
|
36
|
+
When I replace the contents with "DBL<c>"
|
|
37
|
+
And I press the Tab key in the edit tab
|
|
38
|
+
Then the contents should be "Daniel Benjamin Lucraft<c>"
|
|
39
|
+
|
|
40
|
+
Scenario: Inserts Textmate environment variable TM_LINE_INDEX
|
|
41
|
+
Given there is a snippet with tab trigger "fg" and scope "text.plain" and content
|
|
42
|
+
"""
|
|
43
|
+
Felix ${TM_LINE_INDEX} Gaeta
|
|
44
|
+
"""
|
|
45
|
+
When I replace the contents with "0123 fg<c>"
|
|
46
|
+
And I press the Tab key in the edit tab
|
|
47
|
+
Then the contents should be "0123 Felix 5 Gaeta<c>"
|
|
48
|
+
|
|
49
|
+
Scenario: Inserts Textmate environment variable TM_LINE_INDEX without curlies
|
|
50
|
+
Given there is a snippet with tab trigger "fg" and scope "text.plain" and content
|
|
51
|
+
"""
|
|
52
|
+
Felix $TM_LINE_INDEX Gaeta
|
|
53
|
+
"""
|
|
54
|
+
When I replace the contents with "0123 fg<c>"
|
|
55
|
+
And I press the Tab key in the edit tab
|
|
56
|
+
Then the contents should be "0123 Felix 5 Gaeta<c>"
|
|
57
|
+
|
|
58
|
+
Scenario: Transforms Textmate environment variables
|
|
59
|
+
Given there is a snippet with tab trigger "fg" and scope "text.plain" and content
|
|
60
|
+
"""
|
|
61
|
+
Felix ${TM_CURRENT_LINE/Co/ChiefOfStaff/} Gaeta
|
|
62
|
+
"""
|
|
63
|
+
When I replace the contents with "CoABC fg<c>"
|
|
64
|
+
And I press the Tab key in the edit tab
|
|
65
|
+
Then the contents should be "CoABC Felix ChiefOfStaffABC Gaeta<c>"
|
|
66
|
+
|
|
67
|
+
Scenario: Transforms Textmate environment variables global find and replace
|
|
68
|
+
Given there is a snippet with tab trigger "fg" and scope "text.plain" and content
|
|
69
|
+
"""
|
|
70
|
+
Felix ${TM_CURRENT_LINE/\w/CS /g} Gaeta
|
|
71
|
+
"""
|
|
72
|
+
When I replace the contents with "ABC fg<c>"
|
|
73
|
+
And I press the Tab key in the edit tab
|
|
74
|
+
Then the contents should be "ABC Felix CS CS CS Gaeta<c>"
|
|
75
|
+
|
|
76
|
+
Scenario: Transforms Textmate environment variables escapes characters
|
|
77
|
+
Given there is a snippet with tab trigger "fg" and scope "text.plain" and content
|
|
78
|
+
"""
|
|
79
|
+
Felix ${TM_CURRENT_LINE/\w/C\/S /g} Gaeta
|
|
80
|
+
"""
|
|
81
|
+
When I replace the contents with "ABC fg<c>"
|
|
82
|
+
And I press the Tab key in the edit tab
|
|
83
|
+
Then the contents should be "ABC Felix C/S C/S C/S Gaeta<c>"
|
|
84
|
+
|
|
85
|
+
Scenario: Inserts one tab stop
|
|
86
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
87
|
+
"""
|
|
88
|
+
if $1\n\t\nend
|
|
89
|
+
"""
|
|
90
|
+
When I replace the contents with "if<c>"
|
|
91
|
+
And I press the Tab key in the edit tab
|
|
92
|
+
Then the contents should be "if <c>\n\t\nend"
|
|
93
|
+
|
|
94
|
+
Scenario: Escapes dollars
|
|
95
|
+
Given there is a snippet with tab trigger "DBL" and scope "text.plain" and content
|
|
96
|
+
"""
|
|
97
|
+
Daniel \$1 Benjamin Lucraft
|
|
98
|
+
"""
|
|
99
|
+
When I replace the contents with "DBL<c>"
|
|
100
|
+
And I press the Tab key in the edit tab
|
|
101
|
+
Then the contents should be "Daniel $1 Benjamin Lucraft<c>"
|
|
102
|
+
|
|
103
|
+
Scenario: Selects tab stop zero
|
|
104
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
105
|
+
"""
|
|
106
|
+
if ${0:instance}
|
|
107
|
+
"""
|
|
108
|
+
When I replace the contents with "if<c>"
|
|
109
|
+
And I press the Tab key in the edit tab
|
|
110
|
+
Then the contents should be "if <s>instance<c>"
|
|
111
|
+
|
|
112
|
+
Scenario: Allows tabbing past snippet
|
|
113
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
114
|
+
"""
|
|
115
|
+
if $1\n\t\nend
|
|
116
|
+
"""
|
|
117
|
+
When I replace the contents with "if<c>"
|
|
118
|
+
And I press the Tab key in the edit tab
|
|
119
|
+
And I press the Tab key in the edit tab
|
|
120
|
+
Then the contents should be "if \n\t\nend<c>"
|
|
121
|
+
|
|
122
|
+
Scenario: Allows tabbing between tab stops
|
|
123
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
124
|
+
"""
|
|
125
|
+
if $1\n\t$2\nend
|
|
126
|
+
"""
|
|
127
|
+
When I replace the contents with "if<c>"
|
|
128
|
+
And I press the Tab key in the edit tab
|
|
129
|
+
And I press the Tab key in the edit tab
|
|
130
|
+
Then the contents should be "if \n\t<c>\nend"
|
|
131
|
+
When I press the Tab key in the edit tab
|
|
132
|
+
Then the contents should be "if \n\t\nend<c>"
|
|
133
|
+
|
|
134
|
+
Scenario: Allows tabbing between nonconsecutive tab stops
|
|
135
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
136
|
+
"""
|
|
137
|
+
if $1\n\t$3\nend
|
|
138
|
+
"""
|
|
139
|
+
When I replace the contents with "if<c>"
|
|
140
|
+
And I press the Tab key in the edit tab
|
|
141
|
+
And I press the Tab key in the edit tab
|
|
142
|
+
Then the contents should be "if \n\t<c>\nend"
|
|
143
|
+
When I press the Tab key in the edit tab
|
|
144
|
+
Then the contents should be "if \n\t\nend<c>"
|
|
145
|
+
|
|
146
|
+
Scenario: Allows typing and tabbing
|
|
147
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
148
|
+
"""
|
|
149
|
+
if $1\n\t$2\nend
|
|
150
|
+
"""
|
|
151
|
+
When I replace the contents with "if<c>"
|
|
152
|
+
And I press the Tab key in the edit tab
|
|
153
|
+
And I insert "Pegasus" at the cursor
|
|
154
|
+
And I press the Tab key in the edit tab
|
|
155
|
+
Then the contents should be "if Pegasus\n\t<c>\nend"
|
|
156
|
+
When I insert "Cain" at the cursor
|
|
157
|
+
And I press the Tab key in the edit tab
|
|
158
|
+
Then the contents should be "if Pegasus\n\tCain\nend<c>"
|
|
159
|
+
|
|
160
|
+
Scenario: Allows shift tabbing
|
|
161
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
162
|
+
"""
|
|
163
|
+
if $1\n\t$2\nend
|
|
164
|
+
"""
|
|
165
|
+
When I replace the contents with "if<c>"
|
|
166
|
+
And I press the Tab key in the edit tab
|
|
167
|
+
And I insert "Pegasus" at the cursor
|
|
168
|
+
And I press the Tab key in the edit tab
|
|
169
|
+
Then the contents should be "if Pegasus\n\t<c>\nend"
|
|
170
|
+
When I insert "Cain" at the cursor
|
|
171
|
+
And I press Shift+Tab in the edit tab
|
|
172
|
+
Then the contents should be "if <s>Pegasus<c>\n\tCain\nend"
|
|
173
|
+
|
|
174
|
+
Scenario: Inserts tab stop content
|
|
175
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
176
|
+
"""
|
|
177
|
+
if ${1:condition}\n\t$0\nend
|
|
178
|
+
"""
|
|
179
|
+
When I replace the contents with "if<c>"
|
|
180
|
+
And I press the Tab key in the edit tab
|
|
181
|
+
Then the contents should be "if <s>condition<c>\n\t\nend"
|
|
182
|
+
|
|
183
|
+
Scenario: Inserts environment variable as placeholder
|
|
184
|
+
Given there is a snippet with tab trigger "fg" and scope "text.plain" and content
|
|
185
|
+
"""
|
|
186
|
+
Felix ${1:$TM_LINE_INDEX} Gaeta
|
|
187
|
+
"""
|
|
188
|
+
When I replace the contents with "ABC fg<c>"
|
|
189
|
+
And I press the Tab key in the edit tab
|
|
190
|
+
Then the contents should be "ABC Felix 4 Gaeta"
|
|
191
|
+
|
|
192
|
+
Scenario: Does not trigger snippet on tab trigger with trailing space
|
|
193
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
194
|
+
"""
|
|
195
|
+
if ${1:condition}\n\t$0\nend
|
|
196
|
+
"""
|
|
197
|
+
When I replace the contents with "ABC if <c>"
|
|
198
|
+
And I press the Tab key in the edit tab
|
|
199
|
+
And I move the cursor to 0
|
|
200
|
+
And I press the Tab key in the edit tab
|
|
201
|
+
Then the contents should not be "\t<c>ABC if condition\n\t\nend"
|
|
202
|
+
And the contents should be "\t<c>ABC if \t"
|
|
203
|
+
|
|
204
|
+
Scenario: Leaves snippet on cursor move
|
|
205
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
206
|
+
"""
|
|
207
|
+
if ${1:condition}\n\t$0\nend
|
|
208
|
+
"""
|
|
209
|
+
When I replace the contents with "ABC if<c>"
|
|
210
|
+
And I press the Tab key in the edit tab
|
|
211
|
+
And I move the cursor to 0
|
|
212
|
+
And I press the Tab key in the edit tab
|
|
213
|
+
Then the contents should be "\t<c>ABC if condition\n\t\nend"
|
|
214
|
+
|
|
215
|
+
Scenario: Multiple tab stops with content
|
|
216
|
+
Given there is a snippet with tab trigger "if" and scope "text.plain" and content
|
|
217
|
+
"""
|
|
218
|
+
if ${1:condition}\n\t${2:code}\nend
|
|
219
|
+
"""
|
|
220
|
+
When I replace the contents with "if<c>"
|
|
221
|
+
And I press the Tab key in the edit tab
|
|
222
|
+
Then the contents should be "if <s>condition<c>\n\tcode\nend"
|
|
223
|
+
And I press the Tab key in the edit tab
|
|
224
|
+
Then the contents should be "if condition\n\t<s>code<c>\nend"
|
|
225
|
+
And I press the Tab key in the edit tab
|
|
226
|
+
Then the contents should be "if condition\n\tcode\nend<c>"
|
|
227
|
+
|
|
228
|
+
Scenario: Mirrors mirror text
|
|
229
|
+
Given there is a snippet with tab trigger "name2" and scope "text.plain" and content
|
|
230
|
+
"""
|
|
231
|
+
name: $1\nname: $1
|
|
232
|
+
"""
|
|
233
|
+
When I replace the contents with "name2<c>"
|
|
234
|
+
And I press the Tab key in the edit tab
|
|
235
|
+
Then the contents should be "name: <c>\nname: "
|
|
236
|
+
And I insert "raider" at the cursor
|
|
237
|
+
Then the contents should be "name: <c>raider\nname: raider"
|
|
238
|
+
|
|
239
|
+
Scenario: Mirrors mirror tab stop with content
|
|
240
|
+
Given there is a snippet with tab trigger "name2" and scope "text.plain" and content
|
|
241
|
+
"""
|
|
242
|
+
name: ${1:leoban}\nname: $1
|
|
243
|
+
"""
|
|
244
|
+
When I replace the contents with "name2<c>"
|
|
245
|
+
And I press the Tab key in the edit tab
|
|
246
|
+
Then the contents should be "name: <s>leoban<c>\nname: leoban"
|
|
247
|
+
And I insert "s" at the cursor
|
|
248
|
+
Then the contents should be "name: <s>leoban<c>s\nname: leobans"
|
|
249
|
+
|
|
250
|
+
Scenario: Mirrors mirror tab stop with content at both ends
|
|
251
|
+
Given there is a snippet with tab trigger "name2" and scope "text.plain" and content
|
|
252
|
+
"""
|
|
253
|
+
name: ${1:leoban}\nname: ${1:leoban}
|
|
254
|
+
"""
|
|
255
|
+
When I replace the contents with "name2<c>"
|
|
256
|
+
And I press the Tab key in the edit tab
|
|
257
|
+
Then the contents should be "name: <s>leoban<c>\nname: leoban"
|
|
258
|
+
And I move the cursor to 10
|
|
259
|
+
And I insert "s" at the cursor
|
|
260
|
+
Then the contents should be "name: leob<c>san\nname: leobsan"
|
|
261
|
+
And I move the cursor to 10
|
|
262
|
+
And I press the Backspace key in the edit tab
|
|
263
|
+
And I press the Backspace key in the edit tab
|
|
264
|
+
Then the contents should be "name: le<c>san\nname: lesan"
|
|
265
|
+
|
|
266
|
+
Scenario: Transforms tab stops
|
|
267
|
+
Given there is a snippet with tab trigger "name" and scope "text.plain" and content
|
|
268
|
+
"""
|
|
269
|
+
name: $1\nupper: ${1/(\w+)/\U$1\E/}
|
|
270
|
+
"""
|
|
271
|
+
When I replace the contents with "name<c>"
|
|
272
|
+
And I press the Tab key in the edit tab
|
|
273
|
+
And I insert "raptor" at the cursor
|
|
274
|
+
Then the contents should be "name: <c>raptor\nupper: RAPTOR"
|
|
275
|
+
And I move the cursor to 10
|
|
276
|
+
And I press the Backspace key in the edit tab
|
|
277
|
+
And I press the Backspace key in the edit tab
|
|
278
|
+
Then the contents should be "name: ra<c>or\nupper: RAOR"
|
|
279
|
+
|
|
280
|
+
Scenario: Globally transforms tab stops
|
|
281
|
+
Given there is a snippet with tab trigger "name" and scope "text.plain" and content
|
|
282
|
+
"""
|
|
283
|
+
name: $1\nupper: ${1/(\w+)/\U$1\E/g}
|
|
284
|
+
"""
|
|
285
|
+
When I replace the contents with "name<c>"
|
|
286
|
+
And I press the Tab key in the edit tab
|
|
287
|
+
And I insert "raptor blackbird" at the cursor
|
|
288
|
+
Then the contents should be "name: <c>raptor blackbird\nupper: RAPTOR BLACKBIRD"
|
|
289
|
+
|
|
290
|
+
Scenario: Nested tab stops
|
|
291
|
+
Given there is a snippet with tab trigger "hash" and scope "text.plain" and content
|
|
292
|
+
"""
|
|
293
|
+
:${1:key} => ${2:"${3:value}"}${4:, }
|
|
294
|
+
"""
|
|
295
|
+
When I replace the contents with "hash<c>"
|
|
296
|
+
And I press the Tab key in the edit tab
|
|
297
|
+
Then the contents should be ":<s>key<c> => \"value\", "
|
|
298
|
+
And I press the Tab key in the edit tab
|
|
299
|
+
Then the contents should be ":key => <s>\"value\"<c>, "
|
|
300
|
+
And I press the Tab key in the edit tab
|
|
301
|
+
Then the contents should be ":key => \"<s>value<c>\", "
|
|
302
|
+
And I insert "s" at the cursor
|
|
303
|
+
Then the contents should be ":key => \"<s>value<c>s\", "
|
|
304
|
+
And I press Shift+Tab in the edit tab
|
|
305
|
+
Then the contents should be ":key => <s>\"values\"<c>, "
|
|
306
|
+
|
|
307
|
+
Scenario: Very nested tab stops
|
|
308
|
+
Given there is a snippet with tab trigger "hash" and scope "text.plain" and content
|
|
309
|
+
"""
|
|
310
|
+
:${1:key} => ${2:"${3:value ${4:is} 3}"}${5:, }
|
|
311
|
+
"""
|
|
312
|
+
When I replace the contents with "hash<c>"
|
|
313
|
+
And I press the Tab key in the edit tab
|
|
314
|
+
Then the contents should be ":<s>key<c> => \"value is 3\", "
|
|
315
|
+
When I press the Tab key in the edit tab
|
|
316
|
+
Then the contents should be ":key => <s>\"value is 3\"<c>, "
|
|
317
|
+
When I press the Tab key in the edit tab
|
|
318
|
+
Then the contents should be ":key => \"<s>value is 3<c>\", "
|
|
319
|
+
When I press the Tab key in the edit tab
|
|
320
|
+
Then the contents should be ":key => \"value <s>is<c> 3\", "
|
|
321
|
+
When I press the Tab key in the edit tab
|
|
322
|
+
Then the contents should be ":key => \"value is 3\"<s>, <c>"
|
|
323
|
+
When I press Shift+Tab in the edit tab
|
|
324
|
+
Then the contents should be ":key => \"value <s>is<c> 3\", "
|
|
325
|
+
When I press Shift+Tab in the edit tab
|
|
326
|
+
Then the contents should be ":key => \"<s>value is 3<c>\", "
|
|
327
|
+
When I press Shift+Tab in the edit tab
|
|
328
|
+
Then the contents should be ":key => <s>\"value is 3\"<c>, "
|
|
329
|
+
When I press Shift+Tab in the edit tab
|
|
330
|
+
Then the contents should be ":<s>key<c> => \"value is 3\", "
|
|
331
|
+
|
|
332
|
+
Scenario: Latex snippet
|
|
333
|
+
Given there is a snippet with tab trigger "list" and scope "text.plain" and content
|
|
334
|
+
"""
|
|
335
|
+
\begin{${1:env}}\n\t${1/(enumerate|itemize|list)|(description)|.*/(?1:\item )(?2:\item)/}$0\n\end{${1:env}}
|
|
336
|
+
"""
|
|
337
|
+
When I replace the contents with "list<c>"
|
|
338
|
+
And I press the Tab key in the edit tab
|
|
339
|
+
Then the contents should be "\begin{<s>env<c>}\n\t\n\end{env}"
|
|
340
|
+
When I replace 7 to 10 with "list"
|
|
341
|
+
Then the contents should be "\begin{list<c>}\n\t\item \n\end{list}"
|
|
342
|
+
And I press the Tab key in the edit tab
|
|
343
|
+
Then the contents should be "\begin{list}\n\t\item <c>\n\end{list}"
|
|
344
|
+
|
|
345
|
+
Scenario: Transformations do not move cursor
|
|
346
|
+
Given there is a snippet with tab trigger "def" and scope "text.plain" and content
|
|
347
|
+
"""
|
|
348
|
+
def $1${1/.+/\"\"\"/}
|
|
349
|
+
"""
|
|
350
|
+
When I replace the contents with "def<c>"
|
|
351
|
+
And I press the Tab key in the edit tab
|
|
352
|
+
Then the contents should be "def <c>"
|
|
353
|
+
And I insert "a" at the cursor
|
|
354
|
+
Then the contents should be "def <c>a\"\"\""
|
|
355
|
+
|
|
356
|
+
Scenario: Abutting dollars
|
|
357
|
+
Given there is a snippet with tab trigger "def" and scope "text.plain" and content
|
|
358
|
+
"""
|
|
359
|
+
def ${1:fname} ${3:docstring for $1}${3/.+/\"\"\"\n/}
|
|
360
|
+
"""
|
|
361
|
+
When I replace the contents with "def<c>"
|
|
362
|
+
And I press the Tab key in the edit tab
|
|
363
|
+
Then the contents should be "def <s>fname<c> docstring for fname\"\"\"\n"
|
|
364
|
+
When I replace 4 to 9 with ""
|
|
365
|
+
Then the contents should be "def <c> docstring for \"\"\"\n"
|
|
366
|
+
|
|
367
|
+
Scenario: Abutting dollars 2
|
|
368
|
+
Given there is a snippet with tab trigger "def" and scope "text.plain" and content
|
|
369
|
+
"""
|
|
370
|
+
def ${1:fname} ${3:docstring for $1}${3/.+/\"\"\"\n/}${3/.+/\t/}${0:pass}
|
|
371
|
+
"""
|
|
372
|
+
When I replace the contents with "def<c>"
|
|
373
|
+
And I press the Tab key in the edit tab
|
|
374
|
+
Then the contents should be "def <s>fname<c> docstring for fname\"\"\"\n\tpass"
|
|
375
|
+
When I replace 4 to 9 with ""
|
|
376
|
+
Then the contents should be "def <c> docstring for \"\"\"\n\tpass"
|
|
377
|
+
When I insert "m" at the cursor
|
|
378
|
+
Then the contents should be "def <c>m docstring for m\"\"\"\n\tpass"
|
|
379
|
+
And I press the Tab key in the edit tab
|
|
380
|
+
Then the contents should be "def m <s>docstring for m<c>\"\"\"\n\tpass"
|
|
381
|
+
When I insert "a" at the cursor
|
|
382
|
+
When I replace 6 to 21 with ""
|
|
383
|
+
Then the contents should be "def m <c>a\"\"\"\n\tpass"
|
|
384
|
+
When I insert "b" at the cursor
|
|
385
|
+
Then the contents should be "def m <c>ba\"\"\"\n\tpass"
|
|
386
|
+
|
|
387
|
+
Scenario: Enclosing transformations
|
|
388
|
+
Given there is a snippet with tab trigger "def" and scope "text.plain" and content
|
|
389
|
+
"""
|
|
390
|
+
def i${3/(^.*?\S.*)|.*/(?1:\()/}${3:args}${3/(^.*?\S.*)|.*/(?1:\))/}
|
|
391
|
+
"""
|
|
392
|
+
When I replace the contents with "def<c>"
|
|
393
|
+
And I press the Tab key in the edit tab
|
|
394
|
+
Then the contents should be "def i(<s>args<c>)"
|
|
395
|
+
When I replace 6 to 10 with "foo"
|
|
396
|
+
Then the contents should be "def i(foo)"
|
|
397
|
+
|
|
398
|
+
|