Allow multiple versions in --available

Also allow NEXT.

Change-Id: I45b09bec8e6519baff9f15e58d2bdbf57b4b74b9
Reviewed-on: https://fuchsia-review.googlesource.com/c/fidlbolt/+/1063673
Reviewed-by: Ian McKellar <ianloic@google.com>
diff --git a/Makefile b/Makefile
index 9dda9f5..f079637 100644
--- a/Makefile
+++ b/Makefile
@@ -101,7 +101,7 @@
 		-verbose=$(VERBOSE)
 
 format:
-	cd frontend && npm run fix
+	cd frontend && npm run fmt
 	cd backend && go fmt
 
 clean:
diff --git a/backend/server.go b/backend/server.go
index 1f37c54..30dce91 100644
--- a/backend/server.go
+++ b/backend/server.go
@@ -24,7 +24,7 @@
 	fidlFormat, fidlLint, fidlc, fidlgenCpp, fidlgenHlcpp, fidlgenRust,
 	fidlgenGo, clangFormat, rustfmt program
 	// Optional external programs.
-	fidlgenDart    program
+	fidlgenDart program
 	// External files used by fidlbolt.
 	rustfmtToml string
 	// Cache of FIDL library information.
@@ -175,7 +175,7 @@
 }
 
 // versionSelectionRegexp is used to validate Options.VersionSelection.
-var versionSelectionRegexp = regexp.MustCompile(`^\s*([a-z][a-z0-9_]*:([0-9]+|HEAD|LEGACY)\s*)*$`)
+var versionSelectionRegexp = regexp.MustCompile(`^\s*([a-z][a-z0-9_]*:([0-9]+|NEXT|HEAD)(,([0-9]+|NEXT|HEAD))*\s*)*$`)
 
 // An annotation is a message targeted at a specific location of a file.
 type annotation struct {
diff --git a/frontend/src/elm/Mode.elm b/frontend/src/elm/Mode.elm
index 6b48e7e..b9ac2c6 100644
--- a/frontend/src/elm/Mode.elm
+++ b/frontend/src/elm/Mode.elm
@@ -169,7 +169,7 @@
     let
         versionSelectionRegex =
             Maybe.withDefault Regex.never <|
-                Regex.fromString "^\\s*([a-z][a-z0-9_]*:([0-9]+|HEAD|LEGACY)\\s*)*$"
+                Regex.fromString "^\\s*([a-z][a-z0-9_]*:([0-9]+|NEXT|HEAD)(,([0-9]+|NEXT|HEAD))*\\s*)*$"
 
         entries =
             case input of