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.
@@ -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
- 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
87
- attr_accessor :current_tab_item, :current_tab_folder, :current_text_editor, :tab_folder1, :tab_folder2, :maximized_pane, :maximized_editor
88
- alias maximized_pane? maximized_pane
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(:at_exit) do
98
- project_dir.selected_child&.write_raw_dirty_content
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
- display_about_dialog
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
- @config_file_path = ::File.join(project_dir.path, '.gladiator')
126
- @config = {}
127
- load_config_ignore_paths
128
- # project_dir.all_children # pre-caches children
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
- observe(project_dir, 'children') do
135
- @file_explorer_tree.select_tree_item unless Gladiator.startup
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
- 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
162
- }
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
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
- @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')
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
- on_swt_show {
184
- @current_tab_item = the_tab_item
185
- @current_text_editor = the_text_editor
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
- @current_tab_item.swt_tab_item.setData('file_path', selected_file.path)
201
- @current_tab_item.swt_tab_item.setData('file', selected_file)
202
- @current_tab_item.swt_tab_item.setData('proxy', @current_tab_item)
203
- }
204
- @current_tab_folder.swt_widget.setSelection(@current_tab_item.swt_tab_item)
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
- end
213
- observe(self, 'maximized_pane') do
214
- if tab_folder2
215
- @tab_folder_sash_form.maximized_control = (current_tab_folder.swt_widget if maximized_pane?)
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
- end
218
- observe(self, 'maximized_editor') do
219
- @file_area_and_editor_area_sash_form.maximized_control = (@editor_area_composite.swt_widget if maximized_editor?)
220
- if !maximized_editor?
221
- expand_navigation_expand_bar_height
222
- else
223
- collapse_navigation_expand_bar_height
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
- @navigation_expand_item.swt_expand_item.set_expanded !maximized_editor?
226
- body_root.pack_same_size
227
- async_exec { body_root.pack_same_size }
228
- end
229
- observe(project_dir, 'selected_child') do
230
- save_config
231
- end
232
- observe(project_dir, 'selected_child.caret_position') do
233
- save_config
234
- end
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
- load_config
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 !::Dir.glob(::File.join(project_dir_path, 'glimmer-cs-gladiator.jar')).empty?
246
- shell(:no_trim, :no_background) {
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
- on_swt_show {
250
- open_project
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.getData('file_path')
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
- puts e.full_message
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.8.1
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-02-07 00:00:00.000000000 Z
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: 5.0.0.0
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: 5.0.0.0
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.0.6
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