Software /
code /
prosody
Annotate
util/termcolours.lua @ 8791:8da11142fabf
muc: Allow clients to change multiple affiliations or roles at once (#345)
According to XEP-0045 sections 9.2, 9.5 and 9.8 affiliation lists and role
lists should allow mass-modification. Prosody however would just use the
first entry of the list and ignore the rest. This is fixed by introducing
a `for` loop to `set` stanzas of the respective `muc#admin` namespace.
In order for this loop to work, the error handling was changed a little.
Prosody no longer returns after the first error. Instead, an error reply
is sent for each malformed or otherwise wrong entry, but the loop keeps
going over the other entries. This may lead to multiple error messages
being sent for one client request. A notable exception from this is when
the XML Schema for `muc#admin` requests is violated. In that case the loop
is aborted with an error message to the client.
The change is a bit bigger than that in order to have the loop only for
`set` stanzas without changing the behaviour of the `get` stanzas. This is
now more in line with trunk, where there are separate methods for each
stanza type.
References: #345
author | Lennart Sauerbeck <devel@lennart.sauerbeck.org> |
---|---|
date | Sat, 18 Mar 2017 18:47:28 +0100 |
parent | 8368:3629639d5fa9 |
child | 8555:4f0f5b49bb03 |
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; |
262 | 29 |
30 local stylemap = { | |
31 reset = 0; bright = 1, dim = 2, underscore = 4, blink = 5, reverse = 7, hidden = 8; | |
32 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
|
33 ["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
|
34 ["blue background"] = 44; ["magenta background"] = 45; ["cyan background"] = 46; ["white background"] = 47; |
262 | 35 bold = 1, dark = 2, underline = 4, underlined = 4, normal = 0; |
36 } | |
37 | |
3749
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
38 local winstylemap = { |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
39 ["0"] = orig_color, -- reset |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
40 ["1"] = 7+8, -- bold |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
41 ["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
|
42 ["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
|
43 } |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
44 |
4698
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
45 local cssmap = { |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
46 [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
|
47 [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
|
48 [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
|
49 [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
|
50 [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
|
51 [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
|
52 }; |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
53 |
262 | 54 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
|
55 local function getstring(style, text) |
262 | 56 if style then |
57 return format(fmt_string, style, text); | |
58 else | |
59 return text; | |
60 end | |
61 end | |
62 | |
7203
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
63 local function gray(n) |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
64 return m_floor(n*3/32)+0xe8; |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
65 end |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
66 local function color(r,g,b) |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
67 if r == g and g == b then |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
68 return gray(r); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
69 end |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
70 r = m_floor(r*3/128); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
71 g = m_floor(g*3/128); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
72 b = m_floor(b*3/128); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
73 return 0x10 + ( r * 36 ) + ( g * 6 ) + ( b ); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
74 end |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
75 local function hex2rgb(hex) |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
76 local r = tonumber(hex:sub(1,2),16); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
77 local g = tonumber(hex:sub(3,4),16); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
78 local b = tonumber(hex:sub(5,6),16); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
79 return r,g,b; |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
80 end |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
81 |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
82 setmetatable(stylemap, { __index = function(_, style) |
7205
a6c4530c1bc0
util.termcolours: Validate color codes, fixes traceback
Kim Alvefur <zash@zash.se>
parents:
7204
diff
changeset
|
83 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
|
84 local g = style:sub(7) == " background" and "48;5;" or "38;5;"; |
a6c4530c1bc0
util.termcolours: Validate color codes, fixes traceback
Kim Alvefur <zash@zash.se>
parents:
7204
diff
changeset
|
85 return g .. color(hex2rgb(style)); |
a6c4530c1bc0
util.termcolours: Validate color codes, fixes traceback
Kim Alvefur <zash@zash.se>
parents:
7204
diff
changeset
|
86 end |
7203
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
87 end } ); |
be8b88ad35a3
util.termcolours: Add 256 color support
Kim Alvefur <zash@zash.se>
parents:
7199
diff
changeset
|
88 |
7204
ab2b7496a617
util.termcolours: Add some CSS color names
Kim Alvefur <zash@zash.se>
parents:
7203
diff
changeset
|
89 local csscolors = { |
ab2b7496a617
util.termcolours: Add some CSS color names
Kim Alvefur <zash@zash.se>
parents:
7203
diff
changeset
|
90 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
|
91 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
|
92 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
|
93 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
|
94 } |
7206
1c005878db55
util.termcolours: Rename loop variable [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7205
diff
changeset
|
95 for colorname, rgb in pairs(csscolors) do |
1c005878db55
util.termcolours: Rename loop variable [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7205
diff
changeset
|
96 stylemap[colorname] = stylemap[colorname] or stylemap[rgb]; |
1c005878db55
util.termcolours: Rename loop variable [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7205
diff
changeset
|
97 colorname, rgb = colorname .. " background", rgb .. " background" |
1c005878db55
util.termcolours: Rename loop variable [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7205
diff
changeset
|
98 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
|
99 end |
ab2b7496a617
util.termcolours: Add some CSS color names
Kim Alvefur <zash@zash.se>
parents:
7203
diff
changeset
|
100 |
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
|
101 local function getstyle(...) |
262 | 102 local styles, result = { ... }, {}; |
103 for i, style in ipairs(styles) do | |
104 style = stylemap[style]; | |
105 if style then | |
106 t_insert(result, style); | |
107 end | |
108 end | |
109 return t_concat(result, ";"); | |
110 end | |
111 | |
3749
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
112 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
|
113 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
|
114 style = style or "0"; |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
115 if style ~= last then |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
116 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
|
117 last = style; |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
118 end |
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 |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
121 if windows then |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
122 function setstyle(style) |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
123 style = style or "0"; |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
124 if style ~= last then |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
125 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
|
126 last = style; |
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
127 end |
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 if not orig_color then |
7199
5846e0bca4ff
util.termcolours: Remove argument from noop function [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7198
diff
changeset
|
130 function setstyle() end |
3749
588c09d7903c
util.termcolours: Added setstyle(str), which works on Windows too.
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
131 end |
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 |
4698
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
134 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
|
135 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
|
136 local css = {}; |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
137 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
|
138 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
|
139 end |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
140 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
|
141 end |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
142 |
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
|
143 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
|
144 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
|
145 end |
739f7ae1a01e
util.termcolours: tohtml() for converting output to HTML. I don't know.
Matthew Wild <mwild1@gmail.com>
parents:
3749
diff
changeset
|
146 |
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
|
147 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
|
148 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
|
149 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
|
150 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
|
151 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
|
152 }; |