Merge pull request #1167 from jgmdev/PR/new-lines

* plugin drawwhitespace: allow newline substitution
* docview: do not render newline fixes #1164
This commit is contained in:
Jefferson González 2022-10-22 19:56:43 -04:00 committed by GitHub
commit f02b3c46e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View File

@ -364,9 +364,17 @@ end
function DocView:draw_line_text(line, x, y)
local default_font = self:get_font()
local tx, ty = x, y + self:get_line_text_y_offset()
for _, type, text in self.doc.highlighter:each_token(line) do
local last_token = nil
local tokens = self.doc.highlighter:get_line(line).tokens
local tokens_count = #tokens
if string.sub(tokens[tokens_count], -1) == "\n" then
last_token = tokens_count - 1
end
for tidx, type, text in self.doc.highlighter:each_token(line) do
local color = style.syntax[type]
local font = style.syntax_fonts[type] or default_font
-- do not render newline, fixes issue #1164
if tidx == last_token then text = text:sub(1, -2) end
tx = renderer.draw_text(font, text, tx, ty, color)
end
return self:get_line_height()

View File

@ -244,7 +244,7 @@ function DocView:draw_line_text(idx, x, y)
local color = base_color
local draw = false
if e == #text - 1 then
if e >= #text - 1 then
draw = show_trailing
color = trailing_color
elseif s == 1 then