From 4248732f8a5d8ca82d658b3a1f47b50ca098f7d3 Mon Sep 17 00:00:00 2001 From: Andreas Louv Date: Thu, 25 May 2023 16:09:00 +0200 Subject: [PATCH] Conditionally override cursor for props when "&cursorline" is set --- autoload/lsp/diag.vim | 20 ++++++++++++++++---- autoload/lsp/lsp.vim | 9 ++++++--- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/autoload/lsp/diag.vim b/autoload/lsp/diag.vim index e7aa84b..ec3f971 100644 --- a/autoload/lsp/diag.vim +++ b/autoload/lsp/diag.vim @@ -58,14 +58,26 @@ export def InitOnce() hlset([{name: 'LspDiagInlineWarning', default: true, linksto: 'SpellCap'}]) hlset([{name: 'LspDiagInlineInfo', default: true, linksto: 'SpellRare'}]) hlset([{name: 'LspDiagInlineHint', default: true, linksto: 'SpellLocal'}]) + + var override = &cursorline + && &cursorlineopt =~ '\\|\\|\' + prop_type_add('LspDiagInlineError', - { highlight: 'LspDiagInlineError', priority: 10 }) + { highlight: 'LspDiagInlineError', + priority: 10, + override: override }) prop_type_add('LspDiagInlineWarning', - { highlight: 'LspDiagInlineWarning', priority: 9 }) + { highlight: 'LspDiagInlineWarning', + priority: 9, + override: override }) prop_type_add('LspDiagInlineInfo', - { highlight: 'LspDiagInlineInfo', priority: 8 }) + { highlight: 'LspDiagInlineInfo', + priority: 8, + override: override }) prop_type_add('LspDiagInlineHint', - { highlight: 'LspDiagInlineHint', priority: 7 }) + { highlight: 'LspDiagInlineHint', + priority: 7, + override: override }) hlset([{name: 'LspDiagVirtualText', default: true, linksto: 'LineNr'}]) prop_type_add('LspDiagVirtualText', {highlight: 'LspDiagVirtualText', diff --git a/autoload/lsp/lsp.vim b/autoload/lsp/lsp.vim index 12549a0..d3f5e33 100644 --- a/autoload/lsp/lsp.vim +++ b/autoload/lsp/lsp.vim @@ -35,9 +35,12 @@ def LspInitOnce() hlset([{name: 'LspReadRef', default: true, linksto: 'DiffChange'}]) hlset([{name: 'LspWriteRef', default: true, linksto: 'DiffDelete'}]) - prop_type_add('LspTextRef', {highlight: 'LspTextRef'}) - prop_type_add('LspReadRef', {highlight: 'LspReadRef'}) - prop_type_add('LspWriteRef', {highlight: 'LspWriteRef'}) + var override = &cursorline + && &cursorlineopt =~ '\\|\\|\' + + prop_type_add('LspTextRef', {highlight: 'LspTextRef', override: override}) + prop_type_add('LspReadRef', {highlight: 'LspReadRef', override: override}) + prop_type_add('LspWriteRef', {highlight: 'LspWriteRef', override: override}) diag.InitOnce() inlayhints.InitOnce() -- 2.48.1