glimmer-dsl-libui 0.5.7 → 0.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +159 -51
- data/VERSION +1 -1
- data/examples/basic_code_area.rb +31 -0
- data/glimmer-dsl-libui.gemspec +0 -0
- data/lib/glimmer/libui/control_proxy/area_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy.rb +1 -1
- data/lib/glimmer/libui/custom_control/code_area.rb +65 -0
- data/lib/glimmer/libui/custom_control.rb +6 -3
- data/lib/glimmer/libui/custom_window.rb +4 -0
- data/lib/glimmer/libui.rb +3 -5
- data/lib/glimmer-dsl-libui/ext/rouge/theme/glimmer.rb +29 -0
- metadata +26 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d99fb74f5b4aa47cf07f00cf6afb426a66cbac0947d1e854c859703b9158d635
|
4
|
+
data.tar.gz: 75a27219914e19011e47051b60312e11ac83980d98e18fcb387ea84bfbfb6dd5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf483f831272a8d2443a1b932ab2e25043377d3c349a6dbd1810055ed87b6b8409b78e74e7e8d938dda8945108258dd692626dcc2f859d8309066c7e6c1ef058
|
7
|
+
data.tar.gz: 94d01b95cab06dbab277fdd1e2478b5f49c635e07c0702fb51e3726594de6a76a55d3d15185abeed8064ab12cec9bd16bbee5f1aa131ebae9c6e22d5401c4584
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## 0.5.8
|
4
|
+
|
5
|
+
- Support `code_area` class-based custom control as a code-syntax-highlighted `area` control using the `rouge` gem
|
6
|
+
- `examples/basic_code_area.rb`
|
7
|
+
- Handle hex colors that have a 3-digit shorthand
|
8
|
+
- Stop annoying false negative logs when using `Glimmer::LibUI::CustomWindow`
|
9
|
+
|
3
10
|
## 0.5.7
|
4
11
|
|
5
12
|
- Support Custom Window keywords (aka Applications) using `Glimmer::LibUI::CustomWindow` or alias of `Glimmer::LibUI::Application`
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for LibUI 0.5.
|
1
|
+
# [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for LibUI 0.5.8
|
2
2
|
## Prerequisite-Free Ruby Desktop Development GUI Library
|
3
3
|
[](http://badge.fury.io/rb/glimmer-dsl-libui)
|
4
4
|
[](https://gitter.im/AndyObtiva/glimmer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
@@ -405,6 +405,7 @@ DSL | Platforms | Native? | Vector Graphics? | Pros | Cons | Prereqs
|
|
405
405
|
- [Basic Image](#basic-image)
|
406
406
|
- [Basic Transform](#basic-transform)
|
407
407
|
- [Basic Draw Text](#basic-draw-text)
|
408
|
+
- [Basic Code Area](#basic-code-area)
|
408
409
|
- [Advanced Examples](#advanced-examples)
|
409
410
|
- [Area Gallery](#area-gallery)
|
410
411
|
- [Button Counter](#button-counter)
|
@@ -577,7 +578,7 @@ gem install glimmer-dsl-libui
|
|
577
578
|
Or install via Bundler `Gemfile`:
|
578
579
|
|
579
580
|
```ruby
|
580
|
-
gem 'glimmer-dsl-libui', '~> 0.5.
|
581
|
+
gem 'glimmer-dsl-libui', '~> 0.5.8'
|
581
582
|
```
|
582
583
|
|
583
584
|
Test that installation worked by running the [Meta-Example](#examples):
|
@@ -590,14 +591,40 @@ Mac | Windows | Linux
|
|
590
591
|
----|---------|------
|
591
592
|
 |  | 
|
592
593
|
|
593
|
-
Now to use [glimmer-dsl-libui](https://rubygems.org/gems/glimmer-dsl-libui), add `require 'glimmer-dsl-libui'` at the top
|
594
|
+
Now to use [glimmer-dsl-libui](https://rubygems.org/gems/glimmer-dsl-libui), add `require 'glimmer-dsl-libui'` at the top.
|
594
595
|
|
595
|
-
|
596
|
+
Afterwards, `include Glimmer` into the top-level main object for testing or into an actual class for serious usage.
|
597
|
+
|
598
|
+
Alternatively, `include Glimmer::LibUI::Application` to conveniently declare the GUI `body` and run via the `::launch` method (`Glimmer::LibUI::Application` is an alias for `Glimmer::LibUI::CustomWindow` since that is what it represents).
|
599
|
+
|
600
|
+
Example including `Glimmer::LibUI::Application` (you may copy/paste in [`girb`](#girb-glimmer-irb)):
|
601
|
+
|
602
|
+
```ruby
|
603
|
+
require 'glimmer-dsl-libui'
|
604
|
+
|
605
|
+
class SomeGlimmerApp
|
606
|
+
include Glimmer::LibUI::Application
|
607
|
+
|
608
|
+
body {
|
609
|
+
window('hello world', 300, 200) {
|
610
|
+
button('Button') {
|
611
|
+
on_clicked do
|
612
|
+
puts 'Button Clicked'
|
613
|
+
end
|
614
|
+
}
|
615
|
+
}
|
616
|
+
}
|
617
|
+
end
|
618
|
+
|
619
|
+
SomeGlimmerApp.launch
|
620
|
+
```
|
621
|
+
|
622
|
+
Example including `Glimmer` and manually implementing the `#launch` method (you may copy/paste in [`girb`](#girb-glimmer-irb)):
|
596
623
|
|
597
624
|
```ruby
|
598
625
|
require 'glimmer-dsl-libui'
|
599
626
|
|
600
|
-
class
|
627
|
+
class SomeGlimmerApp
|
601
628
|
include Glimmer
|
602
629
|
|
603
630
|
def launch
|
@@ -611,7 +638,23 @@ class Application
|
|
611
638
|
end
|
612
639
|
end
|
613
640
|
|
614
|
-
|
641
|
+
SomeGlimmerApp.new.launch
|
642
|
+
```
|
643
|
+
|
644
|
+
Example including `Glimmer` at the top-level scope just for some prototyping/demoing/testing (you may copy/paste in [`girb`](#girb-glimmer-irb)):
|
645
|
+
|
646
|
+
```ruby
|
647
|
+
require 'glimmer-dsl-libui'
|
648
|
+
|
649
|
+
include Glimmer
|
650
|
+
|
651
|
+
window('hello world', 300, 200) {
|
652
|
+
button('Button') {
|
653
|
+
on_clicked do
|
654
|
+
puts 'Button Clicked'
|
655
|
+
end
|
656
|
+
}
|
657
|
+
}.show
|
615
658
|
```
|
616
659
|
|
617
660
|
If you are new to [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui), check out [Girb](#girb-glimmer-irb) and [Examples](#examples) to quickly learn through copy/paste. You may refer to the [API](#api) later on once you have gotten your feet wet with [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) and need more detailed reference information.
|
@@ -675,6 +718,7 @@ Keyword(Args) | Properties | Listeners
|
|
675
718
|
`checkbox_text_column(name as String)` | `editable` (Boolean), `editable_checkbox` (Boolean), `editable_text` (Boolean) | None
|
676
719
|
`checkbox_text_color_column(name as String)` | `editable` (Boolean), `editable_checkbox` (Boolean), `editable_text` (Boolean) | None
|
677
720
|
`check_menu_item(text as String)` | `checked` (Boolean) | `on_clicked`
|
721
|
+
`code_area` | `language` (String) (default: `'ruby'`), `theme` (String) (default: `'glimmer'`), `code` (String) | None
|
678
722
|
`combobox` | `items` (`Array` of `String`), `selected` (`Integer`), `selected_item` (`String`) | `on_selected`
|
679
723
|
`color_button` | `color` (Array of `red` as `Float`, `green` as `Float`, `blue` as `Float`, `alpha` as `Float`), `red` as `Float`, `green` as `Float`, `blue` as `Float`, `alpha` as `Float` | `on_changed`
|
680
724
|
`date_picker` | `time` (`Hash` of keys: `sec` as `Integer`, `min` as `Integer`, `hour` as `Integer`, `mday` as `Integer`, `mon` as `Integer`, `year` as `Integer`, `wday` as `Integer`, `yday` as `Integer`, `dst` as Boolean) | `on_changed`
|
@@ -4987,6 +5031,62 @@ end
|
|
4987
5031
|
BasicDrawText.new.launch
|
4988
5032
|
```
|
4989
5033
|
|
5034
|
+
#### Basic Code Area
|
5035
|
+
|
5036
|
+
[examples/basic_code_area.rb](examples/basic_code_area.rb)
|
5037
|
+
|
5038
|
+
Run with this command from the root of the project if you cloned the project:
|
5039
|
+
|
5040
|
+
```
|
5041
|
+
ruby -r './lib/glimmer-dsl-libui' examples/basic_code_area.rb
|
5042
|
+
```
|
5043
|
+
|
5044
|
+
Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/glimmer-dsl-libui):
|
5045
|
+
|
5046
|
+
```
|
5047
|
+
ruby -r glimmer-dsl-libui -e "require 'examples/basic_code_area'"
|
5048
|
+
```
|
5049
|
+
|
5050
|
+
Mac | Windows | Linux
|
5051
|
+
----|---------|------
|
5052
|
+
 |  | 
|
5053
|
+
|
5054
|
+
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
5055
|
+
|
5056
|
+
```ruby
|
5057
|
+
require 'glimmer-dsl-libui'
|
5058
|
+
|
5059
|
+
class BasicCodeArea
|
5060
|
+
include Glimmer::LibUI::Application
|
5061
|
+
|
5062
|
+
before_body do
|
5063
|
+
@code = <<~CODE
|
5064
|
+
# Greets target with greeting
|
5065
|
+
def greet(greeting: 'Hello', target: 'World')
|
5066
|
+
|
5067
|
+
puts "\#{greeting}, \#{target}!"
|
5068
|
+
end
|
5069
|
+
|
5070
|
+
greet
|
5071
|
+
greet(target: 'Robert')
|
5072
|
+
greet(greeting: 'Aloha')
|
5073
|
+
greet(greeting: 'Aloha', target: 'Nancy')
|
5074
|
+
greet(greeting: 'Howdy', target: 'Doodle')
|
5075
|
+
CODE
|
5076
|
+
end
|
5077
|
+
|
5078
|
+
body {
|
5079
|
+
window('Basic Code Area', 400, 300) {
|
5080
|
+
margined true
|
5081
|
+
|
5082
|
+
code_area(language: 'ruby', code: @code)
|
5083
|
+
}
|
5084
|
+
}
|
5085
|
+
end
|
5086
|
+
|
5087
|
+
BasicCodeArea.launch
|
5088
|
+
```
|
5089
|
+
|
4990
5090
|
### Advanced Examples
|
4991
5091
|
|
4992
5092
|
#### Area Gallery
|
@@ -8967,8 +9067,6 @@ New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version
|
|
8967
9067
|
require 'glimmer-dsl-libui'
|
8968
9068
|
require 'facets'
|
8969
9069
|
|
8970
|
-
include Glimmer
|
8971
|
-
|
8972
9070
|
Address = Struct.new(:street, :p_o_box, :city, :state, :zip_code)
|
8973
9071
|
|
8974
9072
|
class FormField
|
@@ -9029,54 +9127,64 @@ class AddressView
|
|
9029
9127
|
}
|
9030
9128
|
end
|
9031
9129
|
|
9032
|
-
|
9033
|
-
|
9034
|
-
|
9035
|
-
window('Class-Based Custom Keyword') {
|
9036
|
-
margined true
|
9130
|
+
class ClassBasedCustomControls
|
9131
|
+
include Glimmer::LibUI::Application # alias: Glimmer::LibUI::CustomWindow
|
9037
9132
|
|
9038
|
-
|
9039
|
-
|
9040
|
-
|
9041
|
-
|
9042
|
-
|
9043
|
-
|
9044
|
-
|
9045
|
-
|
9046
|
-
horizontal_separator {
|
9047
|
-
stretchy false
|
9048
|
-
}
|
9049
|
-
|
9050
|
-
label('Address 1 (Saved)') {
|
9051
|
-
stretchy false
|
9052
|
-
}
|
9053
|
-
|
9054
|
-
address_view(address: address1)
|
9055
|
-
}
|
9056
|
-
|
9057
|
-
vertical_separator {
|
9058
|
-
stretchy false
|
9059
|
-
}
|
9060
|
-
|
9061
|
-
vertical_box {
|
9062
|
-
label('Address 2') {
|
9063
|
-
stretchy false
|
9064
|
-
}
|
9065
|
-
|
9066
|
-
address_form(address: address2)
|
9067
|
-
|
9068
|
-
horizontal_separator {
|
9069
|
-
stretchy false
|
9070
|
-
}
|
9133
|
+
before_body do
|
9134
|
+
@address1 = Address.new('123 Main St', '23923', 'Denver', 'Colorado', '80014')
|
9135
|
+
@address2 = Address.new('2038 Park Ave', '83272', 'Boston', 'Massachusetts', '02101')
|
9136
|
+
end
|
9137
|
+
|
9138
|
+
body {
|
9139
|
+
window('Class-Based Custom Keyword') {
|
9140
|
+
margined true
|
9071
9141
|
|
9072
|
-
|
9073
|
-
|
9142
|
+
horizontal_box {
|
9143
|
+
vertical_box {
|
9144
|
+
label('Address 1') {
|
9145
|
+
stretchy false
|
9146
|
+
}
|
9147
|
+
|
9148
|
+
address_form(address: @address1)
|
9149
|
+
|
9150
|
+
horizontal_separator {
|
9151
|
+
stretchy false
|
9152
|
+
}
|
9153
|
+
|
9154
|
+
label('Address 1 (Saved)') {
|
9155
|
+
stretchy false
|
9156
|
+
}
|
9157
|
+
|
9158
|
+
address_view(address: @address1)
|
9159
|
+
}
|
9160
|
+
|
9161
|
+
vertical_separator {
|
9162
|
+
stretchy false
|
9163
|
+
}
|
9164
|
+
|
9165
|
+
vertical_box {
|
9166
|
+
label('Address 2') {
|
9167
|
+
stretchy false
|
9168
|
+
}
|
9169
|
+
|
9170
|
+
address_form(address: @address2)
|
9171
|
+
|
9172
|
+
horizontal_separator {
|
9173
|
+
stretchy false
|
9174
|
+
}
|
9175
|
+
|
9176
|
+
label('Address 2 (Saved)') {
|
9177
|
+
stretchy false
|
9178
|
+
}
|
9179
|
+
|
9180
|
+
address_view(address: @address2)
|
9181
|
+
}
|
9074
9182
|
}
|
9075
|
-
|
9076
|
-
address_view(address: address2)
|
9077
9183
|
}
|
9078
9184
|
}
|
9079
|
-
|
9185
|
+
end
|
9186
|
+
|
9187
|
+
ClassBasedCustomControls.launch
|
9080
9188
|
```
|
9081
9189
|
|
9082
9190
|
#### Area-Based Custom Controls
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.8
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'glimmer-dsl-libui'
|
2
|
+
|
3
|
+
class BasicCodeArea
|
4
|
+
include Glimmer::LibUI::Application
|
5
|
+
|
6
|
+
before_body do
|
7
|
+
@code = <<~CODE
|
8
|
+
# Greets target with greeting
|
9
|
+
def greet(greeting: 'Hello', target: 'World')
|
10
|
+
|
11
|
+
puts "\#{greeting}, \#{target}!"
|
12
|
+
end
|
13
|
+
|
14
|
+
greet
|
15
|
+
greet(target: 'Robert')
|
16
|
+
greet(greeting: 'Aloha')
|
17
|
+
greet(greeting: 'Aloha', target: 'Nancy')
|
18
|
+
greet(greeting: 'Howdy', target: 'Doodle')
|
19
|
+
CODE
|
20
|
+
end
|
21
|
+
|
22
|
+
body {
|
23
|
+
window('Basic Code Area', 400, 300) {
|
24
|
+
margined true
|
25
|
+
|
26
|
+
code_area(language: 'ruby', code: @code)
|
27
|
+
}
|
28
|
+
}
|
29
|
+
end
|
30
|
+
|
31
|
+
BasicCodeArea.launch
|
data/glimmer-dsl-libui.gemspec
CHANGED
Binary file
|
@@ -85,7 +85,7 @@ module Glimmer
|
|
85
85
|
end
|
86
86
|
|
87
87
|
def post_add_content
|
88
|
-
|
88
|
+
if OS.linux? && parent_proxy.is_a?(WindowProxy)
|
89
89
|
unless @content_added
|
90
90
|
original_parent_proxy = @parent_proxy
|
91
91
|
@vertical_box_parent_proxy = ControlProxy.create('vertical_box', parent_proxy, []) {} # block prevents calling post add content
|
@@ -0,0 +1,65 @@
|
|
1
|
+
class CodeArea
|
2
|
+
class << self
|
3
|
+
def languages
|
4
|
+
require 'rouge'
|
5
|
+
Rouge::Lexer.all.map {|lexer| lexer.tag}.sort
|
6
|
+
end
|
7
|
+
|
8
|
+
def lexers
|
9
|
+
require 'rouge'
|
10
|
+
Rouge::Lexer.all.sort_by(&:title)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
include Glimmer::LibUI::CustomControl
|
15
|
+
|
16
|
+
REGEX_COLOR_HEX6 = /^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/
|
17
|
+
|
18
|
+
option :language, default: 'ruby'
|
19
|
+
option :theme, default: 'glimmer'
|
20
|
+
option :code
|
21
|
+
|
22
|
+
body {
|
23
|
+
area {
|
24
|
+
rectangle(0, 0, 8000, 8000) {
|
25
|
+
fill :white
|
26
|
+
}
|
27
|
+
text {
|
28
|
+
default_font family: OS.mac? ? 'Consolas' : 'Courier', size: 13, weight: :medium, italic: :normal, stretch: :normal
|
29
|
+
|
30
|
+
syntax_highlighting(code).each do |token|
|
31
|
+
style_data = Rouge::Theme.find(theme).new.style_for(token[:token_type])
|
32
|
+
|
33
|
+
string(token[:token_text]) {
|
34
|
+
color style_data[:fg] || :black
|
35
|
+
background style_data[:bg] || :white
|
36
|
+
}
|
37
|
+
end
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
def lexer
|
43
|
+
require 'rouge'
|
44
|
+
require 'glimmer-dsl-libui/ext/rouge/theme/glimmer'
|
45
|
+
# TODO Try to use Rouge::Lexer.find_fancy('guess', code) in the future to guess the language or otherwise detect it from file extension
|
46
|
+
@lexer ||= Rouge::Lexer.find_fancy(language)
|
47
|
+
@lexer ||= Rouge::Lexer.find_fancy('ruby') # default to Ruby if no lexer is found
|
48
|
+
end
|
49
|
+
|
50
|
+
def syntax_highlighting(text)
|
51
|
+
return [] if text.to_s.strip.empty?
|
52
|
+
@syntax_highlighting ||= {}
|
53
|
+
unless @syntax_highlighting.keys.include?(text)
|
54
|
+
lex = lexer.lex(text).to_a
|
55
|
+
text_size = 0
|
56
|
+
@syntax_highlighting[text] = lex.map do |pair|
|
57
|
+
{token_type: pair.first, token_text: pair.last}
|
58
|
+
end.each do |hash|
|
59
|
+
hash[:token_index] = text_size
|
60
|
+
text_size += hash[:token_text].size
|
61
|
+
end
|
62
|
+
end
|
63
|
+
@syntax_highlighting[text]
|
64
|
+
end
|
65
|
+
end
|
@@ -232,9 +232,10 @@ module Glimmer
|
|
232
232
|
end
|
233
233
|
|
234
234
|
def respond_to?(method_name, *args, &block)
|
235
|
-
|
236
|
-
|
237
|
-
|
235
|
+
result = false
|
236
|
+
result ||= super
|
237
|
+
result ||= can_handle_listener?(method_name)
|
238
|
+
result ||= @body_root.respond_to?(method_name, *args, &block)
|
238
239
|
end
|
239
240
|
|
240
241
|
private
|
@@ -250,3 +251,5 @@ module Glimmer
|
|
250
251
|
end
|
251
252
|
end
|
252
253
|
end
|
254
|
+
|
255
|
+
Dir[File.expand_path("./#{File.basename(__FILE__, '.rb')}/*.rb", __dir__)].each {|f| require f}
|
@@ -37,7 +37,11 @@ module Glimmer
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def initialize(parent, *swt_constants, options, &content)
|
40
|
+
original_logger = Glimmer::Config.logger
|
41
|
+
require 'stringio'
|
42
|
+
Glimmer::Config.logger = Logger.new(StringIO.new)
|
40
43
|
super
|
44
|
+
Glimmer::Config.logger = original_logger
|
41
45
|
raise Glimmer::Error, 'Invalid custom window body root! Must be a window, another custom window, or a custom control with window as its body root!' unless body_root.is_a?(Glimmer::LibUI::ControlProxy::WindowProxy) || body_root.is_a?(Glimmer::LibUI::CustomWindow) || (body_root.is_a?(Glimmer::LibUI::CustomControl) && body_root.body_root.is_a?(Glimmer::LibUI::ControlProxy::WindowProxy))
|
42
46
|
end
|
43
47
|
|
data/lib/glimmer/libui.rb
CHANGED
@@ -80,11 +80,9 @@ module Glimmer
|
|
80
80
|
|
81
81
|
def hex_to_rgb(value)
|
82
82
|
if value.is_a?(String)
|
83
|
-
value =
|
84
|
-
if
|
85
|
-
|
86
|
-
value = "0x#{value}"
|
87
|
-
end
|
83
|
+
value = value[2..-1] if value.start_with?('0x')
|
84
|
+
value = value[1..-1] if value.start_with?('#')
|
85
|
+
value = value.chars.map {|char| [char, char]}.flatten.join if value.length == 3
|
88
86
|
value = value.to_i(16)
|
89
87
|
end
|
90
88
|
if value.is_a?(Integer)
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Rouge
|
2
|
+
module Themes
|
3
|
+
# A port of the pastie style from Pygments.
|
4
|
+
# See https://bitbucket.org/birkenfeld/pygments-main/src/default/pygments/styles/pastie.py
|
5
|
+
class Glimmer < Github
|
6
|
+
name 'glimmer'
|
7
|
+
style Comment::Single, fg: [106,115,125], italic: true # Also, Comments
|
8
|
+
style Keyword::Pseudo, fg: [:dark_red]
|
9
|
+
style Keyword, fg: [:blue]
|
10
|
+
style Literal::String::Single, fg: [106,115,125] # Also, Comments
|
11
|
+
style Literal::String::Double, fg: [0,92,197]
|
12
|
+
style Literal::String::Escape, fg: [:red]
|
13
|
+
style Literal::Number::Integer, fg: [:blue]
|
14
|
+
style Literal::String::Interpol, fg: [:blue]
|
15
|
+
style Literal::String::Symbol, fg: [:dark_green]
|
16
|
+
style Literal::String, fg: [:dark_blue]
|
17
|
+
style Name::Builtin, fg: [215,58,73]
|
18
|
+
style Name::Class, fg: [3,47,98]
|
19
|
+
style Name::Namespace, fg: [3,47,98]
|
20
|
+
style Name::Constant, fg: [0,92,197]
|
21
|
+
style Name::Function, fg: [:blue]
|
22
|
+
style Name::Variable::Instance, fg: [227,98,9]
|
23
|
+
style Name, fg: [111,66,193] #purple
|
24
|
+
style Operator, fg: [:red]
|
25
|
+
style Punctuation, fg: [:blue]
|
26
|
+
style Text, fg: [75, 75, 75]
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glimmer-dsl-libui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Maleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-03-
|
11
|
+
date: 2022-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: glimmer
|
@@ -128,6 +128,26 @@ dependencies:
|
|
128
128
|
- - '='
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: 0.0.11
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: rouge
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: 3.26.0
|
138
|
+
- - "<"
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: 4.0.0
|
141
|
+
type: :runtime
|
142
|
+
prerelease: false
|
143
|
+
version_requirements: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: 3.26.0
|
148
|
+
- - "<"
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: 4.0.0
|
131
151
|
- !ruby/object:Gem::Dependency
|
132
152
|
name: juwelier
|
133
153
|
requirement: !ruby/object:Gem::Requirement
|
@@ -265,6 +285,7 @@ files:
|
|
265
285
|
- examples/basic_area3.rb
|
266
286
|
- examples/basic_area4.rb
|
267
287
|
- examples/basic_button.rb
|
288
|
+
- examples/basic_code_area.rb
|
268
289
|
- examples/basic_draw_text.rb
|
269
290
|
- examples/basic_draw_text2.rb
|
270
291
|
- examples/basic_entry.rb
|
@@ -359,6 +380,7 @@ files:
|
|
359
380
|
- icons/glimmer.png
|
360
381
|
- lib/glimmer-dsl-libui.rb
|
361
382
|
- lib/glimmer-dsl-libui/ext/glimmer.rb
|
383
|
+
- lib/glimmer-dsl-libui/ext/rouge/theme/glimmer.rb
|
362
384
|
- lib/glimmer/dsl/libui/bind_expression.rb
|
363
385
|
- lib/glimmer/dsl/libui/control_expression.rb
|
364
386
|
- lib/glimmer/dsl/libui/custom_control_expression.rb
|
@@ -444,6 +466,7 @@ files:
|
|
444
466
|
- lib/glimmer/libui/control_proxy/triple_column.rb
|
445
467
|
- lib/glimmer/libui/control_proxy/window_proxy.rb
|
446
468
|
- lib/glimmer/libui/custom_control.rb
|
469
|
+
- lib/glimmer/libui/custom_control/code_area.rb
|
447
470
|
- lib/glimmer/libui/custom_window.rb
|
448
471
|
- lib/glimmer/libui/data_bindable.rb
|
449
472
|
- lib/glimmer/libui/image_path_renderer.rb
|
@@ -486,7 +509,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
486
509
|
- !ruby/object:Gem::Version
|
487
510
|
version: '0'
|
488
511
|
requirements: []
|
489
|
-
rubygems_version: 3.3.
|
512
|
+
rubygems_version: 3.3.6
|
490
513
|
signing_key:
|
491
514
|
specification_version: 4
|
492
515
|
summary: Glimmer DSL for LibUI
|