diff --git a/data/core/config.lua b/data/core/config.lua index 949fe8a..777c190 100644 --- a/data/core/config.lua +++ b/data/core/config.lua @@ -29,5 +29,6 @@ config.tab_close_button = true -- Disable plugin loading setting to false the config entry -- of the same name. config.trimwhitespace = false +config.lineguide = false return config diff --git a/data/plugins/lineguide.lua b/data/plugins/lineguide.lua new file mode 100644 index 0000000..8ef3ee6 --- /dev/null +++ b/data/plugins/lineguide.lua @@ -0,0 +1,21 @@ +-- mod-version:1 -- lite-xl 1.16 +local config = require "core.config" +local style = require "core.style" +local DocView = require "core.docview" + +local draw_overlay = DocView.draw_overlay + +function DocView:draw_overlay(...) + local ns = ("n"):rep(config.line_limit) + local ss = self:get_font():subpixel_scale() + local offset = self:get_font():get_width_subpixel(ns) / ss + local x = self:get_line_screen_position(1) + offset + local y = self.position.y + local w = math.ceil(SCALE * 1) + local h = self.size.y + + local color = style.guide or style.selection + renderer.draw_rect(x, y, w, h, color) + + draw_overlay(self, ...) +end