summaryrefslogtreecommitdiff
path: root/lite-xl/plugins
diff options
context:
space:
mode:
authorIndrajith K L2022-03-21 21:52:44 +0530
committerIndrajith K L2022-03-21 21:52:44 +0530
commit460ee862c0a8105d69c2dd35745f0b3913705fbf (patch)
tree20ea93a6fe2eef4af25bdad9280775a6c62c32a3 /lite-xl/plugins
downloadwindows-dot-files-460ee862c0a8105d69c2dd35745f0b3913705fbf.tar.gz
windows-dot-files-460ee862c0a8105d69c2dd35745f0b3913705fbf.tar.bz2
windows-dot-files-460ee862c0a8105d69c2dd35745f0b3913705fbf.zip
Initial Commit
* Lite-XL Dot Files * Powershell Dot Files
Diffstat (limited to 'lite-xl/plugins')
-rw-r--r--lite-xl/plugins/language_haxe.lua124
-rw-r--r--lite-xl/plugins/statusclock.lua49
-rw-r--r--lite-xl/plugins/type_counter.lua41
3 files changed, 214 insertions, 0 deletions
diff --git a/lite-xl/plugins/language_haxe.lua b/lite-xl/plugins/language_haxe.lua
new file mode 100644
index 0000000..2ed709f
--- /dev/null
+++ b/lite-xl/plugins/language_haxe.lua
@@ -0,0 +1,124 @@
+-- mod-version:2 -- lite-xl 2.0
+local syntax = require "core.syntax"
+
+syntax.add {
+ name = "Haxe",
+ files = { "%.hx$" },
+ comment = "//",
+ patterns = {
+ { pattern = "//.-\n", type = "comment" },
+ { pattern = { "/%*", "%*/" }, type = "comment" },
+ { pattern = { '/%g', '/', '\\' }, type = "string" },
+ { pattern = { '"', '"', '\\' }, type = "string" },
+ { pattern = { "'", "'", '\\' }, type = "string" },
+ { pattern = { "`", "`", '\\' }, type = "string" },
+ { pattern = "0x[%da-fA-F]+", type = "number" },
+ { pattern = "-?%d+[%d%.eE]*", type = "number" },
+ { pattern = "-?%.?%d+", type = "number" },
+ { pattern = "[%+%-=/%*%^%%<>!~|&]", type = "operator" },
+ { pattern = "[%a_][%w_]*%f[(]", type = "function" },
+ { pattern = "[%a_][%w_]*", type = "symbol" },
+ },
+ symbols = {
+ ["break"]= "keyword",
+ ["callback"]= "keyword",
+ ["case"]= "keyword",
+ ["catch"]= "keyword",
+ ["class"]= "keyword",
+ ["continue"]= "keyword",
+ ["default"]= "keyword",
+ ["do"]= "keyword",
+ ["else"]= "keyword",
+ ["enum"]= "keyword",
+ ["extends"]= "keyword",
+ ["for"]= "keyword",
+ ["function"]= "keyword",
+ ["if"]= "keyword",
+ ["implements"]= "keyword",
+ ["import"]= "keyword",
+ ["in"]= "keyword",
+ ["interface"]= "keyword",
+ ["new"]= "keyword",
+ ["package"]= "keyword",
+ ["return"]= "keyword",
+ ["switch"]= "keyword",
+ ["throw"]= "keyword",
+ ["try"]= "keyword",
+ ["typedef"]= "keyword",
+ ["using"]= "keyword",
+ ["var"]= "keyword",
+ ["while"]= "keyword",
+ ["abstract"]= "keyword",
+ ["is"]= "keyword",
+ ["as"]= "keyword",
+ ["final"]= "keyword",
+ ["null"]= "keyword",
+ ["true"]= "keyword",
+ ["false"]= "keyword",
+ ["get"]= "keyword",
+ ["set"]= "keyword",
+ ["never"]= "keyword",
+ ["Void"]= "keyword",
+ ["Int"]= "keyword",
+ ["Float"]= "keyword",
+ ["Dynamic"]= "keyword",
+ ["Bool"]= "keyword",
+ ["Iterator"]= "keyword",
+ ["Hash"]= "keyword",
+ ["IntHash"]= "keyword",
+ ["Int64"]= "keyword",
+ ["Bytes"]= "keyword",
+ ["Null"]= "keyword",
+ ["Any"]= "keyword",
+ ["Array"]= "keyword",
+ ["Class"]= "keyword",
+ ["Date"]= "keyword",
+ ["DateTools"]= "keyword",
+ ["Enum"]= "keyword",
+ ["EnumValue"]= "keyword",
+ ["EReg"]= "keyword",
+ ["IntIterator"]= "keyword",
+ ["Lambda"]= "keyword",
+ ["List"]= "keyword",
+ ["Map"]= "keyword",
+ ["Math"]= "keyword",
+ ["Reflect"]= "keyword",
+ ["Std"]= "keyword",
+ ["StdTypes"]= "keyword",
+ ["String"]= "keyword",
+ ["StringBuf"]= "keyword",
+ ["StringTools"]= "keyword",
+ ["Sys"]= "keyword",
+ ["Type"]= "keyword",
+ ["UInt"]= "keyword",
+ ["Xml"]= "keyword",
+ ["dynamic"]= "keyword",
+ ["extern"]= "keyword",
+ ["inline"]= "keyword",
+ ["override"]= "keyword",
+ ["private"]= "keyword",
+ ["public"]= "keyword",
+ ["static"]= "keyword",
+ ["untyped"]= "keyword",
+ ["cast"]= "keyword",
+ ["trace"]= "keyword",
+ ["super"]= "keyword",
+ ["this"]= "keyword",
+ ["arguments"]= "keyword",
+ ["from"]= "keyword",
+ ["to"]= "keyword",
+ ["macro"]= "keyword",
+ ["arrayAccess"]= "keyword",
+ ["optional"]= "keyword",
+ ["$type"]= "keyword",
+ ["#"]= "keyword",
+ ["@"]= "keyword",
+ ["$v"]= "keyword",
+ ["$i"]= "keyword",
+ ["$a"]= "keyword",
+ ["$b"]= "keyword",
+ ["$p"]= "keyword",
+ ["$e"]= "keyword",
+ ["$"]= "keyword"
+ },
+}
diff --git a/lite-xl/plugins/statusclock.lua b/lite-xl/plugins/statusclock.lua
new file mode 100644
index 0000000..92f70dc
--- /dev/null
+++ b/lite-xl/plugins/statusclock.lua
@@ -0,0 +1,49 @@
+-- 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
+ }
+ for _, item in ipairs(t) do
+ table.insert(right, item)
+ end
+
+ return left, right
+end
+
diff --git a/lite-xl/plugins/type_counter.lua b/lite-xl/plugins/type_counter.lua
new file mode 100644
index 0000000..7e56170
--- /dev/null
+++ b/lite-xl/plugins/type_counter.lua
@@ -0,0 +1,41 @@
+-- mod-version:2 -- lite-xl 2.0
+-- Name : Type Counter
+-- AUTHOR : Indrajith K L
+-- DESCRIPTION : A simple counter to track total character typed
+
+local core = require("core")
+local command = require("core.command")
+local StatusView = require "core.statusview"
+local style = require "core.style"
+local RootView = require("core.rootview")
+local DocView = require("core.docview")
+local scanrate = 1
+local counter = 0
+
+local on_event = core.on_event
+
+core.on_event = function(type, ...)
+ local res = on_event(type, ...)
+ if type == "textinput" then
+ counter = counter + 1
+ end
+ return res
+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.counter_color,
+ "Type Counter : "..counter,
+ }
+ for _, item in ipairs(t) do
+ table.insert(right, item)
+ end
+
+ return left, right
+end
+