coloration 0.3.3 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|