Merge pull request #385 from leecannon/update_to_master
Update to master
This commit is contained in:
commit
e472fca3be
@ -1764,14 +1764,10 @@ fn addOutlineNodes(allocator: *std.mem.Allocator, tree: ast.Tree, child: ast.Nod
|
|||||||
.@"while",
|
.@"while",
|
||||||
.while_simple,
|
.while_simple,
|
||||||
.while_cont,
|
.while_cont,
|
||||||
.true_literal,
|
|
||||||
.false_literal,
|
|
||||||
.null_literal,
|
|
||||||
.@"defer",
|
.@"defer",
|
||||||
.@"if",
|
.@"if",
|
||||||
.if_simple,
|
.if_simple,
|
||||||
.multiline_string_literal,
|
.multiline_string_literal,
|
||||||
.undefined_literal,
|
|
||||||
.@"anytype",
|
.@"anytype",
|
||||||
.block,
|
.block,
|
||||||
.block_semicolon,
|
.block_semicolon,
|
||||||
@ -3225,10 +3221,6 @@ fn makeScopeInternal(
|
|||||||
.char_literal,
|
.char_literal,
|
||||||
.integer_literal,
|
.integer_literal,
|
||||||
.float_literal,
|
.float_literal,
|
||||||
.false_literal,
|
|
||||||
.true_literal,
|
|
||||||
.null_literal,
|
|
||||||
.undefined_literal,
|
|
||||||
.unreachable_literal,
|
.unreachable_literal,
|
||||||
.@"continue",
|
.@"continue",
|
||||||
=> {},
|
=> {},
|
||||||
|
@ -446,10 +446,6 @@ pub fn lastToken(tree: ast.Tree, node: ast.Node.Index) ast.TokenIndex {
|
|||||||
.char_literal,
|
.char_literal,
|
||||||
.integer_literal,
|
.integer_literal,
|
||||||
.float_literal,
|
.float_literal,
|
||||||
.false_literal,
|
|
||||||
.true_literal,
|
|
||||||
.null_literal,
|
|
||||||
.undefined_literal,
|
|
||||||
.unreachable_literal,
|
.unreachable_literal,
|
||||||
.identifier,
|
.identifier,
|
||||||
.deref,
|
.deref,
|
||||||
|
@ -107,7 +107,7 @@ const Builder = struct {
|
|||||||
// TODO More highlighting here
|
// TODO More highlighting here
|
||||||
const tok_id = tree.tokens.items(.tag)[tok];
|
const tok_id = tree.tokens.items(.tag)[tok];
|
||||||
const tok_type: TokenType = switch (tok_id) {
|
const tok_type: TokenType = switch (tok_id) {
|
||||||
.keyword_true, .keyword_false, .keyword_null, .keyword_undefined, .keyword_unreachable => .keywordLiteral,
|
.keyword_unreachable => .keywordLiteral,
|
||||||
.integer_literal, .float_literal => .number,
|
.integer_literal, .float_literal => .number,
|
||||||
.string_literal, .multiline_string_literal_line, .char_literal => .string,
|
.string_literal, .multiline_string_literal_line, .char_literal => .string,
|
||||||
.period, .comma, .r_paren, .l_paren, .r_brace, .l_brace, .semicolon, .colon => return,
|
.period, .comma, .r_paren, .l_paren, .r_brace, .l_brace, .semicolon, .colon => return,
|
||||||
@ -770,12 +770,7 @@ fn writeNodeTokens(
|
|||||||
|
|
||||||
while (cur_tok <= last_tok) : (cur_tok += 1) try writeToken(builder, cur_tok, .string);
|
while (cur_tok <= last_tok) : (cur_tok += 1) try writeToken(builder, cur_tok, .string);
|
||||||
},
|
},
|
||||||
.true_literal,
|
.unreachable_literal => {
|
||||||
.false_literal,
|
|
||||||
.null_literal,
|
|
||||||
.undefined_literal,
|
|
||||||
.unreachable_literal,
|
|
||||||
=> {
|
|
||||||
try writeToken(builder, main_token, .keywordLiteral);
|
try writeToken(builder, main_token, .keywordLiteral);
|
||||||
},
|
},
|
||||||
.error_set_decl => {
|
.error_set_decl => {
|
||||||
|
@ -176,11 +176,15 @@ test "Request completion in an empty file" {
|
|||||||
|
|
||||||
test "Request completion with no trailing whitespace" {
|
test "Request completion with no trailing whitespace" {
|
||||||
var server = try Server.start(initialize_msg, null);
|
var server = try Server.start(initialize_msg, null);
|
||||||
defer server.shutdown();
|
|
||||||
|
// FIXME: The last `server.request` below results in the server pipe being broken
|
||||||
|
// causing this shutdown to trigger `SIGPIPE`
|
||||||
|
//defer server.shutdown();
|
||||||
|
|
||||||
try server.request("textDocument/didOpen",
|
try server.request("textDocument/didOpen",
|
||||||
\\{"textDocument":{"uri":"file:///test.zig","languageId":"zig","version":420,"text":"const std = @import(\"std\");\nc"}}
|
\\{"textDocument":{"uri":"file:///test.zig","languageId":"zig","version":420,"text":"const std = @import(\"std\");\nc"}}
|
||||||
, null);
|
, null);
|
||||||
|
|
||||||
try server.request("textDocument/completion",
|
try server.request("textDocument/completion",
|
||||||
\\{"textDocument":{"uri":"file:///test.zig"}, "position":{"line":1,"character":1}}
|
\\{"textDocument":{"uri":"file:///test.zig"}, "position":{"line":1,"character":1}}
|
||||||
,
|
,
|
||||||
@ -190,7 +194,10 @@ test "Request completion with no trailing whitespace" {
|
|||||||
|
|
||||||
test "Encoded space in file name and usingnamespace on non-existing symbol" {
|
test "Encoded space in file name and usingnamespace on non-existing symbol" {
|
||||||
var server = try Server.start(initialize_msg, null);
|
var server = try Server.start(initialize_msg, null);
|
||||||
defer server.shutdown();
|
|
||||||
|
// FIXME: The last `server.request` below results in the server pipe being broken
|
||||||
|
// causing this shutdown to trigger `SIGPIPE`
|
||||||
|
//defer server.shutdown();
|
||||||
|
|
||||||
try server.request("textDocument/didOpen",
|
try server.request("textDocument/didOpen",
|
||||||
\\{"textDocument":{"uri":"file:///%20test.zig","languageId":"zig","version":420,"text":"usingnamespace a.b;\nb."}}
|
\\{"textDocument":{"uri":"file:///%20test.zig","languageId":"zig","version":420,"text":"usingnamespace a.b;\nb."}}
|
||||||
@ -204,7 +211,11 @@ test "Encoded space in file name and usingnamespace on non-existing symbol" {
|
|||||||
|
|
||||||
test "Self-referential definition" {
|
test "Self-referential definition" {
|
||||||
var server = try Server.start(initialize_msg, null);
|
var server = try Server.start(initialize_msg, null);
|
||||||
defer server.shutdown();
|
|
||||||
|
// FIXME: The last `server.request` below results in the server pipe being broken
|
||||||
|
// causing this shutdown to trigger `SIGPIPE`
|
||||||
|
//defer server.shutdown();
|
||||||
|
|
||||||
try server.request("textDocument/didOpen",
|
try server.request("textDocument/didOpen",
|
||||||
\\{"textDocument":{"uri":"file:///test.zig","languageId":"zig","version":420,"text":"const h = h(0);\nc"}}
|
\\{"textDocument":{"uri":"file:///test.zig","languageId":"zig","version":420,"text":"const h = h(0);\nc"}}
|
||||||
, null);
|
, null);
|
||||||
@ -216,7 +227,11 @@ test "Self-referential definition" {
|
|||||||
}
|
}
|
||||||
test "Missing return type" {
|
test "Missing return type" {
|
||||||
var server = try Server.start(initialize_msg, null);
|
var server = try Server.start(initialize_msg, null);
|
||||||
defer server.shutdown();
|
|
||||||
|
// FIXME: The last `server.request` below results in the server pipe being broken
|
||||||
|
// causing this shutdown to trigger `SIGPIPE`
|
||||||
|
//defer server.shutdown();
|
||||||
|
|
||||||
try server.request("textDocument/didOpen",
|
try server.request("textDocument/didOpen",
|
||||||
\\{"textDocument":{"uri":"file:///test.zig","languageId":"zig","version":420,"text":"fn w() {}\nc"}}
|
\\{"textDocument":{"uri":"file:///test.zig","languageId":"zig","version":420,"text":"fn w() {}\nc"}}
|
||||||
, null);
|
, null);
|
||||||
@ -229,7 +244,11 @@ test "Missing return type" {
|
|||||||
|
|
||||||
test "Pointer and optional deref" {
|
test "Pointer and optional deref" {
|
||||||
var server = try Server.start(initialize_msg, null);
|
var server = try Server.start(initialize_msg, null);
|
||||||
defer server.shutdown();
|
|
||||||
|
// FIXME: The last `server.request` below results in the server pipe being broken
|
||||||
|
// causing this shutdown to trigger `SIGPIPE`
|
||||||
|
//defer server.shutdown();
|
||||||
|
|
||||||
try server.request("textDocument/didOpen",
|
try server.request("textDocument/didOpen",
|
||||||
\\{"textDocument":{"uri":"file:///test.zig","languageId":"zig","version":420,"text":"var value: ?struct { data: i32 = 5 } = null;const ptr = &value;\nconst a = ptr.*.?."}}
|
\\{"textDocument":{"uri":"file:///test.zig","languageId":"zig","version":420,"text":"var value: ?struct { data: i32 = 5 } = null;const ptr = &value;\nconst a = ptr.*.?."}}
|
||||||
, null);
|
, null);
|
||||||
|
Loading…
Reference in New Issue
Block a user