Version 2.18.0-218.0.dev

Merge commit '77bf07a87f98c3dc4a6c3ee87e14ab023172f063' into 'dev'
diff --git a/pkg/analysis_server/lib/lsp_protocol/protocol_generated.dart b/pkg/analysis_server/lib/lsp_protocol/protocol_generated.dart
index 04d9334..00f7c4c 100644
--- a/pkg/analysis_server/lib/lsp_protocol/protocol_generated.dart
+++ b/pkg/analysis_server/lib/lsp_protocol/protocol_generated.dart
@@ -84,7 +84,7 @@
 /// The glob pattern. Either a string pattern or a relative pattern.
 ///
 /// @since 3.17.0
-typedef GlobPattern = Either2<Pattern, RelativePattern>;
+typedef GlobPattern = Either2<LspPattern, RelativePattern>;
 
 /// Inline value information can be provided by different means:
 /// - directly as a text value (class InlineValueText).
@@ -100,19 +100,6 @@
 /// @since 3.17.0
 typedef LSPArray = List<LSPAny>;
 
-/// A tagging type for string properties that are actually URIs
-///
-/// @since 3.16.0
-typedef LspUri = String;
-
-/// A notebook document filter denotes a notebook document by different
-/// properties. The properties will be match against the notebook's URI (same as
-/// with documents)
-///
-/// @since 3.17.0
-typedef NotebookDocumentFilter = Either3<NotebookDocumentFilter1,
-    NotebookDocumentFilter2, NotebookDocumentFilter3>;
-
 /// The glob pattern to watch relative to the base path. Glob patterns can have
 /// the following syntax:
 /// - `*` to match one or more characters in a path segment
@@ -126,7 +113,20 @@
 /// `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
 ///
 /// @since 3.17.0
-typedef Pattern = String;
+typedef LspPattern = String;
+
+/// A tagging type for string properties that are actually URIs
+///
+/// @since 3.16.0
+typedef LspUri = String;
+
+/// A notebook document filter denotes a notebook document by different
+/// properties. The properties will be match against the notebook's URI (same as
+/// with documents)
+///
+/// @since 3.17.0
+typedef NotebookDocumentFilter = Either3<NotebookDocumentFilter1,
+    NotebookDocumentFilter2, NotebookDocumentFilter3>;
 typedef PrepareRenameResult
     = Either3<PlaceholderAndRange, PrepareRenameResult2, Range>;
 typedef ProgressToken = Either2<int, String>;
@@ -23298,7 +23298,7 @@
   final Either2<LspUri, WorkspaceFolder> baseUri;
 
   /// The actual glob pattern;
-  final Pattern pattern;
+  final LspPattern pattern;
 
   @override
   Map<String, Object?> toJson() {
@@ -41631,7 +41631,8 @@
     }
     if ((!nullCheck || value != null) &&
         (value is! String && !RelativePattern.canParse(value, reporter))) {
-      reporter.reportError('must be of type Either2<Pattern, RelativePattern>');
+      reporter
+          .reportError('must be of type Either2<LspPattern, RelativePattern>');
       return false;
     }
   } finally {
@@ -42900,12 +42901,13 @@
           : throw '$value was not one of (SemanticTokensOptions, SemanticTokensRegistrationOptions)';
 }
 
-Either2<Pattern, RelativePattern> _eitherStringRelativePattern(Object? value) {
+Either2<LspPattern, RelativePattern> _eitherStringRelativePattern(
+    Object? value) {
   return value is String
       ? Either2.t1(value)
       : RelativePattern.canParse(value, nullLspJsonReporter)
           ? Either2.t2(RelativePattern.fromJson(value as Map<String, Object?>))
-          : throw '$value was not one of (Pattern, RelativePattern)';
+          : throw '$value was not one of (LspPattern, RelativePattern)';
 }
 
 Either2<LspUri, WorkspaceFolder> _eitherStringWorkspaceFolder(Object? value) {
diff --git a/pkg/analysis_server/tool/lsp_spec/meta_model_cleaner.dart b/pkg/analysis_server/tool/lsp_spec/meta_model_cleaner.dart
index 77a5af9..b1b77ef 100644
--- a/pkg/analysis_server/tool/lsp_spec/meta_model_cleaner.dart
+++ b/pkg/analysis_server/tool/lsp_spec/meta_model_cleaner.dart
@@ -364,6 +364,7 @@
           'SignatureInformationParameterInformation',
       'TextDocumentFilter2': 'TextDocumentFilterWithScheme',
       'PrepareRenameResult1': 'PlaceholderAndRange',
+      'Pattern': 'LspPattern',
       'URI': 'LspUri',
     };
 
diff --git a/tools/VERSION b/tools/VERSION
index 644cb13..927f53e 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 18
 PATCH 0
-PRERELEASE 217
+PRERELEASE 218
 PRERELEASE_PATCH 0
\ No newline at end of file