| 87 | } |
| 88 | |
| 89 | Json semanticTokensLegend() |
| 90 | { |
| 91 | Json legend; |
| 92 | |
| 93 | // NOTE! The (alphabetical) order and items must match exactly the items of |
| 94 | // their respective enum class members. |
| 95 | |
| 96 | Json tokenTypes = Json::array(); |
| 97 | tokenTypes.emplace_back("class"); |
| 98 | tokenTypes.emplace_back("comment"); |
| 99 | tokenTypes.emplace_back("enum"); |
| 100 | tokenTypes.emplace_back("enumMember"); |
| 101 | tokenTypes.emplace_back("event"); |
| 102 | tokenTypes.emplace_back("function"); |
| 103 | tokenTypes.emplace_back("interface"); |
| 104 | tokenTypes.emplace_back("keyword"); |
| 105 | tokenTypes.emplace_back("macro"); |
| 106 | tokenTypes.emplace_back("method"); |
| 107 | tokenTypes.emplace_back("modifier"); |
| 108 | tokenTypes.emplace_back("number"); |
| 109 | tokenTypes.emplace_back("operator"); |
| 110 | tokenTypes.emplace_back("parameter"); |
| 111 | tokenTypes.emplace_back("property"); |
| 112 | tokenTypes.emplace_back("std::string"); |
| 113 | tokenTypes.emplace_back("struct"); |
| 114 | tokenTypes.emplace_back("type"); |
| 115 | tokenTypes.emplace_back("typeParameter"); |
| 116 | tokenTypes.emplace_back("variable"); |
| 117 | legend["tokenTypes"] = tokenTypes; |
| 118 | |
| 119 | Json tokenModifiers = Json::array(); |
| 120 | tokenModifiers.emplace_back("abstract"); |
| 121 | tokenModifiers.emplace_back("declaration"); |
| 122 | tokenModifiers.emplace_back("definition"); |
| 123 | tokenModifiers.emplace_back("deprecated"); |
| 124 | tokenModifiers.emplace_back("documentation"); |
| 125 | tokenModifiers.emplace_back("modification"); |
| 126 | tokenModifiers.emplace_back("readonly"); |
| 127 | legend["tokenModifiers"] = tokenModifiers; |
| 128 | |
| 129 | return legend; |
| 130 | } |
| 131 | |
| 132 | } |
| 133 | |