Fix completion of functions
This commit is contained in:
parent
ac485f65f8
commit
dd9ec8e450
@ -464,6 +464,19 @@ pub fn getFieldAccessTypeNode(
|
||||
} else return null;
|
||||
}
|
||||
},
|
||||
.LParen => {
|
||||
switch (current_node.id) {
|
||||
.FnProto => {
|
||||
const func = current_node.cast(ast.Node.FnProto).?;
|
||||
if (resolveReturnType(analysis_ctx, func, current_node)) |ret| {
|
||||
current_node = ret;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
else => {}
|
||||
}
|
||||
},
|
||||
else => std.debug.warn("Not implemented; {}\n", .{next.id}),
|
||||
}
|
||||
}
|
||||
|
@ -543,6 +543,11 @@ fn documentPositionContext(doc: types.TextDocument, pos_index: usize) PositionCo
|
||||
curr_position = 0;
|
||||
var expr_start: usize = skipped_ws;
|
||||
|
||||
// std.debug.warn("{}", .{curr_position});
|
||||
|
||||
if (pos_index != 0 and doc.text[pos_index - 1] == ')')
|
||||
return .{ .field_access = expr_start };
|
||||
|
||||
var new_token = true;
|
||||
var context: PositionContext = .other;
|
||||
var string_pop_ctx: PositionContext = .other;
|
||||
@ -791,6 +796,8 @@ fn processJsonRpc(parser: *std.json.Parser, json: []const u8, config: Config) !v
|
||||
const pos_index = try handle.document.positionToIndex(pos);
|
||||
const pos_context = documentPositionContext(handle.document, pos_index);
|
||||
|
||||
std.debug.warn("{}", .{pos_context});
|
||||
|
||||
const this_config = configFromUriOr(uri, config);
|
||||
switch (pos_context) {
|
||||
.builtin => try send(types.Response{
|
||||
|
Loading…
Reference in New Issue
Block a user