aboutsummaryrefslogtreecommitdiff
path: root/term
diff options
context:
space:
mode:
authorRob Hoelz <rob@hoelz.ro>2012-09-14 18:52:09 +0200
committerRob Hoelz <rob@hoelz.ro>2012-09-14 18:52:09 +0200
commit89fa78d9850742609da66f1970e21c20b5a83a13 (patch)
tree2b126a627f5574396d330e3416db4fc89c73203a /term
parent4a8d03a9943f67e7a4c56988d606d99fb7ed4cba (diff)
downloadlua-term-89fa78d9850742609da66f1970e21c20b5a83a13.tar.gz
lua-term-89fa78d9850742609da66f1970e21c20b5a83a13.tar.bz2
lua-term-89fa78d9850742609da66f1970e21c20b5a83a13.zip
Add cursor and clear functions
Diffstat (limited to 'term')
-rw-r--r--term/cursor.lua31
-rw-r--r--term/init.lua28
2 files changed, 58 insertions, 1 deletions
diff --git a/term/cursor.lua b/term/cursor.lua
new file mode 100644
index 0000000..ebd81ed
--- /dev/null
+++ b/term/cursor.lua
@@ -0,0 +1,31 @@
1-- Copyright (c) 2009 Rob Hoelz <rob@hoelzro.net>
2--
3-- Permission is hereby granted, free of charge, to any person obtaining a copy
4-- of this software and associated documentation files (the "Software"), to deal
5-- in the Software without restriction, including without limitation the rights
6-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7-- copies of the Software, and to permit persons to whom the Software is
8-- furnished to do so, subject to the following conditions:
9--
10-- The above copyright notice and this permission notice shall be included in
11-- all copies or substantial portions of the Software.
12--
13-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19-- THE SOFTWARE.
20
21local term = require 'term.core'
22
23return {
24 goto = term.maketermfunc '%d;%dH',
25 goup = term.maketermfunc '%d;A',
26 godown = term.maketermfunc '%d;B',
27 goright = term.maketermfunc '%d;C',
28 goleft = term.maketermfunc '%d;D',
29 save = term.maketermfunc 's',
30 restore = term.maketermfunc 'u',
31}
diff --git a/term/init.lua b/term/init.lua
index 07be081..8e59ce6 100644
--- a/term/init.lua
+++ b/term/init.lua
@@ -18,7 +18,33 @@
18-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 18-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19-- THE SOFTWARE. 19-- THE SOFTWARE.
20 20
21local term = require 'term.core' 21local term = require 'term.core'
22local sformat = string.format
23local iotype = io.type
24local stdout = io.stdout
25
26function term.maketermfunc(sequence_fmt)
27 sequence_fmt = '\027[' .. sequence_fmt
28
29 local func
30
31 func = function(handle, ...)
32 if iotype(handle) ~= 'file' then
33 return func(stdout, handle, ...)
34 end
35
36 return handle:write(sformat(sequence_fmt, ...))
37 end
38
39 return func
40end
41
22term.colors = require 'term.colors' 42term.colors = require 'term.colors'
43term.cursor = require 'term.cursor'
44
45term.clear = term.maketermfunc '2J'
46term.cleareol = term.maketermfunc 'K'
47
48term.maketermfunc = nil
23 49
24return term 50return term