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,57 @@
|
|
|
1
|
+
module Redcar
|
|
2
|
+
class AutoPairer
|
|
3
|
+
module PairsForScope
|
|
4
|
+
def self.autopair_rules
|
|
5
|
+
@autopair_rules ||= begin
|
|
6
|
+
rules = Hash.new {|h, k| h[k] = {}}
|
|
7
|
+
@autopair_default = nil
|
|
8
|
+
pair_settings = Textmate.settings(Textmate::SmartTypingPairsSetting)
|
|
9
|
+
pair_settings.each do |setting|
|
|
10
|
+
if setting.scope
|
|
11
|
+
rules[setting.scope] = Hash[*setting.pairs.flatten]
|
|
12
|
+
else
|
|
13
|
+
@autopair_default = Hash[*setting.pairs.flatten]
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
if @autopair_default
|
|
17
|
+
@autopair_default1 = @autopair_default.invert
|
|
18
|
+
end
|
|
19
|
+
rules.default = nil
|
|
20
|
+
rules
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def self.autopair_default
|
|
25
|
+
@autopair_default ||= begin
|
|
26
|
+
autopair_rules
|
|
27
|
+
@autopair_default
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def self.cache
|
|
32
|
+
@cache ||= {}
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.pairs_for_scope(current_scope)
|
|
36
|
+
cache[current_scope] ||= begin
|
|
37
|
+
rules = nil
|
|
38
|
+
if current_scope
|
|
39
|
+
matches = autopair_rules.map do |scope_name, value|
|
|
40
|
+
if match = JavaMateView::ScopeMatcher.get_match(scope_name, current_scope)
|
|
41
|
+
[scope_name, match, value]
|
|
42
|
+
end
|
|
43
|
+
end.compact
|
|
44
|
+
best_match = matches.sort do |a, b|
|
|
45
|
+
JavaMateView::ScopeMatcher.compare_match(current_scope, a[1], b[1])
|
|
46
|
+
end.last
|
|
47
|
+
if best_match
|
|
48
|
+
rules = best_match[2]
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
rules = autopair_default unless rules
|
|
52
|
+
rules
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
Binary file
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
|
|
2
|
+
require 'clipboard_viewer/clipboard_bar'
|
|
3
|
+
require 'clipboard_viewer/browser_controller'
|
|
4
|
+
|
|
5
|
+
module Redcar
|
|
6
|
+
class ClipboardViewer
|
|
7
|
+
|
|
8
|
+
def self.menus
|
|
9
|
+
Redcar::Menu::Builder.build do
|
|
10
|
+
sub_menu "Plugins" do
|
|
11
|
+
sub_menu "Clipboard" do
|
|
12
|
+
item "Clipboard Viewer Bar", :command => OpenClipboardBar , :priority => 18
|
|
13
|
+
item "Clipboard Browser" , :command => OpenClipboardBrowser, :priority => 18
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def self.storage
|
|
20
|
+
@storage ||= begin
|
|
21
|
+
storage = Plugin::Storage.new('clipboard_viewer')
|
|
22
|
+
storage.set_default('chars_to_display', 50)
|
|
23
|
+
storage.set_default('lines_to_display', 3)
|
|
24
|
+
storage
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
class OpenClipboardBar < Redcar::Command
|
|
29
|
+
def execute
|
|
30
|
+
window = Redcar.app.focussed_window
|
|
31
|
+
speedbar = Redcar::ClipboardViewer::ClipboardBar.new
|
|
32
|
+
window.open_speedbar(speedbar)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
class OpenClipboardBrowser < Redcar::Command
|
|
37
|
+
|
|
38
|
+
def initialize(list=Redcar.app.clipboard)
|
|
39
|
+
@list = list || []
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def execute
|
|
43
|
+
controller = BrowserController.new(@list)
|
|
44
|
+
tab = win.new_tab(HtmlTab)
|
|
45
|
+
tab.html_view.controller = controller
|
|
46
|
+
tab.focus
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
|
|
2
|
+
module Redcar
|
|
3
|
+
class ClipboardViewer
|
|
4
|
+
class BrowserController
|
|
5
|
+
include HtmlController
|
|
6
|
+
|
|
7
|
+
def initialize(list)
|
|
8
|
+
@list = list.to_a.reverse
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def title
|
|
12
|
+
"Clipboard History"
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def copy(idx)
|
|
16
|
+
text = @list[idx]
|
|
17
|
+
Redcar.app.clipboard >> text if text
|
|
18
|
+
false
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def index
|
|
22
|
+
rhtml = ERB.new(File.read(File.join(File.dirname(__FILE__), "..","..", "views", "clipboard.html.erb")))
|
|
23
|
+
rhtml.result(binding)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
module Redcar
|
|
2
|
+
class ClipboardViewer
|
|
3
|
+
class ClipboardBar < Redcar::Speedbar
|
|
4
|
+
include Redcar::Observable
|
|
5
|
+
|
|
6
|
+
def initialize
|
|
7
|
+
@size = ClipboardViewer.storage['chars_to_display'].to_i
|
|
8
|
+
@line_limit = ClipboardViewer.storage['lines_to_display'].to_i
|
|
9
|
+
load_list
|
|
10
|
+
@listener = Redcar.app.clipboard.add_listener(:added) {|t|load_list}
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def close
|
|
14
|
+
Redcar.app.clipboard.remove_listener(@listener)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def load_list
|
|
18
|
+
@list = Redcar.app.clipboard || []
|
|
19
|
+
values = display_values(@list)
|
|
20
|
+
if values.length > 0
|
|
21
|
+
clip_list.items = values
|
|
22
|
+
clip_list.value = values.first
|
|
23
|
+
else
|
|
24
|
+
clip_list.items = [" "*(@size+5)]
|
|
25
|
+
clip_list.value = clip_list.items.first
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
combo :clip_list
|
|
30
|
+
button :paste_selected, "Paste!", "Return" do
|
|
31
|
+
tab = Redcar.app.focussed_window.focussed_notebook_tab
|
|
32
|
+
content = @list.to_a.reverse.detect do |r|
|
|
33
|
+
l = r.to_s
|
|
34
|
+
val = clip_list.value.to_s
|
|
35
|
+
val = val[0,val.length-3] if val =~ /\.\.\.$/
|
|
36
|
+
l.length >= val.length and l[0,val.length].to_s == val.to_s
|
|
37
|
+
end
|
|
38
|
+
tab.edit_view.document.insert_at_cursor(content.to_s) if tab.is_a?(EditTab) and content
|
|
39
|
+
load_list
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
button :browse, "Browse", nil do
|
|
43
|
+
OpenClipboardBrowser.new(@list).run
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def display_values(list)
|
|
47
|
+
display = list.to_a.reverse.map do |l|
|
|
48
|
+
value = ""
|
|
49
|
+
r=0
|
|
50
|
+
l.to_s.each_line do |line|
|
|
51
|
+
value << line if r <= @line_limit - 1
|
|
52
|
+
value << "..." if r == @line_limit
|
|
53
|
+
r+=1
|
|
54
|
+
break if r > @line_limit - 1
|
|
55
|
+
end
|
|
56
|
+
value = value[0,value.length-1] if value =~ /\n$/
|
|
57
|
+
if value.length > @size
|
|
58
|
+
value[0,@size]+"..."
|
|
59
|
+
else
|
|
60
|
+
value
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
display || []
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
<script type="text/javascript" src="file://<%= Redcar::HtmlView.jquery_path %>"></script>
|
|
3
|
+
<% redcar_css = File.expand_path(File.join(Redcar.root, %w(plugins html_view views default.css))) %>
|
|
4
|
+
<% watermark = File.expand_path(File.join(Redcar.root, %w(plugins html_view views watermark-48.png))) %>
|
|
5
|
+
<link rel="stylesheet" href="file://<%= redcar_css %>" type="text/css" media="screen">
|
|
6
|
+
<div id="top">
|
|
7
|
+
<img src="file://<%=watermark%>" id="watermark"/>
|
|
8
|
+
<h1>Clipboard History</h1>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="main" id="copies">
|
|
11
|
+
<table>
|
|
12
|
+
<thead><th>Recently Copied Text</th></thead>
|
|
13
|
+
<tbody>
|
|
14
|
+
<% @list.each_with_index do |item, i|%>
|
|
15
|
+
<tr><td class="copied-item" id="item_<%=i%>"><pre><%= item.join("").gsub("<", "<").gsub(">", ">") %></pre></td></td>
|
|
16
|
+
<% end %>
|
|
17
|
+
</tbody>
|
|
18
|
+
</table>
|
|
19
|
+
</div>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
body {
|
|
2
|
+
margin:0;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
h1 {
|
|
6
|
+
background: #5f282d url("redcar_small_icon.png") no-repeat 10px 10px;
|
|
7
|
+
color: #dcb663;
|
|
8
|
+
height: 30px;
|
|
9
|
+
line-height: 30px;
|
|
10
|
+
padding: 10px 10px 10px 52px;
|
|
11
|
+
font-family: Palatino, Times, serif;
|
|
12
|
+
letter-spacing: 3px;
|
|
13
|
+
font-size: 100%;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.content {
|
|
17
|
+
margin: 10px;
|
|
18
|
+
font-size: 1.2em;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
td.copied-item pre {
|
|
22
|
+
font-family: monospace;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.refresh {
|
|
26
|
+
padding: 5px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.even {
|
|
30
|
+
background-color: #ddd;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
table {
|
|
34
|
+
font-size: 80%;
|
|
35
|
+
border-collapse: collapse;
|
|
36
|
+
border: 1px solid #888;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
td,th {
|
|
40
|
+
border-collapse: collapse;
|
|
41
|
+
border: 1px solid #888;
|
|
42
|
+
padding: 8px;
|
|
43
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
Feature: Commenting lines by prefixing a comment string
|
|
2
|
+
|
|
3
|
+
Background:
|
|
4
|
+
When I open a new edit tab
|
|
5
|
+
|
|
6
|
+
Scenario: Commenting a single line
|
|
7
|
+
When I replace the contents with "A piece of code"
|
|
8
|
+
And I switch the language to "C"
|
|
9
|
+
And I move the cursor to 5
|
|
10
|
+
And I toggle comment lines
|
|
11
|
+
Then the contents should be "// A pie<c>ce of code"
|
|
12
|
+
When I toggle comment lines
|
|
13
|
+
Then the contents should be "A pie<c>ce of code"
|
|
14
|
+
|
|
15
|
+
Scenario: Uncommenting a single line
|
|
16
|
+
When I replace the contents with "# A piece of code"
|
|
17
|
+
And I switch the language to "Ruby"
|
|
18
|
+
And I move the cursor to 5
|
|
19
|
+
And I toggle comment lines
|
|
20
|
+
Then the contents should be "A p<c>iece of code"
|
|
21
|
+
|
|
22
|
+
Scenario: Commenting a single line among many
|
|
23
|
+
When I replace the contents with "foo\nbar\nbaz"
|
|
24
|
+
And I switch the language to "Ruby"
|
|
25
|
+
And I move the cursor to 4
|
|
26
|
+
And I toggle comment lines
|
|
27
|
+
Then the contents should be "foo\n<c># bar\nbaz"
|
|
28
|
+
When I toggle comment lines
|
|
29
|
+
Then the contents should be "foo\n<c>bar\nbaz"
|
|
30
|
+
|
|
31
|
+
Scenario: Uncommenting a single line that doesn't have the space
|
|
32
|
+
When I replace the contents with "#A piece of code"
|
|
33
|
+
And I switch the language to "Ruby"
|
|
34
|
+
And I move the cursor to 5
|
|
35
|
+
And I toggle comment lines
|
|
36
|
+
Then the contents should be "A piece of code"
|
|
37
|
+
|
|
38
|
+
Scenario: Commenting several lines
|
|
39
|
+
When I replace the contents with "Two pieces\nof code"
|
|
40
|
+
And I switch the language to "Ruby"
|
|
41
|
+
And I select from 0 to 13
|
|
42
|
+
And I toggle comment lines
|
|
43
|
+
Then the contents should be "<s># Two pieces\n# of<c> code"
|
|
44
|
+
When I toggle comment lines
|
|
45
|
+
Then the contents should be "<s>Two pieces\nof<c> code"
|
|
46
|
+
|
|
47
|
+
Scenario: Uncommenting several lines, not all of them have the space
|
|
48
|
+
When I replace the contents with "# Two pieces\n#of code"
|
|
49
|
+
And I switch the language to "Ruby"
|
|
50
|
+
And I select from 0 to 16
|
|
51
|
+
And I toggle comment lines
|
|
52
|
+
Then the contents should be "<s>Two pieces\nof<c> code"
|
|
53
|
+
|
|
54
|
+
Scenario: Commenting when not all the lines begin with the comment symbol
|
|
55
|
+
When I replace the contents with "# foo\n# bar\nbaz"
|
|
56
|
+
And I switch the language to "Ruby"
|
|
57
|
+
And I select from 0 to 15
|
|
58
|
+
And I toggle comment lines
|
|
59
|
+
Then the contents should be "<s># # foo\n# # bar\n# baz<c>"
|
|
60
|
+
When I toggle comment lines
|
|
61
|
+
Then the contents should be "# foo\n# bar\nbaz"
|
|
62
|
+
|
|
63
|
+
Scenario: Commenting when not all the lines begin with the comment symbol, reversed
|
|
64
|
+
When I replace the contents with "# foo\n# bar\nbaz"
|
|
65
|
+
And I switch the language to "Ruby"
|
|
66
|
+
And I select from 15 to 0
|
|
67
|
+
And I toggle comment lines
|
|
68
|
+
Then the contents should be "<c># # foo\n# # bar\n# baz<s>"
|
|
69
|
+
When I toggle comment lines
|
|
70
|
+
Then the contents should be "# foo\n# bar\nbaz"
|
|
71
|
+
|
|
72
|
+
Scenario: Commenting a single line with the cursor on the next line
|
|
73
|
+
When I replace the contents with "Two pieces\nof code"
|
|
74
|
+
And I switch the language to "Ruby"
|
|
75
|
+
And I select from 0 to 11
|
|
76
|
+
And I toggle comment lines
|
|
77
|
+
Then the contents should be "<s># Two pieces\n<c>of code"
|
|
78
|
+
When I toggle comment lines
|
|
79
|
+
Then the contents should be "<s>Two pieces\n<c>of code"
|
|
80
|
+
|
|
81
|
+
Scenario: Commenting a single line with the cursor on the next line, reversed
|
|
82
|
+
When I replace the contents with "Two pieces\nof code"
|
|
83
|
+
And I switch the language to "Ruby"
|
|
84
|
+
And I select from 11 to 0
|
|
85
|
+
And I toggle comment lines
|
|
86
|
+
Then the contents should be "<c># Two pieces\n<s>of code"
|
|
87
|
+
When I toggle comment lines
|
|
88
|
+
Then the contents should be "<c>Two pieces\n<s>of code"
|
|
89
|
+
|
|
90
|
+
Scenario: Commenting a single line with the cursor and selection point on the same line
|
|
91
|
+
When I replace the contents with "Two pieces\nof code"
|
|
92
|
+
And I switch the language to "Ruby"
|
|
93
|
+
And I select from 3 to 0
|
|
94
|
+
And I toggle comment lines
|
|
95
|
+
Then the contents should be "<c># Two<s> pieces\nof code"
|
|
96
|
+
When I toggle comment lines
|
|
97
|
+
Then the contents should be "<c>Two<s> pieces\nof code"
|
|
98
|
+
|
|
99
|
+
Scenario: Inserting a single space after comments when a line has no indentation
|
|
100
|
+
When I replace the contents with "A few\nlines\nof unindented\ncode"
|
|
101
|
+
And I switch the language to "Ruby"
|
|
102
|
+
And I select from 2 to 27
|
|
103
|
+
And I toggle comment lines
|
|
104
|
+
Then the contents should be "A <s># few\n# lines\n# of unindented\n# c<c>ode"
|
|
105
|
+
When I toggle comment lines
|
|
106
|
+
Then the contents should be "A <s>few\nlines\nof unindented\nc<c>ode"
|
|
107
|
+
|
|
108
|
+
Scenario: Commenting an indented single line
|
|
109
|
+
When I replace the contents with " A piece of code"
|
|
110
|
+
And I switch the language to "C"
|
|
111
|
+
And I toggle comment lines
|
|
112
|
+
Then the contents should be " // A piece of code"
|
|
113
|
+
When I toggle comment lines
|
|
114
|
+
Then the contents should be " A piece of code"
|
|
115
|
+
|
|
116
|
+
Scenario: Commenting several lines, not from the start of one of them
|
|
117
|
+
When I replace the contents with "Two pieces\nof code"
|
|
118
|
+
And I switch the language to "Ruby"
|
|
119
|
+
And I select from 2 to 13
|
|
120
|
+
And I toggle comment lines
|
|
121
|
+
Then the contents should be "Tw<s># o pieces\n# of<c> code"
|
|
122
|
+
When I toggle comment lines
|
|
123
|
+
Then the contents should be "Tw<s>o pieces\nof<c> code"
|
|
124
|
+
|
|
125
|
+
Scenario: Commenting several lines, not from the start of one of them, reversed
|
|
126
|
+
When I replace the contents with "Two pieces\nof code"
|
|
127
|
+
And I switch the language to "Ruby"
|
|
128
|
+
And I select from 13 to 2
|
|
129
|
+
And I toggle comment lines
|
|
130
|
+
Then the contents should be "Tw<c># o pieces\n# of<s> code"
|
|
131
|
+
When I toggle comment lines
|
|
132
|
+
Then the contents should be "Tw<c>o pieces\nof<s> code"
|
|
133
|
+
|
|
134
|
+
Scenario: Commenting several lines, not from the start of one of them
|
|
135
|
+
When I replace the contents with " foo\n bar"
|
|
136
|
+
And I switch the language to "Ruby"
|
|
137
|
+
And I select from 2 to 15
|
|
138
|
+
And I toggle comment lines
|
|
139
|
+
Then the contents should be " <s> # foo\n # bar<c>"
|
|
140
|
+
When I toggle comment lines
|
|
141
|
+
Then the contents should be " <s> foo\n bar<c>"
|
|
142
|
+
|
|
143
|
+
Scenario: Commenting several lines, with mismatched indentation, beginning in the start
|
|
144
|
+
When I replace the contents with " def foo\n dfo\n sdfj\n asdf\nasdf"
|
|
145
|
+
And I switch the language to "Ruby"
|
|
146
|
+
And I select from 0 to 40
|
|
147
|
+
And I toggle comment lines
|
|
148
|
+
Then the contents should be "<s># def foo\n# dfo\n# sdfj\n# asdf\n# as<c>df"
|
|
149
|
+
|
|
150
|
+
Scenario: Commenting several indented lines, beginning before the text starts
|
|
151
|
+
Given the content is:
|
|
152
|
+
"""
|
|
153
|
+
<s> def foo
|
|
154
|
+
dfo<c>
|
|
155
|
+
"""
|
|
156
|
+
And I switch the language to "Ruby"
|
|
157
|
+
And I toggle comment lines
|
|
158
|
+
Then the content should be:
|
|
159
|
+
"""
|
|
160
|
+
<s> # def foo
|
|
161
|
+
# dfo<c>
|
|
162
|
+
"""
|
|
163
|
+
|
|
164
|
+
Scenario: Commenting several indented lines, beginning before the text starts, reversed
|
|
165
|
+
Given the content is:
|
|
166
|
+
"""
|
|
167
|
+
<c> def foo
|
|
168
|
+
dfo<s>
|
|
169
|
+
"""
|
|
170
|
+
And I switch the language to "Ruby"
|
|
171
|
+
And I toggle comment lines
|
|
172
|
+
Then the content should be:
|
|
173
|
+
"""
|
|
174
|
+
<c> # def foo
|
|
175
|
+
# dfo<s>
|
|
176
|
+
"""
|
|
177
|
+
|
|
178
|
+
Scenario: Commenting several indented lines, beginning where the text starts
|
|
179
|
+
Given the content is:
|
|
180
|
+
"""
|
|
181
|
+
<s>def foo
|
|
182
|
+
dfo<c>
|
|
183
|
+
"""
|
|
184
|
+
And I switch the language to "Ruby"
|
|
185
|
+
And I toggle comment lines
|
|
186
|
+
Then the content should be:
|
|
187
|
+
"""
|
|
188
|
+
<s># def foo
|
|
189
|
+
# dfo<c>
|
|
190
|
+
"""
|
|
191
|
+
And I toggle comment lines
|
|
192
|
+
Then the content should be:
|
|
193
|
+
"""
|
|
194
|
+
<s>def foo
|
|
195
|
+
dfo<c>
|
|
196
|
+
"""
|
|
197
|
+
|
|
198
|
+
Scenario: Commenting several indented lines, with a whitespace only line in between
|
|
199
|
+
Given the content is:
|
|
200
|
+
"""
|
|
201
|
+
<s>doc.compound do
|
|
202
|
+
all_lines_are_already_commented = true
|
|
203
|
+
start_line_comment_offset = nil
|
|
204
|
+
insertion_column = 1000
|
|
205
|
+
|
|
206
|
+
<c>(start_line..end_line).each do |line|
|
|
207
|
+
"""
|
|
208
|
+
And I switch the language to "Ruby"
|
|
209
|
+
And I toggle comment lines
|
|
210
|
+
Then the content should be:
|
|
211
|
+
"""
|
|
212
|
+
<s># doc.compound do
|
|
213
|
+
# all_lines_are_already_commented = true
|
|
214
|
+
# start_line_comment_offset = nil
|
|
215
|
+
# insertion_column = 1000
|
|
216
|
+
#
|
|
217
|
+
# <c>(start_line..end_line).each do |line|
|
|
218
|
+
"""
|
|
219
|
+
|
|
220
|
+
Scenario: Commenting several indented lines, with a blank line in between
|
|
221
|
+
Given the content is:
|
|
222
|
+
"""
|
|
223
|
+
<s>doc.compound do
|
|
224
|
+
all_lines_are_already_commented = true
|
|
225
|
+
start_line_comment_offset = nil
|
|
226
|
+
insertion_column = 1000
|
|
227
|
+
|
|
228
|
+
<c>(start_line..end_line).each do |line|
|
|
229
|
+
"""
|
|
230
|
+
And I switch the language to "Ruby"
|
|
231
|
+
And I toggle comment lines
|
|
232
|
+
Then the content should be:
|
|
233
|
+
"""
|
|
234
|
+
<s># doc.compound do
|
|
235
|
+
# all_lines_are_already_commented = true
|
|
236
|
+
# start_line_comment_offset = nil
|
|
237
|
+
# insertion_column = 1000
|
|
238
|
+
#
|
|
239
|
+
# <c>(start_line..end_line).each do |line|
|
|
240
|
+
"""
|
|
241
|
+
|
|
242
|
+
# This is pretty damn marginal, and I'm tired...
|
|
243
|
+
#Scenario: Commenting several lines, with mismatched indentation, beginning in the middle
|
|
244
|
+
# When I replace the contents with " def foo\n dfo\n sdfj\n asdf\nasdf"
|
|
245
|
+
# And I switch the language to "Ruby"
|
|
246
|
+
# And I select from 6 to 40
|
|
247
|
+
# And I toggle comment lines
|
|
248
|
+
# Then the contents should be " de<s># f foo\n # dfo\n # sdfj\n # asdf\n # as<c>df"
|
|
249
|
+
|