move record as well (yeah, I'm a selfish bitch, I migrate things in my own folder...
[apps/madmutt.git] / lib-lua / lua-token.sh
index b715c37..e524119 100644 (file)
@@ -37,14 +37,16 @@ do_h() {
 #ifndef MUTT_LIB_LUA_LUA_TOKEN_H
 #define MUTT_LIB_LUA_LUA_TOKEN_H
 
-enum lua_token {
+typedef enum mlua_token {
     LTK_UNKNOWN = -1,
-`tr 'a-z-/' 'A-Z__' | sed -e 's/.*/    LTK_&,/'`
+`grep_self "$0" | tr 'a-z-/' 'A-Z__' | sed -e 's/.*/    LTK_&,/'`
     LTK_count,
-};
+} mlua_token;
+
+extern const char *__mlua_token[LTK_count];
 
 __attribute__((pure))
-enum lua_token lua_which_token(const char *s, ssize_t len);
+mlua_token mlua_which_token(const char *s, ssize_t len);
 #endif /* MUTT_LIB_LUA_LUA_TOKEN_H */
 EOF
 }
@@ -56,7 +58,7 @@ do_tokens() {
 }
 
 do_c() {
-    cat <<EOF | gperf -m16 -l -t -C -F",0" -Nlua_which_token_aux
+    cat <<EOF | gperf -m16 -l -t -C -F",0" -Nmlua_which_token_aux
 %{
 `do_hdr`
 
@@ -64,21 +66,25 @@ do_c() {
 #include "lua-token.h"
 
 static const struct tok *
-lua_which_token_aux(const char *str, unsigned int len);
+mlua_which_token_aux(const char *str, unsigned int len);
 
 %}
 struct tok { const char *name; int val; };
 %%
-`do_tokens`
+`grep_self "$0" | do_tokens`
 %%
 
-enum lua_token lua_which_token(const char *s, ssize_t len)
+const char *__mlua_token[LTK_count] = {
+`grep_self "$0" | sed -e 's/.*/    "&",/'`
+};
+
+mlua_token mlua_which_token(const char *s, ssize_t len)
 {
     if (len < 0)
         len = m_strlen(s);
 
     if (len) {
-        const struct tok *res = lua_which_token_aux(s, len);
+        const struct tok *res = mlua_which_token_aux(s, len);
         return res ? res->val : LTK_UNKNOWN;
     } else {
         return LTK_UNKNOWN;
@@ -95,8 +101,8 @@ trap "rm -f $1" 1 2 3 15
 
 rm -f $1
 case "$1" in
-    *.h) grep_self "$0" | do_h > $1;;
-    *.c) grep_self "$0" | do_c > $1;;
+    *.h) do_h > $1;;
+    *.c) do_c > $1;;
     *)  die "you must ask for the 'h' or 'c' generation";;
 esac
 chmod -w $1
@@ -104,8 +110,45 @@ chmod -w $1
 exit 0
 
 ############ Put tokens here ############
+## alias_file
+## alias_format
+## ask-no
+## ask-yes
+## assumed_charset
+## beep
+## beep_new
+## bindir
+## charset
+## docdir
 ## dotlock
+## dsn_notify
+## dsn_return
 ## editor
+## envelope_from_address
+## file_charset
+## gecos_mask
+## hcache_backend
+## homedir
+## hostname
+## mailcap_path
+## mailcap_sanitize
+## mail_check
+## no
+## operating_system
 ## quit
+## record
+## send_charset
 ## sendmail
+## sendmail_wait
 ## shell
+## shorthost
+## signature
+## spam_separator
+## sysconfdir
+## tmpdir
+## use_8bitmime
+## use_domain
+## use_envelope_from
+## username
+## version
+## yes