[std.zig.
] parse(alloc, src)
-> Ast.parse(alloc, src, Ast.Mode)
(#966)
* Work in Zig's breaking changes (build sys apis) * [`std.zig.`] `parse(alloc, src)` -> `Ast.parse(alloc, src, Ast.Mode)`
This commit is contained in:
parent
384f227cb7
commit
bd539ae989
@ -7,7 +7,7 @@ const zls_version = std.builtin.Version{ .major = 0, .minor = 11, .patch = 0 };
|
|||||||
pub fn build(b: *std.build.Builder) !void {
|
pub fn build(b: *std.build.Builder) !void {
|
||||||
comptime {
|
comptime {
|
||||||
const current_zig = builtin.zig_version;
|
const current_zig = builtin.zig_version;
|
||||||
const min_zig = std.SemanticVersion.parse("0.11.0-dev.1524+efa25e7d5") catch return; // build API changes
|
const min_zig = std.SemanticVersion.parse("0.11.0-dev.1567+60935decd") catch return; // std.zig.parse(alloc, src) -> std.zig.Ast.parse(alloc, src, Ast.Mode)
|
||||||
if (current_zig.order(min_zig) == .lt) {
|
if (current_zig.order(min_zig) == .lt) {
|
||||||
@compileError(std.fmt.comptimePrint("Your Zig version v{} does not meet the minimum build requirement of v{}", .{ current_zig, min_zig }));
|
@compileError(std.fmt.comptimePrint("Your Zig version v{} does not meet the minimum build requirement of v{}", .{ current_zig, min_zig }));
|
||||||
}
|
}
|
||||||
|
@ -196,7 +196,7 @@ pub fn refreshDocument(self: *DocumentStore, uri: Uri, new_text: [:0]const u8) !
|
|||||||
self.allocator.free(handle.text);
|
self.allocator.free(handle.text);
|
||||||
handle.text = new_text;
|
handle.text = new_text;
|
||||||
|
|
||||||
var new_tree = try std.zig.parse(self.allocator, handle.text);
|
var new_tree = try Ast.parse(self.allocator, handle.text, .zig);
|
||||||
handle.tree.deinit(self.allocator);
|
handle.tree.deinit(self.allocator);
|
||||||
handle.tree = new_tree;
|
handle.tree = new_tree;
|
||||||
|
|
||||||
@ -619,7 +619,7 @@ fn createDocument(self: *DocumentStore, uri: Uri, text: [:0]u8, open: bool) erro
|
|||||||
var duped_uri = try self.allocator.dupe(u8, uri);
|
var duped_uri = try self.allocator.dupe(u8, uri);
|
||||||
errdefer self.allocator.free(duped_uri);
|
errdefer self.allocator.free(duped_uri);
|
||||||
|
|
||||||
var tree = try std.zig.parse(self.allocator, text);
|
var tree = try Ast.parse(self.allocator, text, .zig);
|
||||||
errdefer tree.deinit(self.allocator);
|
errdefer tree.deinit(self.allocator);
|
||||||
|
|
||||||
var nodes = tree.nodes.toMultiArrayList();
|
var nodes = tree.nodes.toMultiArrayList();
|
||||||
|
@ -53,7 +53,7 @@ fn testConvertCInclude(cimport_source: []const u8, expected: []const u8) !void {
|
|||||||
const source: [:0]u8 = try std.fmt.allocPrintZ(allocator, "const c = {s};", .{cimport_source});
|
const source: [:0]u8 = try std.fmt.allocPrintZ(allocator, "const c = {s};", .{cimport_source});
|
||||||
defer allocator.free(source);
|
defer allocator.free(source);
|
||||||
|
|
||||||
var ast = try std.zig.parse(allocator, source);
|
var ast = try Ast.parse(allocator, source, .zig);
|
||||||
defer ast.deinit(allocator);
|
defer ast.deinit(allocator);
|
||||||
|
|
||||||
const main_tokens = ast.nodes.items(.main_token);
|
const main_tokens = ast.nodes.items(.main_token);
|
||||||
|
@ -47,7 +47,7 @@ fn testNodesAtLoc(source: []const u8) !void {
|
|||||||
const new_source = try allocator.dupeZ(u8, ccp.new_source);
|
const new_source = try allocator.dupeZ(u8, ccp.new_source);
|
||||||
defer allocator.free(new_source);
|
defer allocator.free(new_source);
|
||||||
|
|
||||||
var tree = try std.zig.parse(allocator, new_source);
|
var tree = try std.zig.Ast.parse(allocator, new_source, .zig);
|
||||||
defer tree.deinit(allocator);
|
defer tree.deinit(allocator);
|
||||||
|
|
||||||
const nodes = try ast.nodesAtLoc(allocator, tree, inner_loc);
|
const nodes = try ast.nodesAtLoc(allocator, tree, inner_loc);
|
||||||
|
@ -4,6 +4,8 @@ const zls = @import("zls");
|
|||||||
const types = zls.types;
|
const types = zls.types;
|
||||||
const offsets = zls.offsets;
|
const offsets = zls.offsets;
|
||||||
|
|
||||||
|
const Ast = std.zig.Ast;
|
||||||
|
|
||||||
test "offsets - index <-> Position" {
|
test "offsets - index <-> Position" {
|
||||||
try testIndexPosition("", 0, 0, .{ 0, 0, 0 });
|
try testIndexPosition("", 0, 0, .{ 0, 0, 0 });
|
||||||
|
|
||||||
@ -116,8 +118,8 @@ fn testIndexPosition(text: []const u8, index: usize, line: u32, characters: [3]u
|
|||||||
try std.testing.expectEqual(index, offsets.positionToIndex(text, position32, .@"utf-32"));
|
try std.testing.expectEqual(index, offsets.positionToIndex(text, position32, .@"utf-32"));
|
||||||
}
|
}
|
||||||
|
|
||||||
fn testTokenToLoc(text: [:0]const u8, token_index: std.zig.Ast.TokenIndex, start: usize, end: usize) !void {
|
fn testTokenToLoc(text: [:0]const u8, token_index: Ast.TokenIndex, start: usize, end: usize) !void {
|
||||||
var tree = try std.zig.parse(std.testing.allocator, text);
|
var tree = try Ast.parse(std.testing.allocator, text, .zig);
|
||||||
defer tree.deinit(std.testing.allocator);
|
defer tree.deinit(std.testing.allocator);
|
||||||
|
|
||||||
const actual = offsets.tokenToLoc(tree, token_index);
|
const actual = offsets.tokenToLoc(tree, token_index);
|
||||||
|
Loading…
Reference in New Issue
Block a user