aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrxi <rxi@users.noreply.github.com>2020-05-09 15:09:59 +0100
committerrxi <rxi@users.noreply.github.com>2020-05-09 15:09:59 +0100
commitf9f6bb41ed18dc3c6944f7a51b777d334fc69b75 (patch)
tree56f4dfbd2d115fdb49a2ef1aeb265703e653d129
parent35d8cf10354e1da855dc1b0761b2f5ffbb8ed0ac (diff)
downloadlite-xl-plugins-f9f6bb41ed18dc3c6944f7a51b777d334fc69b75.tar.gz
lite-xl-plugins-f9f6bb41ed18dc3c6944f7a51b777d334fc69b75.zip
Added plugin `lineguide`
-rw-r--r--README.md1
-rw-r--r--plugins/lineguide.lua18
2 files changed, 19 insertions, 0 deletions
diff --git a/README.md b/README.md
index d9e8654..092d91e 100644
--- a/README.md
+++ b/README.md
@@ -32,6 +32,7 @@ Plugin | Description
[`language_sh`](plugins/language_sh.lua?raw=1) | Syntax for shell scripting language
[`language_wren`](plugins/language_wren.lua?raw=1) | Syntax for the [Wren](http://wren.io/) programming language
[`lfautoinsert`](plugins/lfautoinsert.lua?raw=1) | Automatically inserts indentation and closing bracket/text after newline
+[`lineguide`](plugins/lineguide.lua?raw=1) | Displays a line-guide at the line limit offset *([screenshot](https://user-images.githubusercontent.com/3920290/81475916-e8b73000-9206-11ea-82fd-0feacf86a013.png))*
[`linter`](https://github.com/drmargarido/linters)* | Linters for multiple languages
[`macmodkeys`](plugins/macmodkeys.lua?raw=1) | Remaps mac modkeys `command/option` to `ctrl/alt`
[`selectionhighlight`](plugins/selectionhighlight.lua?raw=1) | Highlights regions of code that match the current selection *([screenshot](https://user-images.githubusercontent.com/3920290/80710883-5f597c80-8ae7-11ea-97f0-76dfacc08439.png))*
diff --git a/plugins/lineguide.lua b/plugins/lineguide.lua
new file mode 100644
index 0000000..fc24567
--- /dev/null
+++ b/plugins/lineguide.lua
@@ -0,0 +1,18 @@
+local config = require "core.config"
+local style = require "core.style"
+local DocView = require "core.docview"
+
+local draw = DocView.draw
+
+function DocView:draw(...)
+ draw(self, ...)
+
+ local offset = self:get_font():get_width("n") * config.line_limit
+ 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)
+end