From 0fe944692b69bc9c83e931b488030cba9652a39e Mon Sep 17 00:00:00 2001 From: AlejandroSuero Date: Fri, 7 Jun 2024 01:13:55 +0200 Subject: [PATCH 1/4] feat(#49): exposing `suggestion_group` in config settings --- README.md | 3 +++ lua/supermaven-nvim/completion_preview.lua | 8 +++++++- lua/supermaven-nvim/document_listener.lua | 23 +++++++++++++++++++--- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ffd0811..142a135 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,8 @@ The `ignore_filetypes` table is used to ignore filetypes when using supermaven-n `suggestion_color` and `cterm` options can be used to set the color of the suggestion text. +`suggestion_group` is used to set the highlight group for the suggestion text. If `suggestion_group` is set, it will override `suggestion_color` and `cterm` values. + ```lua require("supermaven-nvim").setup({ keymaps = { @@ -49,6 +51,7 @@ require("supermaven-nvim").setup({ color = { suggestion_color = "#ffffff", cterm = 244, + suggestion_group = "Comment", -- if `suggestion_group` is set, it will override `suggestion_color` and `cterm` }, disable_inline_completion = false, -- disables inline completion for use with cmp disable_keymaps = false -- disables built in keymaps for more manual control diff --git a/lua/supermaven-nvim/completion_preview.lua b/lua/supermaven-nvim/completion_preview.lua index 382ea98..aea6384 100644 --- a/lua/supermaven-nvim/completion_preview.lua +++ b/lua/supermaven-nvim/completion_preview.lua @@ -1,9 +1,15 @@ local u = require("supermaven-nvim.util") +local config = require("supermaven-nvim.config") + +local suggestion_group = "Comment" +if config.config.color ~= nil then + suggestion_group = config.config.color.suggestion_group or "Comment" +end local CompletionPreview = { inlay_instance = nil, ns_id = vim.api.nvim_create_namespace("supermaven"), - suggestion_group = "Comment", + suggestion_group, disable_inline_completion = false, } diff --git a/lua/supermaven-nvim/document_listener.lua b/lua/supermaven-nvim/document_listener.lua index f0a450c..9aefdf4 100644 --- a/lua/supermaven-nvim/document_listener.lua +++ b/lua/supermaven-nvim/document_listener.lua @@ -40,14 +40,31 @@ M.setup = function() end, }) - if config.color and config.color.suggestion_color and config.color.cterm then + if config.color then vim.api.nvim_create_autocmd({ "VimEnter", "ColorScheme" }, { group = M.augroup, pattern = "*", callback = function(event) + if config.color.suggestion_group then + vim.api.nvim_set_hl(0, "SupermavenSuggestion", { + link = config.color.suggestion_group, + }) + elseif config.color.suggestion_color and config.color.cterm then + vim.api.nvim_set_hl(0, "SupermavenSuggestion", { + fg = config.color.suggestion_color, + ctermfg = config.color.cterm, + }) + end + preview.suggestion_group = "SupermavenSuggestion" + end, + }) + else + vim.api.nvim_create_autocmd({ "VimEnter", "ColorScheme" }, { + group = M.augroup, + pattern = "*", + callback = function(_) vim.api.nvim_set_hl(0, "SupermavenSuggestion", { - fg = config.color.suggestion_color, - ctermfg = config.color.cterm, + link = preview.suggestion_group, }) preview.suggestion_group = "SupermavenSuggestion" end, From bd41ba180a81353a8b04a7de70119005b819fd2c Mon Sep 17 00:00:00 2001 From: AlejandroSuero Date: Fri, 7 Jun 2024 01:24:30 +0200 Subject: [PATCH 2/4] fix: looping `SupermavenSuggestion` linked to itself --- lua/supermaven-nvim/document_listener.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/supermaven-nvim/document_listener.lua b/lua/supermaven-nvim/document_listener.lua index 9aefdf4..927c33c 100644 --- a/lua/supermaven-nvim/document_listener.lua +++ b/lua/supermaven-nvim/document_listener.lua @@ -64,7 +64,7 @@ M.setup = function() pattern = "*", callback = function(_) vim.api.nvim_set_hl(0, "SupermavenSuggestion", { - link = preview.suggestion_group, + link = "Comment", }) preview.suggestion_group = "SupermavenSuggestion" end, From 111350316d3fdfa526b11ae4cc5132cf75be5f3f Mon Sep 17 00:00:00 2001 From: AlejandroSuero Date: Fri, 7 Jun 2024 12:51:21 +0200 Subject: [PATCH 3/4] fix: `config.config.color` -> `config.color` --- lua/supermaven-nvim/completion_preview.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/supermaven-nvim/completion_preview.lua b/lua/supermaven-nvim/completion_preview.lua index aea6384..8463e2a 100644 --- a/lua/supermaven-nvim/completion_preview.lua +++ b/lua/supermaven-nvim/completion_preview.lua @@ -2,8 +2,8 @@ local u = require("supermaven-nvim.util") local config = require("supermaven-nvim.config") local suggestion_group = "Comment" -if config.config.color ~= nil then - suggestion_group = config.config.color.suggestion_group or "Comment" +if config.color ~= nil then + suggestion_group = config.color.suggestion_group or "Comment" end local CompletionPreview = { From 741e9a0b0866fc8be173b6ed60b16078474256e7 Mon Sep 17 00:00:00 2001 From: AlejandroSuero Date: Fri, 7 Jun 2024 18:04:39 +0200 Subject: [PATCH 4/4] refactor: reduced default as `Comment` --- lua/supermaven-nvim/completion_preview.lua | 2 +- lua/supermaven-nvim/document_listener.lua | 11 ----------- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/lua/supermaven-nvim/completion_preview.lua b/lua/supermaven-nvim/completion_preview.lua index 8463e2a..9af8bd2 100644 --- a/lua/supermaven-nvim/completion_preview.lua +++ b/lua/supermaven-nvim/completion_preview.lua @@ -9,7 +9,7 @@ end local CompletionPreview = { inlay_instance = nil, ns_id = vim.api.nvim_create_namespace("supermaven"), - suggestion_group, + suggestion_group = suggestion_group, disable_inline_completion = false, } diff --git a/lua/supermaven-nvim/document_listener.lua b/lua/supermaven-nvim/document_listener.lua index 927c33c..d77d0e8 100644 --- a/lua/supermaven-nvim/document_listener.lua +++ b/lua/supermaven-nvim/document_listener.lua @@ -58,17 +58,6 @@ M.setup = function() preview.suggestion_group = "SupermavenSuggestion" end, }) - else - vim.api.nvim_create_autocmd({ "VimEnter", "ColorScheme" }, { - group = M.augroup, - pattern = "*", - callback = function(_) - vim.api.nvim_set_hl(0, "SupermavenSuggestion", { - link = "Comment", - }) - preview.suggestion_group = "SupermavenSuggestion" - end, - }) end end