mirror of
https://github.com/neovim/neovim.git
synced 2026-05-02 20:15:03 +00:00
fix(tohtml): apply sp color if present #30110
Problem: Things like underlines are always given a default foreground highlight regardless of the value of `sp`. Solution: Check for `sp` first, and apply that color to the text decoration color if it exists. Limitations: If there is no value of `sp`, vim applies a text decoration color that matches the foreground of the text. This is still not implemented (and seems like a much more complex problem): in TOhtml, the underline will still be given a default foreground highlight.
This commit is contained in:
@@ -33,6 +33,10 @@ local function html_syntax_match()
|
||||
attr.underline = nil
|
||||
attr.undercurl = true
|
||||
end
|
||||
attr.sp = style:match('text%-decoration%-color: #(%x+)')
|
||||
if attr.sp then
|
||||
attr.sp = tonumber(attr.sp, 16)
|
||||
end
|
||||
attr.bg = style:match('background%-color: #(%x+)')
|
||||
if attr.bg then
|
||||
attr.bg = tonumber(attr.bg, 16)
|
||||
@@ -49,7 +53,7 @@ local function html_syntax_match()
|
||||
local whitelist = {
|
||||
'fg',
|
||||
'bg',
|
||||
--'sp',
|
||||
'sp',
|
||||
--'blend',
|
||||
'bold',
|
||||
--'standout',
|
||||
@@ -216,7 +220,7 @@ describe(':TOhtml', function()
|
||||
|
||||
it('highlight attributes generated', function()
|
||||
--Make sure to uncomment the attribute in `html_syntax_match()`
|
||||
exec('hi LINE gui=' .. table.concat({
|
||||
exec('hi LINE guisp=#00ff00 gui=' .. table.concat({
|
||||
'bold',
|
||||
'underline',
|
||||
'italic',
|
||||
|
||||
Reference in New Issue
Block a user