Module: Redcar
- Defined in:
- lib/redcar.rb,
lib/redcar/usage.rb,
lib/redcar/plist.rb,
lib/redcar/logger.rb,
lib/redcar/runner.rb,
lib/redcar_quick_start.rb,
plugins/scm/lib/scm.rb,
plugins/repl/lib/repl.rb,
plugins/help/lib/help.rb,
plugins/redcar/redcar.rb,
plugins/ruby/lib/ruby.rb,
plugins/core/lib/core.rb,
plugins/scm/lib/scm/model.rb,
plugins/scm_hg/lib/scm_hg.rb,
plugins/macros/lib/macros.rb,
plugins/core/lib/core/gui.rb,
plugins/scm/lib/scm/errors.rb,
plugins/core/lib/core/task.rb,
plugins/core/lib/core/model.rb,
plugins/scm_git/lib/scm_git.rb,
plugins/project/lib/project.rb,
plugins/comment/lib/comment.rb,
plugins/scm_svn/lib/scm_svn.rb,
plugins/scm/lib/scm/commands.rb,
plugins/core/lib/core/plugin.rb,
plugins/repl_swt/lib/repl_swt.rb,
plugins/core/lib/core/has_spi.rb,
plugins/snippets/lib/snippets.rb,
plugins/textmate/lib/textmate.rb,
plugins/help/lib/help/help_tab.rb,
plugins/repl/lib/repl/repl_tab.rb,
plugins/core/lib/core/resource.rb,
plugins/macros/lib/macros/macro.rb,
plugins/todo_list/lib/todo_list.rb,
plugins/my_plugin/lib/my_plugin.rb,
plugins/scm/lib/scm/diff_mirror.rb,
plugins/html_view/lib/html_view.rb,
plugins/edit_view/lib/edit_view.rb,
plugins/runnables/lib/runnables.rb,
plugins/core/lib/core/controller.rb,
plugins/core/lib/core/observable.rb,
plugins/core/lib/core/task_queue.rb,
plugins/ruby/lib/ruby/repl_mirror.rb,
plugins/repl/lib/repl/repl_mirror.rb,
plugins/line_tools/lib/line_tools.rb,
plugins/scm/lib/scm/commit_mirror.rb,
plugins/scm_git/lib/scm_git/commit.rb,
plugins/project/lib/project/recent.rb,
plugins/scm_svn/lib/scm_svn/change.rb,
plugins/java/lib/syntax_check/java.rb,
plugins/repl/lib/repl/repl_command.rb,
plugins/macros/lib/macros/commands.rb,
plugins/scm_git/lib/scm_git/change.rb,
plugins/splash_screen/splash_screen.rb,
plugins/auto_pairer/lib/auto_pairer.rb,
plugins/application/lib/application.rb,
plugins/test_runner/lib/test_runner.rb,
plugins/project/lib/project/manager.rb,
plugins/textmate/lib/textmate/plist.rb,
plugins/textmate/lib/textmate/editor.rb,
plugins/project/lib/project/commands.rb,
plugins/ruby/lib/ruby/syntax_checker.rb,
plugins/textmate/lib/textmate/bundle.rb,
plugins/core/lib/core/plugin/storage.rb,
plugins/syntax_check/lib/syntax_check.rb,
plugins/declarations/lib/declarations.rb,
plugins/project/lib/project/file_list.rb,
plugins/help/lib/help/view_controller.rb,
plugins/html_view/lib/html_controller.rb,
plugins/key_bindings/lib/key_bindings.rb,
plugins/core/lib/core/reentry_helpers.rb,
plugins/textmate/lib/textmate/snippet.rb,
plugins/task_manager/lib/task_manager.rb,
plugins/redcar_debug/lib/redcar_debug.rb,
plugins/project/lib/project/dir_mirror.rb,
plugins/snippets/lib/snippets/explorer.rb,
plugins/core/lib/core/persistent_cache.rb,
plugins/scm/lib/scm/scm_commits_mirror.rb,
plugins/scm/lib/scm/scm_changes_mirror.rb,
plugins/textmate/lib/textmate/commands.rb,
plugins/scm_git/lib/scm_git/config_file.rb,
plugins/project/lib/project/sub_project.rb,
plugins/tree_view_swt/lib/tree_view_swt.rb,
plugins/project/lib/project/file_mirror.rb,
plugins/auto_indenter/lib/auto_indenter.rb,
plugins/edit_view/lib/edit_view/command.rb,
plugins/web_bookmarks/lib/web_bookmarks.rb,
plugins/project/lib/project/drb_service.rb,
plugins/edit_view_swt/lib/edit_view_swt.rb,
plugins/edit_view/lib/edit_view/grammar.rb,
plugins/repl/features/support/fake_repl.rb,
plugins/application/lib/application/tab.rb,
plugins/application/lib/application/menu.rb,
plugins/edit_view/lib/edit_view/document.rb,
plugins/runnables/lib/runnables/commands.rb,
plugins/edit_view/lib/edit_view/edit_tab.rb,
plugins/textmate/lib/textmate/preference.rb,
plugins/html_view/lib/html_view/html_tab.rb,
plugins/application/lib/application/tree.rb,
plugins/html_view/lib/html_view/commands.rb,
plugins/macros/lib/macros/action_sequence.rb,
plugins/auto_completer/lib/auto_completer.rb,
plugins/textmate/lib/textmate/environment.rb,
plugins/project/lib/project/support/trash.rb,
plugins/textmate/lib/textmate/tree_mirror.rb,
plugins/snippets/lib/snippets/tab_handler.rb,
plugins/repl_swt/lib/repl_swt/key_listener.rb,
plugins/scm/lib/scm/scm_commits_controller.rb,
plugins/scm/lib/scm/scm_changes_controller.rb,
plugins/application/lib/application/keymap.rb,
plugins/application/lib/application/dialog.rb,
plugins/declarations/lib/declarations/file.rb,
plugins/project/lib/project/dir_controller.rb,
plugins/application/lib/application/window.rb,
plugins/html_view/lib/html_view/browser_bar.rb,
plugins/application/lib/application/toolbar.rb,
plugins/application_swt/lib/application_swt.rb,
plugins/edit_view/lib/edit_view/actions/tab.rb,
plugins/syntax_check/lib/syntax_check/error.rb,
plugins/application/lib/application/command.rb,
plugins/document_search/lib/document_search.rb,
plugins/application/lib/application/updates.rb,
plugins/todo_list/lib/todo_list/file_parser.rb,
plugins/edit_view/lib/edit_view/actions/esc.rb,
plugins/application/lib/application/treebook.rb,
plugins/declarations/lib/declarations/parser.rb,
plugins/application/lib/application/notebook.rb,
plugins/edit_view/lib/edit_view/tab_settings.rb,
plugins/application/lib/application/speedbar.rb,
plugins/macros/lib/macros/manager_controller.rb,
plugins/web_bookmarks/lib/web_bookmarks/tree.rb,
plugins/project/lib/project/find_file_dialog.rb,
plugins/project/lib/project/local_filesystem.rb,
plugins/syntax_check/lib/syntax_check/checker.rb,
plugins/pair_highlighter/lib/pair_highlighter.rb,
plugins/auto_indenter/lib/auto_indenter/rules.rb,
plugins/application/lib/application/menu/item.rb,
plugins/clipboard-viewer/lib/clipboard_viewer.rb,
plugins/edit_view/lib/edit_view/grammars/ruby.rb,
plugins/open_default_app/lib/open_default_app.rb,
plugins/scm/lib/scm/scm_commits_mirror/commit.rb,
plugins/application/lib/application/sensitive.rb,
plugins/application/lib/application/clipboard.rb,
plugins/scm/lib/scm/scm_changes_mirror/change.rb,
plugins/declarations/lib/declarations/commands.rb,
plugins/project/lib/project/find_recent_dialog.rb,
plugins/edit_view/lib/edit_view/document/mirror.rb,
plugins/todo_list/lib/todo_list/todo_controller.rb,
plugins/application/lib/application/tree/mirror.rb,
plugins/application_swt/lib/application_swt/tab.rb,
plugins/application/lib/application/sensitivity.rb,
plugins/plugin_manager_ui/lib/plugin_manager_ui.rb,
plugins/application/lib/application/tab/command.rb,
plugins/edit_view/lib/edit_view/grammars/default.rb,
plugins/application/lib/application/tree/command.rb,
plugins/auto_indenter/lib/auto_indenter/analyzer.rb,
plugins/application_swt/lib/application_swt/icon.rb,
plugins/runnables/lib/runnables/output_processor.rb,
plugins/syntax_check/lib/syntax_check/annotation.rb,
plugins/edit_view/lib/edit_view/document/history.rb,
plugins/auto_indenter/lib/auto_indenter/commands.rb,
plugins/application/lib/application/event_spewer.rb,
plugins/application_swt/lib/application_swt/menu.rb,
plugins/edit_view_swt/lib/edit_view_swt/document.rb,
plugins/declarations/spec/declarations/file_spec.rb,
plugins/web_bookmarks/lib/web_bookmarks/bookmark.rb,
plugins/web_bookmarks/lib/web_bookmarks/commands.rb,
plugins/edit_view/lib/edit_view/document/command.rb,
plugins/test_runner/lib/test_runner/rspec_runner.rb,
plugins/application/lib/application/global_state.rb,
plugins/application/lib/application/toolbar/item.rb,
plugins/edit_view_swt/lib/edit_view_swt/edit_tab.rb,
plugins/edit_view/lib/edit_view/actions/deletion.rb,
plugins/application/lib/application/menu/builder.rb,
plugins/edit_view/lib/edit_view/actions/cmd_enter.rb,
plugins/snippets/lib/snippets/document_controller.rb,
plugins/project_search/lib/project_search/project.rb,
plugins/application/lib/application/keymap/builder.rb,
plugins/edit_view/lib/edit_view/actions/arrow_keys.rb,
plugins/application/lib/application/menu/lazy_menu.rb,
plugins/edit_view/lib/edit_view/select_font_dialog.rb,
plugins/html_view/lib/html_view/default_controller.rb,
plugins/application_swt/lib/application_swt/window.rb,
plugins/scm/lib/scm/scm_changes_mirror/changes_node.rb,
plugins/edit_view/lib/edit_view/document/controller.rb,
plugins/application/lib/application/tree/controller.rb,
plugins/project/lib/project/project_tree_controller.rb,
plugins/scm/lib/scm/scm_commits_mirror/commits_node.rb,
plugins/application/lib/application/toolbar/builder.rb,
plugins/application_swt/lib/application_swt/toolbar.rb,
plugins/application/lib/application/command/history.rb,
plugins/edit_view/lib/edit_view/select_theme_dialog.rb,
plugins/auto_pairer/lib/auto_pairer/pairs_for_scope.rb,
plugins/auto_completer/lib/auto_completer/word_list.rb,
plugins/execute_current_tab/lib/execute_current_tab.rb,
plugins/test_runner/lib/test_runner/run_test_command.rb,
plugins/macros/lib/macros/predictive/sequence_finder.rb,
plugins/application/lib/application/command/executor.rb,
plugins/application_swt/lib/application_swt/speedbar.rb,
plugins/application_swt/lib/application_swt/notebook.rb,
plugins/application_swt/lib/application_swt/gradient.rb,
plugins/application_swt/lib/application_swt/treebook.rb,
plugins/application_swt/lib/application_swt/html_tab.rb,
plugins/edit_view/lib/edit_view/document/indentation.rb,
plugins/document_search/lib/document_search/commands.rb,
plugins/textmate/lib/textmate/editor/drag_controller.rb,
plugins/auto_completer/lib/auto_completer/list_dialog.rb,
plugins/edit_view/lib/edit_view/modified_tabs_checker.rb,
plugins/application_swt/lib/application_swt/clipboard.rb,
plugins/edit_view_swt/lib/edit_view_swt/word_movement.rb,
plugins/application/lib/application/navigation_history.rb,
plugins/scm/lib/scm/scm_changes_mirror/drag_controller.rb,
plugins/textmate/lib/textmate/editor/bundle_controller.rb,
plugins/edit_view/lib/edit_view/grammars/ruby_on_rails.rb,
plugins/application/lib/application/menu/builder/group.rb,
plugins/runnables/lib/runnables/running_process_checker.rb,
plugins/test_runner/lib/test_runner/jasmine_test_runner.rb,
plugins/auto_pairer/lib/auto_pairer/document_controller.rb,
plugins/auto_completer/lib/auto_completer/word_iterator.rb,
plugins/textmate/lib/textmate/editor/snippet_controller.rb,
plugins/declarations/lib/declarations/completion_source.rb,
plugins/strip_trailing_spaces/lib/strip_trailing_spaces.rb,
plugins/declarations/lib/declarations/select_tag_dialog.rb,
plugins/runnables/lib/runnables/tree_mirror/tree_mirror.rb,
plugins/macros/lib/macros/predictive/document_controller.rb,
plugins/application/lib/application/toolbar/lazy_toolbar.rb,
plugins/test_runner/lib/test_runner/runnable_test_runner.rb,
plugins/document_search/lib/document_search/find_speedbar.rb,
plugins/application/lib/application/commands/tab_commands.rb,
plugins/application/lib/application/toolbar/builder/group.rb,
plugins/runnables/lib/runnables/command_output_controller.rb,
plugins/document_search/lib/document_search/query_options.rb,
plugins/runnables/lib/runnables/tree_mirror/nodes/runnable.rb,
plugins/application_swt/lib/application_swt/dialog_adapter.rb,
plugins/application_swt/lib/application_swt/bring_to_front.rb,
plugins/clipboard-viewer/lib/clipboard_viewer/clipboard_bar.rb,
plugins/auto_indenter/lib/auto_indenter/document_controller.rb,
plugins/runnables/lib/runnables/tree_mirror/tree_controller.rb,
plugins/application/lib/application/commands/window_commands.rb,
plugins/application_swt/lib/application_swt/listener_helpers.rb,
plugins/auto_completer/lib/auto_completer/document_controller.rb,
plugins/application/lib/application/dialogs/filter_list_dialog.rb,
plugins/application/lib/application/commands/notebook_commands.rb,
plugins/application/lib/application/commands/treebook_commands.rb,
plugins/application_swt/lib/application_swt/speedbar/combo_item.rb,
plugins/application_swt/lib/application_swt/speedbar/label_item.rb,
plugins/runnables/lib/runnables/tree_mirror/nodes/runnable_group.rb,
plugins/clipboard-viewer/lib/clipboard_viewer/browser_controller.rb,
plugins/edit_view/lib/edit_view/commands/change_language_command.rb,
plugins/application_swt/lib/application_swt/speedbar/toggle_item.rb,
plugins/application/lib/application/dialogs/modeless_list_dialog.rb,
plugins/application_swt/lib/application_swt/dialogs/input_dialog.rb,
plugins/application_swt/lib/application_swt/speedbar/slider_item.rb,
plugins/application_swt/lib/application_swt/speedbar/button_item.rb,
plugins/application_swt/lib/application_swt/notebook/tab_transfer.rb,
plugins/application/lib/application/commands/application_commands.rb,
plugins/edit_view/lib/edit_view/commands/text_conversion_commands.rb,
plugins/edit_view/lib/edit_view/commands/align_assignment_command.rb,
plugins/pair_highlighter/lib/pair_highlighter/document_controller.rb,
plugins/application_swt/lib/application_swt/speedbar/text_box_item.rb,
plugins/edit_view/lib/edit_view/commands/language_settings_commands.rb,
plugins/application_swt/lib/application_swt/dialogs/modeless_dialog.rb,
plugins/application_swt/lib/application_swt/menu/binding_translator.rb,
plugins/runnables/lib/runnables/tree_mirror/nodes/runnable_type_group.rb,
plugins/application_swt/lib/application_swt/dialogs/no_buttons_dialog.rb,
plugins/application_swt/lib/application_swt/toolbar/binding_translator.rb,
plugins/document_search/lib/document_search/incremental_search_speedbar.rb,
plugins/application_swt/lib/application_swt/dialogs/modeless_html_dialog.rb,
plugins/application_swt/lib/application_swt/dialogs/text_and_file_dialog.rb,
plugins/auto_completer/lib/auto_completer/current_document_completion_source.rb,
plugins/application_swt/lib/application_swt/notebook/tab_drag_and_drop_listener.rb,
plugins/application_swt/lib/application_swt/dialogs/filter_list_dialog_controller.rb,
plugins/application_swt/lib/application_swt/dialogs/modeless_list_dialog_controller.rb
Overview
$:.push(File.expand_path(File.join(File.dirname(__FILE__),
"vendor", "activesupport-3.0.3", "lib")))
require 'active_support' require
'active_support/inflections'
Defined Under Namespace
Modules: Controller, DocumentSearch, HasSPI, HtmlController, Macros, Model, Observable, ReentryHelpers, Scm, Sensitive, SyntaxCheck, Textmate, Top
Classes: Application, ApplicationSWT, AutoCompleter, AutoIndenter, AutoPairer, Clipboard, ClipboardViewer, Command, Comment, ConfigTab, Core, Debug, Declarations, Document, DocumentCommand, EditTab, EditTabCommand, EditView, EditViewSWT, ExecuteCurrentTab, FilterListDialog, Grammar, Gui, Help, HtmlTab, HtmlView, JasmineTestRunner, KeyBindings, Keymap, LineTools, Logger, Macro, Menu, ModelessListDialog, MyPlugin, NavigationHistory, Notebook, OpenDefaultApp, OpenDefaultBrowserCommand, PairHighlighter, PersistentCache, Plist, Plugin, PluginManagerUi, Project, ProjectCommand, REPL, REPLSWT, Resource, RspecRunner, Ruby, RunTestCommand, RunnableTestRunner, Runnables, Runner, Sensitivity, Snippets, Speedbar, SplashScreen, StripTrailingSpaces, Tab, TabCommand, Task, TaskManager, TaskQueue, TestRunner, TimeoutError, TodoList, ToolBar, Tree, TreeCommand, TreeViewSWT, Treebook, Usage, WebBookmarks, Window
Constant Summary
- VERSION =
also change in the gemspec!
'0.14.0dev'
- VERSION_MAJOR =
0
- VERSION_MINOR =
14
- VERSION_RELEASE =
0
- ENVIRONMENTS =
[:user, :debug, :test]
- PROCESS_START_TIME =
Time.now
- DRB_PORTS =
{"user" => 10021, "test" => 10022, "development" => 10021}
- DONT_READ_STDIN_ARG =
"--ignore-stdin"
- GROOVY_YAML =
<<-YAML
- regex: "class\\s+(\\w+)"
capture: 1
type: id
kind: class
- regex: "interface\\s+(\\w+)"
capture: 1
type: id
kind: interface
- regex: "^\\s*((public|private|protected)?\\s+|)(static\\s+)?(([\\.\\w]+|)[A-Z]\\w*(<\\w+>)?|void|int|boolean|byte|short|long|char|float|def)\\s+(\\w*)\\s*\\((.*)\\)\\s*\\{"
capture: 7
type: id
kind: method
- regex: "(def|static)\\s+(\\w+)\\s*=\\s*\\{"
capture: 2
type: id
kind: closure
- regex: "enum\\s+(\\w+)"
capture: 1
type: id
kind: attribute
- regex: "^\\s*(public|private|protected)\\s+(static\\s+|)([A-Z]\\w+|int|boolean|byte|short|long|char|float|def)\s+(\\w+)\\s*(=|\\n)"
capture: 4
type: id
kind: assignment
YAML
- JAVA_YAML =
<<-YAML
- regex: "class\\s+(\\w+)"
capture: 1
type: id
kind: class
- regex: "interface\\s+(\\w+)"
capture: 1
type: id
kind: interface
- regex: "^\\s*((public|private|protected|)\\s+|)(static\\s+|)(([\\.\\w]+|)[A-Z]\\w*(<\\w+>|)|void|int|boolean|byte|short|long|char|float)\\s+(\\w+\\s*\\((.*)\\))?"
capture: 7
type: id
kind: method
- regex: "enum\\s+(\\w*)"
capture: 1
type: id
kind: attribute
- regex: "^\\s*(public|private|protected)\\s+(static\\s+|)([A-Z]\\w+|int|boolean|byte|short|long|char|float|def)\s+(\\w+)\\s*(=|;)"
capture: 4
type: id
kind: assignment
YAML
- RUBY_YAML =
<<-YAML
- regex: "^[^#]*(class|module)\\s+(?:\\w*::)*(\\w+)(?:$|\\s|<)"
capture: 2
type: id
kind: class
- regex: "^[^#]*def (self\\.)?(\\w+[?!=]?)(\\(.*\\))?(\\s|\\;|\\z|\\b)"
capture: 2
type: id
kind: method
- regex: "^[^#]*attr(_reader|_accessor|_writer)(.*)$"
capture: 2
type: id-list
kind: attribute
- regex: "^[^#]*alias\\s+:(\\w+)"
capture: 1
type: id
kind: alias
- regex: "^[^#]*alias_method\\s+:(\\w+[?!]?)"
capture: 1
type: id
kind: alias
- regex: "^\\s*([A-Z]\\w*)\\s*="
capture: 1
type: id
kind: assignment
YAML
- PHP_YAML =
<<-YAML
- regex: "class\\s+(\\w+)"
capture: 1
type: id
kind: class
- regex: "interface\\s+(\\w+)"
capture: 1
type: id
kind: interface
- regex: "function\\s+(\\w+)\s*\\("
capture: 1
type: id
kind: method
YAML
- JS_YAML =
<<-YAML
- regex: "function\\s+([A-Z]\\w*)\\(.*\\)"
capture: 1
type: id
kind: class
- regex: "function\\s+([a-z]\\w*)\\s*\\(.*\\)"
capture: 1
type: id
kind: method
YAML
- CUKE_YAML =
<<-YAML
- regex: "Feature:\\s*(.*)"
capture: 1
type: id
kind: class
- regex: "Scenario:\\s*(.*)"
capture: 1
type: id
kind: method
- regex: "(When|Then|And)\\s*\\/\\^?(.*?)\\$?\\/\\s*do"
capture: 2
type: id
kind: closure
YAML
- SPEC_YAML =
<<-YAML
- regex: "describe\\s*\\"(.*?)\\"\\s*do"
capture: 1
type: id
kind: method
- regex: "it\\s*\\"(.*?)\\"\\s*do"
capture: 1
type: id
kind: closure
YAML
Class Attribute Summary (collapse)
Class Method Summary
(collapse)
Class Attribute Details
Returns the value of attribute app
277
278
279
|
# File 'lib/redcar.rb', line 277
def app
@app
end
|
Returns the value of attribute gui
278
279
280
|
# File 'lib/redcar.rb', line 278
def gui
@gui
end
|
Class Method Details
+ (Object) add_plugin_sources(manager)
115
116
117
118
|
# File 'lib/redcar.rb', line 115
def self.add_plugin_sources(manager)
manager.add_plugin_source(File.join(root, "plugins"))
manager.add_plugin_source(File.join(user_dir, "plugins"))
end
|
+ (Object) asset_dir
Platform specific ~/.redcar/assets
253
254
255
|
# File 'lib/redcar.rb', line 253
def self.asset_dir
File.join(home_dir, ".redcar", "assets")
end
|
+ (Object) custom_log_level
311
312
313
|
# File 'lib/redcar.rb', line 311
def self.custom_log_level
ARGV.map {|a| a =~ /--log-level=(info|debug|warn|error)/; $1}.compact.first
end
|
+ (Object) disabled_plugins
Pulls the list of plugins the user has selected to disable from
storage/disabled_plugins.yaml an array of plugin name.
174
175
176
177
178
179
180
181
182
|
# File 'lib/redcar.rb', line 174
def self.disabled_plugins
return @disabled_plugins if @disabled_plugins
path = File.join Redcar.user_dir, 'storage/disabled_plugins.yaml'
if File.exists? path
list = YAML.load_file path
return @disabled_plugins = list if list.is_a? Array
end
@disabled_plugins = []
end
|
+ (Object) drb_port
8
9
10
|
# File 'lib/redcar_quick_start.rb', line 8
def self.drb_port
DRB_PORTS[Redcar.environment.to_s]
end
|
+ (Object) ensure_user_dir_config
236
237
238
|
# File 'lib/redcar.rb', line 236
def self.ensure_user_dir_config
FileUtils.mkdir_p(user_dir)
end
|
+ (Object) environment
91
92
93
94
|
# File 'lib/redcar.rb', line 91
def self.environment
raise "no environment set" unless @environment
@environment
end
|
+ (Object) environment=(env)
84
85
86
87
88
89
|
# File 'lib/redcar.rb', line 84
def self.environment=(env)
unless ENVIRONMENTS.include?(env)
raise "environment must be one of #{ENVIRONMENTS.inspect}"
end
@environment = env
end
|
+ (String) home_dir
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
|
# File 'lib/redcar.rb', line 260
def self.home_dir
@userdir ||= begin
if arg = ARGV.map {|v| v[/^--home-dir=(.*)/, 1] }.compact.first
File.expand_path(arg)
elsif platform == :windows
if ENV['USERPROFILE'].nil?
"C:/My Documents/"
else
ENV['USERPROFILE']
end
else
ENV['HOME'] unless ENV['HOME'].nil?
end
end
end
|
+ (Object) icons_directory
80
81
82
|
# File 'lib/redcar.rb', line 80
def self.icons_directory
RedcarIcons.directory
end
|
+ (Bool) installed?
Check if redcar was already installed (currently it just looks if the
user_dir is present)
231
232
233
234
|
# File 'lib/redcar.rb', line 231
def self.installed?
return true if File.directory? user_dir
false
end
|
+ (Object) load_plugins
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
|
# File 'lib/redcar.rb', line 149
def self.load_plugins
begin
exit if ARGV.include?("--quit-after-splash")
plugin_manager.load
if plugin_manager.unreadable_definitions.any?
puts "Couldn't read definition files: " + plugin_manager.unreadable_definitions.map {|pd| pd.name}.join(", ")
end
if plugin_manager.plugins_with_errors.any?
puts "There was an error loading plugins: " + plugin_manager.plugins_with_errors.map {|pd| pd.name}.join(", ")
end
if ENV["PLUGIN_DEBUG"]
puts "Loaded plugins: " + plugin_manager.loaded_plugins.map {|pd| pd.name}.join(", ")
puts
puts "Unloaded plugins: " + plugin_manager.unloaded_plugins.map {|pd| pd.name}.join(", ")
end
rescue => e
puts e.message
puts e.backtrace
end
end
|
+ (Object) load_prerequisites(options = {})
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
# File 'lib/redcar.rb', line 120
def self.load_prerequisites(options={})
exit if ARGV.include?("--quit-immediately")
require 'java'
require 'redcar_quick_start'
vendor_path = File.expand_path("../../vendor", __FILE__)
require "#{vendor_path}/bundler/setup.rb"
require 'plugin_manager'
unless defined?(JSON)
$:.unshift("#{vendor_path}/json-1.6.4-java/lib")
require 'json'
end
require 'bouncy-castle-java'
require 'openssl'
plugin_manager.load("core")
require 'swt/minimal'
unless no_gui_mode?
gui = Redcar::Gui.new("swt")
gui.register_event_loop(Swt::EventLoop.new)
gui.register_features_runner(Swt::CucumberRunner.new)
Redcar.gui = gui
plugin_manager.load("splash_screen")
end
end
|
+ (Object) load_threaded
Tells the plugin manager to load plugins, and prints debug output.
185
186
187
188
189
190
191
192
193
194
|
# File 'lib/redcar.rb', line 185
def self.load_threaded
load_prerequisites
thread = Thread.new do
load_plugins
Redcar::Top.start(ARGV)
end
if no_gui_mode?
thread.join
end
end
|
+ (Object) load_unthreaded(options = {})
196
197
198
199
|
# File 'lib/redcar.rb', line 196
def self.load_unthreaded(options={})
load_prerequisites(options)
load_plugins
end
|
288
289
290
291
292
293
294
295
296
297
|
# File 'lib/redcar.rb', line 288
def self.log
@log ||= begin
targets = [log_file]
targets << STDOUT if show_log?
logger = Redcar::Logger.new(*targets)
logger.level = custom_log_level
at_exit { logger.close }
logger
end
end
|
+ (Object) log_file
303
304
305
|
# File 'lib/redcar.rb', line 303
def self.log_file
File.open(log_path, "a")
end
|
+ (Object) log_path
299
300
301
|
# File 'lib/redcar.rb', line 299
def self.log_path
user_dir + "/#{environment}.log"
end
|
+ (Object) no_gui_mode!
205
206
207
|
# File 'lib/redcar.rb', line 205
def self.no_gui_mode!
@no_gui_mode = true
end
|
+ (Boolean) no_gui_mode?
201
202
203
|
# File 'lib/redcar.rb', line 201
def self.no_gui_mode?
@no_gui_mode || ARGV.include?("--no-gui")
end
|
+ (Object) null_device
94
95
96
97
98
99
100
101
|
# File 'lib/redcar_quick_start.rb', line 94
def self.null_device
case platform
when :windows
'nul'
else
'/dev/null'
end
end
|
83
84
85
86
87
88
89
90
91
92
|
# File 'lib/redcar_quick_start.rb', line 83
def self.platform
case Config::CONFIG["target_os"]
when /darwin/
:osx
when /mswin|mingw/
:windows
when /linux/
:linux
end
end
|
+ (Object) plugin_manager
106
107
108
109
110
111
112
113
|
# File 'lib/redcar.rb', line 106
def self.plugin_manager
@plugin_manager ||= begin
m = PluginManager.new
add_plugin_sources(m)
m.disabled_plugins = disabled_plugins
m
end
end
|
+ (Object) process_start_time
315
316
317
318
319
320
|
# File 'lib/redcar.rb', line 315
def self.process_start_time
@process_start_time ||= begin
t = ARGV.map {|arg| arg =~ /--start-time=(\d+)$/; $1}.compact.first
t ? Time.at(t.to_i) : $redcar_process_start_time
end
end
|
222
223
224
225
226
|
# File 'lib/redcar.rb', line 222
def self.pump
return if Redcar.no_gui_mode?
Redcar.gui.start
end
|
+ (Object) read_stdin
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/redcar_quick_start.rb', line 16
def self.read_stdin
if not $stdin.tty? and not ARGV.include?(DONT_READ_STDIN_ARG)
data = ""
begin
data = $stdin.read
rescue Errno::EAGAIN
rescue EOFError
end
if data.size > 0
require 'tmpdir'
file = File.join(Dir.tmpdir, "tmp#{$$}.txt")
File.open(file, 'w') {|f| f.write data}
ARGV.unshift "--untitled-file=#{file}", DONT_READ_STDIN_ARG
end
end
end
|
102
103
104
|
# File 'lib/redcar.rb', line 102
def self.root
File.expand_path(File.join(File.dirname(__FILE__), ".."))
end
|
+ (Object) safely(text = nil)
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'plugins/redcar/redcar.rb', line 3
def self.safely(text=nil)
begin
yield
rescue => e
message = "Error in: " + (text || e.message)
$stderr.puts message
$stderr.puts e.class.to_s + ": " + e.message
$stderr.puts e.backtrace
return if Redcar.no_gui_mode?
Application::Dialog.message_box(
message,
:type => :error, :buttons => :ok)
end
end
|
+ (Boolean) show_log?
307
308
309
|
# File 'lib/redcar.rb', line 307
def self.show_log?
ARGV.include?("--show-log") or ENV["REDCAR_SHOW_LOG"]
end
|
+ (Object) show_splash
209
210
211
212
213
214
215
216
217
218
219
|
# File 'lib/redcar.rb', line 209
def self.show_splash
return if Redcar.no_gui_mode?
unless ARGV.include?("--no-splash")
SplashScreen.create_splash_screen(plugin_manager.plugins.length - plugin_manager.disabled_plugins.size + 10)
end
plugin_manager.on_load do |plugin|
Swt.sync_exec do
SplashScreen.splash_screen.inc if SplashScreen.splash_screen
end
end
end
|
96
97
98
99
100
|
# File 'lib/redcar.rb', line 96
def self.spin_up
require 'redcar/runner'
runner = Redcar::Runner.new
runner.run
end
|
+ (Object) timeout(limit)
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File 'plugins/core/lib/core.rb', line 44
def self.timeout(limit)
x = Thread.current
result = nil
y = Thread.new do
begin
result = yield
rescue Object => e
x.raise e
end
end
s = Time.now
loop do
if not y.alive?
break
elsif Time.now - s > limit
y.kill
raise Redcar::TimeoutError, "timed out after #{Time.now - s}s"
break
end
sleep 0.1
end
result
end
|
25
26
27
28
29
30
31
|
# File 'plugins/core/lib/core.rb', line 25
def self.tmp_dir
path = File.join(Redcar.user_dir, "tmp")
unless File.exists?(path)
FileUtils.mkdir(path)
end
path
end
|
+ (Object) try_to_load_via_drb
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'lib/redcar_quick_start.rb', line 35
def self.try_to_load_via_drb
if ARGV.find {|arg| arg == "--multiple-instance" || arg == '--help' || arg == '-h' || arg == "-v"}
return false
end
begin
begin
TCPSocket.new('127.0.0.1', drb_port).close
rescue Errno::ECONNREFUSED
return
end
puts 'attempting to start via running instance' if $VERBOSE
require 'drb' drb = DRbObject.new(nil, "druby://127.0.0.1:#{drb_port}")
if ARGV.any?
ARGV.each do |arg|
if arg =~ /--untitled-file=(.*)/
path = $1 if File.file?($1)
untitled = true
elsif arg !~ /^-/ path = File.expand_path(arg)
if !File.exist?(path)
require 'fileutils'
FileUtils.mkdir_p File.dirname(path)
FileUtils.touch path
end
end
next unless path
drb_answer = drb.open_item_drb(path, untitled, ARGV.include?("-w"))
return unless drb_answer == 'ok'
end
else
return unless drb.open_item_drb('just_bring_to_front')
end
puts 'Success' if $VERBOSE
true
rescue Exception => e
puts e.class.to_s + ": " + e.message
puts e.backtrace
false
end
end
|
+ (Object) update_gui
18
19
20
21
22
23
24
25
26
|
# File 'plugins/redcar/redcar.rb', line 18
def self.update_gui
result = nil
Swt.sync_exec do
safely do
result = yield
end
end
result
end
|
+ (String) user_dir
Platform specific ~/.redcar
243
244
245
246
247
248
249
250
|
# File 'lib/redcar.rb', line 243
def self.user_dir
dirname = {
:user => ".redcar",
:test => ".redcar_test",
:debug => ".redcar_debug"
}[Redcar.environment]
File.expand_path(File.join(home_dir, dirname))
end
|