-
Notifications
You must be signed in to change notification settings - Fork 16
/
luaprompt-dev-1.rockspec
134 lines (115 loc) · 4.28 KB
/
luaprompt-dev-1.rockspec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
-- Copyright (C) 2012-2023 Dimitris Papavasiliou, Boris Nagaev
--
-- Permission is hereby granted, free of charge, to any person
-- obtaining a copy of this software and associated documentation
-- files (the "Software"), to deal in the Software without
-- restriction, including without limitation the rights to use, copy,
-- modify, merge, publish, distribute, sublicense, and/or sell copies
-- of the Software, and to permit persons to whom the Software is
-- furnished to do so, subject to the following conditions:
--
-- The above copyright notice and this permission notice shall be
-- included in all copies or substantial portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-- SOFTWARE.
package = "luaprompt"
version = "dev-1"
supported_platforms = {"!windows", "!win32"}
source = {
url = "git+https://github.com/dpapavas/luaprompt.git",
}
description = {
summary = "A Lua command prompt with pretty-printing and auto-completion",
homepage = "https://github.com/dpapavas/luaprompt",
license = "MIT/X11",
detailed = [[
luaprompt is both an interactive Lua prompt that can be used instead
of the official interpreter, as well as module that provides a Lua
command prompt that can be embedded in a host application. As a
standalone interpreter it provides many conveniences that are missing
from the official Lua interpreter. As an embedded prompt, it's meant
for applications that use Lua as a configuration or interface language
and can therefore benefit from an interactive prompt for debugging or
regular use.
luaprompt features:
* Readline-based input with history and completion: In particular all
keywords, global variables and table accesses (with string or
integer keys) can be completed in addition to readline's standard
file completion. Module names are also completed, for modules
installed in the standard directories, and completed modules can
optionally be loaded.
* Persistent command history (retained across sessions), as well as
recording of command results for future reference.
* Proper value pretty-printing for interactive use: When an expression
is entered at the prompt, all returned values are printed
(prepending with an equal sign is not required). Values are printed
in a descriptive way that tries to be as readable as possible. The
formatting tries to mimic Lua code (this is done to minimize
ambiguities and no guarantees are made that it is valid code).
Additionally, each value is stored in a table for future reference.
* Color highlighting of error messages and variable printouts.
]],
}
dependencies = {
"lua >= 5.1",
"argparse",
}
external_dependencies = {
READLINE = {
header = "readline/readline.h",
library = "readline",
},
HISTORY = {
header = "readline/history.h",
library = "history",
},
}
build = {
type = "builtin",
modules = {
['prompt'] = {
sources = {
"prompt.c",
"module.c"
},
incdirs = {
"$(READLINE_INCDIR)",
"$(HISTORY_INCDIR)",
},
libdirs = {
"$(READLINE_LIBDIR)",
"$(HISTORY_LIBDIR)",
},
defines = {
"_GNU_SOURCE",
"HAVE_LIBREADLINE",
"HAVE_READLINE_HISTORY",
"HAVE_IOCTL",
"COMPLETE_KEYWORDS",
"COMPLETE_TABLE_KEYS",
"COMPLETE_METATABLE_KEYS",
"COMPLETE_FILE_NAMES",
"COMPLETE_MODULES",
"SAVE_RESULTS",
"ESCAPE_STRINGS",
'RESULTS_TABLE_NAME=\"_\"',
},
libraries = {
"readline",
"history",
},
},
},
install = {
bin = {
luap = 'luap.lua'
},
},
}