diff options
author | Juliardi <juliardi@users.noreply.github.com> | 2021-11-10 07:22:44 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-10 08:22:44 +0800 |
commit | 2069fd8e14ba8224c4f040b4e2b0f2ec0000743f (patch) | |
tree | 689afdac692557d4dc1103c7ae49a7d9c05760b7 | |
parent | 911d14ed38a5f96ec2175d4adbc1f8290fd61a32 (diff) | |
download | lite-xl-plugins-2069fd8e14ba8224c4f040b4e2b0f2ec0000743f.tar.gz lite-xl-plugins-2069fd8e14ba8224c4f040b4e2b0f2ec0000743f.zip |
add statusclock plugin (#82)
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | plugins/statusclock.lua | 54 |
2 files changed, 55 insertions, 0 deletions
@@ -128,6 +128,7 @@ Plugin | Description [`smallclock`](plugins/smallclock.lua?raw=1) | Displays the current time in the corner of the status view [`sort`](plugins/sort.lua?raw=1) | Sorts selected lines alphabetically [`spellcheck`](plugins/spellcheck.lua?raw=1) | Underlines misspelt words *([screenshot](https://user-images.githubusercontent.com/3920290/79923973-9caa7400-842e-11ea-85d4-7a196a91ca50.png))* *— note: on Windows a [`words.txt`](https://github.com/dwyl/english-words/blob/master/words.txt) dictionary file must be placed beside the exe* +[`statusclock`](plugins/statusclock.lua?raw=1) | Displays the current date and time in the corner of the status view [`tabnumbers`](plugins/tabnumbers.lua?raw=1) | Displays tab numbers from 1–9 next to their names *([screenshot](https://user-images.githubusercontent.com/16415678/101285362-007a8500-37e5-11eb-869b-c10eb9d9d902.png)) [`texcompile`](plugins/texcompile.lua?raw=1) | Compile Tex files into PDF [`theme16`](https://github.com/monolifed/theme16)* | Theme manager with base16 themes diff --git a/plugins/statusclock.lua b/plugins/statusclock.lua new file mode 100644 index 0000000..8289502 --- /dev/null +++ b/plugins/statusclock.lua @@ -0,0 +1,54 @@ +-- mod-version:2 -- lite-xl 2.0 +local core = require "core" +local config = require "core.config" +local style = require "core.style" +local StatusView = require "core.statusview" +local scan_rate = 1 + +config.plugins.statusclock = { + time_format = "%H:%M:%S", + date_format = "%A, %d %B %Y" +} + +local time_data = { + time_text = '', + date_text = '', +} + +core.add_thread(function() + while true do + local time_text = os.date(config.plugins.statusclock.time_format) + local date_text = os.date(config.plugins.statusclock.date_format) + + if time_data.time_text ~= time_text or time_data.time_text ~= date_text then + core.redraw = true + time_data.time_text = time_text + time_data.date_text = date_text + end + + coroutine.yield(scan_rate) + end +end) + +local get_items = StatusView.get_items + +function StatusView:get_items() + local left, right = get_items(self) + + local t = { + style.dim, + self.separator, + style.dim and style.text, + time_data.date_text, + style.dim, + self.separator, + style.dim and style.text, + time_data.time_text, + } + for _, item in ipairs(t) do + table.insert(right, item) + end + + return left, right +end + |