aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md22
-rw-r--r--colors/monodark.lua29
-rw-r--r--colors/winter.lua28
-rwxr-xr-xmake_preview_image.lua61
4 files changed, 140 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..90892d6
--- /dev/null
+++ b/README.md
@@ -0,0 +1,22 @@
+Color themes for the [lite text editor](https://github.com/rxi/lite)
+
+*Note: if you make a pull request, the relevant table should be updated and kept
+in alphabetical order. The [`make_preview_image.lua`](make_preview_image.lua)
+script should be used to create a preview image for your theme which should be
+embedded in the table.*
+
+---
+
+## Dark
+
+Theme | Preview
+------|-----------------------------------------
+[`monodark`](colors/monodark.lua?raw=1) | ![monodark_preview](https://user-images.githubusercontent.com/3920290/80304201-62353400-87ac-11ea-9b13-9ca1b9db0f99.png)
+[`winter`](colors/winter.lua?raw=1) |![winter_preview](https://user-images.githubusercontent.com/3920290/80304194-5c3f5300-87ac-11ea-9acf-33892579093e.png)
+
+
+## Light
+
+Theme | Preview
+------|-----------------------------------------
+--- | ---
diff --git a/colors/monodark.lua b/colors/monodark.lua
new file mode 100644
index 0000000..a61f566
--- /dev/null
+++ b/colors/monodark.lua
@@ -0,0 +1,29 @@
+local style = require "core.style"
+local common = require "core.common"
+
+style.background = { common.color "#080808" }
+style.background2 = { common.color "#080808" }
+style.background3 = { common.color "#101010" }
+style.text = { common.color "#707070" }
+style.caret = { common.color "#ffffff" }
+style.accent = { common.color "#d0d0d0" }
+style.dim = { common.color "#303030" }
+style.divider = { common.color "#080808" }
+style.selection = { common.color "#242424" }
+style.line_number = { common.color "#202020" }
+style.line_number2 = { common.color "#707070" }
+style.line_highlight = { common.color "#101010" }
+style.scrollbar = { common.color "#252525" }
+style.scrollbar2 = { common.color "#303030" }
+
+style.syntax = {}
+style.syntax["normal"] = { common.color "#a0a0a0" }
+style.syntax["symbol"] = { common.color "#a0a0a0" }
+style.syntax["comment"] = { common.color "#404040" }
+style.syntax["keyword"] = { common.color "#f0f0f0" }
+style.syntax["keyword2"] = { common.color "#f0f0f0" }
+style.syntax["number"] = { common.color "#f0f0f0" }
+style.syntax["literal"] = { common.color "#f0f0f0" }
+style.syntax["string"] = { common.color "#f0f0f0" }
+style.syntax["operator"] = { common.color "#f0f0f0" }
+style.syntax["function"] = { common.color "#a0a0a0" }
diff --git a/colors/winter.lua b/colors/winter.lua
new file mode 100644
index 0000000..35fb408
--- /dev/null
+++ b/colors/winter.lua
@@ -0,0 +1,28 @@
+local style = require "core.style"
+local common = require "core.common"
+
+style.background = { common.color "#282a36" }
+style.background2 = { common.color "#22242e" }
+style.background3 = { common.color "#22242e" }
+style.text = { common.color "#aab3e6" }
+style.caret = { common.color "#f5faff" }
+style.accent = { common.color "#ffb86c" }
+style.dim = { common.color "#4f526b" }
+style.divider = { common.color "#22242e" }
+style.selection = { common.color "#4c5163" }
+style.line_number = { common.color "#44475a" }
+style.line_number2 = { common.color "#717796" }
+style.line_highlight = { common.color "#2d303d" }
+style.scrollbar = { common.color "#44475a" }
+style.scrollbar2 = { common.color "#4c5163" }
+
+style.syntax["normal"] = { common.color "#f5faff" }
+style.syntax["symbol"] = { common.color "#f5faff" }
+style.syntax["comment"] = { common.color "#6272a4" }
+style.syntax["keyword"] = { common.color "#ff79c6" }
+style.syntax["keyword2"] = { common.color "#8be9fd" }
+style.syntax["number"] = { common.color "#bd93f9" }
+style.syntax["literal"] = { common.color "#bd93f9" }
+style.syntax["string"] = { common.color "#f1fa8c" }
+style.syntax["operator"] = { common.color "#ff79c6" }
+style.syntax["function"] = { common.color "#8be9fd" }
diff --git a/make_preview_image.lua b/make_preview_image.lua
new file mode 100755
index 0000000..31f088d
--- /dev/null
+++ b/make_preview_image.lua
@@ -0,0 +1,61 @@
+#!/usr/bin/lua
+
+local filename = ...
+local name = filename:match("([^\\/]+)%..*$") .. "_preview"
+
+
+-- get colors
+local text = io.open(filename):read("*a")
+local colors = {}
+for r, g, b in text:gmatch("#(%x%x)(%x%x)(%x%x)") do
+ r = tonumber(r, 16)
+ g = tonumber(g, 16)
+ b = tonumber(b, 16)
+ table.insert(colors, { r, g, b })
+end
+
+table.sort(colors, function(a, b)
+ return a[1] + a[2] + a[3] < b[1] + b[2] + b[3]
+end)
+
+local function eq(a, b)
+ return a[1] == b[1] and a[2] == b[2] and a[3] == b[3]
+end
+
+local prev = {}
+for i = #colors, 1, -1 do
+ if eq(colors[i], prev) then
+ table.remove(colors, i)
+ else
+ prev = colors[i]
+ end
+end
+
+
+-- generate ppm file
+local w = 200
+local h = 16
+local fp = io.open(name .. ".ppm", "wb")
+fp:write("P3\n")
+fp:write(w, " ", h, "\n")
+fp:write("255\n")
+
+local row = {}
+for i = 0, w - 1 do
+ local idx = math.floor((#colors / w) * i) + 1
+ local r, g, b = table.unpack(colors[idx])
+ table.insert(row, r)
+ table.insert(row, g)
+ table.insert(row, b)
+end
+row = table.concat(row, " ") .. "\n"
+
+for i = 1, h do
+ fp:write(row)
+end
+fp:close()
+
+
+-- convert ppm file to png
+os.execute(string.format("convert %s.ppm %s.png", name, name))
+os.execute(string.format("rm %s.ppm", name))