From 3c26892c7ef9d5c952b6dd02beaaa7d4e713b962 Mon Sep 17 00:00:00 2001 From: Techatrix <19954306+Techatrix@users.noreply.github.com> Date: Sat, 11 Mar 2023 01:06:17 +0000 Subject: [PATCH] limit maximum detail length at 1024 bytes (#1048) --- src/Server.zig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Server.zig b/src/Server.zig index dd15ba0..ec4a9e6 100644 --- a/src/Server.zig +++ b/src/Server.zig @@ -1533,10 +1533,11 @@ pub fn formatDetailledLabel(item: *types.CompletionItem, arena: std.mem.Allocato if (item.detail == null) return; - var detailLen: usize = item.detail.?.len; + const detail = item.detail.?[0..@min(1024, item.detail.?.len)]; + var detailLen: usize = detail.len; var it: []u8 = try arena.alloc(u8, detailLen); - detailLen -= std.mem.replace(u8, item.detail.?, " ", " ", it) * 3; + detailLen -= std.mem.replace(u8, detail, " ", " ", it) * 3; it = it[0..detailLen]; // HACK: for enums 'MyEnum.', item.detail shows everything, we don't want that