change flags to table
This commit is contained in:
parent
a4ed4ab40e
commit
a418ab63e0
@ -58,7 +58,7 @@ table:
|
||||
|
||||
```
|
||||
|
||||
markdown.compile(markdown_text,flag,flag,flag)
|
||||
markdown.compile(markdown_text,flags)
|
||||
|
||||
|
||||
```
|
||||
@ -103,7 +103,7 @@ Example:
|
||||
|
||||
```
|
||||
|
||||
markdown.compile(markdown_text,"extrafootnote","toc","notables")
|
||||
markdown.compile(markdown_text,{"extrafootnote","toc","notables"})
|
||||
|
||||
```
|
||||
|
||||
|
||||
16
discount3.c
16
discount3.c
@ -61,17 +61,25 @@ static int compile(lua_State *L) {
|
||||
MMIOT *doc;
|
||||
mkd_flag_t *flags = mkd_flags();
|
||||
char *body = NULL, *toc = NULL, *css = NULL;
|
||||
int body_size, toc_size, css_size, i, argc;
|
||||
int body_size, toc_size, css_size;
|
||||
|
||||
size_t input_size;
|
||||
const char *input = luaL_checklstring(L, 1, &input_size);
|
||||
luaL_argcheck(L, input_size < INT_MAX, 1, "string too long");
|
||||
|
||||
for (i = 2, argc = lua_gettop(L); i <= argc; i++) {
|
||||
mkd_set_flag_num(flags, option_codes[luaL_checkoption(L, i, NULL, options)]);
|
||||
|
||||
if (lua_gettop(L) >= 2) {
|
||||
luaL_argcheck(L, lua_istable(L, 2), 2, "second argument must be a table");
|
||||
lua_pushvalue(L, 2);
|
||||
lua_pushnil(L);
|
||||
while (lua_next(L, -2) != 0) {
|
||||
mkd_set_flag_num(flags, option_codes[luaL_checkoption(L, -1, NULL, options)]);
|
||||
lua_pop(L, 1);
|
||||
}
|
||||
lua_pop(L, 1);
|
||||
}
|
||||
|
||||
doc = mkd_string(input, (int) input_size, flags);
|
||||
|
||||
if (unlikely(doc == NULL)) {
|
||||
lua_pushnil(L);
|
||||
lua_pushstring(L, "mkd_string() returned NULL");
|
||||
|
||||
BIN
discount3.o
BIN
discount3.o
Binary file not shown.
BIN
discount3.so
BIN
discount3.so
Binary file not shown.
4
test.lua
4
test.lua
@ -25,13 +25,13 @@ do
|
||||
end
|
||||
|
||||
do
|
||||
local doc = assert(compile("", "toc"))
|
||||
local doc = assert(compile("", {"toc"}))
|
||||
assert(doc.body == "")
|
||||
assert(not doc.index)
|
||||
end
|
||||
|
||||
do
|
||||
local doc = assert(compile("# Heading", "toc"))
|
||||
local doc = assert(compile("# Heading", {"toc"}))
|
||||
assert(doc.body)
|
||||
assert(doc.index)
|
||||
print(doc.index)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user