Skip to content

Commit 29f8eb2

Browse files
authored
Parameterize code lens highlight group (#1100)
1 parent 917344d commit 29f8eb2

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

doc/LanguageClient.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -604,7 +604,7 @@ Full path to languageclient binary.
604604
Default: 'bin/languageclient' relative to plugin root.
605605
Valid options: String
606606

607-
2.39 g:LanguageClient_enableExtensions *g:LanguageClient_enableExtensions*
607+
2.40 g:LanguageClient_enableExtensions *g:LanguageClient_enableExtensions*
608608

609609
LanguageClient-neovim provides extensions for some language servers, such as gopls or rust-analyzer.
610610
These extensions can be turned on or off, and they are configurable per language (not per language
@@ -629,6 +629,12 @@ The default value for this config, or the absence of this config, enables extens
629629

630630
Default: v:null
631631

632+
2.41 g:LanguageClient_codeLensHighlightGroup *g:LanguageClient_codeLensHighlightGroup*
633+
634+
Highlight group to be used for code lens.
635+
636+
Default: 'Comment'
637+
632638
==============================================================================
633639
3. Commands *LanguageClientCommands*
634640

src/language_server_protocol.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ impl LanguageClient {
178178
preferred_markup_kind,
179179
hide_virtual_texts_on_insert,
180180
enable_extensions,
181+
code_lens_hl_group,
181182
): (
182183
Option<usize>,
183184
String,
@@ -192,6 +193,7 @@ impl LanguageClient {
192193
Option<Vec<MarkupKind>>,
193194
u8,
194195
Option<HashMap<String, bool>>,
196+
String,
195197
) = self.vim()?.eval(
196198
[
197199
"get(g:, 'LanguageClient_diagnosticsSignsMax', v:null)",
@@ -207,6 +209,7 @@ impl LanguageClient {
207209
"get(g:, 'LanguageClient_preferredMarkupKind', v:null)",
208210
"s:GetVar('LanguageClient_hideVirtualTextsOnInsert', 0)",
209211
"get(g:, 'LanguageClient_enableExtensions', v:null)",
212+
"get(g:, 'LanguageClient_codeLensHighlightGroup', 'Comment')",
210213
]
211214
.as_ref(),
212215
)?;
@@ -324,6 +327,7 @@ impl LanguageClient {
324327
state.is_nvim = is_nvim;
325328
state.preferred_markup_kind = preferred_markup_kind;
326329
state.enable_extensions = enable_extensions;
330+
state.code_lens_hl_group = code_lens_hl_group;
327331
Ok(())
328332
})?;
329333

@@ -3379,6 +3383,7 @@ impl LanguageClient {
33793383
let mut virtual_texts = vec![];
33803384
let code_lenses =
33813385
self.get(|state| state.code_lens.get(filename).cloned().unwrap_or_default())?;
3386+
let code_lens_hl_group = self.get(|state| state.code_lens_hl_group.clone())?;
33823387

33833388
for cl in code_lenses {
33843389
if let Some(command) = cl.command {
@@ -3395,7 +3400,7 @@ impl LanguageClient {
33953400
None => virtual_texts.push(VirtualText {
33963401
line,
33973402
text,
3398-
hl_group: "Comment".into(),
3403+
hl_group: code_lens_hl_group.clone(),
33993404
}),
34003405
}
34013406
}

src/types.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ pub struct State {
159159
pub diagnostics: HashMap<String, Vec<Diagnostic>>,
160160
// filename => codeLens.
161161
pub code_lens: HashMap<String, Vec<CodeLens>>,
162+
pub code_lens_hl_group: String,
162163
#[serde(skip_serializing)]
163164
pub line_diagnostics: HashMap<(String, u64), String>,
164165
/// Active signs.
@@ -294,6 +295,7 @@ impl State {
294295
server_stderr: None,
295296
preferred_markup_kind: None,
296297
enable_extensions: None,
298+
code_lens_hl_group: "Comment".into(),
297299

298300
logger,
299301
})

0 commit comments

Comments
 (0)