Module: Coloration::Writers::JEditThemeWriter

Included in:
Converters::Textmate2JEditConverter
Defined in:
lib/coloration/writers/jedit_theme_writer.rb

Instance Method Summary collapse

Instance Method Details

#build_resultObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/coloration/writers/jedit_theme_writer.rb', line 5

def build_result
  add_line(format_comment(comment_text))
  add_line

  ui_mapping = {
    "scheme.name"             => @name,
    "view.fgColor"            => @ui["foreground"],
    "view.bgColor"            => @ui["background"],
    "view.caretColor"         => @ui["caret"],
    "view.selectionColor"     => @ui["selection"],
    "view.eolMarkerColor"     => @ui["invisibles"],
    "view.lineHighlightColor" => @ui["lineHighlight"],
  }

  ui_mapping.keys.each do |key|
    add_line(format_ui(key, ui_mapping[key]))
  end

  items_mapping = {
    "view.style.comment1"     => @items["comment"], # #foo
    "view.style.literal1"     => @items["string,string.quoted"], # "foo"
    "view.style.label"        => @items["constant.other.symbol"], # :foo
    "view.style.digit"        => @items["constant.numeric"], # 123
    "view.style.keyword1"     => @items["keyword.control"], # class, def, if, end
    "view.style.keyword2"     => @items["support.function"], # require, include
    "view.style.keyword3"     => @items["constant.language"], # true, false, nil
    "view.style.keyword4"     => @items["variable.other"], # @foo
    "view.style.operator"     => @items["keyword.operator"], # = < + -
    "view.style.function"     => @items["entity.name.function"], # def foo
    "view.style.literal3"     => @items["string.regexp"], # /jola/
  #         "view.style.invalid"      => @items["invalid"], # errors etc
    #"view.style.literal4" => :constant # MyClass, USER_SPACE
    "view.style.markup"       => @items["meta.tag"] || @items["entity.name.tag"] # <div>
    #TODO: gutter etc
  }

  default_style = Style.new
  default_style.foreground = @ui["foreground"]
  items_mapping.keys.each do |key|
    add_line(format_item(key, items_mapping[key] || default_style))
  end

  self.result = @lines.join("\n")
end