glimmer-cs-gladiator 0.8.1 → 0.9.2

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.
@@ -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