From 01ff89eea34eee400e90ee6b76bebb621dc4f898 Mon Sep 17 00:00:00 2001 From: SuperAuguste Date: Thu, 7 May 2020 13:16:04 -0400 Subject: [PATCH] Add no_snippets --- build.zig | 6 ++++++ src/main.zig | 39 +++++++++++++++++++++++++++------------ 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/build.zig b/build.zig index a643231..e7b4ea8 100644 --- a/build.zig +++ b/build.zig @@ -23,6 +23,12 @@ pub fn build(b: *std.build.Builder) !void { data_version, ); + exe.addBuildOption( + bool, + "no_snippets", + b.option(bool, "no_snippets", "Use regular completion without snippets. Useful for compatibility.") orelse false, + ); + exe.addBuildOption( bool, "leak_detection", diff --git a/src/main.zig b/src/main.zig index 3223c10..d628270 100644 --- a/src/main.zig +++ b/src/main.zig @@ -261,19 +261,34 @@ const builtin_completions = block: { for (data.builtins) |builtin, i| { var cutoff = std.mem.indexOf(u8, builtin, "(") orelse builtin.len; - temp[i] = .{ - .label = builtin[0..cutoff], - .kind = .Function, + if (build_options.no_snippets) { + temp[i] = .{ + .label = builtin[0..cutoff], + .kind = .Function, - .filterText = builtin[1..cutoff], - .insertText = builtin[1..], - .insertTextFormat = .Snippet, - .detail = data.builtin_details[i], - .documentation = .{ - .kind = .Markdown, - .value = data.builtin_docs[i], - }, - }; + .filterText = builtin[1..cutoff], + .insertText = builtin[1..cutoff], + .detail = data.builtin_details[i], + .documentation = .{ + .kind = .Markdown, + .value = data.builtin_docs[i], + }, + }; + } else { + temp[i] = .{ + .label = builtin[0..cutoff], + .kind = .Function, + + .filterText = builtin[1..cutoff], + .insertText = builtin[1..], + .insertTextFormat = .Snippet, + .detail = data.builtin_details[i], + .documentation = .{ + .kind = .Markdown, + .value = data.builtin_docs[i], + }, + }; + } } break :block temp;