From 824f10aa9ae1ea753d7d143ec27c8511850110e1 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Tue, 19 Feb 2013 14:33:22 -0500 Subject: [PATCH] better error message when help search syntax isn't a valid java.util.regex --- main/command/src/main/scala/sbt/CommandUtil.scala | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/main/command/src/main/scala/sbt/CommandUtil.scala b/main/command/src/main/scala/sbt/CommandUtil.scala index f67550906..d0ce8ed92 100644 --- a/main/command/src/main/scala/sbt/CommandUtil.scala +++ b/main/command/src/main/scala/sbt/CommandUtil.scala @@ -1,7 +1,7 @@ package sbt import java.io.File - import java.util.regex.Pattern + import java.util.regex.{Pattern, PatternSyntaxException} import complete.Parser import complete.DefaultParsers._ @@ -42,13 +42,16 @@ object CommandUtil def detail(selected: String, detailMap: Map[String, String]): String = detailMap.get(selected) match { - case Some(exactDetail) =>exactDetail - case None => + case Some(exactDetail) => exactDetail + case None => try { val details = searchHelp(selected, detailMap) if(details.isEmpty) "No matches for regular expression '" + selected + "'." else layoutDetails(details) + } catch { + case pse: PatternSyntaxException => error("Invalid regular expression (java.util.regex syntax).\n" + pse.getMessage) + } } def searchHelp(selected: String, detailMap: Map[String, String]): Map[String, String] = {