src/Tools/jEdit/src/jedit_rendering.scala
changeset 65144 b5782e996651
parent 65139 0a2c0712e432
child 65145 576d52aa0a78
equal deleted inserted replaced
65143:36cd85caf09a 65144:b5782e996651
   160 class JEdit_Rendering(snapshot: Document.Snapshot, options: Options)
   160 class JEdit_Rendering(snapshot: Document.Snapshot, options: Options)
   161   extends Rendering(snapshot, options, PIDE.resources)
   161   extends Rendering(snapshot, options, PIDE.resources)
   162 {
   162 {
   163   /* colors */
   163   /* colors */
   164 
   164 
   165   def color(s: String): Color = Color_Value(options.string(s))
   165   def color(s: String): Color =
       
   166     if (s == "text_color") text_color
       
   167     else Color_Value(options.string(s))
       
   168 
       
   169   def color(c: Rendering.Color.Value): Color = _rendering_colors(c)
   166 
   170 
   167   lazy val _rendering_colors: Map[Rendering.Color.Value, Color] =
   171   lazy val _rendering_colors: Map[Rendering.Color.Value, Color] =
   168     Rendering.Color.values.iterator.map(c => c -> color(c.toString + "_color")).toMap
   172     Rendering.Color.values.iterator.map(c => c -> color(c.toString + "_color")).toMap
   169 
   173 
   170   def color(c: Rendering.Color.Value): Color = _rendering_colors(c)
   174   val text_color = jEdit.getColorProperty("view.fgColor")
   171 
       
   172   val outdated_color = color("outdated_color")
   175   val outdated_color = color("outdated_color")
   173   val unprocessed_color = color("unprocessed_color")
   176   val unprocessed_color = color("unprocessed_color")
   174   val running_color = color("running_color")
   177   val running_color = color("running_color")
   175   val bullet_color = color("bullet_color")
   178   val bullet_color = color("bullet_color")
   176   val tooltip_color = color("tooltip_color")
   179   val tooltip_color = color("tooltip_color")
   179   val spell_checker_color = color("spell_checker_color")
   182   val spell_checker_color = color("spell_checker_color")
   180   val entity_ref_color = color("entity_ref_color")
   183   val entity_ref_color = color("entity_ref_color")
   181   val breakpoint_disabled_color = color("breakpoint_disabled_color")
   184   val breakpoint_disabled_color = color("breakpoint_disabled_color")
   182   val breakpoint_enabled_color = color("breakpoint_enabled_color")
   185   val breakpoint_enabled_color = color("breakpoint_enabled_color")
   183   val caret_debugger_color = color("caret_debugger_color")
   186   val caret_debugger_color = color("caret_debugger_color")
   184   val antiquote_color = color("antiquote_color")
       
   185   val highlight_color = color("highlight_color")
   187   val highlight_color = color("highlight_color")
   186   val hyperlink_color = color("hyperlink_color")
   188   val hyperlink_color = color("hyperlink_color")
   187   val active_hover_color = color("active_hover_color")
   189   val active_hover_color = color("active_hover_color")
   188   val keyword1_color = color("keyword1_color")
       
   189   val keyword2_color = color("keyword2_color")
       
   190   val keyword3_color = color("keyword3_color")
       
   191   val quasi_keyword_color = color("quasi_keyword_color")
       
   192   val improper_color = color("improper_color")
       
   193   val operator_color = color("operator_color")
       
   194   val caret_invisible_color = color("caret_invisible_color")
   190   val caret_invisible_color = color("caret_invisible_color")
   195   val completion_color = color("completion_color")
   191   val completion_color = color("completion_color")
   196   val search_color = color("search_color")
   192   val search_color = color("search_color")
   197 
       
   198   val tfree_color = color("tfree_color")
       
   199   val tvar_color = color("tvar_color")
       
   200   val free_color = color("free_color")
       
   201   val skolem_color = color("skolem_color")
       
   202   val bound_color = color("bound_color")
       
   203   val var_color = color("var_color")
       
   204   val inner_numeral_color = color("inner_numeral_color")
       
   205   val inner_quoted_color = color("inner_quoted_color")
       
   206   val inner_cartouche_color = color("inner_cartouche_color")
       
   207   val inner_comment_color = color("inner_comment_color")
       
   208   val dynamic_color = color("dynamic_color")
       
   209   val class_parameter_color = color("class_parameter_color")
       
   210 
   193 
   211 
   194 
   212   /* indentation */
   195   /* indentation */
   213 
   196 
   214   def indentation(range: Text.Range): Int =
   197   def indentation(range: Text.Range): Int =
   461   }
   444   }
   462 
   445 
   463 
   446 
   464   /* text color */
   447   /* text color */
   465 
   448 
   466   val foreground_color = jEdit.getColorProperty("view.fgColor")
   449   def text_color(range: Text.Range, current_color: Color): List[Text.Info[Color]] =
   467 
   450   {
   468   private lazy val text_colors: Map[String, Color] = Map(
   451     if (current_color == Token_Markup.hidden_color) List(Text.Info(range, current_color))
   469       Markup.KEYWORD1 -> keyword1_color,
       
   470       Markup.KEYWORD2 -> keyword2_color,
       
   471       Markup.KEYWORD3 -> keyword3_color,
       
   472       Markup.QUASI_KEYWORD -> quasi_keyword_color,
       
   473       Markup.IMPROPER -> improper_color,
       
   474       Markup.OPERATOR -> operator_color,
       
   475       Markup.STRING -> foreground_color,
       
   476       Markup.ALT_STRING -> foreground_color,
       
   477       Markup.VERBATIM -> foreground_color,
       
   478       Markup.CARTOUCHE -> foreground_color,
       
   479       Markup.LITERAL -> keyword1_color,
       
   480       Markup.DELIMITER -> foreground_color,
       
   481       Markup.TFREE -> tfree_color,
       
   482       Markup.TVAR -> tvar_color,
       
   483       Markup.FREE -> free_color,
       
   484       Markup.SKOLEM -> skolem_color,
       
   485       Markup.BOUND -> bound_color,
       
   486       Markup.VAR -> var_color,
       
   487       Markup.INNER_STRING -> inner_quoted_color,
       
   488       Markup.INNER_CARTOUCHE -> inner_cartouche_color,
       
   489       Markup.INNER_COMMENT -> inner_comment_color,
       
   490       Markup.DYNAMIC_FACT -> dynamic_color,
       
   491       Markup.CLASS_PARAMETER -> class_parameter_color,
       
   492       Markup.ANTIQUOTE -> antiquote_color,
       
   493       Markup.ML_KEYWORD1 -> keyword1_color,
       
   494       Markup.ML_KEYWORD2 -> keyword2_color,
       
   495       Markup.ML_KEYWORD3 -> keyword3_color,
       
   496       Markup.ML_DELIMITER -> foreground_color,
       
   497       Markup.ML_NUMERAL -> inner_numeral_color,
       
   498       Markup.ML_CHAR -> inner_quoted_color,
       
   499       Markup.ML_STRING -> inner_quoted_color,
       
   500       Markup.ML_COMMENT -> inner_comment_color,
       
   501       Markup.SML_STRING -> inner_quoted_color,
       
   502       Markup.SML_COMMENT -> inner_comment_color)
       
   503 
       
   504   private lazy val text_color_elements =
       
   505     Markup.Elements(text_colors.keySet)
       
   506 
       
   507   def text_color(range: Text.Range, color: Color): List[Text.Info[Color]] =
       
   508   {
       
   509     if (color == Token_Markup.hidden_color) List(Text.Info(range, color))
       
   510     else
   452     else
   511       snapshot.cumulate(range, color, text_color_elements, _ =>
   453       snapshot.cumulate(range, current_color, Rendering.text_color_elements, _ =>
   512         {
   454         {
   513           case (_, Text.Info(_, elem)) => text_colors.get(elem.name)
   455           case (_, Text.Info(_, elem)) => Rendering.text_color.get(elem.name).map(color(_))
   514         })
   456         })
   515   }
   457   }
   516 
   458 
   517 
   459 
   518   /* virtual bullets */
   460   /* virtual bullets */