summaryrefslogtreecommitdiff
path: root/lite-xl
diff options
context:
space:
mode:
Diffstat (limited to 'lite-xl')
-rw-r--r--lite-xl/fonts/CascadiaMono.ttfbin0 -> 624892 bytes
-rw-r--r--lite-xl/fonts/HackNF.ttfbin0 -> 1741792 bytes
-rw-r--r--lite-xl/fonts/nonicons.ttfbin0 -> 86616 bytes
-rw-r--r--lite-xl/init.lua54
-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
7 files changed, 268 insertions, 0 deletions
diff --git a/lite-xl/fonts/CascadiaMono.ttf b/lite-xl/fonts/CascadiaMono.ttf
new file mode 100644
index 0000000..d15637e
--- /dev/null
+++ b/lite-xl/fonts/CascadiaMono.ttf
Binary files differ
diff --git a/lite-xl/fonts/HackNF.ttf b/lite-xl/fonts/HackNF.ttf
new file mode 100644
index 0000000..d770b83
--- /dev/null
+++ b/lite-xl/fonts/HackNF.ttf
Binary files differ
diff --git a/lite-xl/fonts/nonicons.ttf b/lite-xl/fonts/nonicons.ttf
new file mode 100644
index 0000000..7a8228c
--- /dev/null
+++ b/lite-xl/fonts/nonicons.ttf
Binary files differ
diff --git a/lite-xl/init.lua b/lite-xl/init.lua
new file mode 100644
index 0000000..0dd42a9
--- /dev/null
+++ b/lite-xl/init.lua
@@ -0,0 +1,54 @@
+-- put user settings here
+-- this module will be loaded after everything else when the application starts
+-- it will be automatically reloaded when saved
+
+local core = require "core"
+local keymap = require "core.keymap"
+local config = require "core.config"
+local style = require "core.style"
+
+------------------------------ Themes ----------------------------------------
+-- light theme:
+core.reload_module("colors.nord")
+style.code_font = renderer.font.load(DATADIR .. "/fonts/CascadiaMono.ttf", 14 * SCALE)
+style.font = renderer.font.load(DATADIR .. "/fonts/HackNF.ttf", 13 * SCALE)
+config.trimwhitespace = true
+config.ignore_files = { "node_modules" }
+-- core.reload_module("colors.summer")
+
+--------------------------- Key bindings -------------------------------------
+
+-- key binding:
+-- keymap.add { ["ctrl+escape"] = "core:quit" }
+
+
+------------------------------- Fonts ----------------------------------------
+
+-- customize fonts:
+-- style.font = renderer.font.load(DATADIR .. "/fonts/font.ttf", 13 * SCALE)
+-- style.code_font = renderer.font.load(DATADIR .. "/fonts/monospace.ttf", 12 * SCALE)
+--
+-- font names used by lite:
+-- style.font : user interface
+-- style.big_font : big text in welcome screen
+-- style.icon_font : icons
+-- style.icon_big_font : toolbar icons
+-- style.code_font : code
+--
+-- the function to load the font accept a 3rd optional argument like:
+--
+-- {antialiasing="grayscale", hinting="full"}
+--
+-- possible values are:
+-- antialiasing: grayscale, subpixel
+-- hinting: none, slight, full
+
+------------------------------ Plugins ----------------------------------------
+
+-- enable or disable plugin loading setting config entries:
+
+-- enable trimwhitespace, otherwise it is disable by default:
+-- config.trimwhitespace = true
+--
+-- disable detectindent, otherwise it is enabled by default
+-- config.detectindent = false
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
+