Software /
code /
prosody
Annotate
util/termcolours.lua @ 11962:9a70a543c727
util.async: Add next-tick configuration
Running woken runners in the next iteration of the event loop prevents
unexpected recursion, unexpected tracebacks, and is generally more
predictable.
The pattern is borrowed from util.promise, where we're now doing the same.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 29 Nov 2021 14:14:30 +0000 |
parent | 10423:317bcc4f25f5 |
child | 12975:d10957394a3c |
rev | line source |
---|---|
1523
841d61be198f
Remove version number from copyright headers
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
1 -- Prosody IM |
2923
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
1523
diff
changeset
|
2 -- Copyright (C) 2008-2010 Matthew Wild |
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
1523
diff
changeset
|
3 -- Copyright (C) 2008-2010 Waqas Hussain |
5776
bd0ff8ae98a8
Remove all trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
4698
diff
changeset
|
4 -- |
758 | 5 -- This project is MIT/X11 licensed. Please see the |
6 -- COPYING file in the source package for more information. | |
519
cccd610a0ef9
Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents:
262
diff
changeset
|
7 -- |
7198
48d167f652ad
util.termcolours: Silence luacheck warning
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
8 -- |
48d167f652ad
util.termcolours: Silence luacheck warning
Kim Alvefur <zash@zash.se>
parents:
6777
diff
changeset
|
9 -- luacheck: ignore 213/i |
519
cccd610a0ef9
Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents:
262
diff
changeset
|
10 |
cccd610a0ef9
Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents:
262
diff
changeset
|
11 |
262 | 12 local t_concat, t_insert = table.concat, table.insert; |
13 local char, format = string.char, string.format; | |
4698
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
14 local tonumber = tonumber; |
262 | 15 local ipairs = ipairs; |
3749
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
16 local io_write = io.write; |
7203
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
17 local m_floor = math.floor; |
7205
a6c4530c1bc0
util.termcolours: Validate color codes, fixes traceback
Kim Alvefur <zash@zash.se>
parents:
7204
diff
changeset
|
18 local type = type; |
a6c4530c1bc0
util.termcolours: Validate color codes, fixes traceback
Kim Alvefur <zash@zash.se>
parents:
7204
diff
changeset
|
19 local setmetatable = setmetatable; |
a6c4530c1bc0
util.termcolours: Validate color codes, fixes traceback
Kim Alvefur <zash@zash.se>
parents:
7204
diff
changeset
|
20 local pairs = pairs; |
3749
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
21 |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
22 local windows; |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
23 if os.getenv("WINDIR") then |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
24 windows = require "util.windows"; |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
25 end |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
26 local orig_color = windows and windows.get_consolecolor and windows.get_consolecolor(); |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
27 |
6777
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
5776
diff
changeset
|
28 local _ENV = nil; |
8555
4f0f5b49bb03
vairious: Add annotation when an empty environment is set [luacheck]
Kim Alvefur <zash@zash.se>
parents:
8368
diff
changeset
|
29 -- luacheck: std none |
262 | 30 |
31 local stylemap = { | |
32 reset = 0; bright = 1, dim = 2, underscore = 4, blink = 5, reverse = 7, hidden = 8; | |
33 black = 30; red = 31; green = 32; yellow = 33; blue = 34; magenta = 35; cyan = 36; white = 37; | |
8368
3629639d5fa9
util.termcolours: Split a long line [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7206
diff
changeset
|
34 ["black background"] = 40; ["red background"] = 41; ["green background"] = 42; ["yellow background"] = 43; |
3629639d5fa9
util.termcolours: Split a long line [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7206
diff
changeset
|
35 ["blue background"] = 44; ["magenta background"] = 45; ["cyan background"] = 46; ["white background"] = 47; |
262 | 36 bold = 1, dark = 2, underline = 4, underlined = 4, normal = 0; |
37 } | |
38 | |
3749
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
39 local winstylemap = { |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
40 ["0"] = orig_color, -- reset |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
41 ["1"] = 7+8, -- bold |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
42 ["1;33"] = 2+4+8, -- bold yellow |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
43 ["1;31"] = 4+8 -- bold red |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
44 } |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
45 |
4698
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
46 local cssmap = { |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
47 [1] = "font-weight: bold", [2] = "opacity: 0.5", [4] = "text-decoration: underline", [8] = "visibility: hidden", |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
48 [30] = "color:black", [31] = "color:red", [32]="color:green", [33]="color:#FFD700", |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
49 [34] = "color:blue", [35] = "color: magenta", [36] = "color:cyan", [37] = "color: white", |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
50 [40] = "background-color:black", [41] = "background-color:red", [42]="background-color:green", |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
51 [43]="background-color:yellow", [44] = "background-color:blue", [45] = "background-color: magenta", |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
52 [46] = "background-color:cyan", [47] = "background-color: white"; |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
53 }; |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
54 |
262 | 55 local fmt_string = char(0x1B).."[%sm%s"..char(0x1B).."[0m"; |
6777
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
5776
diff
changeset
|
56 local function getstring(style, text) |
262 | 57 if style then |
58 return format(fmt_string, style, text); | |
59 else | |
60 return text; | |
61 end | |
62 end | |
63 | |
7203
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
64 local function gray(n) |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
65 return m_floor(n*3/32)+0xe8; |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
66 end |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
67 local function color(r,g,b) |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
68 if r == g and g == b then |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
69 return gray(r); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
70 end |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
71 r = m_floor(r*3/128); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
72 g = m_floor(g*3/128); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
73 b = m_floor(b*3/128); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
74 return 0x10 + ( r * 36 ) + ( g * 6 ) + ( b ); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
75 end |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
76 local function hex2rgb(hex) |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
77 local r = tonumber(hex:sub(1,2),16); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
78 local g = tonumber(hex:sub(3,4),16); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
79 local b = tonumber(hex:sub(5,6),16); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
80 return r,g,b; |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
81 end |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
82 |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
83 setmetatable(stylemap, { __index = function(_, style) |
7205
a6c4530c1bc0
util.termcolours: Validate color codes, fixes traceback
Kim Alvefur <zash@zash.se>
parents:
7204
diff
changeset
|
84 if type(style) == "string" and style:find("%x%x%x%x%x%x") == 1 then |
a6c4530c1bc0
util.termcolours: Validate color codes, fixes traceback
Kim Alvefur <zash@zash.se>
parents:
7204
diff
changeset
|
85 local g = style:sub(7) == " background" and "48;5;" or "38;5;"; |
10423
317bcc4f25f5
util.termcolours: Use explicit number formatting instead of coercion on concatenation
Kim Alvefur <zash@zash.se>
parents:
8555
diff
changeset
|
86 return format("%s%d", g, color(hex2rgb(style))); |
7205
a6c4530c1bc0
util.termcolours: Validate color codes, fixes traceback
Kim Alvefur <zash@zash.se>
parents:
7204
diff
changeset
|
87 end |
7203
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
88 end } ); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
89 |
7204
ab2b7496a617
util.termcolours: Add some CSS color names
Kim Alvefur <zash@zash.se>
parents:
7203
diff
changeset
|
90 local csscolors = { |
ab2b7496a617
util.termcolours: Add some CSS color names
Kim Alvefur <zash@zash.se>
parents:
7203
diff
changeset
|
91 red = "ff0000"; fuchsia = "ff00ff"; green = "008000"; white = "ffffff"; |
ab2b7496a617
util.termcolours: Add some CSS color names
Kim Alvefur <zash@zash.se>
parents:
7203
diff
changeset
|
92 lime = "00ff00"; yellow = "ffff00"; purple = "800080"; blue = "0000ff"; |
ab2b7496a617
util.termcolours: Add some CSS color names
Kim Alvefur <zash@zash.se>
parents:
7203
diff
changeset
|
93 aqua = "00ffff"; olive = "808000"; black = "000000"; navy = "000080"; |
ab2b7496a617
util.termcolours: Add some CSS color names
Kim Alvefur <zash@zash.se>
parents:
7203
diff
changeset
|
94 teal = "008080"; silver = "c0c0c0"; maroon = "800000"; gray = "808080"; |
ab2b7496a617
util.termcolours: Add some CSS color names
Kim Alvefur <zash@zash.se>
parents:
7203
diff
changeset
|
95 } |
7206
1c005878db55
util.termcolours: Rename loop variable [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7205
diff
changeset
|
96 for colorname, rgb in pairs(csscolors) do |
1c005878db55
util.termcolours: Rename loop variable [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7205
diff
changeset
|
97 stylemap[colorname] = stylemap[colorname] or stylemap[rgb]; |
1c005878db55
util.termcolours: Rename loop variable [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7205
diff
changeset
|
98 colorname, rgb = colorname .. " background", rgb .. " background" |
1c005878db55
util.termcolours: Rename loop variable [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7205
diff
changeset
|
99 stylemap[colorname] = stylemap[colorname] or stylemap[rgb]; |
7204
ab2b7496a617
util.termcolours: Add some CSS color names
Kim Alvefur <zash@zash.se>
parents:
7203
diff
changeset
|
100 end |
ab2b7496a617
util.termcolours: Add some CSS color names
Kim Alvefur <zash@zash.se>
parents:
7203
diff
changeset
|
101 |
6777
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
5776
diff
changeset
|
102 local function getstyle(...) |
262 | 103 local styles, result = { ... }, {}; |
104 for i, style in ipairs(styles) do | |
105 style = stylemap[style]; | |
106 if style then | |
107 t_insert(result, style); | |
108 end | |
109 end | |
110 return t_concat(result, ";"); | |
111 end | |
112 | |
3749
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
113 local last = "0"; |
6777
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
5776
diff
changeset
|
114 local function setstyle(style) |
3749
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
115 style = style or "0"; |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
116 if style ~= last then |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
117 io_write("\27["..style.."m"); |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
118 last = style; |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
119 end |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
120 end |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
121 |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
122 if windows then |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
123 function setstyle(style) |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
124 style = style or "0"; |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
125 if style ~= last then |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
126 windows.set_consolecolor(winstylemap[style] or orig_color); |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
127 last = style; |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
128 end |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
129 end |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
130 if not orig_color then |
7199
5846e0bca4ff
util.termcolours: Remove argument from noop function [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7198
diff
changeset
|
131 function setstyle() end |
3749
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
132 end |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
133 end |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
134 |
4698
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
135 local function ansi2css(ansi_codes) |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
136 if ansi_codes == "0" then return "</span>"; end |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
137 local css = {}; |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
138 for code in ansi_codes:gmatch("[^;]+") do |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
139 t_insert(css, cssmap[tonumber(code)]); |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
140 end |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
141 return "</span><span style='"..t_concat(css, ";").."'>"; |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
142 end |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
143 |
6777
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
5776
diff
changeset
|
144 local function tohtml(input) |
4698
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
145 return input:gsub("\027%[(.-)m", ansi2css); |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
146 end |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
147 |
6777
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
5776
diff
changeset
|
148 return { |
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
5776
diff
changeset
|
149 getstring = getstring; |
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
5776
diff
changeset
|
150 getstyle = getstyle; |
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
5776
diff
changeset
|
151 setstyle = setstyle; |
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
5776
diff
changeset
|
152 tohtml = tohtml; |
5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
Kim Alvefur <zash@zash.se>
parents:
5776
diff
changeset
|
153 }; |