src/Tools/jEdit/src/token_markup.scala
changeset 53021 d0fa3f446b9d
parent 50663 f8d7d332fec0
child 53249 c95e9aee959c
equal deleted inserted replaced
53020:afdabfeb5e94 53021:d0fa3f446b9d
    26 object Token_Markup
    26 object Token_Markup
    27 {
    27 {
    28   /* editing support for control symbols */
    28   /* editing support for control symbols */
    29 
    29 
    30   val is_control_style =
    30   val is_control_style =
    31     Set(Symbol.sub_decoded, Symbol.sup_decoded,
    31     Set(Symbol.sub_decoded, Symbol.sup_decoded, Symbol.bold_decoded)
    32       Symbol.isub_decoded, Symbol.isup_decoded, Symbol.bold_decoded)
       
    33 
    32 
    34   def update_control_style(control: String, text: String): String =
    33   def update_control_style(control: String, text: String): String =
    35   {
    34   {
    36     val result = new StringBuilder
    35     val result = new StringBuilder
    37     for (sym <- Symbol.iterator(text) if !is_control_style(sym)) {
    36     for (sym <- Symbol.iterator(text) if !is_control_style(sym)) {
   159 
   158 
   160   def extended_styles(text: CharSequence): Map[Text.Offset, Byte => Byte] =
   159   def extended_styles(text: CharSequence): Map[Text.Offset, Byte => Byte] =
   161   {
   160   {
   162     // FIXME Symbol.bsub_decoded etc.
   161     // FIXME Symbol.bsub_decoded etc.
   163     def control_style(sym: String): Option[Byte => Byte] =
   162     def control_style(sym: String): Option[Byte => Byte] =
   164       if (sym == Symbol.sub_decoded || sym == Symbol.isub_decoded) Some(subscript(_))
   163       if (sym == Symbol.sub_decoded) Some(subscript(_))
   165       else if (sym == Symbol.sup_decoded || sym == Symbol.isup_decoded) Some(superscript(_))
   164       else if (sym == Symbol.sup_decoded) Some(superscript(_))
   166       else if (sym == Symbol.bold_decoded) Some(bold(_))
   165       else if (sym == Symbol.bold_decoded) Some(bold(_))
   167       else None
   166       else None
   168 
   167 
   169     var result = Map[Text.Offset, Byte => Byte]()
   168     var result = Map[Text.Offset, Byte => Byte]()
   170     def mark(start: Text.Offset, stop: Text.Offset, style: Byte => Byte)
   169     def mark(start: Text.Offset, stop: Text.Offset, style: Byte => Byte)