rewrite semantic token types union and opaque as type

The default themes on vscode color these the same as all other identifiers.
This commit is contained in:
Veikka Tuominen 2023-05-29 01:17:51 +03:00
parent 6471db5274
commit cda0fd4386
2 changed files with 11 additions and 8 deletions

View File

@ -115,9 +115,10 @@ const Builder = struct {
}
}
fn addDirect(self: *Builder, token_type: TokenType, token_modifiers: TokenModifiers, loc: offsets.Loc) error{OutOfMemory}!void {
fn addDirect(self: *Builder, param_token_type: TokenType, token_modifiers: TokenModifiers, loc: offsets.Loc) error{OutOfMemory}!void {
std.debug.assert(loc.start <= loc.end);
if (loc.start < self.previous_source_index) return;
var token_type = param_token_type;
switch (token_type) {
.type,
.enumMember,
@ -127,9 +128,11 @@ const Builder = struct {
.namespace,
.@"struct",
.@"enum",
=> {},
.@"union",
.@"opaque",
=> {},
=> token_type = .type,
.parameter,
.variable,

View File

@ -568,7 +568,7 @@ test "semantic tokens - union" {
\\const Foo = union {};
, &.{
.{ "const", .keyword, .{} },
.{ "Foo", .@"union", .{ .declaration = true } },
.{ "Foo", .type, .{ .declaration = true } },
.{ "=", .operator, .{} },
.{ "union", .keyword, .{} },
});
@ -576,7 +576,7 @@ test "semantic tokens - union" {
\\const Foo = packed union(enum) {};
, &.{
.{ "const", .keyword, .{} },
.{ "Foo", .@"union", .{ .declaration = true } },
.{ "Foo", .type, .{ .declaration = true } },
.{ "=", .operator, .{} },
.{ "packed", .keyword, .{} },
.{ "union", .keyword, .{} },
@ -588,7 +588,7 @@ test "semantic tokens - union" {
\\};
, &.{
.{ "const", .keyword, .{} },
.{ "Foo", .@"union", .{ .declaration = true } },
.{ "Foo", .type, .{ .declaration = true } },
.{ "=", .operator, .{} },
.{ "union", .keyword, .{} },
.{ "E", .variable, .{} },
@ -601,7 +601,7 @@ test "semantic tokens - union" {
\\};
, &.{
.{ "const", .keyword, .{} },
.{ "Foo", .@"union", .{ .declaration = true } },
.{ "Foo", .type, .{ .declaration = true } },
.{ "=", .operator, .{} },
.{ "union", .keyword, .{} },
.{ "E", .variable, .{} },
@ -615,7 +615,7 @@ test "semantic tokens - union" {
\\};
, &.{
.{ "const", .keyword, .{} },
.{ "Foo", .@"union", .{ .declaration = true } },
.{ "Foo", .type, .{ .declaration = true } },
.{ "=", .operator, .{} },
.{ "union", .keyword, .{} },
.{ "E", .variable, .{} },
@ -688,7 +688,7 @@ test "semantic tokens - opaque" {
\\const Foo = opaque {};
, &.{
.{ "const", .keyword, .{} },
.{ "Foo", .@"opaque", .{ .declaration = true } },
.{ "Foo", .type, .{ .declaration = true } },
.{ "=", .operator, .{} },
.{ "opaque", .keyword, .{} },
});