src/Pure/Isar/token.scala
changeset 59122 c1dbcde94cd2
parent 59083 88b0b1f28adc
child 59671 9715eb8e9408
--- a/src/Pure/Isar/token.scala	Tue Dec 09 20:00:45 2014 +0100
+++ b/src/Pure/Isar/token.scala	Tue Dec 09 21:14:11 2014 +0100
@@ -194,6 +194,9 @@
 sealed case class Token(val kind: Token.Kind.Value, val source: String)
 {
   def is_command: Boolean = kind == Token.Kind.COMMAND
+  def is_command_kind(keywords: Keyword.Keywords, pred: String => Boolean): Boolean =
+    is_command &&
+      (keywords.command_kind(source) match { case Some(k) => pred(k) case None => false })
   def is_keyword: Boolean = kind == Token.Kind.KEYWORD
   def is_delimiter: Boolean = is_keyword && !Symbol.is_ascii_identifier(source)
   def is_ident: Boolean = kind == Token.Kind.IDENT