redcar 0.3.1dev → 0.3.2dev
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 +34 -1
- data/README.md +2 -1
- data/ROADMAP.md +13 -45
- data/Rakefile +15 -14
- data/bin/redcar +4 -1
- data/lib/plugin_manager/README.md +61 -0
- data/lib/plugin_manager/Rakefile +55 -0
- data/lib/plugin_manager/bin/plugin_manager +4 -0
- data/lib/plugin_manager/lib/plugin_manager.rb +107 -0
- data/lib/plugin_manager/lib/plugin_manager/definition_builder.rb +37 -0
- data/lib/plugin_manager/lib/plugin_manager/plugin.rb +9 -0
- data/lib/plugin_manager/lib/plugin_manager/plugin_definition.rb +50 -0
- data/lib/plugin_manager/plugin_manager.gemspec +33 -0
- data/lib/plugin_manager/spec/fixtures/error_in_definition/core/plugin.rb +2 -0
- data/lib/plugin_manager/spec/fixtures/error_in_plugin/core/core.rb +4 -0
- data/lib/plugin_manager/spec/fixtures/error_in_plugin/core/plugin.rb +7 -0
- data/lib/plugin_manager/spec/fixtures/example/core/core.rb +20 -0
- data/lib/plugin_manager/spec/fixtures/example/core/plugin.rb +7 -0
- data/lib/plugin_manager/spec/fixtures/example/debug/debug.rb +6 -0
- data/lib/plugin_manager/spec/fixtures/example/debug/plugin.rb +8 -0
- data/lib/plugin_manager/spec/fixtures/example/extras/extras.rb +6 -0
- data/lib/plugin_manager/spec/fixtures/example/extras/plugin.rb +8 -0
- data/lib/plugin_manager/spec/fixtures/two_versions1/core/core.rb +20 -0
- data/lib/plugin_manager/spec/fixtures/two_versions1/core/plugin.rb +7 -0
- data/lib/plugin_manager/spec/fixtures/two_versions1/core2/core.rb +20 -0
- data/lib/plugin_manager/spec/fixtures/two_versions1/core2/plugin.rb +7 -0
- data/lib/plugin_manager/spec/fixtures/two_versions2/core/core.rb +20 -0
- data/lib/plugin_manager/spec/fixtures/two_versions2/core/plugin.rb +7 -0
- data/lib/plugin_manager/spec/fixtures/two_versions2/core2/core.rb +20 -0
- data/lib/plugin_manager/spec/fixtures/two_versions2/core2/plugin.rb +8 -0
- data/lib/plugin_manager/spec/fixtures/unmet_dependencies1/core/core.rb +10 -0
- data/lib/plugin_manager/spec/fixtures/unmet_dependencies1/core/plugin.rb +7 -0
- data/lib/plugin_manager/spec/fixtures/unmet_dependencies1/debug/debug.rb +6 -0
- data/lib/plugin_manager/spec/fixtures/unmet_dependencies1/debug/plugin.rb +8 -0
- data/lib/plugin_manager/spec/fixtures/unmet_dependencies2/core/core.rb +10 -0
- data/lib/plugin_manager/spec/fixtures/unmet_dependencies2/core/plugin.rb +7 -0
- data/lib/plugin_manager/spec/fixtures/unmet_dependencies2/debug/debug.rb +6 -0
- data/lib/plugin_manager/spec/fixtures/unmet_dependencies2/debug/plugin.rb +8 -0
- data/lib/plugin_manager/spec/plugin_manager_spec.rb +208 -0
- data/lib/plugin_manager/spec/spec_helper.rb +3 -0
- data/lib/redcar.rb +8 -3
- data/lib/redcar/boot.rb +59 -56
- data/lib/redcar/installer.rb +1 -1
- data/lib/redcar/instance_exec.rb +25 -0
- data/lib/redcar/runner.rb +5 -1
- data/lib/redcar/usage.rb +5 -1
- data/plugins/application/icons/close.png +0 -0
- data/plugins/application/lib/application.rb +61 -28
- data/plugins/application/lib/application/clipboard.rb +71 -0
- data/plugins/application/lib/application/dialog.rb +63 -0
- data/plugins/application/lib/application/menu.rb +32 -1
- data/plugins/application/lib/application/menu/builder.rb +10 -4
- data/plugins/application/lib/application/menu/item.rb +16 -3
- data/plugins/application/lib/application/notebook.rb +5 -0
- data/plugins/application/lib/application/speedbar.rb +73 -0
- data/plugins/application/lib/application/window.rb +25 -0
- data/plugins/application/plugin.rb +8 -0
- data/plugins/application/spec/application/clipboard_spec.rb +36 -0
- data/plugins/application/spec/application/menu_spec.rb +73 -1
- data/plugins/application/spec/application/speedbar_spec.rb +46 -0
- data/plugins/application/spec/spec_helper.rb +1 -1
- data/plugins/application_swt/lib/application_swt.rb +18 -11
- data/plugins/application_swt/lib/application_swt/clipboard.rb +42 -0
- data/plugins/application_swt/lib/application_swt/dialog_adapter.rb +68 -0
- data/plugins/application_swt/lib/application_swt/dialogs/filter_list_dialog_controller.rb +1 -1
- data/plugins/application_swt/lib/application_swt/html_tab.rb +32 -0
- data/plugins/application_swt/lib/application_swt/menu.rb +57 -21
- data/plugins/application_swt/lib/application_swt/menu/binding_translator.rb +39 -2
- data/plugins/application_swt/lib/application_swt/notebook.rb +5 -0
- data/plugins/application_swt/lib/application_swt/speedbar.rb +187 -0
- data/plugins/application_swt/lib/application_swt/swt_wrapper.rb +24 -1
- data/plugins/application_swt/lib/application_swt/window.rb +33 -3
- data/plugins/application_swt/plugin.rb +8 -0
- data/plugins/application_swt/spec/spec_helper.rb +1 -1
- 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 +4 -0
- data/plugins/auto_completer/lib/auto_completer.rb +99 -0
- data/plugins/auto_completer/lib/auto_completer/document_controller.rb +52 -0
- data/plugins/auto_completer/lib/auto_completer/word_iterator.rb +48 -0
- data/plugins/auto_completer/lib/auto_completer/word_list.rb +40 -0
- data/plugins/auto_completer/plugin.rb +10 -0
- data/plugins/auto_indenter/lib/auto_indenter.rb +1 -1
- data/plugins/auto_indenter/lib/auto_indenter/document_controller.rb +1 -1
- data/plugins/auto_indenter/plugin.rb +8 -0
- data/plugins/core/lib/core.rb +6 -30
- data/plugins/core/lib/core/gui.rb +7 -2
- data/plugins/core/lib/core/logger.rb +7 -4
- data/plugins/core/lib/core/plugin/storage.rb +15 -5
- data/plugins/core/plugin.rb +7 -0
- data/plugins/core/spec/core/storage_spec.rb +0 -9
- data/plugins/edit_view/features/cut_and_paste.feature +45 -0
- data/plugins/edit_view/features/step_definitions/editing_steps.rb +22 -0
- data/plugins/edit_view/features/step_definitions/key_steps.rb +1 -1
- data/plugins/edit_view/features/step_definitions/notebook_steps.rb +1 -1
- data/plugins/edit_view/features/step_definitions/tab_steps.rb +2 -0
- data/plugins/edit_view/features/step_definitions/window_steps.rb +1 -1
- data/plugins/edit_view/features/support/env.rb +2 -2
- data/plugins/edit_view/lib/edit_view.rb +24 -13
- data/plugins/edit_view/lib/edit_view/document.rb +233 -15
- data/plugins/edit_view/lib/edit_view/edit_tab.rb +2 -2
- data/plugins/edit_view/plugin.rb +9 -0
- data/plugins/edit_view/spec/spec_helper.rb +1 -1
- data/plugins/edit_view_swt/lib/edit_view_swt.rb +37 -8
- data/plugins/edit_view_swt/lib/edit_view_swt/document.rb +59 -24
- data/plugins/edit_view_swt/lib/edit_view_swt/word_movement.rb +66 -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 +6 -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/redcar.css +12 -0
- data/plugins/html_view/lib/html_controller.rb +5 -0
- data/plugins/html_view/lib/html_view.rb +47 -0
- data/plugins/html_view/lib/html_view/html_tab.rb +16 -0
- data/plugins/html_view/plugin.rb +12 -0
- data/plugins/my_plugin/lib/my_plugin.rb +55 -0
- data/plugins/my_plugin/plugin.rb +8 -0
- data/plugins/plugin_manager_ui/lib/plugin_manager_ui.rb +62 -0
- data/plugins/plugin_manager_ui/plugin.rb +12 -0
- data/plugins/plugin_manager_ui/views/index.html.erb +31 -0
- data/plugins/project/lib/project.rb +27 -13
- data/plugins/project/lib/project/find_file_dialog.rb +25 -19
- data/plugins/project/plugin.rb +8 -0
- data/plugins/project/spec/spec_helper.rb +1 -1
- data/plugins/redcar/plugin.rb +13 -0
- data/plugins/redcar/redcar.rb +249 -8
- data/plugins/repl/lib/repl.rb +22 -14
- data/plugins/repl/plugin.rb +8 -0
- data/plugins/repl/spec/spec_helper.rb +1 -1
- data/plugins/tree/plugin.rb +9 -0
- data/plugins/tree/spec/spec_helper.rb +1 -1
- data/plugins/tree_view_swt/plugin.rb +9 -0
- data/textmate/Bundles/Apache.tmbundle/Syntaxes/Apache.plist +544 -0
- data/textmate/Bundles/Apache.tmbundle/Syntaxes/mod_perl.tmLanguage +120 -0
- data/textmate/Bundles/Blogging.tmbundle/Syntaxes/Blog___HTML__.plist +88 -0
- data/textmate/Bundles/Blogging.tmbundle/Syntaxes/Blog___Markdown__.plist +89 -0
- data/textmate/Bundles/Blogging.tmbundle/Syntaxes/Blog___Text__.plist +74 -0
- data/textmate/Bundles/Blogging.tmbundle/Syntaxes/Blog___Textile__.plist +74 -0
- data/textmate/Bundles/Bundle Development.tmbundle/Syntaxes/LanguageGrammar.tmLanguage +1829 -0
- data/textmate/Bundles/C Sharp.tmbundle/Syntaxes/Build.tmLanguage +142 -0
- data/textmate/Bundles/C Sharp.tmbundle/Syntaxes/C__.tmLanguage +524 -0
- data/textmate/Bundles/C++ Qt.tmbundle/Syntaxes/Qt_C____.tmLanguage +62 -0
- data/textmate/Bundles/C++ Qt.tmbundle/Syntaxes/qmake_Project.tmLanguage +308 -0
- data/textmate/Bundles/C.tmbundle/Syntaxes/C.plist +90 -48
- data/textmate/Bundles/Clojure.tmbundle/Syntaxes/Clojure.tmLanguage +427 -0
- data/textmate/Bundles/Cucumber.tmbundle/Syntaxes/Cucumber_Plain_Text_Feature.tmLanguage +106 -13
- data/textmate/Bundles/Cucumber.tmbundle/Syntaxes/Cucumber_Steps.tmLanguage +177 -2
- data/textmate/Bundles/Cucumber.tmbundle/Syntaxes/plaintext_template.erb +109 -17
- data/textmate/Bundles/D.tmbundle/Syntaxes/D.tmLanguage +908 -0
- data/textmate/Bundles/Diff.tmbundle/Syntaxes/Diff.plist +229 -0
- data/textmate/Bundles/DokuWiki.tmbundle/Syntaxes/DokuWiki.tmLanguage +649 -0
- data/textmate/Bundles/F-Script.tmbundle/Syntaxes/F__Script.plist +219 -0
- data/textmate/Bundles/Haskell.tmbundle/Syntaxes/Haskell.plist +646 -0
- data/textmate/Bundles/Haskell.tmbundle/Syntaxes/Literate_Haskell.plist +90 -0
- data/textmate/Bundles/Io.tmbundle/Syntaxes/Io.plist +225 -0
- data/textmate/Bundles/JSON.tmbundle/Syntaxes/JSON.tmLanguage +285 -0
- data/textmate/Bundles/JavaScript Prototype & Script_aculo_us.tmbundle/Syntaxes/JavaScript____Prototype.tmLanguage +193 -0
- data/textmate/Bundles/JavaScript Prototype & Script_aculo_us.tmbundle/Syntaxes/JavaScript____Prototype_Bracketed.tmLanguage +394 -0
- data/textmate/Bundles/JavaScript jQuery.tmbundle/Syntaxes/jQuery___JavaScript__.tmLanguage +440 -0
- data/textmate/Bundles/JavaScript.tmbundle/Syntaxes/JavaScript.plist +712 -0
- data/textmate/Bundles/Latex.tmbundle/Syntaxes/Bibtex.plist +406 -0
- data/textmate/Bundles/Latex.tmbundle/Syntaxes/LaTeX.plist +1601 -0
- data/textmate/Bundles/Latex.tmbundle/Syntaxes/LaTeX_Beamer.plist +106 -0
- data/textmate/Bundles/Latex.tmbundle/Syntaxes/LaTeX_Log.plist +141 -0
- data/textmate/Bundles/Latex.tmbundle/Syntaxes/LaTeX_Memoir.tmLanguage +165 -0
- data/textmate/Bundles/Latex.tmbundle/Syntaxes/TeX.plist +246 -0
- data/textmate/Bundles/Latex.tmbundle/Syntaxes/TeX_Math.plist +132 -0
- data/textmate/Bundles/Lisp.tmbundle/Syntaxes/Lisp.plist +160 -0
- data/textmate/Bundles/Makefile.tmbundle/Syntaxes/Makefile.plist +103 -0
- data/textmate/Bundles/Markdown.tmbundle/Syntaxes/Markdown.plist +1192 -0
- data/textmate/Bundles/Markdown.tmbundle/Syntaxes/MultiMarkdown.tmLanguage +80 -0
- data/textmate/Bundles/PHP.tmbundle/Syntaxes/PHP.plist +3481 -0
- data/textmate/Bundles/Perl HTML-Template.tmbundle/Syntaxes/Perl_HTML__Template.tmLanguage +217 -0
- data/textmate/Bundles/Perl Template Toolkit.tmbundle/Syntaxes/HTML___Template_Toolkit__.tmLanguage +339 -0
- data/textmate/Bundles/Postscript.tmbundle/Syntaxes/Postscript.tmLanguage +321 -0
- data/textmate/Bundles/Processing.tmbundle/Syntaxes/Processing.plist +296 -0
- data/textmate/Bundles/Property List.tmbundle/Syntaxes/Property_List.tmLanguage +1650 -0
- data/textmate/Bundles/Python Django Templates.tmbundle/Syntaxes/HTML___Django__.tmLanguage +104 -0
- data/textmate/Bundles/Python Django.tmbundle/Syntaxes/Python_Django.tmLanguage +57 -0
- data/textmate/Bundles/Python.tmbundle/Syntaxes/Python.tmLanguage +3016 -0
- data/textmate/Bundles/Python.tmbundle/Syntaxes/Regular_Expressions___Python__.tmLanguage +299 -0
- data/textmate/Bundles/Rez.tmbundle/Syntaxes/Rez.plist +219 -0
- data/textmate/Bundles/Ruby Haml.tmbundle/Syntaxes/Ruby_Haml.tmLanguage +403 -0
- data/textmate/Bundles/Ruby RSpec.tmbundle/Syntaxes/RSpec.tmLanguage +142 -0
- data/textmate/Bundles/Ruby.tmbundle/Syntaxes/Ruby.plist +139 -49
- data/textmate/Bundles/SQL.tmbundle/Syntaxes/SQL.plist +705 -0
- data/textmate/Bundles/SSH-Config.tmbundle/Syntaxes/SSH__Config.tmLanguage +88 -0
- data/textmate/Bundles/Scala.tmbundle/Syntaxes/Scala.tmLanguage +609 -0
- data/textmate/Bundles/Scala.tmbundle/Syntaxes/Scala_Properties.tmLanguage +54 -0
- data/textmate/Bundles/ShellScript.tmbundle/Syntaxes/Shell__Unix__Generic.plist +1855 -0
- data/textmate/Bundles/Tabular.tmbundle/Syntaxes/CSV.tmLanguage +178 -0
- data/textmate/Bundles/Tabular.tmbundle/Syntaxes/TSV.tmLanguage +135 -0
- data/textmate/Bundles/TextMate.tmbundle/Syntaxes/Regular_Expressions___Oniguruma__.tmLanguage +295 -0
- data/textmate/Bundles/TextMate.tmbundle/Syntaxes/Release_Notes.tmLanguage +126 -0
- data/textmate/Bundles/Textile.tmbundle/Syntaxes/Textile.plist +490 -0
- data/textmate/Bundles/Thrift.tmbundle/Syntaxes/Thrift.tmLanguage +1024 -0
- data/textmate/Bundles/XML.tmbundle/Syntaxes/XML.plist +576 -0
- data/textmate/Bundles/XML.tmbundle/Syntaxes/XSL.plist +157 -0
- data/textmate/Bundles/YAML.tmbundle/Syntaxes/YAML.plist +466 -0
- data/textmate/Themes/Django.tmTheme +436 -0
- metadata +371 -325
- data/config/default.yaml +0 -15
- data/lib/freebase2/README.txt +0 -47
- data/lib/freebase2/bin/default.yaml +0 -15
- data/lib/freebase2/bin/install.rb +0 -42
- data/lib/freebase2/bin/run.rb +0 -48
- data/lib/freebase2/lib/freebase/configuration.rb +0 -535
- data/lib/freebase2/lib/freebase/core.rb +0 -197
- data/lib/freebase2/lib/freebase/databus.rb +0 -1128
- data/lib/freebase2/lib/freebase/freebase.rb +0 -60
- data/lib/freebase2/lib/freebase/logger.rb +0 -117
- data/lib/freebase2/lib/freebase/plugin.rb +0 -384
- data/lib/freebase2/lib/freebase/properties.rb +0 -130
- data/lib/freebase2/lib/freebase/readers.rb +0 -328
- data/lib/freebase2/notes +0 -61
- data/lib/freebase2/plugins/raa_webrick/httpd.rb +0 -125
- data/lib/freebase2/plugins/raa_webrick/plugin.yaml +0 -7
- data/lib/freebase2/plugins/raa_webrick/web_root/test.html +0 -5
- data/lib/freebase2/plugins/raa_webrick/webserver.yaml +0 -6
- data/lib/freebase2/plugins/raa_xmlrpc4r/plugin.xml +0 -8
- data/lib/freebase2/plugins/raa_xmlrpc4r/rpcd.rb +0 -54
- data/lib/freebase2/regress/README +0 -1
- data/lib/little_plugger/History.txt +0 -20
- data/lib/little_plugger/Rakefile +0 -34
- data/lib/little_plugger/lib/little-plugger.rb +0 -323
- data/lib/little_plugger/spec/little-plugger_spec.rb +0 -26
- data/lib/little_plugger/spec/spec_helper.rb +0 -16
- data/lib/logging/History.txt +0 -240
- data/lib/logging/Rakefile +0 -37
- data/lib/logging/data/bad_logging_1.rb +0 -13
- data/lib/logging/data/bad_logging_2.rb +0 -21
- data/lib/logging/data/logging.rb +0 -42
- data/lib/logging/data/logging.yaml +0 -63
- data/lib/logging/data/simple_logging.rb +0 -13
- data/lib/logging/examples/appenders.rb +0 -47
- data/lib/logging/examples/classes.rb +0 -41
- data/lib/logging/examples/consolidation.rb +0 -83
- data/lib/logging/examples/formatting.rb +0 -51
- data/lib/logging/examples/hierarchies.rb +0 -73
- data/lib/logging/examples/layouts.rb +0 -48
- data/lib/logging/examples/loggers.rb +0 -29
- data/lib/logging/examples/names.rb +0 -43
- data/lib/logging/examples/simple.rb +0 -17
- data/lib/logging/lib/logging.rb +0 -501
- data/lib/logging/lib/logging/appender.rb +0 -251
- data/lib/logging/lib/logging/appenders.rb +0 -131
- data/lib/logging/lib/logging/appenders/buffering.rb +0 -168
- data/lib/logging/lib/logging/appenders/console.rb +0 -60
- data/lib/logging/lib/logging/appenders/email.rb +0 -75
- data/lib/logging/lib/logging/appenders/file.rb +0 -58
- data/lib/logging/lib/logging/appenders/growl.rb +0 -197
- data/lib/logging/lib/logging/appenders/io.rb +0 -69
- data/lib/logging/lib/logging/appenders/rolling_file.rb +0 -293
- data/lib/logging/lib/logging/appenders/string_io.rb +0 -68
- data/lib/logging/lib/logging/appenders/syslog.rb +0 -194
- data/lib/logging/lib/logging/config/configurator.rb +0 -188
- data/lib/logging/lib/logging/config/yaml_configurator.rb +0 -191
- data/lib/logging/lib/logging/layout.rb +0 -117
- data/lib/logging/lib/logging/layouts.rb +0 -47
- data/lib/logging/lib/logging/layouts/basic.rb +0 -32
- data/lib/logging/lib/logging/layouts/parseable.rb +0 -211
- data/lib/logging/lib/logging/layouts/pattern.rb +0 -311
- data/lib/logging/lib/logging/log_event.rb +0 -45
- data/lib/logging/lib/logging/logger.rb +0 -503
- data/lib/logging/lib/logging/repository.rb +0 -232
- data/lib/logging/lib/logging/root_logger.rb +0 -61
- data/lib/logging/lib/logging/stats.rb +0 -278
- data/lib/logging/lib/logging/utils.rb +0 -153
- data/lib/logging/lib/spec/logging_helper.rb +0 -34
- data/lib/logging/test/appenders/test_buffered_io.rb +0 -176
- data/lib/logging/test/appenders/test_console.rb +0 -66
- data/lib/logging/test/appenders/test_email.rb +0 -170
- data/lib/logging/test/appenders/test_file.rb +0 -95
- data/lib/logging/test/appenders/test_growl.rb +0 -127
- data/lib/logging/test/appenders/test_io.rb +0 -129
- data/lib/logging/test/appenders/test_rolling_file.rb +0 -200
- data/lib/logging/test/appenders/test_syslog.rb +0 -194
- data/lib/logging/test/benchmark.rb +0 -86
- data/lib/logging/test/config/test_configurator.rb +0 -70
- data/lib/logging/test/config/test_yaml_configurator.rb +0 -40
- data/lib/logging/test/layouts/test_basic.rb +0 -42
- data/lib/logging/test/layouts/test_json.rb +0 -112
- data/lib/logging/test/layouts/test_pattern.rb +0 -198
- data/lib/logging/test/layouts/test_yaml.rb +0 -121
- data/lib/logging/test/setup.rb +0 -44
- data/lib/logging/test/test_appender.rb +0 -152
- data/lib/logging/test/test_consolidate.rb +0 -46
- data/lib/logging/test/test_layout.rb +0 -110
- data/lib/logging/test/test_log_event.rb +0 -80
- data/lib/logging/test/test_logger.rb +0 -699
- data/lib/logging/test/test_logging.rb +0 -267
- data/lib/logging/test/test_repository.rb +0 -158
- data/lib/logging/test/test_root_logger.rb +0 -81
- data/lib/logging/test/test_stats.rb +0 -274
- data/lib/logging/test/test_utils.rb +0 -116
- data/plugins/application/plugin.yaml +0 -11
- data/plugins/application_swt/plugin.yaml +0 -11
- data/plugins/auto_indenter/plugin.yaml +0 -12
- data/plugins/core/plugin.yaml +0 -7
- data/plugins/edit_view/plugin.yaml +0 -14
- data/plugins/edit_view_swt/plugin.yaml +0 -14
- data/plugins/project/plugin.yaml +0 -12
- data/plugins/redcar/plugin.yaml +0 -18
- data/plugins/repl/plugin.yaml +0 -12
- data/plugins/tree/plugin.yaml +0 -14
- data/plugins/tree_view_swt/plugin.yaml +0 -14
data/CHANGES
CHANGED
|
@@ -1,7 +1,40 @@
|
|
|
1
1
|
|
|
2
|
-
Version 0.3.
|
|
2
|
+
Version 0.3.2dev (TBA)
|
|
3
3
|
======================
|
|
4
4
|
|
|
5
|
+
New features:
|
|
6
|
+
|
|
7
|
+
* Dialog API for plugins and commands to use.
|
|
8
|
+
* Speedbar API for plugins and commands to use (e.g. Goto Line command).
|
|
9
|
+
* Remembers last directory when opening a file/directory. (thanks Roger Pack)
|
|
10
|
+
* Word movement (alt-left, alt-right) now works as it should in an editor for
|
|
11
|
+
programmers.
|
|
12
|
+
* Very simple forward search command.
|
|
13
|
+
* Somewhat faster startup time.
|
|
14
|
+
* Nicer error message when jruby jar is missing.
|
|
15
|
+
* Goto Line command
|
|
16
|
+
* Select All and Select Line commands.
|
|
17
|
+
* Cut and Copy will take the line if there is no selection
|
|
18
|
+
* Block typing mode
|
|
19
|
+
* Auto completion
|
|
20
|
+
* HTML View, with Ruby/JavaScript interface, to write plugins in HTML+CSS+JS.
|
|
21
|
+
* PluginManagerUI plugin, running on the HTML View.
|
|
22
|
+
|
|
23
|
+
Internal changes:
|
|
24
|
+
|
|
25
|
+
* Ported plugins to plugin_manager gem (github.com/danlucraft/plugin_manager)
|
|
26
|
+
* Pure Ruby clipboard and Copy/Cut/Paste commands.
|
|
27
|
+
|
|
28
|
+
Fixes:
|
|
29
|
+
|
|
30
|
+
* The show more tabs menu in a notebook is handled properly.
|
|
31
|
+
* Deleting a lot of lines no longer causes the last few to lose highlighting.
|
|
32
|
+
* Clojure highlighting works.
|
|
33
|
+
* HTML colours no longer 'bleed' past the tags
|
|
34
|
+
|
|
35
|
+
Version 0.3.1dev (9 Jan 2010)
|
|
36
|
+
=============================
|
|
37
|
+
|
|
5
38
|
Enhancements:
|
|
6
39
|
|
|
7
40
|
* Fuzzy file finder.
|
data/README.md
CHANGED
|
@@ -19,6 +19,7 @@ A pure Ruby text editor running on JRuby.
|
|
|
19
19
|
You must have Java installed.
|
|
20
20
|
|
|
21
21
|
$ sudo gem install redcar --pre
|
|
22
|
+
$ sudo redcar install
|
|
22
23
|
|
|
23
24
|
NB the install will take a minute or so to complete as it has to download about
|
|
24
25
|
15MB of jar files.
|
|
@@ -44,7 +45,7 @@ installed, and RSpec and Cucumber installed as JRuby gems.
|
|
|
44
45
|
$ cd redcar
|
|
45
46
|
$ git submodule init
|
|
46
47
|
$ git submodule update
|
|
47
|
-
$ jruby
|
|
48
|
+
$ jruby bin/redcar install
|
|
48
49
|
$ jruby -S rake build
|
|
49
50
|
|
|
50
51
|
To run:
|
data/ROADMAP.md
CHANGED
|
@@ -2,64 +2,32 @@
|
|
|
2
2
|
Redcar JRuby Port Roadmap
|
|
3
3
|
=========================
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
This will be the first JRuby release of Redcar.
|
|
9
|
-
|
|
10
|
-
The features of this release are chosen to be the minimum to make Redcar self-hosting as an editor:
|
|
11
|
-
|
|
12
|
-
* Syntax Highlighting (done)
|
|
13
|
-
* File editing (done)
|
|
14
|
-
* Multiple notebook panes (done)
|
|
15
|
-
* Multiple windows (done)
|
|
16
|
-
* _Basic_ project pane (done)
|
|
17
|
-
* Auto-indenter (done)
|
|
18
|
-
* Packaged as a gem (done)
|
|
19
|
-
* Runs on 3 platforms (done)
|
|
20
|
-
|
|
21
|
-
0.3.1dev - *Developer preview* - DONE
|
|
22
|
-
------------------------------
|
|
23
|
-
|
|
24
|
-
Features:
|
|
25
|
-
|
|
26
|
-
* Keybindings to switch tabs (done)
|
|
27
|
-
* Text editing stuff:
|
|
28
|
-
- Undo/Redo (done)
|
|
29
|
-
- Home/End (done)
|
|
30
|
-
* Project stuff:
|
|
31
|
-
- watches for file changes (done)
|
|
32
|
-
- fuzzy file finder (done)
|
|
33
|
-
* Plugins stuff:
|
|
34
|
-
- can add to menus easily (done)
|
|
35
|
-
|
|
36
|
-
More previews to add
|
|
37
|
-
--------------------
|
|
5
|
+
Features still to port
|
|
6
|
+
-----------------------
|
|
38
7
|
|
|
8
|
+
* Understands tabs v. spaces
|
|
39
9
|
* Tests passing on 3 platforms
|
|
40
|
-
* Dialog library with simple DSL
|
|
41
|
-
* Gem plugins
|
|
42
|
-
* Per-plugin storage
|
|
43
|
-
* HTML output from commands
|
|
44
|
-
* Tooltip output from commands
|
|
45
10
|
* Full project support
|
|
46
|
-
* Fuzzy file finder
|
|
47
|
-
* Speedbar returns
|
|
48
|
-
* Embedded web server for plugins/plugin configuration
|
|
49
11
|
* Snippets
|
|
50
|
-
* Go to symbol
|
|
51
|
-
* Autocompletion
|
|
52
12
|
* Bracket matching
|
|
53
13
|
* Text/Source/Ruby bundle commands ported
|
|
54
14
|
* Drag and drop of tabs
|
|
55
15
|
* Packaged for one-click install on 3 platforms
|
|
56
16
|
* Ruby on Rails/HTML/CSS/YAML bundle commands ported
|
|
17
|
+
* Single instance support
|
|
57
18
|
|
|
58
|
-
0.4.0
|
|
59
|
-
|
|
19
|
+
Version 0.4.0
|
|
20
|
+
-------------
|
|
60
21
|
|
|
61
22
|
Feature parity with Redcar 0.2.
|
|
62
23
|
|
|
24
|
+
And then.....
|
|
25
|
+
-------------
|
|
26
|
+
|
|
27
|
+
* Incremental search
|
|
28
|
+
* Find/Replace
|
|
29
|
+
* Go to symbol
|
|
30
|
+
* Search in project
|
|
63
31
|
|
|
64
32
|
|
|
65
33
|
|
data/Rakefile
CHANGED
|
@@ -50,13 +50,14 @@ end
|
|
|
50
50
|
desc "Run all specs and features"
|
|
51
51
|
task :default => ["specs", "cucumber"]
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
53
|
+
task :specs do
|
|
54
|
+
files = Dir['plugins/*/spec/*/*_spec.rb'] + Dir['plugins/*/spec/*/*/*_spec.rb'] + Dir['plugins/*/spec/*/*/*/*_spec.rb']
|
|
55
|
+
case Config::CONFIG["host_os"]
|
|
56
|
+
when "darwin"
|
|
57
|
+
sh("jruby -J-XstartOnFirstThread -S spec -c #{files.join(" ")} && echo 'done'")
|
|
58
|
+
else
|
|
59
|
+
sh("jruby -S spec -c #{files.join(" ")} && echo 'done'")
|
|
60
|
+
end
|
|
60
61
|
end
|
|
61
62
|
|
|
62
63
|
desc "Run features"
|
|
@@ -90,7 +91,7 @@ spec = Gem::Specification.new do |s|
|
|
|
90
91
|
|
|
91
92
|
# Change these as appropriate
|
|
92
93
|
s.name = "redcar"
|
|
93
|
-
s.version = "0.3.
|
|
94
|
+
s.version = "0.3.2dev"
|
|
94
95
|
s.summary = "A JRuby text editor."
|
|
95
96
|
s.author = "Daniel Lucraft"
|
|
96
97
|
s.email = "dan@fluentradical.com"
|
|
@@ -158,12 +159,12 @@ RELEASE_BUNDLES = %w(
|
|
|
158
159
|
desc 'Clean up the Textmate files for packaging'
|
|
159
160
|
task :clean_textmate do
|
|
160
161
|
# remove unwanted bundles
|
|
161
|
-
Dir["textmate/Bundles/*"].each do |bdir|
|
|
162
|
-
p bdir.split("/").last
|
|
163
|
-
unless RELEASE_BUNDLES.include?(bdir.split("/").last)
|
|
164
|
-
FileUtils.rm_rf(bdir)
|
|
165
|
-
end
|
|
166
|
-
end
|
|
162
|
+
# Dir["textmate/Bundles/*"].each do |bdir|
|
|
163
|
+
# p bdir.split("/").last
|
|
164
|
+
# unless RELEASE_BUNDLES.include?(bdir.split("/").last)
|
|
165
|
+
# FileUtils.rm_rf(bdir)
|
|
166
|
+
# end
|
|
167
|
+
# end
|
|
167
168
|
|
|
168
169
|
# rename files to be x-platform safe
|
|
169
170
|
Dir["textmate/Bundles/*.tmbundle/{Syntaxes,Snippets,Templates}/**/*"].each do |fn|
|
data/bin/redcar
CHANGED
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
require File.join(File.dirname(__FILE__), %w(.. lib redcar))
|
|
4
4
|
|
|
5
5
|
if ARGV.first == "install"
|
|
6
|
+
require 'redcar/installer'
|
|
7
|
+
|
|
6
8
|
installer = Redcar::Installer.new
|
|
7
9
|
installer.install
|
|
8
10
|
else
|
|
9
11
|
Redcar.ensure_jruby
|
|
10
|
-
Redcar.
|
|
12
|
+
Redcar.load
|
|
13
|
+
Redcar::Top.start
|
|
11
14
|
Redcar.pump
|
|
12
15
|
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
|
|
2
|
+
Plugin Manager
|
|
3
|
+
==============
|
|
4
|
+
|
|
5
|
+
This is a plugin loader for Ruby. Features:
|
|
6
|
+
|
|
7
|
+
* dependencies
|
|
8
|
+
* versioning
|
|
9
|
+
* multiple plugin sources
|
|
10
|
+
* safe against plugins with broken code
|
|
11
|
+
* plugin code reloading
|
|
12
|
+
|
|
13
|
+
It is not tied to Rubygems or Rails. A plugin is any directory with a plugin.rb file
|
|
14
|
+
inside that looks like this:
|
|
15
|
+
|
|
16
|
+
Plugin.define do
|
|
17
|
+
name "Extras"
|
|
18
|
+
version "1.0"
|
|
19
|
+
|
|
20
|
+
# the file to load to load the plugin. It is expected to be an .rb
|
|
21
|
+
# file relative to this definition
|
|
22
|
+
file "extras"
|
|
23
|
+
|
|
24
|
+
# this is an object that is defined by the plugin code
|
|
25
|
+
object "App::Extras"
|
|
26
|
+
|
|
27
|
+
# Dependencies of the plugin
|
|
28
|
+
dependencies "core", ">=1.0",
|
|
29
|
+
"fonts", ">=0.5, <1.9",
|
|
30
|
+
"debug", ">0, !=0.95, < 2"
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
See the spec/fixtures/example/ directory for an example of a set of plugins.
|
|
34
|
+
|
|
35
|
+
This
|
|
36
|
+
directory of plugins can be loaded with:
|
|
37
|
+
|
|
38
|
+
manager = PluginManager.new
|
|
39
|
+
manager.add_plugin_source("spec/fixtures/example")
|
|
40
|
+
manager.load
|
|
41
|
+
|
|
42
|
+
The code in the appropriate plugins will be loaded and you will then have available:
|
|
43
|
+
|
|
44
|
+
# plugins that were loaded successfully
|
|
45
|
+
manager.loaded_plugins
|
|
46
|
+
|
|
47
|
+
# plugins that could not be loaded because of unmet dependencies,
|
|
48
|
+
# or because a more recent version was available.
|
|
49
|
+
manager.unloaded_plugins
|
|
50
|
+
|
|
51
|
+
# plugin.rb files that could not be read
|
|
52
|
+
manager.unreadable_definitions
|
|
53
|
+
|
|
54
|
+
# plugins that raised exceptions while being loaded
|
|
55
|
+
manager.plugins_with_errors
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
License
|
|
59
|
+
=======
|
|
60
|
+
|
|
61
|
+
MIT
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
require "rubygems"
|
|
2
|
+
require "rake/gempackagetask"
|
|
3
|
+
require "rake/rdoctask"
|
|
4
|
+
|
|
5
|
+
require "spec"
|
|
6
|
+
require "spec/rake/spectask"
|
|
7
|
+
Spec::Rake::SpecTask.new do |t|
|
|
8
|
+
t.spec_opts = %w(--format specdoc --colour)
|
|
9
|
+
t.libs = ["spec"]
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
task :default => ["spec"]
|
|
13
|
+
|
|
14
|
+
spec = Gem::Specification.new do |s|
|
|
15
|
+
s.name = "plugin_manager"
|
|
16
|
+
s.version = "1.1"
|
|
17
|
+
s.summary = "A Ruby plugin loader"
|
|
18
|
+
s.author = "Daniel Lucraft"
|
|
19
|
+
s.email = "dan@fluentradical.com"
|
|
20
|
+
s.homepage = "http://github.com/danlucraft/plugin_manager"
|
|
21
|
+
|
|
22
|
+
s.has_rdoc = true
|
|
23
|
+
s.extra_rdoc_files = %w(README.md)
|
|
24
|
+
s.rdoc_options = %w(--main README.md)
|
|
25
|
+
|
|
26
|
+
s.files = %w(README.md) + Dir.glob("{bin,spec,lib/**/*}")
|
|
27
|
+
s.executables = FileList["bin/**"].map { |f| File.basename(f) }
|
|
28
|
+
s.require_paths = ["lib"]
|
|
29
|
+
|
|
30
|
+
s.add_development_dependency("rspec")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# This task actually builds the gem. We also regenerate a static
|
|
34
|
+
# .gemspec file, which is useful if something (i.e. GitHub) will
|
|
35
|
+
# be automatically building a gem for this project. If you're not
|
|
36
|
+
# using GitHub, edit as appropriate.
|
|
37
|
+
Rake::GemPackageTask.new(spec) do |pkg|
|
|
38
|
+
pkg.gem_spec = spec
|
|
39
|
+
|
|
40
|
+
# Generate the gemspec file for github.
|
|
41
|
+
file = File.dirname(__FILE__) + "/#{spec.name}.gemspec"
|
|
42
|
+
File.open(file, "w") {|f| f << spec.to_ruby }
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Generate documentation
|
|
46
|
+
Rake::RDocTask.new do |rd|
|
|
47
|
+
rd.main = "README.md"
|
|
48
|
+
rd.rdoc_files.include("README.md", "lib/**/*.rb")
|
|
49
|
+
rd.rdoc_dir = "rdoc"
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
desc 'Clear out RDoc and generated packages'
|
|
53
|
+
task :clean => [:clobber_rdoc, :clobber_package] do
|
|
54
|
+
rm "#{spec.name}.gemspec"
|
|
55
|
+
end
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
|
|
2
|
+
$:.unshift(File.dirname(__FILE__))
|
|
3
|
+
|
|
4
|
+
require 'plugin_manager/plugin'
|
|
5
|
+
require 'plugin_manager/plugin_definition'
|
|
6
|
+
require 'plugin_manager/definition_builder'
|
|
7
|
+
|
|
8
|
+
class PluginManager
|
|
9
|
+
attr_reader :unreadable_definitions, :plugins_with_errors, :loaded_plugins, :unloaded_plugins
|
|
10
|
+
|
|
11
|
+
def initialize
|
|
12
|
+
@unloaded_plugins = []
|
|
13
|
+
@loaded_plugins = []
|
|
14
|
+
@unreadable_definitions = []
|
|
15
|
+
@plugins_with_errors = []
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def plugins
|
|
19
|
+
@unloaded_plugins + @loaded_plugins
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def add_plugin_source(directory)
|
|
23
|
+
definition_files = Dir[File.join(File.expand_path(directory), "*", "plugin.rb")]
|
|
24
|
+
definition_files.reject! {|f| plugins.any? {|pl| pl.definition_file == File.expand_path(f) } }
|
|
25
|
+
new_definitions =
|
|
26
|
+
definition_files.map do |file|
|
|
27
|
+
begin
|
|
28
|
+
definition = instance_eval(File.read(file))
|
|
29
|
+
definition.definition_file = File.expand_path(file)
|
|
30
|
+
definition
|
|
31
|
+
rescue Object => e
|
|
32
|
+
puts "Unreadable plugin definition: #{file}"
|
|
33
|
+
puts " " + e.message
|
|
34
|
+
puts e.backtrace.map {|l| " " + l }
|
|
35
|
+
@unreadable_definitions << file
|
|
36
|
+
nil
|
|
37
|
+
end
|
|
38
|
+
end.compact.sort_by {|p| p.name.downcase }
|
|
39
|
+
@unloaded_plugins += new_definitions
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def load
|
|
43
|
+
previous_length = @unloaded_plugins.length + 1
|
|
44
|
+
while previous_length > @unloaded_plugins.length
|
|
45
|
+
previous_length = @unloaded_plugins.length
|
|
46
|
+
if plugin = next_to_load
|
|
47
|
+
begin
|
|
48
|
+
puts "[PluginManager] loading #{plugin.name}" if ENV["PLUGIN_DEBUG"]
|
|
49
|
+
plugin.load
|
|
50
|
+
@loaded_plugins << plugin
|
|
51
|
+
rescue Object => e
|
|
52
|
+
puts "Error loading plugin: #{plugin.inspect}"
|
|
53
|
+
puts " " + e.message
|
|
54
|
+
puts e.backtrace.map {|l| " " + l }
|
|
55
|
+
@plugins_with_errors << plugin
|
|
56
|
+
end
|
|
57
|
+
@unloaded_plugins.delete(plugin)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
private
|
|
63
|
+
|
|
64
|
+
def next_to_load
|
|
65
|
+
# this ordering ensures we try the most recent version of a plugin first
|
|
66
|
+
remaining_plugins = @unloaded_plugins.sort_by {|pl| pl.version }.reverse
|
|
67
|
+
|
|
68
|
+
remaining_plugins.detect do |d|
|
|
69
|
+
next if @loaded_plugins.map {|pl| pl.name }.include?(d.name)
|
|
70
|
+
(d.dependencies||[]).all? do |dep|
|
|
71
|
+
req_name, req_ver = *dep
|
|
72
|
+
@loaded_plugins.detect do |d1|
|
|
73
|
+
d1.name == req_name and
|
|
74
|
+
PluginManager.compare_version(req_ver, d1.version)
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def self.compare_version(required, got)
|
|
81
|
+
got = got.gsub(/(\.0)+$/, "")
|
|
82
|
+
required.split(",").all? do |req|
|
|
83
|
+
req = req.strip
|
|
84
|
+
req = req.gsub(/(\.0)+$/, "")
|
|
85
|
+
if md = req.match(/^(=|>|>=|<|<=|!=)?([\d\.]*)$/)
|
|
86
|
+
case md[1]
|
|
87
|
+
when ">"
|
|
88
|
+
got > md[2]
|
|
89
|
+
when ">="
|
|
90
|
+
got >= md[2]
|
|
91
|
+
when "<"
|
|
92
|
+
got < md[2]
|
|
93
|
+
when "<="
|
|
94
|
+
got <= md[2]
|
|
95
|
+
when "="
|
|
96
|
+
md[2] == got
|
|
97
|
+
when "!="
|
|
98
|
+
md[2] != got
|
|
99
|
+
end
|
|
100
|
+
else
|
|
101
|
+
puts "don't recognize version string: #{required.inspect}"
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
|
|
2
|
+
class PluginManager
|
|
3
|
+
class DefinitionBuilder
|
|
4
|
+
def initialize(&block)
|
|
5
|
+
@block = block
|
|
6
|
+
@definition = PluginDefinition.new
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def build
|
|
10
|
+
instance_eval(&@block)
|
|
11
|
+
@definition
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def name(value)
|
|
15
|
+
@definition.name = value
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def version(value)
|
|
19
|
+
@definition.version = value
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def object(value)
|
|
23
|
+
@definition.object_string = value
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def file(*values)
|
|
27
|
+
@definition.file = values
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def dependencies(*deps)
|
|
31
|
+
@definition.dependencies ||= []
|
|
32
|
+
deps.each_slice(2) do |name, ver|
|
|
33
|
+
@definition.dependencies << [name, ver]
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|