coloration 0.3.3 → 0.4.0
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 +7 -0
- data/README.md +21 -11
- data/bin/tm2jedit +3 -0
- data/bin/tm2katepart +3 -0
- data/bin/tm2vim +3 -0
- data/lib/coloration.rb +4 -2
- data/lib/coloration/color/cmyk.rb +182 -0
- data/lib/coloration/color/color.rb +87 -0
- data/lib/coloration/color/css.rb +27 -0
- data/lib/coloration/color/grayscale.rb +135 -0
- data/lib/coloration/color/hsl.rb +130 -0
- data/lib/coloration/color/palette.rb +15 -0
- data/lib/coloration/color/palette/gimp.rb +107 -0
- data/lib/coloration/color/palette/monocontrast.rb +180 -0
- data/lib/coloration/color/rgb-colors.rb +189 -0
- data/lib/coloration/color/rgb.rb +314 -0
- data/lib/coloration/color/rgb/metallic.rb +28 -0
- data/lib/coloration/color/yiq.rb +78 -0
- data/lib/coloration/color_rgba.rb +3 -0
- data/lib/coloration/converters/abstract_converter.rb +86 -0
- data/lib/coloration/converters/textmate2jedit.rb +29 -7
- data/lib/coloration/converters/textmate2katepart.rb +29 -7
- data/lib/coloration/converters/textmate2vim.rb +29 -7
- data/lib/coloration/readers/textmate_theme_reader.rb +6 -26
- data/lib/coloration/style.rb +4 -2
- data/lib/coloration/support/items_lookup.rb +42 -0
- data/lib/coloration/version.rb +1 -1
- data/lib/coloration/writers/abstract_writer.rb +27 -0
- data/lib/coloration/writers/jedit_theme_writer.rb +13 -16
- data/lib/coloration/writers/katepart_theme_writer.rb +23 -26
- data/lib/coloration/writers/vim_theme_writer.rb +96 -91
- metadata +135 -41
- data/lib/coloration/abstract_converter.rb +0 -38
@@ -1,12 +1,34 @@
|
|
1
1
|
module Coloration
|
2
|
+
|
2
3
|
module Converters
|
4
|
+
|
3
5
|
class Textmate2JEditConverter < AbstractConverter
|
4
|
-
|
5
|
-
@in_theme_ext = "tmTheme"
|
6
|
-
@out_theme_type = "JEdit"
|
7
|
-
@out_theme_ext = "jedit-scheme"
|
6
|
+
|
8
7
|
include Readers::TextMateThemeReader
|
9
8
|
include Writers::JEditThemeWriter
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
|
10
|
+
# @return [String]
|
11
|
+
def in_theme_type
|
12
|
+
'Textmate'
|
13
|
+
end
|
14
|
+
|
15
|
+
# @return [String]
|
16
|
+
def in_theme_ext
|
17
|
+
'tmTheme'
|
18
|
+
end
|
19
|
+
|
20
|
+
# @return [String]
|
21
|
+
def out_theme_type
|
22
|
+
'JEdit'
|
23
|
+
end
|
24
|
+
|
25
|
+
# @return [String]
|
26
|
+
def out_theme_ext
|
27
|
+
'jedit-scheme'
|
28
|
+
end
|
29
|
+
|
30
|
+
end # Textmate2JEditConverter
|
31
|
+
|
32
|
+
end # Converters
|
33
|
+
|
34
|
+
end # Coloration
|
@@ -1,12 +1,34 @@
|
|
1
1
|
module Coloration
|
2
|
+
|
2
3
|
module Converters
|
4
|
+
|
3
5
|
class Textmate2KatePartConverter < AbstractConverter
|
4
|
-
|
5
|
-
@in_theme_ext = "tmTheme"
|
6
|
-
@out_theme_type = "KatePart"
|
7
|
-
@out_theme_ext = "txt"
|
6
|
+
|
8
7
|
include Readers::TextMateThemeReader
|
9
8
|
include Writers::KatePartThemeWriter
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
|
10
|
+
# @return [String]
|
11
|
+
def in_theme_type
|
12
|
+
'Textmate'
|
13
|
+
end
|
14
|
+
|
15
|
+
# @return [String]
|
16
|
+
def in_theme_ext
|
17
|
+
'tmTheme'
|
18
|
+
end
|
19
|
+
|
20
|
+
# @return [String]
|
21
|
+
def out_theme_type
|
22
|
+
'KatePart'
|
23
|
+
end
|
24
|
+
|
25
|
+
# @return [String]
|
26
|
+
def out_theme_ext
|
27
|
+
'txt'
|
28
|
+
end
|
29
|
+
|
30
|
+
end # Textmate2KatePartConverter
|
31
|
+
|
32
|
+
end # Converters
|
33
|
+
|
34
|
+
end # Coloration
|
@@ -1,12 +1,34 @@
|
|
1
1
|
module Coloration
|
2
|
+
|
2
3
|
module Converters
|
4
|
+
|
3
5
|
class Textmate2VimConverter < AbstractConverter
|
4
|
-
|
5
|
-
@in_theme_ext = "tmTheme"
|
6
|
-
@out_theme_type = "Vim"
|
7
|
-
@out_theme_ext = "vim"
|
6
|
+
|
8
7
|
include Readers::TextMateThemeReader
|
9
8
|
include Writers::VimThemeWriter
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
|
10
|
+
# @return [String]
|
11
|
+
def in_theme_type
|
12
|
+
'Textmate'
|
13
|
+
end
|
14
|
+
|
15
|
+
# @return [String]
|
16
|
+
def in_theme_ext
|
17
|
+
'tmTheme'
|
18
|
+
end
|
19
|
+
|
20
|
+
# @return [String]
|
21
|
+
def out_theme_type
|
22
|
+
'Vim'
|
23
|
+
end
|
24
|
+
|
25
|
+
# @return [String]
|
26
|
+
def out_theme_ext
|
27
|
+
'vim'
|
28
|
+
end
|
29
|
+
|
30
|
+
end # Textmate2VimConverter
|
31
|
+
|
32
|
+
end # Converters
|
33
|
+
|
34
|
+
end # Colorationnd
|
@@ -1,9 +1,11 @@
|
|
1
1
|
require 'plist'
|
2
|
-
require 'textpow'
|
3
2
|
|
4
3
|
module Coloration
|
4
|
+
|
5
5
|
module Readers
|
6
|
+
|
6
7
|
module TextMateThemeReader
|
8
|
+
|
7
9
|
class InvalidThemeError < RuntimeError; end
|
8
10
|
|
9
11
|
def parse_input
|
@@ -49,31 +51,9 @@ module Coloration
|
|
49
51
|
end
|
50
52
|
self.items = ItemsLookup.new(items)
|
51
53
|
end
|
52
|
-
end
|
53
54
|
|
54
|
-
|
55
|
-
def initialize(items)
|
56
|
-
@items = items
|
57
|
-
@score_manager = Textpow::ScoreManager.new
|
58
|
-
end
|
55
|
+
end # TextMateThemeReader
|
59
56
|
|
60
|
-
|
61
|
-
keys.split(",").each do |key|
|
62
|
-
best_selector = nil
|
63
|
-
best_score = 0
|
64
|
-
@items.keys.each do |selector|
|
65
|
-
score = @score_manager.score(selector, key)
|
66
|
-
if score > best_score
|
67
|
-
best_score, best_selector = score, selector
|
68
|
-
end
|
69
|
-
end
|
70
|
-
if best_selector
|
71
|
-
return @items[best_selector]
|
72
|
-
end
|
73
|
-
end
|
74
|
-
nil
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
57
|
+
end # Readers
|
78
58
|
|
79
|
-
end
|
59
|
+
end # Coloration
|
data/lib/coloration/style.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module Coloration
|
2
2
|
|
3
3
|
class Style
|
4
|
+
|
4
5
|
attr_accessor :foreground, :background, :bold, :italic, :underline, :strike, :inverse, :comment
|
5
6
|
|
6
7
|
def initialize(obj=nil, bg=nil)
|
@@ -32,6 +33,7 @@ module Coloration
|
|
32
33
|
def blank?
|
33
34
|
foreground.nil? && background.nil?
|
34
35
|
end
|
35
|
-
end
|
36
36
|
|
37
|
-
end
|
37
|
+
end # Style
|
38
|
+
|
39
|
+
end # Coloration
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'textpow'
|
2
|
+
|
3
|
+
module Coloration
|
4
|
+
|
5
|
+
module Readers
|
6
|
+
|
7
|
+
class ItemsLookup
|
8
|
+
|
9
|
+
def initialize(items)
|
10
|
+
@items = items
|
11
|
+
end
|
12
|
+
|
13
|
+
def [](keys)
|
14
|
+
keys.split(",").each do |key|
|
15
|
+
best_selector = nil
|
16
|
+
best_score = 0
|
17
|
+
|
18
|
+
@items.keys.each do |selector|
|
19
|
+
score = score_manager.score(selector, key)
|
20
|
+
if score > best_score
|
21
|
+
best_score, best_selector = score, selector
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
return @items[best_selector] if best_selector
|
26
|
+
end
|
27
|
+
|
28
|
+
nil
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
# @return [Textpow::ScoreManager]
|
34
|
+
def score_manager
|
35
|
+
@score_manager ||= Textpow::ScoreManager.new
|
36
|
+
end
|
37
|
+
|
38
|
+
end # ItemsLookup
|
39
|
+
|
40
|
+
end # Readers
|
41
|
+
|
42
|
+
end # Coloration
|
data/lib/coloration/version.rb
CHANGED
@@ -0,0 +1,27 @@
|
|
1
|
+
module Coloration
|
2
|
+
|
3
|
+
module Writers
|
4
|
+
|
5
|
+
module AbstractWriter
|
6
|
+
|
7
|
+
# @param line [String]
|
8
|
+
# @return [Array<String>]
|
9
|
+
def add_line(line = '')
|
10
|
+
(@lines ||= []) << line
|
11
|
+
end
|
12
|
+
|
13
|
+
# @param name [String]
|
14
|
+
# @param style [String]
|
15
|
+
# @raise RuntimeError
|
16
|
+
# @return [String]
|
17
|
+
def format_item(name, style)
|
18
|
+
raise RuntimeError, "Style for #{name} is missing!" unless style
|
19
|
+
|
20
|
+
"#{name}=#{format_style(style)}"
|
21
|
+
end
|
22
|
+
|
23
|
+
end # AbstractWriter
|
24
|
+
|
25
|
+
end # Writers
|
26
|
+
|
27
|
+
end # Coloration
|
@@ -1,9 +1,13 @@
|
|
1
1
|
module Coloration
|
2
|
+
|
2
3
|
module Writers
|
4
|
+
|
3
5
|
module JEditThemeWriter
|
4
6
|
|
7
|
+
include Coloration::Writers::AbstractWriter
|
8
|
+
|
5
9
|
def build_result
|
6
|
-
add_line(format_comment(
|
10
|
+
add_line(format_comment(comment_message))
|
7
11
|
add_line
|
8
12
|
|
9
13
|
ui_mapping = {
|
@@ -32,10 +36,10 @@ module Coloration
|
|
32
36
|
"view.style.operator" => @items["keyword.operator"], # = < + -
|
33
37
|
"view.style.function" => @items["entity.name.function"], # def foo
|
34
38
|
"view.style.literal3" => @items["string.regexp"], # /jola/
|
35
|
-
|
36
|
-
#"view.style.literal4" => :constant # MyClass, USER_SPACE
|
39
|
+
# "view.style.invalid" => @items["invalid"], # errors etc
|
40
|
+
# "view.style.literal4" => :constant # MyClass, USER_SPACE
|
37
41
|
"view.style.markup" => @items["meta.tag"] || @items["entity.name.tag"] # <div>
|
38
|
-
#TODO: gutter etc
|
42
|
+
# TODO: gutter etc
|
39
43
|
}
|
40
44
|
|
41
45
|
default_style = Style.new
|
@@ -49,10 +53,6 @@ module Coloration
|
|
49
53
|
|
50
54
|
protected
|
51
55
|
|
52
|
-
def add_line(line="")
|
53
|
-
(@lines ||= []) << line
|
54
|
-
end
|
55
|
-
|
56
56
|
def escape(value)
|
57
57
|
value.gsub(':', '\:').gsub('#', '\#').strip
|
58
58
|
end
|
@@ -67,11 +67,6 @@ module Coloration
|
|
67
67
|
"#{name}=#{escape(value)}"
|
68
68
|
end
|
69
69
|
|
70
|
-
def format_item(name, style)
|
71
|
-
raise RuntimeError.new("Style for #{name} is missing!") if style.nil?
|
72
|
-
"#{name}=#{format_style(style)}"
|
73
|
-
end
|
74
|
-
|
75
70
|
def format_style(style)
|
76
71
|
s = ""
|
77
72
|
s << " color:#{style.foreground.html}" if style.foreground
|
@@ -89,6 +84,8 @@ module Coloration
|
|
89
84
|
"\# #{text}"
|
90
85
|
end
|
91
86
|
|
92
|
-
end
|
93
|
-
|
94
|
-
end
|
87
|
+
end # JEditThemeWriter
|
88
|
+
|
89
|
+
end # Writers
|
90
|
+
|
91
|
+
end # Coloration
|
@@ -1,9 +1,13 @@
|
|
1
1
|
module Coloration
|
2
|
+
|
2
3
|
module Writers
|
4
|
+
|
3
5
|
module KatePartThemeWriter
|
4
6
|
|
7
|
+
include Coloration::Writers::AbstractWriter
|
8
|
+
|
5
9
|
def build_result
|
6
|
-
add_comment
|
10
|
+
add_comment comment_message
|
7
11
|
add_comment "-" * 20 + " Put following in katesyntaxhighlightingrc " + "-" * 20
|
8
12
|
add_line
|
9
13
|
|
@@ -90,21 +94,21 @@ module Coloration
|
|
90
94
|
"Color Background" => @ui["background"],
|
91
95
|
"Color Highlighted Bracket" => @ui["background"],
|
92
96
|
"Color Highlighted Line" => @ui["lineHighlight"],
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
97
|
+
# "Color Icon Bar" => @ui[:background],
|
98
|
+
# "Color Line Number" => :,
|
99
|
+
# "Color MarkType1" => :,
|
100
|
+
# "Color MarkType2" => :,
|
101
|
+
# "Color MarkType3" => :,
|
102
|
+
# "Color MarkType4" => :,
|
103
|
+
# "Color MarkType5" => :,
|
104
|
+
# "Color MarkType6" => :,
|
105
|
+
# "Color MarkType7" => :,
|
102
106
|
"Color Selection" => @ui["selection"],
|
103
107
|
"Color Tab Marker" => @ui["invisibles"],
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
+
# "Color Template Background" => :,
|
109
|
+
# "Color Template Editable Placeholder" => :,
|
110
|
+
# "Color Template Focused Editable Placeholder" => :,
|
111
|
+
# "Color Template Not Editable Placeholder" => :,
|
108
112
|
"Color Word Wrap Marker" => @ui["invisibles"]
|
109
113
|
}
|
110
114
|
ui_mapping.keys.each do |key|
|
@@ -120,10 +124,6 @@ module Coloration
|
|
120
124
|
add_line(format_comment(c))
|
121
125
|
end
|
122
126
|
|
123
|
-
def add_line(line="")
|
124
|
-
(@lines ||= []) << line
|
125
|
-
end
|
126
|
-
|
127
127
|
def format_style(style)
|
128
128
|
style ||= @default_style
|
129
129
|
# normal,selected,bold,italic,strike,underline,bg,bg_selected,---
|
@@ -140,11 +140,6 @@ module Coloration
|
|
140
140
|
s.join(",")
|
141
141
|
end
|
142
142
|
|
143
|
-
def format_item(name, style)
|
144
|
-
raise RuntimeError.new("Style for #{name} is missing!") if style.nil?
|
145
|
-
"#{name}=#{format_style(style)}"
|
146
|
-
end
|
147
|
-
|
148
143
|
def format_comment(text)
|
149
144
|
"# #{text}"
|
150
145
|
end
|
@@ -153,6 +148,8 @@ module Coloration
|
|
153
148
|
"#{(col.r*255).to_i},#{(col.g*255).to_i},#{(col.b*255).to_i}"
|
154
149
|
end
|
155
150
|
|
156
|
-
end
|
157
|
-
|
158
|
-
end
|
151
|
+
end # KatePartThemeWriter
|
152
|
+
|
153
|
+
end # Writers
|
154
|
+
|
155
|
+
end # Coloration
|
@@ -1,6 +1,11 @@
|
|
1
1
|
module Coloration
|
2
|
+
|
2
3
|
module Writers
|
4
|
+
|
3
5
|
module VimThemeWriter
|
6
|
+
|
7
|
+
include Coloration::Writers::AbstractWriter
|
8
|
+
|
4
9
|
XTERM_COLORS = [ 0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF ]
|
5
10
|
XTERM_GREYS = [ 0x08, 0x12, 0x1C, 0x26, 0x30, 0x3A,
|
6
11
|
0x44, 0x4E, 0x58, 0x62, 0x6C, 0x76,
|
@@ -9,7 +14,7 @@ module Coloration
|
|
9
14
|
|
10
15
|
def build_result
|
11
16
|
add_line "\" Vim color file"
|
12
|
-
add_line "\" #{
|
17
|
+
add_line "\" #{comment_message}"
|
13
18
|
add_line
|
14
19
|
|
15
20
|
add_line "set background=dark"
|
@@ -66,111 +71,111 @@ module Coloration
|
|
66
71
|
|
67
72
|
items_mapping = {
|
68
73
|
# general colors for all languages
|
69
|
-
"Normal"
|
70
|
-
"Boolean"
|
71
|
-
"Character"
|
72
|
-
"Comment"
|
74
|
+
"Normal" => Style.new(:fg => @ui["foreground"], :bg => @ui["background"]),
|
75
|
+
"Boolean" => "constant.language",
|
76
|
+
"Character" => "constant.character",
|
77
|
+
"Comment" => "comment",
|
73
78
|
"Conditional" => "keyword.control",
|
74
|
-
"Constant"
|
75
|
-
#"Debug" => [],
|
76
|
-
"Define"
|
77
|
-
#"Delimiter" => "meta.separator",
|
78
|
-
"DiffAdd"
|
79
|
-
"DiffDelete"
|
80
|
-
"DiffChange"
|
81
|
-
"DiffText"
|
82
|
-
"ErrorMsg"
|
83
|
-
"WarningMsg"
|
84
|
-
#"Exception" => [],
|
85
|
-
"Float"
|
86
|
-
"Function"
|
87
|
-
"Identifier"
|
88
|
-
#"Include" => [],
|
89
|
-
"Keyword"
|
90
|
-
"Label"
|
91
|
-
#"Macro" => [],
|
92
|
-
"NonText"
|
93
|
-
"Number"
|
94
|
-
"Operator"
|
95
|
-
#"PreCondit" => [],
|
96
|
-
"PreProc"
|
97
|
-
#"Repeat" => [],
|
98
|
-
"Special"
|
99
|
-
#"SpecialChar" => [],
|
100
|
-
#"SpecialComment" => [],
|
101
|
-
"SpecialKey"
|
102
|
-
"Statement"
|
79
|
+
"Constant" => "constant",
|
80
|
+
# "Debug" => [],
|
81
|
+
"Define" => "keyword",
|
82
|
+
# "Delimiter" => "meta.separator",
|
83
|
+
"DiffAdd" => Style.new(:bg => green.mix_with(@ui['background'], 80), :fg => @ui['foreground'], :bold => true),
|
84
|
+
"DiffDelete" => Style.new(:fg => red.mix_with(@ui['background'], 80)),
|
85
|
+
"DiffChange" => Style.new(:bg => blue.mix_with(@ui['background'], 50), :fg => @ui['foreground']),
|
86
|
+
"DiffText" => Style.new(:bg => blue.mix_with(@ui['background'], 100), :fg => @ui['foreground'], :bold => true),
|
87
|
+
"ErrorMsg" => "invalid",
|
88
|
+
"WarningMsg" => "invalid",
|
89
|
+
# "Exception" => [],
|
90
|
+
"Float" => "constant.numeric",
|
91
|
+
"Function" => "entity.name.function",
|
92
|
+
"Identifier" => "storage.type",
|
93
|
+
# "Include" => [],
|
94
|
+
"Keyword" => "keyword",
|
95
|
+
"Label" => "string.other",
|
96
|
+
# "Macro" => [],
|
97
|
+
"NonText" => Style.new(:fg => @ui["invisibles"], :bg => @ui["background"].mix_with(@ui["foreground"], 95)),
|
98
|
+
"Number" => "constant.numeric",
|
99
|
+
"Operator" => "keyword.operator",
|
100
|
+
# "PreCondit" => [],
|
101
|
+
"PreProc" => "keyword.other",
|
102
|
+
# "Repeat" => [],
|
103
|
+
"Special" => Style.new(:fg => @ui["foreground"]),
|
104
|
+
# "SpecialChar" => [],
|
105
|
+
# "SpecialComment" => [],
|
106
|
+
"SpecialKey" => Style.new(:fg => @ui["invisibles"], :bg => bg_line_color),
|
107
|
+
"Statement" => "keyword.control",
|
103
108
|
"StorageClass" => "storage.type",
|
104
|
-
"String"
|
105
|
-
#"Structure" => [],
|
106
|
-
"Tag"
|
107
|
-
"Title"
|
108
|
-
"Todo"
|
109
|
-
"Type"
|
110
|
-
#"Typedef" => [],
|
111
|
-
"Underlined"
|
109
|
+
"String" => "string,string.quoted",
|
110
|
+
# "Structure" => [],
|
111
|
+
"Tag" => "entity.name.tag",
|
112
|
+
"Title" => Style.new(:fg => @ui["foreground"], :bold => true),
|
113
|
+
"Todo" => (@items["comment"] || default_style).clone.tap { |c| c.inverse = true; c.bold = true },
|
114
|
+
"Type" => "entity.name.type",
|
115
|
+
# "Typedef" => [],
|
116
|
+
"Underlined" => Style.new(:underline => true),
|
112
117
|
|
113
118
|
# ruby
|
114
|
-
"rubyClass"
|
115
|
-
"rubyFunction"
|
119
|
+
"rubyClass" => "keyword.controll.class.ruby",
|
120
|
+
"rubyFunction" => "entity.name.function.ruby",
|
116
121
|
"rubyInterpolationDelimiter" => "",
|
117
|
-
"rubySymbol"
|
118
|
-
"rubyConstant"
|
119
|
-
"rubyStringDelimiter"
|
120
|
-
"rubyBlockParameter"
|
121
|
-
"rubyInstanceVariable"
|
122
|
-
"rubyInclude"
|
123
|
-
"rubyGlobalVariable"
|
124
|
-
"rubyRegexp"
|
125
|
-
"rubyRegexpDelimiter"
|
126
|
-
"rubyEscape"
|
127
|
-
"rubyControl"
|
128
|
-
"rubyClassVariable"
|
129
|
-
"rubyOperator"
|
130
|
-
"rubyException"
|
131
|
-
"rubyPseudoVariable"
|
122
|
+
"rubySymbol" => "constant.other.symbol.ruby",
|
123
|
+
"rubyConstant" => "support.class",
|
124
|
+
"rubyStringDelimiter" => "string,string.quoted",
|
125
|
+
"rubyBlockParameter" => "variable.parameter",
|
126
|
+
"rubyInstanceVariable" => "variable.language",
|
127
|
+
"rubyInclude" => "keyword.other.special-method.ruby",
|
128
|
+
"rubyGlobalVariable" => "variable.other",
|
129
|
+
"rubyRegexp" => "string.regexp",
|
130
|
+
"rubyRegexpDelimiter" => "string.regexp",
|
131
|
+
"rubyEscape" => "constant.character.escape",
|
132
|
+
"rubyControl" => "keyword.control",
|
133
|
+
"rubyClassVariable" => "variable",
|
134
|
+
"rubyOperator" => "keyword.operator",
|
135
|
+
"rubyException" => "keyword.other.special-method.ruby",
|
136
|
+
"rubyPseudoVariable" => "variable.language.ruby",
|
132
137
|
|
133
138
|
# rails
|
134
|
-
"rubyRailsUserClass"
|
139
|
+
"rubyRailsUserClass" => "support.class.ruby",
|
135
140
|
"rubyRailsARAssociationMethod" => "support.function.activerecord.rails",
|
136
|
-
"rubyRailsARMethod"
|
137
|
-
"rubyRailsRenderMethod"
|
138
|
-
"rubyRailsMethod"
|
141
|
+
"rubyRailsARMethod" => "support.function.activerecord.rails",
|
142
|
+
"rubyRailsRenderMethod" => "support.function",
|
143
|
+
"rubyRailsMethod" => "support.function",
|
139
144
|
|
140
145
|
# eruby
|
141
|
-
"erubyDelimiter"
|
142
|
-
"erubyComment"
|
146
|
+
"erubyDelimiter" => "punctuation.section.embedded.ruby",
|
147
|
+
"erubyComment" => "comment",
|
143
148
|
"erubyRailsMethod" => "support.function",
|
144
|
-
#"erubyExpression" => "text.html.ruby source",
|
145
|
-
#"erubyDelimiter" => "",
|
149
|
+
# "erubyExpression" => "text.html.ruby source",
|
150
|
+
# "erubyDelimiter" => "",
|
146
151
|
|
147
152
|
# html
|
148
|
-
"htmlTag"
|
149
|
-
"htmlEndTag"
|
150
|
-
"htmlTagName"
|
151
|
-
"htmlArg"
|
153
|
+
"htmlTag" => "meta.tag entity",
|
154
|
+
"htmlEndTag" => "meta.tag entity",
|
155
|
+
"htmlTagName" => "meta.tag entity",
|
156
|
+
"htmlArg" => "meta.tag entity",
|
152
157
|
"htmlSpecialChar" => "constant.character.entity.html",
|
153
158
|
|
154
159
|
# javascript
|
155
|
-
"javaScriptFunction"
|
160
|
+
"javaScriptFunction" => "storage.type.function.js",
|
156
161
|
"javaScriptRailsFunction" => "support.function",
|
157
|
-
"javaScriptBraces"
|
162
|
+
"javaScriptBraces" => "meta.brace.curly.js",
|
158
163
|
|
159
164
|
# yaml
|
160
|
-
"yamlKey"
|
161
|
-
"yamlAnchor"
|
162
|
-
"yamlAlias"
|
165
|
+
"yamlKey" => "entity.name.tag.yaml",
|
166
|
+
"yamlAnchor" => "variable.other.yaml",
|
167
|
+
"yamlAlias" => "variable.other.yaml",
|
163
168
|
"yamlDocumentHeader" => "string.unquoted.yaml",
|
164
169
|
|
165
170
|
# css
|
166
|
-
"cssURL"
|
167
|
-
"cssFunctionName"
|
168
|
-
"cssColor"
|
171
|
+
"cssURL" => "variable.parameter.misc.css",
|
172
|
+
"cssFunctionName" => "support.function.misc.css",
|
173
|
+
"cssColor" => "constant.other.color.rgb-value.css",
|
169
174
|
"cssPseudoClassId" => "entity.other.attribute-name.pseudo-class.css",
|
170
|
-
"cssClassName"
|
171
|
-
"cssValueLength"
|
172
|
-
"cssCommonAttr"
|
173
|
-
"cssBraces"
|
175
|
+
"cssClassName" => "entity.other.attribute-name.class.css",
|
176
|
+
"cssValueLength" => "constant.numeric.css",
|
177
|
+
"cssCommonAttr" => "support.constant.property-value.css",
|
178
|
+
"cssBraces" => "punctuation.section.property-list.css",
|
174
179
|
}
|
175
180
|
|
176
181
|
items_mapping.keys.each do |key|
|
@@ -182,12 +187,9 @@ module Coloration
|
|
182
187
|
|
183
188
|
protected
|
184
189
|
|
185
|
-
def add_line(line="")
|
186
|
-
(@lines ||= []) << line
|
187
|
-
end
|
188
|
-
|
189
190
|
def format_item(name, style_or_item_name)
|
190
|
-
raise RuntimeError
|
191
|
+
raise RuntimeError, "Style for #{name} is missing!" if style_or_item_name.nil?
|
192
|
+
|
191
193
|
if style_or_item_name == :inverse
|
192
194
|
"hi #{name} gui=inverse"
|
193
195
|
else
|
@@ -277,6 +279,9 @@ module Coloration
|
|
277
279
|
|
278
280
|
colors.last
|
279
281
|
end
|
280
|
-
|
281
|
-
|
282
|
-
|
282
|
+
|
283
|
+
end # VimThemeWriter
|
284
|
+
|
285
|
+
end # Writers
|
286
|
+
|
287
|
+
end # Coloration
|