redcar-dev 0.12.19dev → 0.12.20dev

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/README.md CHANGED
@@ -28,7 +28,9 @@ Some (current) limitations:
28
28
 
29
29
  ## INSTALLATION
30
30
 
31
- [see User Guide: Installation](https://github.com/redcar/redcar/wiki/Installation)
31
+ $ gem install redcar
32
+
33
+ for more details, see [User Guide: Installation](https://github.com/redcar/redcar/wiki/Installation)
32
34
 
33
35
  ## USAGE
34
36
 
@@ -43,41 +45,7 @@ To see full usage details.
43
45
  * Irc at #redcar on irc.freenode.net
44
46
  * Mailing list at http://groups.google.com/group/redcar-editor
45
47
 
46
- ## TESTS
47
-
48
- NB. Redcar features are known to work with Cucumber 0.9.2, and known NOT to work with Cucumber < 0.9
49
-
50
- 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.
51
-
52
- To install the necessary gems:
53
-
54
- $ jruby -S bundle install
55
-
56
- To run all specs and all features:
57
-
58
- $ jruby -S rake
59
-
60
- ### Specs
61
-
62
- To run all specs:
63
-
64
- $ rspec plugins/*/spec/
65
-
66
- ### Features
67
-
68
- On OSX:
69
-
70
- $ jruby -J-XstartOnFirstThread swt_cucumber plugins/#{plugin_name}/features
71
-
72
- On Linux/Windows:
73
-
74
- $ jruby -J-XstartOnFirstThread swt_cucumber plugins/#{plugin_name}/features
75
-
76
- To just run all features:
77
-
78
- $ rake cucumber
79
-
80
48
  ## LICENSE
81
49
 
82
- Redcar is copyright 2007-2011 Daniel Lucraft and contributors.
50
+ Redcar is copyright 2007-2012 Daniel Lucraft and contributors.
83
51
  It is licensed under the GPLv2. See the included LICENSE file for details.
data/bin/redcar CHANGED
@@ -27,3 +27,9 @@ Redcar.spin_up
27
27
  Redcar.load_threaded
28
28
  Redcar.show_splash
29
29
  Redcar.pump
30
+
31
+ # enforce a GC run to help with a clean exit.
32
+ # When mixing SWT and Swing this is necessary.
33
+ mem_bean = java.lang.management.ManagementFactory.getMemoryMXBean()
34
+ mem_bean.gc
35
+
@@ -12,6 +12,7 @@ require 'regex_replace'
12
12
  require 'forwardable'
13
13
  require 'uri'
14
14
  require 'fileutils'
15
+ require 'net/http'
15
16
 
16
17
  require 'rubygems'
17
18
  require "bundler/setup"
@@ -58,7 +59,7 @@ end
58
59
  #
59
60
  # and so on.
60
61
  module Redcar
61
- VERSION = '0.12.19dev' # also change in the gemspec!
62
+ VERSION = '0.12.20dev' # also change in the gemspec!
62
63
  VERSION_MAJOR = 0
63
64
  VERSION_MINOR = 12
64
65
  VERSION_RELEASE = 0
@@ -10,7 +10,7 @@ module Redcar
10
10
  end
11
11
 
12
12
  def self.environment
13
- :user
13
+ @environment || :user
14
14
  end
15
15
 
16
16
  def self.read_stdin
@@ -34,6 +34,7 @@ require 'application/tree/command'
34
34
  require 'application/tree/controller'
35
35
  require 'application/tree/mirror'
36
36
  require 'application/treebook'
37
+ require 'application/updates'
37
38
  require 'application/window'
38
39
 
39
40
  require 'application/commands/application_commands'
@@ -106,7 +107,10 @@ module Redcar
106
107
  notebook.tabs.any?
107
108
  end
108
109
  end,
109
- Sensitivity.new(:always_disabled, Redcar.app, false,[]) do; false; end
110
+ Sensitivity.new(:always_disabled, Redcar.app, false, []) { false },
111
+ Sensitivity.new(:update_available, Redcar.app, false, [:update_available]) do
112
+ Application::Updates.update_available?
113
+ end
110
114
  ]
111
115
  end
112
116
 
@@ -123,6 +127,10 @@ module Redcar
123
127
  @task_queue = TaskQueue.new
124
128
  @show_toolbar = !!Application.storage['show_toolbar']
125
129
  end
130
+
131
+ def self.instance_id
132
+ Application.storage["instance_id"]
133
+ end
126
134
 
127
135
  def events
128
136
  @event_spewer
@@ -191,6 +199,8 @@ module Redcar
191
199
  storage = Plugin::Storage.new('application_plugin')
192
200
  storage.set_default('stay_resident_after_last_window_closed', false)
193
201
  storage.set_default('show_toolbar', true)
202
+ storage.set_default('instance_id', java.util.UUID.randomUUID.to_s)
203
+ storage.set_default('should_check_for_updates', true)
194
204
  storage
195
205
  end
196
206
  end
@@ -341,6 +351,14 @@ module Redcar
341
351
  @application_focus = true
342
352
  notify_listeners(:focussed, self)
343
353
  end
354
+ Thread.new do
355
+ Application::Updates.check_for_new_version
356
+ if Application::Updates.update_available?
357
+ Redcar.update_gui do
358
+ notify_listeners(:update_available, self)
359
+ end
360
+ end
361
+ end
344
362
  end
345
363
 
346
364
  def has_focus?
@@ -17,5 +17,29 @@ module Redcar
17
17
  Redcar.app.refresh_toolbar!
18
18
  end
19
19
  end
20
+
21
+ class ToggleCheckForUpdatesCommand < Command
22
+ def execute
23
+ Application::Updates.toggle_checking_for_updates
24
+ end
25
+ end
26
+
27
+ class OpenUpdateCommand < Command
28
+ sensitize :update_available
29
+
30
+ def execute
31
+ new_tab = Top::OpenNewEditTabCommand.new.run
32
+ new_tab.document.text = <<-TXT
33
+ Latest version is #{Application::Updates.latest_version}, you have #{Redcar::VERSION}.
34
+
35
+ Upgrade with:
36
+
37
+ gem install redcar
38
+ TXT
39
+ new_tab.edit_view.reset_undo
40
+ new_tab.document.set_modified(false)
41
+ new_tab.title= 'Update'
42
+ end
43
+ end
20
44
  end
21
45
  end
@@ -0,0 +1,44 @@
1
+ module Redcar
2
+ class Application
3
+ class Updates
4
+
5
+ UPDATE_CHECK_INTERVAL = 24*60*60
6
+
7
+ def self.check_for_new_version
8
+ return unless check_for_updates?
9
+
10
+ previous_check = Application.storage["last_checked_for_new_version"]
11
+ if !previous_check or previous_check < Time.now - UPDATE_CHECK_INTERVAL
12
+ Redcar.log.info("latest version is: #{latest_version}")
13
+ if newer_version?
14
+ Redcar.log.info("newer version available")
15
+ @update_available = true
16
+ end
17
+ Application.storage["last_checked_for_new_version"] = Time.now
18
+ end
19
+ end
20
+
21
+ def self.check_for_updates?
22
+ Application.storage["should_check_for_updates"]
23
+ end
24
+
25
+ def self.toggle_checking_for_updates
26
+ Application.storage["should_check_for_updates"] = !check_for_updates?
27
+ end
28
+
29
+ def self.update_available?
30
+ @update_available
31
+ end
32
+
33
+ def self.latest_version
34
+ @latest_version ||= Net::HTTP.get(URI.parse("http://s3.amazonaws.com/redcar2/current_version.txt?instance_id=#{Application.instance_id}")).strip
35
+ end
36
+
37
+ def self.newer_version?
38
+ latest_version_bits = latest_version.split(".").map(&:to_i)
39
+ [latest_version_bits, [Redcar::VERSION_MAJOR, Redcar::VERSION_MINOR, Redcar::VERSION_RELEASE]].sort.last == latest_version_bits
40
+ end
41
+
42
+ end
43
+ end
44
+ end
@@ -63,12 +63,18 @@ module Redcar
63
63
  Gradient.new(Redcar::ApplicationSWT.storage['tree_background'])
64
64
  end
65
65
 
66
+ def self.tree_font_size
67
+ Redcar::ApplicationSWT.storage['tree_font_size']
68
+ end
69
+
66
70
  def self.storage
67
71
  @storage ||= begin
68
72
  storage = Plugin::Storage.new('application_swt')
69
73
  storage.set_default('selected_tab_background', {0 => "#FEFEFE", 100 => "#EEEEEE"})
70
74
  storage.set_default('unselected_tab_background', {0 => "#E5E5E5", 100 => "#D0D0D0"})
71
75
  storage.set_default('tree_background', "#FFFFFF")
76
+ font_size_offset = Redcar.platform == :osx ? 4 : 2
77
+ storage.set_default('tree_font_size', Redcar::EditView.font_size - font_size_offset)
72
78
  storage
73
79
  end
74
80
  end
@@ -101,7 +101,8 @@ module Swt
101
101
  end
102
102
 
103
103
  def mouseUp(e)
104
- if show_close and close_icon.bounds.contains(e.x - ICON_PADDING, e.y - ICON_PADDING)
104
+ # Close tab if close button is clicked, or tab is middle-clicked
105
+ if (show_close && close_icon.bounds.contains(e.x - ICON_PADDING, e.y - ICON_PADDING)) || e.button == 2
105
106
  @tab.parent.remove_item(@tab)
106
107
  else
107
108
  activate if e.button == 1
@@ -98,7 +98,7 @@ module Redcar
98
98
  def execute
99
99
  project = Project::Manager.focussed_project
100
100
  tags_path = Declarations.file_path(project)
101
- FileUtils.rm tags_path
101
+ FileUtils.rm tags_path if ::File.exists? tags_path
102
102
  ProjectRefresh.new(project).execute
103
103
  end
104
104
  end
@@ -8,7 +8,7 @@ module Redcar
8
8
  def initialize(path)
9
9
  @path = path
10
10
  @tags = []
11
- load
11
+ load unless path.nil?
12
12
  end
13
13
 
14
14
  def load
@@ -9,7 +9,7 @@ module Redcar
9
9
  capture: 1
10
10
  type: id
11
11
  kind: interface
12
- - 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*\\((.*)\\))"
12
+ - 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*\\((.*)\\))?"
13
13
  capture: 7
14
14
  type: id
15
15
  kind: method
@@ -36,7 +36,7 @@ module Redcar
36
36
  capture: 1
37
37
  type: id
38
38
  kind: interface
39
- - regex: "^\\s*((public|private|protected|)\\s+|)(static\\s+|)(([\\.\\w]+|)[A-Z]\\w*(<\\w+>|)|void|int|boolean|byte|short|long|char|float)\\s+(\\w+\\s*\\((.*)\\))"
39
+ - regex: "^\\s*((public|private|protected|)\\s+|)(static\\s+|)(([\\.\\w]+|)[A-Z]\\w*(<\\w+>|)|void|int|boolean|byte|short|long|char|float)\\s+(\\w+\\s*\\((.*)\\))?"
40
40
  capture: 7
41
41
  type: id
42
42
  kind: method
@@ -55,7 +55,7 @@ module Redcar
55
55
  capture: 2
56
56
  type: id
57
57
  kind: class
58
- - regex: "^[^#]*def (self\\.)?(\\w+[?!=]?)(\\(.*\\))?(\\s|\\;)+"
58
+ - regex: "^[^#]*def (self\\.)?(\\w+[?!=]?)(\\(.*\\))?(\\s|\\;|\\z|\\b)"
59
59
  capture: 2
60
60
  type: id
61
61
  kind: method
@@ -103,16 +103,56 @@ module Redcar
103
103
  kind: method
104
104
  YAML
105
105
 
106
+ CUKE_YAML=<<-YAML
107
+ - regex: "Feature:\\s*(.*)"
108
+ capture: 1
109
+ type: id
110
+ kind: class
111
+ - regex: "Scenario:\\s*(.*)"
112
+ capture: 1
113
+ type: id
114
+ kind: method
115
+ - regex: "(When|Then|And)\\s*\\/\\^?(.*?)\\$?\\/\\s*do"
116
+ capture: 2
117
+ type: id
118
+ kind: closure
119
+ YAML
120
+
121
+ SPEC_YAML=<<-YAML
122
+ - regex: "describe\\s*\\"(.*?)\\"\\s*do"
123
+ capture: 1
124
+ type: id
125
+ kind: method
126
+ - regex: "it\\s*\\"(.*?)\\"\\s*do"
127
+ capture: 1
128
+ type: id
129
+ kind: closure
130
+ YAML
131
+
106
132
  class Declarations
107
133
  class Parser
108
134
  DEFINITIONS = {
109
- /\.rb$/ => YAML.load(RUBY_YAML),
110
- /\.java$/ => YAML.load(JAVA_YAML),
111
- /\.groovy$/ => YAML.load(GROOVY_YAML),
112
- /\.php$/ => YAML.load(PHP_YAML),
113
- /\.js$/ => YAML.load(JS_YAML)
135
+ /_steps\.rb$/ => YAML.load(CUKE_YAML) + YAML.load(RUBY_YAML),
136
+ /_spec\.rb$/ => YAML.load(RUBY_YAML) + YAML.load(SPEC_YAML),
137
+ /\.rb$/ => YAML.load(RUBY_YAML),
138
+ /\.java$/ => YAML.load(JAVA_YAML),
139
+ /\.groovy$/ => YAML.load(GROOVY_YAML),
140
+ /\.php$/ => YAML.load(PHP_YAML),
141
+ /\.js$/ => YAML.load(JS_YAML),
142
+ /\.feature$/ => YAML.load(CUKE_YAML)
114
143
  }
115
144
 
145
+ def self.definitions
146
+ @definitions = nil
147
+ @definitions ||= begin
148
+ definitions = DEFINITIONS.clone
149
+ Redcar.plugin_manager.objects_implementing(:declaration_definitions).each do
150
+ definitions.merge(object.declaration_definitions)
151
+ end
152
+ definitions
153
+ end
154
+ end
155
+
116
156
  attr_reader :tags
117
157
 
118
158
  def initialize
@@ -126,7 +166,7 @@ module Redcar
126
166
  end
127
167
 
128
168
  def decls_for_file(path)
129
- DEFINITIONS.each do |fn_re, decls|
169
+ Parser.definitions.each do |fn_re, decls|
130
170
  if path =~ fn_re
131
171
  return decls
132
172
  end
@@ -179,7 +219,6 @@ module Redcar
179
219
  def file(path)
180
220
  ::File.read(path)
181
221
  end
182
-
183
222
  end
184
223
  end
185
224
  end
@@ -0,0 +1,23 @@
1
+ Feature: Project-wide Outline View
2
+
3
+ Background:
4
+ Given I will choose "plugins/outline_view/spec/fixtures/some_project" from the "open_directory" dialog
5
+ When I open a directory
6
+
7
+ Scenario: Outline View shows all available declarations
8
+ When I run the command Redcar::OutlineView::OpenProjectOutlineViewCommand
9
+ Then there should be an outline view open
10
+ And the outline view should have some entries
11
+ And I should see "IAmAllAlone" at 0 with the "class" icon in the outline view
12
+ And I should see "trailing_space" at 1 with the "method" icon in the outline view
13
+
14
+ Scenario: Narrow results using the filter
15
+ When I run the command Redcar::OutlineView::OpenProjectOutlineViewCommand
16
+ Then there should be an outline view open
17
+ When I set the outline filter to "selected"
18
+ And I wait 2 seconds
19
+ Then the outline view should have 2 entries
20
+ And I should see "selection_range_changed" at 0 with the "method" icon in the outline view
21
+ And I should see "selected_text" at 1 with the "method" icon in the outline view
22
+ And I select the outline view
23
+ Then the selected text should be " def selection_range_changed(start_offset, end_offset)\n"
@@ -38,10 +38,14 @@ When /^I select the outline view$/ do
38
38
  end
39
39
  end
40
40
 
41
- Then /^the outline view should have (no|\d+) entr(?:y|ies)$/ do |num|
42
- Swt.sync_exec do
43
- num = (num == "no" ? 0 : num.to_i)
44
- outline_view_items.length.should == num
41
+ Then /^the outline view should have (no|some|\d+) entr(?:y|ies)$/ do |num|
42
+ Swt.sync_exec do
43
+ if num == "some"
44
+ outline_view_items.length.should > 0
45
+ else
46
+ num = (num == "no" ? 0 : num.to_i)
47
+ outline_view_items.length.should == num
48
+ end
45
49
  end
46
50
  end
47
51
 
@@ -7,6 +7,7 @@ module Redcar
7
7
  Menu::Builder.build do
8
8
  sub_menu "View" do
9
9
  item "Current Document Outline", :command => OutlineView::OpenOutlineViewCommand, :priority => :first
10
+ item "Project Outline", :command => OutlineView::OpenProjectOutlineViewCommand, :priority => :first
10
11
  end
11
12
  end
12
13
  end
@@ -14,9 +15,11 @@ module Redcar
14
15
  def self.keymaps
15
16
  linwin = Keymap.build("main", [:linux, :windows]) do
16
17
  link "Ctrl+I", OutlineView::OpenOutlineViewCommand
18
+ link "Ctrl+Shift+I", OutlineView::OpenProjectOutlineViewCommand
17
19
  end
18
20
  osx = Keymap.build("main", [:osx]) do
19
21
  link "Cmd+I", OutlineView::OpenOutlineViewCommand
22
+ link "Cmd+Shift+I", OutlineView::OpenProjectOutlineViewCommand
20
23
  end
21
24
  [linwin, osx]
22
25
  end
@@ -37,30 +40,58 @@ module Redcar
37
40
  def close
38
41
  super
39
42
  end
40
-
43
+
44
+ def paths_map
45
+ @paths_map ||= {}
46
+ end
47
+
48
+ def get_paths
49
+ [@document.path]
50
+ end
51
+
41
52
  def update_list(filter)
42
- file = Declarations::File.new(@document.path)
43
- file.add_tags_for_paths([@document.path])
53
+ paths = get_paths
54
+ file = Declarations::File.new(paths.first)
55
+ file.add_tags_for_paths(paths)
44
56
  re = make_regex(filter)
45
57
  @last_list.clear
46
58
  result = {}
47
- file.tags.each do |name, _, match|
59
+ file.tags.each do |name, path, match|
48
60
  if name =~ re
49
61
  @last_list[match] = name
50
- result[match] = {:name => name, :kind => Declarations.match_kind(@document.path, match)}
62
+ paths_map[match] = path
63
+ result[match] = {:name => name, :kind => Declarations.match_kind(path, match)}
51
64
  end
52
65
  end
53
66
  result
54
67
  end
55
-
68
+
56
69
  def selected(match, closing=true)
57
70
  if @last_list
58
- Redcar.app.navigation_history.save(@document)
59
- DocumentSearch::FindNextRegex.new(Regexp.new(Regexp.quote(match)), true).run_in_focussed_tab_edit_view
60
- Redcar.app.navigation_history.save(@document)
61
- close if closing
71
+ if path = paths_map[match] and File.exists? path
72
+ close if closing
73
+ Redcar::Project::Manager.open_file(path)
74
+ Redcar.app.navigation_history.save(@document) if @document
75
+ DocumentSearch::FindNextRegex.new(Regexp.new(Regexp.quote(match)), true).run_in_focussed_tab_edit_view
76
+ Redcar.app.navigation_history.save(@document) if @document
77
+ end
62
78
  end
63
79
  end
64
80
  end
81
+
82
+ class ProjectOutlineViewDialog < OutlineViewDialog
83
+ def initialize(project)
84
+ @project = project
85
+ if tab = Redcar.app.focussed_notebook_tab and tab.is_a? Redcar::EditTab
86
+ @document = tab.edit_view.document
87
+ end
88
+ self.controller = Redcar::OutlineViewSWT.new(self)
89
+ @last_list = {}
90
+ end
91
+
92
+ def get_paths
93
+ @project.all_files
94
+ end
95
+ end
65
96
  end
66
97
  end
@@ -9,5 +9,11 @@ module Redcar
9
9
  end
10
10
  end
11
11
  end
12
+
13
+ class OpenProjectOutlineViewCommand < Redcar::ProjectCommand
14
+ def execute
15
+ OutlineView::ProjectOutlineViewDialog.new(project).open if project
16
+ end
17
+ end
12
18
  end
13
19
  end
@@ -21,7 +21,7 @@ module Redcar
21
21
  composite = Swt::Widgets::Composite.new(parent, Swt::SWT::NONE)
22
22
  layout = Swt::Layout::RowLayout.new(Swt::SWT::VERTICAL)
23
23
  composite.setLayout(layout)
24
- @text = Swt::Widgets::Text.new(composite, Swt::SWT::SINGLE | Swt::SWT::LEFT | Swt::SWT::ICON_CANCEL)
24
+ @text = Swt::Widgets::Text.new(composite, Swt::SWT::SINGLE | Swt::SWT::LEFT | Swt::SWT::ICON_CANCEL | Swt::SWT::SEARCH)
25
25
  @text.set_layout_data(Swt::Layout::RowData.new(400, 20))
26
26
  @list = Swt::Widgets::Table.new(composite, Swt::SWT::V_SCROLL | Swt::SWT::H_SCROLL | Swt::SWT::MULTI)
27
27
  @list.set_layout_data(Swt::Layout::RowData.new(400, 200))
@@ -999,6 +999,11 @@ Redcar.environment: #{Redcar.environment}
999
999
  group(:priority => :last) do
1000
1000
  item "About", AboutCommand
1001
1001
  item "New In This Version", ChangelogCommand
1002
+ separator
1003
+ item "Check for Updates", :command => Application::ToggleCheckForUpdatesCommand,
1004
+ :type => :check,
1005
+ :active => Application::Updates.check_for_updates?
1006
+ item "Update Available", Application::OpenUpdateCommand
1002
1007
  end
1003
1008
  end
1004
1009
  end
@@ -1054,12 +1059,14 @@ Redcar.environment: #{Redcar.environment}
1054
1059
  Redcar.log.info("startup milestone: project open #{Time.now - Redcar.process_start_time}")
1055
1060
  win.show if win and !args.include?("--no-window")
1056
1061
  end
1057
- Redcar.load_useful_libraries
1058
1062
  Redcar.log.info("startup milestone: complete: #{Time.now - Redcar.process_start_time}")
1059
1063
  if args.include?("--compute-textmate-cache-and-quit")
1060
1064
  Redcar::Textmate.all_bundles
1061
1065
  exit
1062
1066
  end
1067
+ Thread.new do
1068
+ Application.check_for_new_version
1069
+ end
1063
1070
  rescue => e
1064
1071
  Redcar.log.error("error in startup: #{e.inspect}")
1065
1072
  e.backtrace.each do |line|
@@ -17,11 +17,10 @@ module Redcar
17
17
  @composite, @model = composite, model
18
18
  color = ApplicationSWT.tree_background.swt_colors.first
19
19
  font_data = @composite.font.font_data.first
20
- font_size = Redcar.platform == :osx ? 14 : 12
21
20
  font = Swt::Graphics::Font.new(
22
21
  ApplicationSWT.display,
23
22
  font_data.name,
24
- font_size,
23
+ ApplicationSWT.tree_font_size,
25
24
  Swt::SWT::NORMAL)
26
25
  @composite.background = color
27
26
  tree_style = Swt::SWT::MULTI | Swt::SWT::H_SCROLL | Swt::SWT::V_SCROLL
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redcar-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.19dev
4
+ version: 0.12.20dev
5
5
  prerelease: 7
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-16 00:00:00.000000000 +00:00
13
- default_executable:
12
+ date: 2011-12-28 00:00:00.000000000Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: ffi
17
- requirement: &70190269098320 !ruby/object:Gem::Requirement
16
+ requirement: &70276952256600 !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
19
  - - =
@@ -22,10 +21,10 @@ dependencies:
22
21
  version: 1.0.10
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *70190269098320
24
+ version_requirements: *70276952256600
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: git
28
- requirement: &70190269097860 !ruby/object:Gem::Requirement
27
+ requirement: &70276952239680 !ruby/object:Gem::Requirement
29
28
  none: false
30
29
  requirements:
31
30
  - - ! '>='
@@ -33,10 +32,10 @@ dependencies:
33
32
  version: '0'
34
33
  type: :runtime
35
34
  prerelease: false
36
- version_requirements: *70190269097860
35
+ version_requirements: *70276952239680
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: json
39
- requirement: &70190269097380 !ruby/object:Gem::Requirement
38
+ requirement: &70276952235000 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ! '>='
@@ -44,10 +43,10 @@ dependencies:
44
43
  version: '0'
45
44
  type: :runtime
46
45
  prerelease: false
47
- version_requirements: *70190269097380
46
+ version_requirements: *70276952235000
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: spoon
50
- requirement: &70190269096940 !ruby/object:Gem::Requirement
49
+ requirement: &70276952232600 !ruby/object:Gem::Requirement
51
50
  none: false
52
51
  requirements:
53
52
  - - ! '>='
@@ -55,10 +54,10 @@ dependencies:
55
54
  version: '0'
56
55
  type: :runtime
57
56
  prerelease: false
58
- version_requirements: *70190269096940
57
+ version_requirements: *70276952232600
59
58
  - !ruby/object:Gem::Dependency
60
59
  name: lucene
61
- requirement: &70190269096380 !ruby/object:Gem::Requirement
60
+ requirement: &70276952228960 !ruby/object:Gem::Requirement
62
61
  none: false
63
62
  requirements:
64
63
  - - ~>
@@ -66,10 +65,10 @@ dependencies:
66
65
  version: 0.5.0.beta.1
67
66
  type: :runtime
68
67
  prerelease: false
69
- version_requirements: *70190269096380
68
+ version_requirements: *70276952228960
70
69
  - !ruby/object:Gem::Dependency
71
70
  name: net-ssh
72
- requirement: &70190269095920 !ruby/object:Gem::Requirement
71
+ requirement: &70276952225780 !ruby/object:Gem::Requirement
73
72
  none: false
74
73
  requirements:
75
74
  - - ! '>='
@@ -77,10 +76,10 @@ dependencies:
77
76
  version: '0'
78
77
  type: :runtime
79
78
  prerelease: false
80
- version_requirements: *70190269095920
79
+ version_requirements: *70276952225780
81
80
  - !ruby/object:Gem::Dependency
82
81
  name: net-sftp
83
- requirement: &70190269095440 !ruby/object:Gem::Requirement
82
+ requirement: &70276952222080 !ruby/object:Gem::Requirement
84
83
  none: false
85
84
  requirements:
86
85
  - - ! '>='
@@ -88,10 +87,10 @@ dependencies:
88
87
  version: '0'
89
88
  type: :runtime
90
89
  prerelease: false
91
- version_requirements: *70190269095440
90
+ version_requirements: *70276952222080
92
91
  - !ruby/object:Gem::Dependency
93
92
  name: net-ftp-list
94
- requirement: &70190269094980 !ruby/object:Gem::Requirement
93
+ requirement: &70276952213220 !ruby/object:Gem::Requirement
95
94
  none: false
96
95
  requirements:
97
96
  - - ! '>='
@@ -99,10 +98,10 @@ dependencies:
99
98
  version: '0'
100
99
  type: :runtime
101
100
  prerelease: false
102
- version_requirements: *70190269094980
101
+ version_requirements: *70276952213220
103
102
  - !ruby/object:Gem::Dependency
104
103
  name: jruby-openssl
105
- requirement: &70190269094520 !ruby/object:Gem::Requirement
104
+ requirement: &70276952209620 !ruby/object:Gem::Requirement
106
105
  none: false
107
106
  requirements:
108
107
  - - ! '>='
@@ -110,10 +109,10 @@ dependencies:
110
109
  version: '0'
111
110
  type: :runtime
112
111
  prerelease: false
113
- version_requirements: *70190269094520
112
+ version_requirements: *70276952209620
114
113
  - !ruby/object:Gem::Dependency
115
114
  name: ruby-blockcache
116
- requirement: &70190269094020 !ruby/object:Gem::Requirement
115
+ requirement: &70276952205340 !ruby/object:Gem::Requirement
117
116
  none: false
118
117
  requirements:
119
118
  - - ! '>='
@@ -121,10 +120,10 @@ dependencies:
121
120
  version: '0'
122
121
  type: :runtime
123
122
  prerelease: false
124
- version_requirements: *70190269094020
123
+ version_requirements: *70276952205340
125
124
  - !ruby/object:Gem::Dependency
126
125
  name: bouncy-castle-java
127
- requirement: &70190269093600 !ruby/object:Gem::Requirement
126
+ requirement: &70276952203300 !ruby/object:Gem::Requirement
128
127
  none: false
129
128
  requirements:
130
129
  - - ! '>='
@@ -132,10 +131,10 @@ dependencies:
132
131
  version: '0'
133
132
  type: :runtime
134
133
  prerelease: false
135
- version_requirements: *70190269093600
134
+ version_requirements: *70276952203300
136
135
  - !ruby/object:Gem::Dependency
137
136
  name: swt
138
- requirement: &70190269093120 !ruby/object:Gem::Requirement
137
+ requirement: &70276952200560 !ruby/object:Gem::Requirement
139
138
  none: false
140
139
  requirements:
141
140
  - - ! '>='
@@ -143,10 +142,10 @@ dependencies:
143
142
  version: '0'
144
143
  type: :runtime
145
144
  prerelease: false
146
- version_requirements: *70190269093120
145
+ version_requirements: *70276952200560
147
146
  - !ruby/object:Gem::Dependency
148
147
  name: plugin_manager
149
- requirement: &70190269092640 !ruby/object:Gem::Requirement
148
+ requirement: &70276952194200 !ruby/object:Gem::Requirement
150
149
  none: false
151
150
  requirements:
152
151
  - - ! '>='
@@ -154,10 +153,10 @@ dependencies:
154
153
  version: '0'
155
154
  type: :runtime
156
155
  prerelease: false
157
- version_requirements: *70190269092640
156
+ version_requirements: *70276952194200
158
157
  - !ruby/object:Gem::Dependency
159
158
  name: redcar-icons
160
- requirement: &70190269092160 !ruby/object:Gem::Requirement
159
+ requirement: &70276952187080 !ruby/object:Gem::Requirement
161
160
  none: false
162
161
  requirements:
163
162
  - - ! '>='
@@ -165,10 +164,10 @@ dependencies:
165
164
  version: '0'
166
165
  type: :runtime
167
166
  prerelease: false
168
- version_requirements: *70190269092160
167
+ version_requirements: *70276952187080
169
168
  - !ruby/object:Gem::Dependency
170
169
  name: redcar-jruby
171
- requirement: &70190269091700 !ruby/object:Gem::Requirement
170
+ requirement: &70276952184080 !ruby/object:Gem::Requirement
172
171
  none: false
173
172
  requirements:
174
173
  - - ! '>='
@@ -176,10 +175,10 @@ dependencies:
176
175
  version: '0'
177
176
  type: :runtime
178
177
  prerelease: false
179
- version_requirements: *70190269091700
178
+ version_requirements: *70276952184080
180
179
  - !ruby/object:Gem::Dependency
181
180
  name: redcar-svnkit
182
- requirement: &70190269091220 !ruby/object:Gem::Requirement
181
+ requirement: &70276952176800 !ruby/object:Gem::Requirement
183
182
  none: false
184
183
  requirements:
185
184
  - - ! '>='
@@ -187,10 +186,10 @@ dependencies:
187
186
  version: '0'
188
187
  type: :runtime
189
188
  prerelease: false
190
- version_requirements: *70190269091220
189
+ version_requirements: *70276952176800
191
190
  - !ruby/object:Gem::Dependency
192
191
  name: redcar-bundles
193
- requirement: &70190269090720 !ruby/object:Gem::Requirement
192
+ requirement: &70276952173440 !ruby/object:Gem::Requirement
194
193
  none: false
195
194
  requirements:
196
195
  - - ! '>='
@@ -198,10 +197,10 @@ dependencies:
198
197
  version: '0'
199
198
  type: :runtime
200
199
  prerelease: false
201
- version_requirements: *70190269090720
200
+ version_requirements: *70276952173440
202
201
  - !ruby/object:Gem::Dependency
203
202
  name: redcar-javamateview
204
- requirement: &70190269090280 !ruby/object:Gem::Requirement
203
+ requirement: &70276952171240 !ruby/object:Gem::Requirement
205
204
  none: false
206
205
  requirements:
207
206
  - - ! '>='
@@ -209,21 +208,21 @@ dependencies:
209
208
  version: '0'
210
209
  type: :runtime
211
210
  prerelease: false
212
- version_requirements: *70190269090280
211
+ version_requirements: *70276952171240
213
212
  - !ruby/object:Gem::Dependency
214
213
  name: cucumber
215
- requirement: &70190269089760 !ruby/object:Gem::Requirement
214
+ requirement: &70276952164620 !ruby/object:Gem::Requirement
216
215
  none: false
217
216
  requirements:
218
- - - ! '>='
217
+ - - =
219
218
  - !ruby/object:Gem::Version
220
- version: '0'
219
+ version: 1.1.2
221
220
  type: :development
222
221
  prerelease: false
223
- version_requirements: *70190269089760
222
+ version_requirements: *70276952164620
224
223
  - !ruby/object:Gem::Dependency
225
224
  name: rspec
226
- requirement: &70190269089260 !ruby/object:Gem::Requirement
225
+ requirement: &70276952162840 !ruby/object:Gem::Requirement
227
226
  none: false
228
227
  requirements:
229
228
  - - ! '>='
@@ -231,10 +230,10 @@ dependencies:
231
230
  version: '0'
232
231
  type: :development
233
232
  prerelease: false
234
- version_requirements: *70190269089260
233
+ version_requirements: *70276952162840
235
234
  - !ruby/object:Gem::Dependency
236
235
  name: watchr
237
- requirement: &70190269088800 !ruby/object:Gem::Requirement
236
+ requirement: &70276952160840 !ruby/object:Gem::Requirement
238
237
  none: false
239
238
  requirements:
240
239
  - - ! '>='
@@ -242,7 +241,7 @@ dependencies:
242
241
  version: '0'
243
242
  type: :development
244
243
  prerelease: false
245
- version_requirements: *70190269088800
244
+ version_requirements: *70276952160840
246
245
  description: ''
247
246
  email:
248
247
  - dan@fluentradical.com
@@ -321,6 +320,7 @@ files:
321
320
  - plugins/application/lib/application/tree/mirror.rb
322
321
  - plugins/application/lib/application/tree.rb
323
322
  - plugins/application/lib/application/treebook.rb
323
+ - plugins/application/lib/application/updates.rb
324
324
  - plugins/application/lib/application/window.rb
325
325
  - plugins/application/lib/application.rb
326
326
  - plugins/application/plugin.rb
@@ -630,6 +630,7 @@ files:
630
630
  - plugins/open_default_app/plugin.rb
631
631
  - plugins/open_default_app/screenshot.png
632
632
  - plugins/outline_view/features/outline_view.feature
633
+ - plugins/outline_view/features/project_outline.feature
633
634
  - plugins/outline_view/features/step_definitions/outline_steps.rb
634
635
  - plugins/outline_view/lib/outline_view/commands.rb
635
636
  - plugins/outline_view/lib/outline_view.rb
@@ -911,7 +912,6 @@ files:
911
912
  - plugins/web_bookmarks/plugin.rb
912
913
  - plugins/web_bookmarks/Screenshot.png
913
914
  - Gemfile
914
- has_rdoc: true
915
915
  homepage: http://github.com/danlucraft/redcar
916
916
  licenses: []
917
917
  post_install_message:
@@ -932,7 +932,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
932
932
  version: 1.3.1
933
933
  requirements: []
934
934
  rubyforge_project:
935
- rubygems_version: 1.6.2
935
+ rubygems_version: 1.8.10
936
936
  signing_key:
937
937
  specification_version: 3
938
938
  summary: A pure Ruby text editor