Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/buildsystem/src/tolua/lua/custom_hide.lua @ 2518

Last change on this file since 2518 was 2229, checked in by rgrieder, 16 years ago

Cleaned up indentation chaos in tolua. There were tabs and 1 space indentations, even mixed in a single block.
It should now be possible to actually pimp these files.

File size: 864 bytes
Line 
1-- extract code with tolua_hide, and also
2function extract_code(fn,s)
3    local code = '\n$#include "'..fn..'"\n'
4    s= "\n" .. s .. "\n" -- add blank lines as sentinels
5    local _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n")
6    while e do
7        t = strlower(t)
8        if t == "begin" then
9            _,e,c = strfind(s,"(.-)\n[^\n]*[Tt][Oo][Ll][Uu][Aa]_[Ee][Nn][Dd][^\n]*\n",e)
10            if not e then
11             tolua_error("Unbalanced 'tolua_begin' directive in header file")
12            end
13        end
14        c = c.."\n"
15        c = string.gsub(c, "\n[^\n]*[Tt][Oo][Ll][Uu][Aa]_[hH][iI][Dd][eE][^\n]*\n", "\n");
16        c = string.gsub(c, "#define[^%(\n]*%(.-\n", "\n")
17        code = code .. c
18     _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n",e)
19    end
20    return code
21end
Note: See TracBrowser for help on using the repository browser.