]> git.lizzy.rs Git - rust.git/blobdiff - crates/rust-analyzer/src/semantic_tokens.rs
Replaced fold with for loop
[rust.git] / crates / rust-analyzer / src / semantic_tokens.rs
index 4fd576adbb78a20a22eafa4b53f81980c85be8f4..c6322327a5ee5c5fade32cf508e2136336051398 100644 (file)
@@ -41,16 +41,19 @@ macro_rules! define_semantic_token_types {
     (ANGLE, "angle"),
     (ARITHMETIC, "arithmetic"),
     (ATTRIBUTE, "attribute"),
+    (ATTRIBUTE_BRACKET, "attributeBracket"),
     (BITWISE, "bitwise"),
     (BOOLEAN, "boolean"),
     (BRACE, "brace"),
     (BRACKET, "bracket"),
+    (BUILTIN_ATTRIBUTE, "builtinAttribute"),
     (BUILTIN_TYPE, "builtinType"),
-    (CHAR_LITERAL, "characterLiteral"),
+    (CHAR, "character"),
     (COLON, "colon"),
     (COMMA, "comma"),
     (COMPARISON, "comparison"),
     (CONST_PARAMETER, "constParameter"),
+    (DERIVE, "derive"),
     (DOT, "dot"),
     (ESCAPE_SEQUENCE, "escapeSequence"),
     (FORMAT_SPECIFIER, "formatSpecifier"),
@@ -58,12 +61,14 @@ macro_rules! define_semantic_token_types {
     (LABEL, "label"),
     (LIFETIME, "lifetime"),
     (LOGICAL, "logical"),
+    (MACRO_BANG, "macroBang"),
     (OPERATOR, "operator"),
     (PARENTHESIS, "parenthesis"),
     (PUNCTUATION, "punctuation"),
     (SELF_KEYWORD, "selfKeyword"),
     (SEMICOLON, "semicolon"),
     (TYPE_ALIAS, "typeAlias"),
+    (TOOL_MODULE, "toolModule"),
     (UNION, "union"),
     (UNRESOLVED_REFERENCE, "unresolvedReference"),
 ];
@@ -80,23 +85,28 @@ macro_rules! define_semantic_token_modifiers {
             SemanticTokenModifier::ABSTRACT,
             SemanticTokenModifier::DEPRECATED,
             SemanticTokenModifier::READONLY,
+            SemanticTokenModifier::DEFAULT_LIBRARY,
             $($ident),*
         ];
     };
 }
 
 define_semantic_token_modifiers![
+    (ASYNC, "async"),
+    (ATTRIBUTE_MODIFIER, "attribute"),
+    (CALLABLE, "callable"),
     (CONSTANT, "constant"),
+    (CONSUMING, "consuming"),
     (CONTROL_FLOW, "controlFlow"),
+    (CRATE_ROOT, "crateRoot"),
     (INJECTED, "injected"),
+    (INTRA_DOC_LINK, "intraDocLink"),
+    (LIBRARY, "library"),
     (MUTABLE, "mutable"),
-    (CONSUMING, "consuming"),
-    (ASYNC, "async"),
-    (UNSAFE, "unsafe"),
-    (ATTRIBUTE_MODIFIER, "attribute"),
+    (PUBLIC, "public"),
+    (REFERENCE, "reference"),
     (TRAIT_MODIFIER, "trait"),
-    (CALLABLE, "callable"),
-    (INTRA_DOC_LINK, "intraDocLink"),
+    (UNSAFE, "unsafe"),
 ];
 
 #[derive(Default)]
@@ -111,7 +121,7 @@ fn bitor_assign(&mut self, rhs: SemanticTokenModifier) {
 
 /// Tokens are encoded relative to each other.
 ///
-/// This is a direct port of https://github.com/microsoft/vscode-languageserver-node/blob/f425af9de46a0187adb78ec8a46b9b2ce80c5412/server/src/sematicTokens.proposed.ts#L45
+/// This is a direct port of <https://github.com/microsoft/vscode-languageserver-node/blob/f425af9de46a0187adb78ec8a46b9b2ce80c5412/server/src/sematicTokens.proposed.ts#L45>
 pub(crate) struct SemanticTokensBuilder {
     id: String,
     prev_line: u32,