Merge pull request #5 from alexnask/modernize_code

Switched to anonymous struct and enum literals. Thanks alexnask!
This commit is contained in:
Auguste Rame 2020-05-07 09:17:33 -04:00 committed by GitHub
commit 92a03ab9d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -45,12 +45,12 @@ pub fn log(comptime fmt: []const u8, args: var) !void {
try send(types.Notification{
.method = "window/logMessage",
.params = types.NotificationParams{
.LogMessageParams = types.LogMessageParams{
.@"type" = types.MessageType.Log,
.message = message
.params = .{
.LogMessageParams = .{
.@"type" = .Log,
.message = message,
}
}
},
});
}
@ -71,9 +71,9 @@ pub fn respondGeneric(id: i64, response: []const u8) !void {
pub fn openDocument(uri: []const u8, text: []const u8) !void {
const du = try std.mem.dupe(allocator, u8, uri);
_ = try documents.put(du, types.TextDocument{
_ = try documents.put(du, .{
.uri = du,
.text = try std.mem.dupe(allocator, u8, text)
.text = try std.mem.dupe(allocator, u8, text),
});
}
@ -93,18 +93,18 @@ pub fn publishDiagnostics(document: types.TextDocument) !void {
var fbs = std.io.fixedBufferStream(&mem_buffer);
_ = try tree.renderError(err, fbs.outStream());
try diagnostics.append(types.Diagnostic{
.range = types.Range{
.start = types.Position{
try diagnostics.append(.{
.range = .{
.start = .{
.line = @intCast(i64, loc.line),
.character = @intCast(i64, loc.column)
.character = @intCast(i64, loc.column),
},
.end = types.Position{
.end = .{
.line = @intCast(i64, loc.line),
.character = @intCast(i64, loc.column)
}
.character = @intCast(i64, loc.column),
},
},
.severity = types.DiagnosticSeverity.Error,
.severity = .Error,
.code = @tagName(err.*),
.source = "zls",
.message = fbs.getWritten(),
@ -121,18 +121,18 @@ pub fn publishDiagnostics(document: types.TextDocument) !void {
if (func.name_token) |name_token| {
const loc = tree.tokenLocation(0, name_token);
if (func.extern_export_inline_token == null and !analysis.isCamelCase(tree.tokenSlice(name_token))) {
try diagnostics.append(types.Diagnostic{
.range = types.Range{
.start = types.Position{
try diagnostics.append(.{
.range = .{
.start = .{
.line = @intCast(i64, loc.line),
.character = @intCast(i64, loc.column)
.character = @intCast(i64, loc.column),
},
.end = types.Position{
.end = .{
.line = @intCast(i64, loc.line),
.character = @intCast(i64, loc.column)
}
.character = @intCast(i64, loc.column),
},
},
.severity = types.DiagnosticSeverity.Information,
.severity = .Information,
.code = "BadStyle",
.source = "zls",
.message = "Callables should be camelCase"
@ -147,11 +147,11 @@ pub fn publishDiagnostics(document: types.TextDocument) !void {
try send(types.Notification{
.method = "textDocument/publishDiagnostics",
.params = types.NotificationParams{
.PublishDiagnosticsParams = types.PublishDiagnosticsParams{
.params = .{
.PublishDiagnosticsParams = .{
.uri = document.uri,
.diagnostics = diagnostics.toOwnedSlice()
}
.diagnostics = diagnostics.toOwnedSlice(),
},
}
});
}
@ -174,28 +174,28 @@ pub fn completeGlobal(id: i64, document: types.TextDocument) !void {
const func = decl.cast(std.zig.ast.Node.FnProto).?;
var doc_comments = try analysis.getDocComments(allocator, tree, decl);
var doc = types.MarkupContent{
.kind = types.MarkupKind.Markdown,
.value = doc_comments orelse ""
.kind = .Markdown,
.value = doc_comments orelse "",
};
try completions.append(types.CompletionItem{
try completions.append(.{
.label = tree.tokenSlice(func.name_token.?),
.kind = types.CompletionItemKind.Function,
.kind = .Function,
.documentation = doc,
.detail = analysis.getFunctionSignature(tree, func)
.detail = analysis.getFunctionSignature(tree, func),
});
},
.VarDecl => {
const var_decl = decl.cast(std.zig.ast.Node.VarDecl).?;
var doc_comments = try analysis.getDocComments(allocator, tree, decl);
var doc = types.MarkupContent{
.kind = types.MarkupKind.Markdown,
.value = doc_comments orelse ""
.kind = .Markdown,
.value = doc_comments orelse "",
};
try completions.append(types.CompletionItem{
try completions.append(.{
.label = tree.tokenSlice(var_decl.name_token),
.kind = types.CompletionItemKind.Variable,
.kind = .Variable,
.documentation = doc,
.detail = analysis.getVariableSignature(tree, var_decl)
.detail = analysis.getVariableSignature(tree, var_decl),
});
},
else => {}
@ -205,12 +205,12 @@ pub fn completeGlobal(id: i64, document: types.TextDocument) !void {
try send(types.Response{
.id = .{.Integer = id},
.result = types.ResponseParams{
.CompletionList = types.CompletionList{
.result = .{
.CompletionList = .{
.isIncomplete = false,
.items = completions.toOwnedSlice()
}
}
.items = completions.toOwnedSlice(),
},
},
});
}
@ -305,29 +305,29 @@ pub fn processJsonRpc(json: []const u8) !void {
for (data.builtins) |builtin, i| {
var cutoff = std.mem.indexOf(u8, builtin, "(") orelse builtin.len;
builtin_completions[i] = types.CompletionItem{
builtin_completions[i] = .{
.label = builtin[0..cutoff],
.kind = types.CompletionItemKind.Function,
.kind = .Function,
.filterText = builtin[1..cutoff],
.insertText = builtin[1..],
.insertTextFormat = types.InsertTextFormat.Snippet,
.insertTextFormat = .Snippet,
.detail = data.builtin_details[i],
.documentation = types.MarkupContent{
.kind = types.MarkupKind.Markdown,
.value = data.builtin_docs[i]
}
.documentation = .{
.kind = .Markdown,
.value = data.builtin_docs[i],
},
};
}
try send(types.Response{
.id = .{.Integer = id},
.result = types.ResponseParams{
.CompletionList = types.CompletionList{
.result = .{
.CompletionList = .{
.isIncomplete = false,
.items = builtin_completions[0..]
}
}
.items = builtin_completions[0..],
},
},
});
} else if (char != '.') {
try completeGlobal(id, document);