glimmer-cs-gladiator 0.8.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +43 -0
- data/LICENSE.txt +20 -20
- data/README.md +65 -31
- data/VERSION +1 -1
- data/bin/gladiator +31 -34
- data/bin/gladiator-setup +80 -80
- data/bin/glimmer-cs-gladiator +22 -22
- data/glimmer-cs-gladiator.gemspec +17 -22
- data/images/glimmer-cs-gladiator-logo.png +0 -0
- data/lib/glimmer-cs-gladiator/launch.rb +6 -6
- data/lib/glimmer-cs-gladiator.rb +30 -30
- data/lib/models/glimmer/gladiator/command.rb +112 -112
- data/lib/models/glimmer/gladiator/dir.rb +17 -4
- data/lib/models/glimmer/gladiator/file.rb +729 -662
- data/lib/views/glimmer/gladiator/file_edit_menu.rb +67 -0
- data/lib/views/glimmer/gladiator/file_explorer_tree.rb +244 -244
- data/lib/views/glimmer/gladiator/file_lookup_list.rb +63 -64
- data/lib/views/glimmer/gladiator/gladiator_menu_bar.rb +35 -8
- data/lib/views/glimmer/gladiator/progress_shell.rb +29 -31
- data/lib/views/glimmer/gladiator/text_editor.rb +11 -0
- data/lib/views/glimmer/gladiator.rb +159 -138
- metadata +29 -20
@@ -31,6 +31,7 @@ require 'views/glimmer/gladiator/file_lookup_list'
|
|
31
31
|
require 'views/glimmer/gladiator/file_explorer_tree'
|
32
32
|
require 'views/glimmer/gladiator/gladiator_menu_bar'
|
33
33
|
require 'views/glimmer/gladiator/progress_shell'
|
34
|
+
require 'views/glimmer/gladiator/file_edit_menu'
|
34
35
|
|
35
36
|
Clipboard.implementation = Clipboard::Java
|
36
37
|
Clipboard.copy(Clipboard.paste) # pre-initialize library to avoid slowdown during use
|
@@ -61,6 +62,11 @@ module Glimmer
|
|
61
62
|
# option :height, 240
|
62
63
|
option :project_dir_path
|
63
64
|
|
65
|
+
attr_reader :find_text, :filter_text, :line_number_text, :split_orientation, :tab_folder_sash_form, :side_bar_sash_form, :file_area_and_editor_area_sash_form, :file_explorer_expand_item, :file_explorer_expand_item, :file_lookup_expand_item, :file_explorer_expand_item, :file_lookup_expand_item_height, :file_explorer_expand_item_height
|
66
|
+
attr_accessor :current_tab_item, :current_tab_folder, :current_text_editor, :tab_folder1, :tab_folder2, :maximized_pane, :maximized_editor
|
67
|
+
alias maximized_pane? maximized_pane
|
68
|
+
alias maximized_editor? maximized_editor
|
69
|
+
|
64
70
|
def project_dir
|
65
71
|
@project_dir ||= Dir.new(project_dir_path)
|
66
72
|
end
|
@@ -83,19 +89,19 @@ module Glimmer
|
|
83
89
|
pane_count && pane_count > 1
|
84
90
|
end
|
85
91
|
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
alias maximized_editor? maximized_editor
|
92
|
+
def app_mode?
|
93
|
+
project_dir_path == '.' && ENV['APP_MODE'].to_s == 'true' || !::Dir.glob(::File.join(project_dir_path, 'glimmer-cs-gladiator.jar')).empty?
|
94
|
+
end
|
90
95
|
|
91
96
|
## Uncomment before_body block to pre-initialize variables to use in body
|
92
97
|
#
|
93
98
|
#
|
94
|
-
before_body
|
99
|
+
before_body do
|
100
|
+
@@quitting = false
|
95
101
|
# TODO consider doing loading project files after displaying the GUI instead of holding it up before
|
96
|
-
project_dir #pre-initialize directory
|
97
|
-
TOPLEVEL_BINDING.receiver.send(:
|
98
|
-
|
102
|
+
project_dir unless app_mode? #pre-initialize directory
|
103
|
+
TOPLEVEL_BINDING.receiver.send(:trap, "SIGINT") do |signal|
|
104
|
+
quit
|
99
105
|
end
|
100
106
|
Display.setAppName('Gladiator')
|
101
107
|
Display.setAppVersion(VERSION)
|
@@ -103,151 +109,155 @@ module Glimmer
|
|
103
109
|
unless defined?(@@display)
|
104
110
|
@@display = display {
|
105
111
|
# TODO look into why a weird java dialog comes up on about (maybe a non-issue once packaged)
|
106
|
-
on_about {
|
107
|
-
|
108
|
-
|
109
|
-
on_quit {
|
110
|
-
project_dir.selected_child&.write_dirty_content
|
111
|
-
display.swt_display.shells.each(&:close)
|
112
|
-
}
|
113
|
-
on_swt_keydown { |key_event|
|
112
|
+
on_about { display_about_dialog }
|
113
|
+
on_quit { quit }
|
114
|
+
on_swt_keydown do |key_event|
|
114
115
|
focused_gladiator = display.focus_control.shell&.get_data('custom_shell')
|
115
|
-
focused_gladiator.handle_display_shortcut(key_event) if !focused_gladiator.nil? && key_event.widget.shell == focused_gladiator&.swt_widget
|
116
|
-
|
117
|
-
on_swt_Close {
|
118
|
-
project_dir.selected_child&.write_dirty_content
|
119
|
-
}
|
116
|
+
focused_gladiator.handle_display_shortcut(key_event) if !focused_gladiator.nil? && focused_gladiator.is_a?(Glimmer::Gladiator) && key_event.widget.shell == focused_gladiator&.swt_widget
|
117
|
+
end
|
120
118
|
}
|
121
119
|
end
|
122
120
|
|
123
121
|
@default_foreground = :dark_blue
|
124
122
|
@split_orientation = swt(:horizontal)
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
123
|
+
unless app_mode?
|
124
|
+
@config_file_path = ::File.join(project_dir.path, '.gladiator')
|
125
|
+
@config = {}
|
126
|
+
load_config_ignore_paths
|
127
|
+
end
|
128
|
+
end
|
130
129
|
|
131
130
|
## Uncomment after_body block to setup observers for widgets in body
|
132
131
|
#
|
133
|
-
after_body
|
134
|
-
|
135
|
-
|
136
|
-
end
|
137
|
-
observe(project_dir, 'selected_child') do |selected_file|
|
138
|
-
if selected_file
|
139
|
-
if Gladiator.drag && !@tab_folder2
|
140
|
-
self.tab_folder1 = current_tab_folder
|
141
|
-
@tab_folder_sash_form.content {
|
142
|
-
self.current_tab_folder = self.tab_folder2 = text_editor_group_tab_folder
|
143
|
-
@current_tab_folder.swt_widget.setData('proxy', @current_tab_folder)
|
144
|
-
}
|
145
|
-
body_root.pack_same_size
|
146
|
-
end
|
132
|
+
after_body do
|
133
|
+
unless app_mode?
|
134
|
+
observe(project_dir, 'children') do
|
147
135
|
@file_explorer_tree.select_tree_item unless Gladiator.startup
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
136
|
+
end
|
137
|
+
observe(project_dir, 'selected_child') do |selected_file|
|
138
|
+
if selected_file
|
139
|
+
if Gladiator.drag && !@tab_folder2
|
140
|
+
self.tab_folder1 = current_tab_folder
|
141
|
+
@tab_folder_sash_form.content {
|
142
|
+
self.current_tab_folder = self.tab_folder2 = text_editor_group_tab_folder
|
143
|
+
@current_tab_folder.swt_widget.setData('proxy', @current_tab_folder)
|
144
|
+
}
|
145
|
+
body_root.pack_same_size
|
146
|
+
end
|
147
|
+
@file_explorer_tree.select_tree_item unless Gladiator.startup
|
148
|
+
found_tab_item = selected_tab_item
|
149
|
+
if found_tab_item
|
150
|
+
@current_tab_folder.swt_widget.setSelection(found_tab_item)
|
151
|
+
@current_tab_item = found_tab_item.getData('proxy')
|
152
|
+
@current_text_editor = found_tab_item.getData('text_editor') unless found_tab_item.getData('text_editor').nil?
|
153
|
+
@current_tab_folder.swt_widget.setData('selected_tab_item', @current_tab_item)
|
154
|
+
else
|
155
|
+
begin
|
156
|
+
@current_tab_folder.content {
|
157
|
+
@current_tab_item = tab_item { |the_tab_item|
|
158
|
+
text selected_file.name
|
159
|
+
fill_layout(:horizontal) {
|
160
|
+
margin_width 0
|
161
|
+
margin_height 0
|
168
162
|
}
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
163
|
+
tab_folder = nil
|
164
|
+
the_text_editor = nil
|
165
|
+
the_tab_item.content {
|
166
|
+
@current_text_editor = the_text_editor = text_editor(project_dir: project_dir, file: selected_file) {
|
167
|
+
layout_data :fill, :fill, true, true
|
168
|
+
}
|
169
|
+
@current_tab_folder.swt_widget.setData('selected_tab_item', @current_tab_item)
|
170
|
+
the_tab_item.swt_tab_item.setData('text_editor', @current_text_editor)
|
171
|
+
@current_text_editor.text_proxy.content {
|
172
|
+
on_focus_gained {
|
173
|
+
tab_folder = the_text_editor.swt_widget.getParent.getParent
|
174
|
+
self.current_tab_folder = tab_folder.getData('proxy')
|
175
|
+
@current_tab_item = the_tab_item
|
176
|
+
@current_text_editor = the_text_editor
|
177
|
+
@current_tab_folder.swt_widget.setData('selected_tab_item', @current_tab_item)
|
178
|
+
@current_tab_folder.swt_widget.setSelection(@current_tab_item.swt_tab_item)
|
179
|
+
project_dir.selected_child = @current_tab_item.swt_tab_item.getData('file')
|
180
|
+
}
|
180
181
|
}
|
181
182
|
}
|
183
|
+
|
184
|
+
on_swt_show do
|
185
|
+
@current_tab_item = the_tab_item
|
186
|
+
@current_text_editor = the_text_editor
|
187
|
+
self.current_tab_folder = @current_tab_item.swt_widget.getParent.getData('proxy')
|
188
|
+
@current_tab_folder.swt_widget.setData('selected_tab_item', @current_tab_item)
|
189
|
+
@current_tab_folder.swt_widget.setSelection(@current_tab_item.swt_tab_item)
|
190
|
+
project_dir.selected_child = selected_file
|
191
|
+
@current_text_editor&.load_content
|
192
|
+
@current_text_editor&.text_widget&.setFocus
|
193
|
+
save_config unless selected_file.nil?
|
194
|
+
end
|
195
|
+
|
196
|
+
on_widget_disposed do
|
197
|
+
project_dir.selected_child&.write_dirty_content
|
198
|
+
tab_item_file = the_tab_item.swt_tab_item.get_data('file')
|
199
|
+
tab_item_file.close if !@@quitting && (@tab_folder1 != @current_tab_folder && !@tab_folder1&.items&.detect {|ti| ti.get_data('file') == tab_item_file}) || (@tab_folder2 != @current_tab_folder && !@tab_folder2&.items&.detect {|ti| ti.get_data('file') == tab_item_file})
|
200
|
+
end
|
182
201
|
}
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
self.current_tab_folder = @current_tab_item.swt_widget.getParent.getData('proxy')
|
187
|
-
@current_tab_folder.swt_widget.setData('selected_tab_item', @current_tab_item)
|
188
|
-
@current_tab_folder.swt_widget.setSelection(@current_tab_item.swt_tab_item)
|
189
|
-
project_dir.selected_child = selected_file
|
190
|
-
@current_text_editor&.load_content
|
191
|
-
@current_text_editor&.text_widget&.setFocus
|
192
|
-
save_config unless selected_file.nil?
|
193
|
-
}
|
194
|
-
on_widget_disposed {
|
195
|
-
project_dir.selected_child&.write_dirty_content
|
196
|
-
tab_item_file = the_tab_item.swt_tab_item.get_data('file')
|
197
|
-
tab_item_file.close unless [@tab_folder1, @tab_folder2].compact.map(&:items).flatten(1).detect {|ti| ti.get_data('file') == tab_item_file}
|
198
|
-
}
|
202
|
+
@current_tab_item.swt_tab_item.setData('file_path', selected_file.path)
|
203
|
+
@current_tab_item.swt_tab_item.setData('file', selected_file)
|
204
|
+
@current_tab_item.swt_tab_item.setData('proxy', @current_tab_item)
|
199
205
|
}
|
200
|
-
@
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
body_root.pack_same_size
|
206
|
-
rescue => e
|
207
|
-
puts e.full_message
|
206
|
+
@current_tab_folder.swt_widget.setSelection(@current_tab_item.swt_tab_item)
|
207
|
+
body_root.pack_same_size
|
208
|
+
rescue => e
|
209
|
+
Glimmer::Config.logger.error {e.full_message}
|
210
|
+
end
|
208
211
|
end
|
212
|
+
@current_text_editor&.text_widget&.setFocus
|
209
213
|
end
|
210
|
-
@current_text_editor&.text_widget&.setFocus
|
211
214
|
end
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
215
|
+
observe(self, 'maximized_pane') do
|
216
|
+
if tab_folder2
|
217
|
+
@tab_folder_sash_form.maximized_control = (current_tab_folder.swt_widget if maximized_pane?)
|
218
|
+
end
|
216
219
|
end
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
220
|
+
observe(self, 'maximized_editor') do
|
221
|
+
@file_area_and_editor_area_sash_form.maximized_control = (@editor_area_composite.swt_widget if maximized_editor?)
|
222
|
+
if !maximized_editor?
|
223
|
+
expand_navigation_expand_bar_height
|
224
|
+
else
|
225
|
+
collapse_navigation_expand_bar_height
|
226
|
+
end
|
227
|
+
@navigation_expand_item.swt_expand_item.set_expanded !maximized_editor?
|
228
|
+
body_root.pack_same_size
|
229
|
+
async_exec { body_root.pack_same_size }
|
224
230
|
end
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
observe(project_dir, 'selected_child.top_pixel') do
|
236
|
-
save_config
|
231
|
+
observe(project_dir, 'selected_child') do
|
232
|
+
save_config
|
233
|
+
end
|
234
|
+
observe(project_dir, 'selected_child.caret_position') do
|
235
|
+
save_config
|
236
|
+
end
|
237
|
+
observe(project_dir, 'selected_child.top_pixel') do
|
238
|
+
save_config
|
239
|
+
end
|
240
|
+
load_config
|
237
241
|
end
|
238
|
-
|
239
|
-
}
|
242
|
+
end
|
240
243
|
|
241
244
|
## Add widget content inside custom shell body
|
242
245
|
## Top-most widget must be a shell or another custom shell
|
243
246
|
#
|
244
247
|
body {
|
245
|
-
if
|
246
|
-
shell
|
248
|
+
if app_mode?
|
249
|
+
@@app_mode_shell = shell {
|
250
|
+
text 'Gladiator'
|
251
|
+
minimum_size 250, 250
|
252
|
+
image ICON
|
247
253
|
gladiator_menu_bar(gladiator: self, editing: false)
|
248
254
|
|
249
|
-
|
250
|
-
|
255
|
+
button {
|
256
|
+
text 'Open Project...'
|
257
|
+
|
258
|
+
on_widget_selected {
|
259
|
+
open_project
|
260
|
+
}
|
251
261
|
}
|
252
262
|
}
|
253
263
|
else
|
@@ -271,6 +281,8 @@ module Glimmer
|
|
271
281
|
|
272
282
|
on_shell_closed {
|
273
283
|
project_dir.selected_child&.write_dirty_content
|
284
|
+
save_config
|
285
|
+
@paused_save_config = true
|
274
286
|
if @tab_folder2
|
275
287
|
current_tab_folder.swt_widget.getItems.each do |tab_item|
|
276
288
|
tab_item.getData('proxy')&.dispose
|
@@ -280,10 +292,10 @@ module Glimmer
|
|
280
292
|
current_tab_folder.swt_widget.getItems.each do |tab_item|
|
281
293
|
tab_item.getData('proxy')&.dispose
|
282
294
|
end
|
295
|
+
gladiator_shells = display.shells.select {|s| s.get_data('custom_shell')&.is_a?(Glimmer::Gladiator)}
|
296
|
+
project_dir.close unless @@quitting
|
283
297
|
body_root.close unless current_tab_folder.swt_widget.getItems.empty?
|
284
|
-
|
285
|
-
on_widget_disposed {
|
286
|
-
project_dir.selected_child&.write_dirty_content
|
298
|
+
async_exec { @@app_mode_shell.show } if defined?(@@app_mode_shell) && gladiator_shells.count <= 2
|
287
299
|
}
|
288
300
|
on_control_resized {
|
289
301
|
save_config
|
@@ -293,6 +305,7 @@ module Glimmer
|
|
293
305
|
}
|
294
306
|
on_shell_deactivated {
|
295
307
|
project_dir.selected_child&.write_dirty_content
|
308
|
+
save_config
|
296
309
|
}
|
297
310
|
|
298
311
|
# Menu Bar
|
@@ -677,7 +690,7 @@ module Glimmer
|
|
677
690
|
Gladiator.drag = true
|
678
691
|
tab_folder = event.widget.getControl
|
679
692
|
tab_item = tab_folder.getItem(Point.new(event.x, event.y))
|
680
|
-
event_data = tab_item
|
693
|
+
event_data = tab_item&.getData('file_path')
|
681
694
|
}
|
682
695
|
on_drag_set_data { |event|
|
683
696
|
event.data = event_data
|
@@ -694,8 +707,6 @@ module Glimmer
|
|
694
707
|
@config = YAML.load(config_yaml)
|
695
708
|
project_dir.ignore_paths = @config[:ignore_paths] if @config[:ignore_paths]
|
696
709
|
project_dir.ignore_paths ||= ['packages', 'tmp']
|
697
|
-
else
|
698
|
-
@loaded_config = true
|
699
710
|
end
|
700
711
|
end
|
701
712
|
|
@@ -752,28 +763,28 @@ module Glimmer
|
|
752
763
|
project_dir.selected_child&.top_pixel = @config[:top_pixel].to_i if @config[:top_pixel]
|
753
764
|
end
|
754
765
|
}
|
755
|
-
async_exec
|
766
|
+
async_exec do
|
756
767
|
Gladiator.drag = false
|
757
768
|
@progress_shell&.close
|
758
769
|
@progress_shell = nil
|
759
770
|
@loaded_config = true
|
760
|
-
|
771
|
+
end
|
761
772
|
}
|
762
|
-
async_exec
|
773
|
+
async_exec do
|
763
774
|
Thread.new {
|
764
775
|
all_files = open_file_paths1.to_a + open_file_paths2.to_a
|
765
776
|
all_files.each do |file|
|
766
777
|
project_dir.find_child_file(file)&.dirty_content
|
767
778
|
end
|
768
779
|
}
|
769
|
-
|
780
|
+
end
|
770
781
|
else
|
771
782
|
@loaded_config = true
|
772
783
|
end
|
773
784
|
end
|
774
785
|
|
775
786
|
def save_config
|
776
|
-
return if !@loaded_config || body_root&.disposed?
|
787
|
+
return if !@loaded_config || body_root&.disposed? || @paused_save_config
|
777
788
|
child = project_dir.selected_child
|
778
789
|
return if child.nil?
|
779
790
|
tab_folder1 = @tab_folder1 || @current_tab_folder
|
@@ -797,7 +808,7 @@ module Glimmer
|
|
797
808
|
config_yaml = YAML.dump(@config)
|
798
809
|
::File.write(@config_file_path, config_yaml) unless config_yaml.to_s.empty?
|
799
810
|
rescue => e
|
800
|
-
|
811
|
+
Glimmer::Config.logger.error {e.full_message}
|
801
812
|
end
|
802
813
|
|
803
814
|
def navigate_to_next_tab_folder
|
@@ -904,13 +915,23 @@ module Glimmer
|
|
904
915
|
async_exec {
|
905
916
|
@progress_shell.open
|
906
917
|
}
|
907
|
-
async_exec
|
918
|
+
async_exec do
|
908
919
|
gladiator(project_dir_path: selected_directory) {
|
909
920
|
on_swt_show {
|
921
|
+
@@app_mode_shell.hide if app_mode?
|
910
922
|
@progress_shell.close
|
911
923
|
@progress_shell = nil
|
912
924
|
}
|
913
925
|
}.open if selected_directory
|
926
|
+
end
|
927
|
+
end
|
928
|
+
|
929
|
+
def quit
|
930
|
+
@@quitting = true
|
931
|
+
display.shells.each { |shell|
|
932
|
+
gladiator = shell.get_data('custom_shell')
|
933
|
+
gladiator.project_dir.selected_child&.write_dirty_content unless app_mode?
|
934
|
+
shell.get_data('proxy').close
|
914
935
|
}
|
915
936
|
end
|
916
937
|
|
metadata
CHANGED
@@ -1,35 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glimmer-cs-gladiator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Maleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
|
-
- - "
|
17
|
-
- !ruby/object:Gem::Version
|
18
|
-
version: 4.18.4.3
|
19
|
-
- - "<"
|
16
|
+
- - "~>"
|
20
17
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
18
|
+
version: 4.20.16.0
|
22
19
|
name: glimmer-dsl-swt
|
23
|
-
type: :runtime
|
24
20
|
prerelease: false
|
21
|
+
type: :runtime
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
|
-
- - "
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 4.18.4.3
|
30
|
-
- - "<"
|
24
|
+
- - "~>"
|
31
25
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
26
|
+
version: 4.20.16.0
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
requirement: !ruby/object:Gem::Requirement
|
35
29
|
requirements:
|
@@ -37,8 +31,8 @@ dependencies:
|
|
37
31
|
- !ruby/object:Gem::Version
|
38
32
|
version: 1.1.1
|
39
33
|
name: filewatcher
|
40
|
-
type: :runtime
|
41
34
|
prerelease: false
|
35
|
+
type: :runtime
|
42
36
|
version_requirements: !ruby/object:Gem::Requirement
|
43
37
|
requirements:
|
44
38
|
- - "~>"
|
@@ -51,8 +45,8 @@ dependencies:
|
|
51
45
|
- !ruby/object:Gem::Version
|
52
46
|
version: 1.3.5
|
53
47
|
name: clipboard
|
54
|
-
type: :runtime
|
55
48
|
prerelease: false
|
49
|
+
type: :runtime
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
51
|
requirements:
|
58
52
|
- - "~>"
|
@@ -65,8 +59,8 @@ dependencies:
|
|
65
59
|
- !ruby/object:Gem::Version
|
66
60
|
version: 3.5.0
|
67
61
|
name: rspec
|
68
|
-
type: :development
|
69
62
|
prerelease: false
|
63
|
+
type: :development
|
70
64
|
version_requirements: !ruby/object:Gem::Requirement
|
71
65
|
requirements:
|
72
66
|
- - "~>"
|
@@ -79,8 +73,8 @@ dependencies:
|
|
79
73
|
- !ruby/object:Gem::Version
|
80
74
|
version: 2.3.9
|
81
75
|
name: jeweler
|
82
|
-
type: :development
|
83
76
|
prerelease: false
|
77
|
+
type: :development
|
84
78
|
version_requirements: !ruby/object:Gem::Requirement
|
85
79
|
requirements:
|
86
80
|
- - '='
|
@@ -93,13 +87,27 @@ dependencies:
|
|
93
87
|
- !ruby/object:Gem::Version
|
94
88
|
version: 2.0.5
|
95
89
|
name: warbler
|
96
|
-
type: :development
|
97
90
|
prerelease: false
|
91
|
+
type: :development
|
98
92
|
version_requirements: !ruby/object:Gem::Requirement
|
99
93
|
requirements:
|
100
94
|
- - '='
|
101
95
|
- !ruby/object:Gem::Version
|
102
96
|
version: 2.0.5
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - '='
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 9.2.19.0
|
103
|
+
name: jruby-jars
|
104
|
+
prerelease: false
|
105
|
+
type: :development
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 9.2.19.0
|
103
111
|
- !ruby/object:Gem::Dependency
|
104
112
|
requirement: !ruby/object:Gem::Requirement
|
105
113
|
requirements:
|
@@ -107,8 +115,8 @@ dependencies:
|
|
107
115
|
- !ruby/object:Gem::Version
|
108
116
|
version: '0'
|
109
117
|
name: simplecov
|
110
|
-
type: :development
|
111
118
|
prerelease: false
|
119
|
+
type: :development
|
112
120
|
version_requirements: !ruby/object:Gem::Requirement
|
113
121
|
requirements:
|
114
122
|
- - ">="
|
@@ -146,6 +154,7 @@ files:
|
|
146
154
|
- lib/models/glimmer/gladiator/dir.rb
|
147
155
|
- lib/models/glimmer/gladiator/file.rb
|
148
156
|
- lib/views/glimmer/gladiator.rb
|
157
|
+
- lib/views/glimmer/gladiator/file_edit_menu.rb
|
149
158
|
- lib/views/glimmer/gladiator/file_explorer_tree.rb
|
150
159
|
- lib/views/glimmer/gladiator/file_lookup_list.rb
|
151
160
|
- lib/views/glimmer/gladiator/gladiator_menu_bar.rb
|
@@ -173,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
173
182
|
- !ruby/object:Gem::Version
|
174
183
|
version: '0'
|
175
184
|
requirements: []
|
176
|
-
rubygems_version: 3.
|
185
|
+
rubygems_version: 3.1.6
|
177
186
|
signing_key:
|
178
187
|
specification_version: 4
|
179
188
|
summary: Gladiator (Glimmer Editor) - Glimmer Custom Shell - Text Editor Built in
|