diff options
Diffstat (limited to 'lite-xl')
-rw-r--r-- | lite-xl/fonts/CascadiaMono.ttf | bin | 0 -> 624892 bytes | |||
-rw-r--r-- | lite-xl/fonts/HackNF.ttf | bin | 0 -> 1741792 bytes | |||
-rw-r--r-- | lite-xl/fonts/nonicons.ttf | bin | 0 -> 86616 bytes | |||
-rw-r--r-- | lite-xl/init.lua | 54 | ||||
-rw-r--r-- | lite-xl/plugins/language_haxe.lua | 124 | ||||
-rw-r--r-- | lite-xl/plugins/statusclock.lua | 49 | ||||
-rw-r--r-- | lite-xl/plugins/type_counter.lua | 41 |
7 files changed, 268 insertions, 0 deletions
diff --git a/lite-xl/fonts/CascadiaMono.ttf b/lite-xl/fonts/CascadiaMono.ttf Binary files differnew file mode 100644 index 0000000..d15637e --- /dev/null +++ b/lite-xl/fonts/CascadiaMono.ttf diff --git a/lite-xl/fonts/HackNF.ttf b/lite-xl/fonts/HackNF.ttf Binary files differnew file mode 100644 index 0000000..d770b83 --- /dev/null +++ b/lite-xl/fonts/HackNF.ttf diff --git a/lite-xl/fonts/nonicons.ttf b/lite-xl/fonts/nonicons.ttf Binary files differnew file mode 100644 index 0000000..7a8228c --- /dev/null +++ b/lite-xl/fonts/nonicons.ttf 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 + |