Browse Source

prompt for interactive mode

v5-2
Roberto Ierusalimschy 27 years ago
parent
commit
a3235ad270
  1. 19
      lua.c

19
lua.c

@ -1,5 +1,5 @@
/*
** $Id: $
** $Id: lua.c,v 1.1 1997/09/16 19:25:59 roberto Exp roberto $
** Lua stand-alone interpreter
** See Copyright Notice in lua.h
*/
@ -30,11 +30,15 @@ static void manual_input (void)
{
if (isatty(0)) {
char buffer[250];
while (fgets(buffer, sizeof(buffer), stdin) != 0) {
while (1) {
lua_beginblock();
printf("%s", lua_getstring(lua_getglobal("_PROMPT")));
if (fgets(buffer, sizeof(buffer), stdin) == 0)
break;
lua_dostring(buffer);
lua_endblock();
}
printf("\n");
}
else
lua_dofile(NULL); /* executes stdin as a file */
@ -45,11 +49,14 @@ int main (int argc, char *argv[])
{
int i;
setlocale(LC_ALL, "");
lua_iolibopen ();
lua_strlibopen ();
lua_mathlibopen ();
if (argc < 2)
lua_iolibopen();
lua_strlibopen();
lua_mathlibopen();
lua_pushstring("Lua> "); lua_setglobal("_PROMPT");
if (argc < 2) {
printf("%s %s\n", LUA_VERSION, LUA_COPYRIGHT);
manual_input();
}
else for (i=1; i<argc; i++) {
if (strcmp(argv[i], "-") == 0)
manual_input();

Loading…
Cancel
Save