redcar 0.7 → 0.8
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 +42 -0
- data/README.md +5 -3
- data/Rakefile +39 -81
- data/bin/redcar +1 -1
- data/lib/redcar.rb +9 -6
- data/lib/redcar/installer.rb +1 -1
- data/lib/redcar/ruby_extensions.rb +19 -0
- data/lib/redcar/runner.rb +1 -1
- data/lib/redcar/usage.rb +3 -0
- data/lib/redcar_quick_start.rb +11 -11
- data/plugins/application/features/step_definitions/tree_steps.rb +22 -5
- data/plugins/application/features/step_definitions/window_steps.rb +9 -1
- data/plugins/application/features/support/env.rb +5 -2
- data/plugins/application/lib/application.rb +51 -46
- data/plugins/application/lib/application/window.rb +60 -30
- data/plugins/application_swt/lib/application_swt.rb +16 -16
- data/plugins/application_swt/lib/application_swt/window.rb +35 -7
- data/plugins/auto_completer/features/support/env.rb +0 -2
- data/plugins/auto_indenter/features/support/env.rb +0 -1
- data/plugins/auto_pairer/features/auto_pairer.feature +50 -45
- data/plugins/auto_pairer/features/support/env.rb +0 -1
- data/plugins/auto_pairer/lib/auto_pairer/document_controller.rb +11 -6
- 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 +15 -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 +137 -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 +266 -0
- data/plugins/comment/plugin.rb +7 -0
- data/plugins/comment/vendor/comment_lib.json +47 -0
- data/plugins/declarations/lib/declarations.rb +1 -1
- data/plugins/document_search/features/replace.feature +10 -2
- data/plugins/document_search/features/support/env.rb +0 -1
- data/plugins/document_search/lib/document_search.rb +4 -1
- data/plugins/document_search/lib/document_search/replace.rb +11 -3
- data/plugins/document_search/lib/document_search/search_and_replace.rb +5 -2
- data/plugins/edit_view/features/case_change.feature +9 -9
- data/plugins/edit_view/features/cursor_navigation.feature +36 -0
- data/plugins/edit_view/features/step_definitions/editing_steps.rb +63 -8
- data/plugins/edit_view/features/step_definitions/notebook_steps.rb +2 -0
- data/plugins/edit_view/features/step_definitions/tab_steps.rb +8 -5
- data/plugins/edit_view/features/support/env.rb +8 -2
- data/plugins/edit_view/lib/edit_view.rb +16 -1
- data/plugins/edit_view/lib/edit_view/actions/cmd_enter.rb +11 -0
- data/plugins/edit_view/lib/edit_view/document.rb +27 -10
- data/plugins/edit_view/lib/edit_view/edit_tab.rb +17 -4
- data/plugins/edit_view/spec/edit_view/document_spec.rb +3 -0
- data/plugins/edit_view_swt/lib/edit_view_swt.rb +42 -3
- data/plugins/edit_view_swt/lib/edit_view_swt/word_movement.rb +17 -15
- data/plugins/help/lib/help.rb +40 -0
- data/plugins/help/plugin.rb +8 -0
- data/plugins/html_view/features/step_definitions/html_view_steps.rb +6 -4
- data/plugins/line_tools/features/support/env.rb +0 -1
- data/plugins/macros/features/step_definitions/macro_steps.rb +0 -55
- data/plugins/macros/features/support/env.rb +0 -2
- data/plugins/open_default_app/lib/open_default_app.rb +35 -0
- data/plugins/open_default_app/plugin.rb +8 -0
- data/plugins/open_default_app/screenshot.png +0 -0
- data/plugins/plugin_manager_ui/lib/plugin_manager_ui.rb +17 -3
- data/plugins/project/features/find_file.feature +3 -2
- data/plugins/project/features/highlight_focussed_tab.feature +8 -0
- data/plugins/project/features/move_and_rename_files.feature +25 -0
- data/plugins/project/features/open_and_save_files.feature +10 -1
- data/plugins/project/features/open_directory_tree.feature +32 -2
- data/plugins/project/features/step_definitions/directory_steps.rb +17 -0
- data/plugins/project/features/step_definitions/project_tree_steps.rb +3 -0
- data/plugins/project/features/sub_project.feature +14 -0
- data/plugins/project/features/support/env.rb +22 -3
- data/plugins/project/features/watch_for_modified_files.feature +32 -9
- data/plugins/project/lib/project.rb +53 -21
- data/plugins/project/lib/project/adapters/local.rb +21 -16
- data/plugins/project/lib/project/adapters/remote.rb +15 -13
- data/plugins/project/lib/project/commands.rb +37 -16
- data/plugins/project/lib/project/dir_controller.rb +41 -42
- data/plugins/project/lib/project/drb_service.rb +35 -21
- data/plugins/project/lib/project/file_list.rb +7 -1
- data/plugins/project/lib/project/manager.rb +28 -3
- 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 +72 -0
- data/plugins/project/spec/fixtures/multi-byte-files/a/341/204/200/341/205/247/341/206/274/341/204/205/341/205/251/foo +1 -0
- data/plugins/project/spec/fixtures/multi-byte-files//341/204/220/341/205/246/341/204/211/341/205/263/341/204/220/341/205/263.py +1 -0
- data/plugins/project/spec/project/file_list_spec.rb +4 -0
- data/plugins/redcar/features/goto_line_command.feature +20 -0
- data/plugins/redcar/redcar.rb +107 -47
- data/plugins/repl/lib/repl.rb +20 -20
- data/plugins/repl/lib/repl/clojure_mirror.rb +50 -58
- data/plugins/repl/lib/repl/groovy_mirror.rb +22 -41
- data/plugins/repl/lib/repl/repl_mirror.rb +85 -14
- data/plugins/repl/lib/repl/ruby_mirror.rb +12 -39
- data/plugins/repl/spec/repl/groovy_mirror_spec.rb +1 -1
- data/plugins/repl/spec/repl/ruby_mirror_spec.rb +12 -12
- data/plugins/ruby/README +6 -0
- data/plugins/ruby/lib/syntax_check/ruby.rb +28 -0
- data/plugins/ruby/plugin.rb +7 -0
- data/plugins/runnables/features/command_tree.feature +9 -0
- data/plugins/runnables/features/file_runner_input.feature +20 -0
- data/plugins/runnables/features/run_alternate_command.feature +14 -0
- data/plugins/runnables/features/support/env.rb +42 -5
- data/plugins/runnables/lib/runnables.rb +67 -21
- data/plugins/runnables/lib/runnables/commands.rb +35 -18
- data/plugins/runnables/lib/runnables/tree_mirror/nodes/runnable_group.rb +23 -37
- data/plugins/runnables/lib/runnables/tree_mirror/nodes/runnable_type_group.rb +16 -18
- data/plugins/scm_svn/features/support/env.rb +0 -3
- data/plugins/snippets/features/snippets.feature +17 -2
- data/plugins/snippets/features/support/env.rb +0 -1
- data/plugins/snippets/lib/snippets/tab_handler.rb +51 -18
- data/plugins/swt/lib/swt/cucumber_patches.rb +13 -68
- data/plugins/swt/lib/swt/cucumber_runner.rb +2 -3
- data/plugins/syntax_check/README +6 -0
- data/plugins/syntax_check/lib/syntax_check.rb +16 -0
- data/plugins/syntax_check/lib/syntax_check/checker.rb +47 -0
- data/plugins/syntax_check/lib/syntax_check/error.rb +23 -0
- data/plugins/syntax_check/plugin.rb +7 -0
- data/plugins/tree_view_swt/lib/tree_view_swt.rb +6 -0
- data/plugins/web_bookmarks/Screenshot.png +0 -0
- data/plugins/web_bookmarks/lib/web_bookmarks.rb +42 -0
- data/plugins/web_bookmarks/lib/web_bookmarks/bookmark.rb +43 -0
- data/plugins/web_bookmarks/lib/web_bookmarks/browser_bar.rb +70 -0
- data/plugins/web_bookmarks/lib/web_bookmarks/commands.rb +111 -0
- data/plugins/web_bookmarks/lib/web_bookmarks/tree.rb +67 -0
- data/plugins/web_bookmarks/lib/web_bookmarks/view_controller.rb +22 -0
- data/plugins/web_bookmarks/plugin.rb +11 -0
- data/plugins/web_bookmarks/views/index.html.erb +5 -0
- metadata +60 -10
data/CHANGES
CHANGED
@@ -1,3 +1,45 @@
|
|
1
|
+
Version 0.8 (26 October 2010)
|
2
|
+
=============================
|
3
|
+
|
4
|
+
Enhancements:
|
5
|
+
|
6
|
+
* Alternate Runnables File Runner command and shortcut (Delisa Mason)
|
7
|
+
* File runners now have access to line number and file names (Delisa Mason)
|
8
|
+
* Projects can have 'subproject' windows which share config files like Runnables (Delisa Mason)
|
9
|
+
* Symlinks to other directories are searched recursively (Tim Felgentreff)
|
10
|
+
* Redcar can be started without opening a window (for boot-time startup) (Tim Felgentreff)
|
11
|
+
* The Mac OS X app bundle comes with assets bundled (Tim Felgentreff)
|
12
|
+
* The Runnables tree now nests runnables depending on slashes in the type definition (Tim Felgentreff)
|
13
|
+
* Deleting or moving a file updates the tab title and file correctly. (Delisa Mason)
|
14
|
+
* Paired characters are not inserted if it looks like you are closing a pair (Dan Lucraft)
|
15
|
+
* Syntax checking for Ruby upon save (Tim Felgentreff)
|
16
|
+
* Deleting a file from the project tree will move it to the trash, if the OS permits (Tim Felgentreff)
|
17
|
+
* Help Menu options for submitting bugs and viewing the users' guide (Delisa Mason)
|
18
|
+
* Toggle line and selection commenting (Delisa Mason)
|
19
|
+
* Clipboard History Viewer and Paster (Delisa Mason)
|
20
|
+
* Web Preview files and Bookmarks (Delisa Mason)
|
21
|
+
* -w commandline switch to block the prompt when piping into or opening files on an existing Redcar instance (Tim Felgentreff)
|
22
|
+
* 'Open Default App' project context menu item for opening any type of file (Jeremy Wentworth)
|
23
|
+
* Changing to another tab reveals the associated file in the project tree (Johannes Wollert)
|
24
|
+
* Trees can be hidden or revealed by a keyboard shortcut (Delisa Mason)
|
25
|
+
* Fullscreen mode! (Matt Scharley)
|
26
|
+
|
27
|
+
Bugfixes:
|
28
|
+
|
29
|
+
* Snippet completion works even when preceded by other characters (Delisa Mason)
|
30
|
+
* New files now open in the project window which is the closest ancestor (Delisa Mason)
|
31
|
+
* Search-and-replace now operates on the user-selected text as well, not only after it (Tim Felgentreff)
|
32
|
+
* Word back/forward movement is not confused by multi-byte characters. (Dan Lucraft)
|
33
|
+
* Can load files with multi-byte characters and see them in the tree (Dan Lucraft)
|
34
|
+
* Open in command line now works correctly with Terminal.app (Delisa Mason, Mat Schaffer)
|
35
|
+
* Search-and-replace won't loop forever over a document anymore if it still finds the search string (Tim Felgentreff)
|
36
|
+
* Goto line command works again (Dan Lucraft)
|
37
|
+
* Run tab commands are now project-aware (Delisa Mason)
|
38
|
+
|
39
|
+
New APIs:
|
40
|
+
* after_save can be implemented by plugins to run code after an edit view was saved (Tim Felgentreff)
|
41
|
+
* before_web_refresh can be implemented by plugins to run code before a HtmlTab is refreshed (Delisa Mason)
|
42
|
+
|
1
43
|
Version 0.7 (4 October 2010)
|
2
44
|
============================
|
3
45
|
|
data/README.md
CHANGED
@@ -9,12 +9,14 @@ A pure Ruby text editor running on JRuby.
|
|
9
9
|
|
10
10
|
## INSTALLATION
|
11
11
|
|
12
|
-
You must have Java installed. You will also need to run these commands for each user on your computer that needs access to Redcar.
|
12
|
+
You must have Java installed [1]. You will also need to run these commands for each user on your computer that needs access to Redcar.
|
13
13
|
|
14
14
|
$ sudo gem install redcar
|
15
15
|
$ redcar install
|
16
16
|
|
17
|
-
|
17
|
+
The install will take a minute or so to complete as it has to download about 15MB of jar files.
|
18
|
+
|
19
|
+
[1] Sun Java or OpenJDK work. Gcj is known not to work.
|
18
20
|
|
19
21
|
## USAGE
|
20
22
|
|
@@ -56,7 +58,7 @@ If you are running a source version of Redcar and you have pulled changes from m
|
|
56
58
|
|
57
59
|
## TESTS
|
58
60
|
|
59
|
-
NB. Redcar features
|
61
|
+
NB. Redcar features are known to work with Cucumber 0.8.5, and known NOT to work with Cucumber >= 0.9
|
60
62
|
|
61
63
|
To run the tests you need JRuby installed. You also need rspec and cucumber installed as Jruby gems. See jruby.org for this, or install with rvm.
|
62
64
|
|
data/Rakefile
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
-
REDCAR_VERSION = "0.
|
1
|
+
REDCAR_VERSION = "0.8" # also change in lib/redcar.rb!
|
2
2
|
require 'rubygems'
|
3
3
|
require 'fileutils'
|
4
4
|
require 'spec/rake/spectask'
|
5
5
|
require 'cucumber/rake/task'
|
6
6
|
require "rake/gempackagetask"
|
7
7
|
require "rake/rdoctask"
|
8
|
+
Dir[File.expand_path("../tasks/*.rake", __FILE__)].each { |f| load f }
|
8
9
|
|
9
10
|
if RUBY_PLATFORM =~ /mswin|mingw/
|
10
11
|
begin
|
@@ -41,7 +42,12 @@ task :release_docs do
|
|
41
42
|
end
|
42
43
|
|
43
44
|
### CI
|
44
|
-
|
45
|
+
COVERAGE_DATA = "coverage.data"
|
46
|
+
task :ci do
|
47
|
+
FileUtils.rm COVERAGE_DATA if File.exist?(COVERAGE_DATA)
|
48
|
+
Rake::Task["specs_ci"].invoke
|
49
|
+
Rake::Task["cucumber_ci"].invoke
|
50
|
+
end
|
45
51
|
|
46
52
|
def find_ci_reporter(filename)
|
47
53
|
jruby_gem_path = %x[jruby -rubygems -e "p Gem.path.first"].gsub("\n", "").gsub('"', "")
|
@@ -49,18 +55,27 @@ def find_ci_reporter(filename)
|
|
49
55
|
result || raise("Could not find ci_reporter gem in #{jruby_gem_path}")
|
50
56
|
end
|
51
57
|
|
58
|
+
def rcov_run(cmd, opts)
|
59
|
+
cmd = %{rcov --aggregate #{COVERAGE_DATA} -x "features/,spec/,vendor/,openssl/,yaml/,json/,yaml,gems,file:,(eval),(__FORWARDABLE__)" #{cmd} -- #{opts}}
|
60
|
+
jruby_run(cmd)
|
61
|
+
end
|
62
|
+
|
63
|
+
def jruby_run(cmd)
|
64
|
+
opts = "-J-XstartOnFirstThread" if Config::CONFIG["host_os"] =~ /darwin/
|
65
|
+
sh("jruby --debug #{opts} -S #{cmd} && echo 'done'")
|
66
|
+
end
|
67
|
+
|
52
68
|
task :specs_ci do
|
53
|
-
rspec_loader = find_ci_reporter "rspec_loader"
|
69
|
+
rspec_loader = find_ci_reporter "rspec_loader"
|
54
70
|
files = Dir['plugins/*/spec/*/*_spec.rb'] + Dir['plugins/*/spec/*/*/*_spec.rb'] + Dir['plugins/*/spec/*/*/*/*_spec.rb']
|
55
|
-
|
56
|
-
|
57
|
-
sh("jruby #{opts} && echo 'done'")
|
71
|
+
rspec_opts = "--require #{rspec_loader} --format CI::Reporter::RSpec -c #{files.join(" ")}"
|
72
|
+
rcov_run('"$GEM_HOME"/bin/spec', rspec_opts)
|
58
73
|
end
|
59
74
|
|
60
|
-
task :cucumber_ci do
|
61
|
-
|
62
|
-
|
63
|
-
|
75
|
+
task :cucumber_ci do
|
76
|
+
reports_folder = "features/reports"
|
77
|
+
FileUtils.rm_rf reports_folder if File.exist? reports_folder
|
78
|
+
rcov_run("bin/cucumber", "-f progress -f junit --out #{reports_folder} plugins/*/features")
|
64
79
|
end
|
65
80
|
|
66
81
|
### TESTS
|
@@ -80,11 +95,13 @@ end
|
|
80
95
|
|
81
96
|
desc "Run features"
|
82
97
|
task :cucumber do
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
98
|
+
cmd = "jruby "
|
99
|
+
if Config::CONFIG["host_os"] == "darwin"
|
100
|
+
cmd += "-J-XstartOnFirstThread "
|
101
|
+
end
|
102
|
+
cmd += "bin/cucumber -cf progress"
|
103
|
+
Dir["plugins/*/features"].each do |f|
|
104
|
+
sh("#{cmd} #{f} && echo 'done'")
|
88
105
|
end
|
89
106
|
end
|
90
107
|
|
@@ -112,7 +129,7 @@ def remove_matching_files(list, string)
|
|
112
129
|
list.reject {|entry| entry.include?(string)}
|
113
130
|
end
|
114
131
|
|
115
|
-
spec = Gem::Specification.new do |s|
|
132
|
+
Spec = spec = Gem::Specification.new do |s|
|
116
133
|
s.name = "redcar"
|
117
134
|
s.version = REDCAR_VERSION
|
118
135
|
s.summary = "A JRuby text editor."
|
@@ -149,19 +166,19 @@ spec = Gem::Specification.new do |s|
|
|
149
166
|
|
150
167
|
s.post_install_message = <<TEXT
|
151
168
|
|
152
|
-
|
169
|
+
-------------------------------------------------------------------------------
|
153
170
|
|
154
171
|
Please now run:
|
155
172
|
|
156
173
|
$ redcar install
|
157
174
|
|
158
|
-
to complete the installation. (NB do NOT use sudo. In previous versions,
|
159
|
-
required for this step, but now it should be run as the user.)
|
175
|
+
to complete the installation. (NB. do NOT use sudo. In previous versions,
|
176
|
+
sudo was required for this step, but now it should be run as the user.)
|
160
177
|
|
161
|
-
NB. This will download jars that Redcar needs to run from the internet.
|
162
|
-
them into ~/.redcar/assets.
|
178
|
+
NB. This will download jars that Redcar needs to run from the internet.
|
179
|
+
It will put them into ~/.redcar/assets.
|
163
180
|
|
164
|
-
|
181
|
+
-------------------------------------------------------------------------------
|
165
182
|
|
166
183
|
TEXT
|
167
184
|
end
|
@@ -170,65 +187,6 @@ Rake::GemPackageTask.new(spec) do |pkg|
|
|
170
187
|
pkg.gem_spec = spec
|
171
188
|
end
|
172
189
|
|
173
|
-
desc "Build a MacOS X App bundle"
|
174
|
-
task :app_bundle => :build do
|
175
|
-
require 'erb'
|
176
|
-
|
177
|
-
redcar_icon = "redcar_icon_beta.png"
|
178
|
-
|
179
|
-
bundle_contents = File.join("pkg", "Redcar.app", "Contents")
|
180
|
-
FileUtils.rm_rf bundle_contents if File.exist? bundle_contents
|
181
|
-
macos_dir = File.join(bundle_contents, "MacOS")
|
182
|
-
resources_dir = File.join(bundle_contents, "Resources")
|
183
|
-
FileUtils.mkdir_p macos_dir
|
184
|
-
FileUtils.mkdir_p resources_dir
|
185
|
-
|
186
|
-
info_plist_template = ERB.new <<-PLIST
|
187
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
188
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
189
|
-
<plist version="1.0">
|
190
|
-
<dict>
|
191
|
-
<key>CFBundleExecutable</key>
|
192
|
-
<string>redcar</string>
|
193
|
-
<key>CFBundleIconFile</key>
|
194
|
-
<string><%= redcar_icon %></string>
|
195
|
-
<key>CFBundleIdentifier</key>
|
196
|
-
<string>com.redcareditor.Redcar</string>
|
197
|
-
<key>CFBundleInfoDictionaryVersion</key>
|
198
|
-
<string>6.0</string>
|
199
|
-
<key>CFBundlePackageType</key>
|
200
|
-
<string>APPL</string>
|
201
|
-
<key>CFBundleSignature</key>
|
202
|
-
<string>????</string>
|
203
|
-
<key>CFBundleVersion</key>
|
204
|
-
<string><%= spec.version %></string>
|
205
|
-
<key>LSMinimumSystemVersion</key>
|
206
|
-
<string>10.5</string>
|
207
|
-
</dict>
|
208
|
-
</plist>
|
209
|
-
PLIST
|
210
|
-
File.open(File.join(bundle_contents, "Info.plist"), "w") do |f|
|
211
|
-
f << info_plist_template.result(binding)
|
212
|
-
end
|
213
|
-
|
214
|
-
File.open(File.join(macos_dir, "redcar"), "w") do |f|
|
215
|
-
f << '#!/bin/sh
|
216
|
-
DIR=$(cd "$(dirname "$0")"; pwd)
|
217
|
-
REDCAR=$(cd "$(dirname "${DIR}/../Resources/bin/redcar")"; pwd)
|
218
|
-
$REDCAR/redcar install
|
219
|
-
$REDCAR/redcar --ignore-stdin $@'
|
220
|
-
end
|
221
|
-
File.chmod 0777, File.join(macos_dir, "redcar")
|
222
|
-
|
223
|
-
spec.files.each do |f|
|
224
|
-
FileUtils.mkdir_p File.join(resources_dir, File.dirname(f))
|
225
|
-
FileUtils.cp_r f, File.join(resources_dir, f), :remove_destination => true
|
226
|
-
end
|
227
|
-
|
228
|
-
FileUtils.cp_r File.join(resources_dir, "plugins", "application", "icons", redcar_icon),
|
229
|
-
resources_dir, :remove_destination => true
|
230
|
-
end
|
231
|
-
|
232
190
|
desc 'Run a watchr continuous integration daemon for the specs'
|
233
191
|
task :run_ci do
|
234
192
|
require 'watchr'
|
data/bin/redcar
CHANGED
@@ -13,7 +13,7 @@ if ARGV.include? '--silent'
|
|
13
13
|
STDERR.reopen STDOUT
|
14
14
|
end
|
15
15
|
|
16
|
-
if ARGV.
|
16
|
+
if ARGV.include? "install"
|
17
17
|
require File.expand_path(File.join(File.dirname(__FILE__), %w(.. lib redcar)))
|
18
18
|
require 'redcar/installer'
|
19
19
|
require 'redcar/runner'
|
data/lib/redcar.rb
CHANGED
@@ -51,9 +51,9 @@ end
|
|
51
51
|
#
|
52
52
|
# and so on.
|
53
53
|
module Redcar
|
54
|
-
VERSION = '0.
|
54
|
+
VERSION = '0.8' # also change in the Rakefile!
|
55
55
|
VERSION_MAJOR = 0
|
56
|
-
VERSION_MINOR =
|
56
|
+
VERSION_MINOR = 8
|
57
57
|
VERSION_RELEASE = 0
|
58
58
|
|
59
59
|
ENVIRONMENTS = [:user, :debug, :test]
|
@@ -201,14 +201,17 @@ module Redcar
|
|
201
201
|
#
|
202
202
|
# @return [String] expanded path
|
203
203
|
def self.home_dir
|
204
|
-
if
|
204
|
+
@userdir ||= if arg = ARGV.detect {|v| v.start_with? "--home-dir=" }
|
205
|
+
arg =~ /\-\-home\-dir=(.*)/
|
206
|
+
File.expand_path($1)
|
207
|
+
elsif platform == :windows
|
205
208
|
if ENV['USERPROFILE'].nil?
|
206
|
-
|
209
|
+
"C:/My Documents/"
|
207
210
|
else
|
208
|
-
|
211
|
+
ENV['USERPROFILE']
|
209
212
|
end
|
210
213
|
else
|
211
|
-
|
214
|
+
ENV['HOME'] unless ENV['HOME'].nil?
|
212
215
|
end
|
213
216
|
end
|
214
217
|
|
data/lib/redcar/installer.rb
CHANGED
@@ -38,7 +38,7 @@ module Redcar
|
|
38
38
|
|
39
39
|
def assets_by_platform
|
40
40
|
{ :all => {
|
41
|
-
"http://jruby.org.s3.amazonaws.com/downloads/1.5.
|
41
|
+
"http://jruby.org.s3.amazonaws.com/downloads/1.5.3/jruby-complete-1.5.3.jar" => "/jruby-complete-1.5.3.jar",
|
42
42
|
"http://redcar.s3.amazonaws.com/jface/org.eclipse.core.commands.jar" => nil,
|
43
43
|
"http://redcar.s3.amazonaws.com/jface/org.eclipse.core.runtime_3.5.0.v20090525.jar" => nil,
|
44
44
|
"http://redcar.s3.amazonaws.com/jface/org.eclipse.equinox.common.jar" => nil,
|
@@ -20,6 +20,25 @@ class String
|
|
20
20
|
downcase
|
21
21
|
end
|
22
22
|
|
23
|
+
def chars
|
24
|
+
r = split(//)
|
25
|
+
def r.to_s
|
26
|
+
join("")
|
27
|
+
end
|
28
|
+
r
|
29
|
+
end
|
30
|
+
|
31
|
+
def byte_offset_to_char_offset(byte_offset)
|
32
|
+
self[0...byte_offset].chars.length
|
33
|
+
end
|
34
|
+
|
35
|
+
def char_offset_to_byte_offset(char_offset)
|
36
|
+
self.chars[0...char_offset].to_s.length
|
37
|
+
end
|
38
|
+
|
39
|
+
def to_java
|
40
|
+
java.lang.String.new(to_java_bytes, "UTF8")
|
41
|
+
end
|
23
42
|
end
|
24
43
|
|
25
44
|
class Object
|
data/lib/redcar/runner.rb
CHANGED
@@ -51,7 +51,7 @@ module Redcar
|
|
51
51
|
# our vendored jarred one (useful for gems).
|
52
52
|
def construct_command(args="")
|
53
53
|
bin = File.expand_path(File.join(File.dirname(__FILE__), %w{.. .. bin redcar}))
|
54
|
-
jruby_complete = File.expand_path(File.join(Redcar.asset_dir, "jruby-complete-1.5.
|
54
|
+
jruby_complete = File.expand_path(File.join(Redcar.asset_dir, "jruby-complete-1.5.3.jar"))
|
55
55
|
unless File.exist?(jruby_complete)
|
56
56
|
puts "\nCan't find jruby jar at #{jruby_complete}, did you run 'redcar install' ?"
|
57
57
|
exit 1
|
data/lib/redcar/usage.rb
CHANGED
@@ -24,6 +24,9 @@ module Redcar
|
|
24
24
|
puts "--untitled-file=PATH Open the given file as an untitled tab."
|
25
25
|
puts " --ignore-stdin Ignore stdin."
|
26
26
|
puts " --fork Detach from the console."
|
27
|
+
puts " --no-window Don't force opening a window on Redcar startup"
|
28
|
+
puts " --home-dir=PATH Use the specified directory as Redcar home directory"
|
29
|
+
puts " -w Open the specified files and wait until they are closed"
|
27
30
|
#puts "To associate with right click in windows explorer:"
|
28
31
|
#puts
|
29
32
|
#puts " C:> redcar --associate_with_any_right_click"
|
data/lib/redcar_quick_start.rb
CHANGED
@@ -40,19 +40,19 @@ module Redcar
|
|
40
40
|
|
41
41
|
if ARGV.any?
|
42
42
|
ARGV.each do |arg|
|
43
|
-
if File.file?(arg) or File.directory?(arg)
|
44
|
-
if drb.open_item_drb(File.expand_path(arg)) != 'ok'
|
45
|
-
return
|
46
|
-
end
|
47
|
-
end
|
48
43
|
if arg =~ /--untitled-file=(.*)/
|
49
|
-
path = $1
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
44
|
+
path = $1 if File.file?($1)
|
45
|
+
untitled = true
|
46
|
+
elsif File.file?(arg) or File.directory?(arg)
|
47
|
+
path = File.expand_path(arg)
|
48
|
+
end
|
49
|
+
next unless path
|
50
|
+
if ARGV.include? "-w" and File.file?(path)
|
51
|
+
drb_answer = drb.open_file_and_wait(path, untitled)
|
52
|
+
else
|
53
|
+
drb_answer = drb.open_item_drb(path, untitled)
|
55
54
|
end
|
55
|
+
return unless drb_answer == 'ok'
|
56
56
|
end
|
57
57
|
else
|
58
58
|
return unless drb.open_item_drb('just_bring_to_front')
|
@@ -1,11 +1,15 @@
|
|
1
1
|
|
2
2
|
When /^I expand the tree row "([^\"]*)"$/ do |row|
|
3
|
-
item = top_tree.
|
3
|
+
item = visible_tree_items(top_tree).detect {|item| item.getText == row }
|
4
4
|
viewer = focussed_tree.controller.viewer
|
5
5
|
node = viewer.getViewerRowFromItem(item).getElement
|
6
6
|
viewer.expandToLevel(node, 1)
|
7
7
|
end
|
8
8
|
|
9
|
+
When /^I toggle tree visibility$/ do
|
10
|
+
Redcar::Top::ToggleTreesCommand.new.run
|
11
|
+
end
|
12
|
+
|
9
13
|
Then /^I should (not )?see "([^\"]*)" in the tree$/ do |negate, rows|
|
10
14
|
item_names = visible_tree_items(top_tree).map(&:get_text)
|
11
15
|
rows.split(',').map(&:strip).each do |row|
|
@@ -17,10 +21,14 @@ Then /^I should (not )?see "([^\"]*)" in the tree$/ do |negate, rows|
|
|
17
21
|
end
|
18
22
|
end
|
19
23
|
|
20
|
-
Then /^the tree width should be the default$/ do
|
24
|
+
Then /^the tree width should be (0|the default)$/ do |w|
|
21
25
|
width = Redcar.app.focussed_window.treebook.controller.tab_folder.bounds.width
|
22
|
-
|
23
|
-
|
26
|
+
if w == 0
|
27
|
+
width.should == 0
|
28
|
+
else
|
29
|
+
default = Redcar::ApplicationSWT::Window::TREEBOOK_WIDTH + Redcar::ApplicationSWT::Window::SASH_WIDTH - 5
|
30
|
+
raise "The tree width was #{width}, expected #{default}" unless width == default
|
31
|
+
end
|
24
32
|
end
|
25
33
|
|
26
34
|
When /^I activate the "([^"]*)" node in the tree$/ do |node_text|
|
@@ -30,6 +38,15 @@ When /^I activate the "([^"]*)" node in the tree$/ do |node_text|
|
|
30
38
|
node = find_node_with_text(mirror.top, node_text)
|
31
39
|
|
32
40
|
node.should_not be_nil
|
33
|
-
|
41
|
+
|
34
42
|
controller.activated(model, node)
|
43
|
+
end
|
44
|
+
|
45
|
+
When /^I rename the "([^"]*)" node in the tree$/ do |node_text|
|
46
|
+
controller = focussed_tree.tree_controller
|
47
|
+
mirror = focussed_tree.tree_mirror
|
48
|
+
node = find_node_with_text(mirror.top, node_text)
|
49
|
+
|
50
|
+
node.should_not be_nil
|
51
|
+
controller.single_rename(focussed_tree, node)
|
35
52
|
end
|
@@ -1,4 +1,12 @@
|
|
1
1
|
|
2
2
|
Then /^the window should have title "([^\"]*)"$/ do |expected_title|
|
3
3
|
active_shell.get_text.should == expected_title
|
4
|
-
end
|
4
|
+
end
|
5
|
+
|
6
|
+
When /^I manually widen the treebook (only a few pixels|to show the sash)$/ do |w|
|
7
|
+
if w =~ /^only/
|
8
|
+
focussed_window.controller.send(:set_sash_widths, Redcar::ApplicationSWT::Window::SASH_WIDTH-1)
|
9
|
+
else
|
10
|
+
focussed_window.controller.send(:set_sash_widths, Redcar::ApplicationSWT::Window::SASH_WIDTH)
|
11
|
+
end
|
12
|
+
end
|