src/Pure/Isar/outer_syntax.scala
changeset 58907 0ee3563803c9
parent 58901 47809a811eba
child 58938 0c45680b7d9d
equal deleted inserted replaced
58906:29788e989d61 58907:0ee3563803c9
    84   override def toString: String = keywords.toString
    84   override def toString: String = keywords.toString
    85 
    85 
    86 
    86 
    87   /* add keywords */
    87   /* add keywords */
    88 
    88 
       
    89   def + (name: String): Outer_Syntax = this + (name, None, None)
       
    90   def + (name: String, kind: String): Outer_Syntax = this + (name, Some((kind, Nil)), None)
    89   def + (name: String, opt_kind: Option[(String, List[String])], replace: Option[String])
    91   def + (name: String, opt_kind: Option[(String, List[String])], replace: Option[String])
    90     : Outer_Syntax =
    92     : Outer_Syntax =
    91   {
    93   {
    92     val keywords1 =
    94     val keywords1 =
    93       opt_kind match {
    95       opt_kind match {
    97     val completion1 =
    99     val completion1 =
    98       if (replace == Some("")) completion
   100       if (replace == Some("")) completion
    99       else completion + (name, replace getOrElse name)
   101       else completion + (name, replace getOrElse name)
   100     new Outer_Syntax(keywords1, completion1, language_context, true)
   102     new Outer_Syntax(keywords1, completion1, language_context, true)
   101   }
   103   }
   102   def + (name: String): Outer_Syntax = this + (name, None, None)
       
   103   def + (name: String, kind: String): Outer_Syntax = this + (name, Some((kind, Nil)), None)
       
   104 
   104 
   105   def add_keywords(keywords: Thy_Header.Keywords): Outer_Syntax =
   105   def add_keywords(keywords: Thy_Header.Keywords): Outer_Syntax =
   106     (this /: keywords) {
   106     (this /: keywords) {
   107       case (syntax, (name, opt_spec, replace)) =>
   107       case (syntax, (name, opt_spec, replace)) =>
   108         val opt_kind = opt_spec.map(_._1)
   108         val opt_kind = opt_spec.map(_._1)