diff options
Diffstat (limited to 'etc/todo/scanners/coderay_lua_lexar.patch')
-rw-r--r-- | etc/todo/scanners/coderay_lua_lexar.patch | 193 |
1 files changed, 0 insertions, 193 deletions
diff --git a/etc/todo/scanners/coderay_lua_lexar.patch b/etc/todo/scanners/coderay_lua_lexar.patch deleted file mode 100644 index 0c59559..0000000 --- a/etc/todo/scanners/coderay_lua_lexar.patch +++ /dev/null @@ -1,193 +0,0 @@ -by Chris Peterson -http://www.redmine.org/issues/show/1471 -http://www.redmine.org/attachments/642/coderay_lua_lexar.patch -Index: vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/lua.rb -=================================================================== ---- vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/lua.rb (revision 0) -+++ vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/lua.rb (revision 0) -@@ -0,0 +1,185 @@ -+module CodeRay -+module Scanners -+ -+ class Lua < Scanner -+ -+ register_for :lua -+ -+ include Streamable -+ -+ RESERVED_WORDS = [ -+ 'if', 'elseif', 'else', 'then', -+ 'end', 'do', 'while', 'true', -+ 'false', 'in', 'for', 'and', 'or', -+ 'function', 'local', 'not', 'repeat', -+ 'return', 'until', 'break', -+ ] -+ -+ PREDEFINED_TYPES = [ -+ 'nil', 'boolean', 'number', 'string', 'table', -+ ] -+ -+ BUILTIN_LIBS = [ -+ 'package', 'table', 'math', 'string', 'io', 'os', 'debug', -+ ] -+ -+ BUILTIN_METHODS = [ -+ 'loadlib', 'path', 'cpath', -+ 'loaded','preloaded','seeall', -+ 'coroutine', 'create','resume','yield', -+ 'status','running','wrap', -+ 'insert','remove','maxn','sort', -+ 'concat','abs','mod','floor','ceil', -+ 'min','max','sqrt','math.pow','math.log', -+ 'exp','log10','deg','math.pi','math.rad', -+ 'sin','cos','tan','asin','acos', -+ 'atan','atan2','frexp','ldexp','random', -+ 'randomseed', 'len','sub','rep','upper', -+ 'lower','byte','char','dump','format', -+ 'find','gmatch','gsub','match','open', -+ 'input','output','close','read','lines', -+ 'write','flush','stdout','stdin','stderr', -+ 'popen','type','tmpfile','execute','exit', -+ 'getenv','setlocale','remove','rename','tmpname', -+ 'clock','time','date','difftime','debug', -+ 'getinfo','getlocal','getupvalue','traceback', -+ 'setlocal','setupvalue','sethook','gethook', -+ ] -+ -+ BUILTIN_FUNCTIONS = [ -+ 'print', 'pairs','ipairs', 'error', 'load', -+ 'require', 'getfenv', 'setfenv', 'dofile', -+ 'loadfile', 'loadstring', 'pcall', 'xpcall', -+ 'assert', 'type', 'tostring', 'tonumber', -+ 'select', 'unpack', 'next', 'collectgarbage', -+ 'module', -+ ] -+ -+ IDENT_KIND = WordList.new(:ident). -+ add(RESERVED_WORDS, :reserved). -+ add(PREDEFINED_TYPES, :pre_type). -+ add(BUILTIN_LIBS, :predefined). -+ add(BUILTIN_METHODS, :pre_type). -+ add(BUILTIN_FUNCTIONS, :preprocessor) -+ -+ ESCAPE = / [rbfnrtv\n\\'"] | x[a-fA-F0-9]{1,2} | [0-7]{1,3} /x -+ UNICODE_ESCAPE = / u[a-fA-F0-9]{4} | U[a-fA-F0-9]{8} /x -+ -+ def scan_tokens tokens, options -+ -+ state = :initial -+ -+ until eos? -+ -+ kind = nil -+ match = nil -+ -+ case state -+ -+ when :initial -+ -+ if scan(/ \s+ | \\\n /x) -+ kind = :space -+ -+ elsif scan(%r! --[^\n\\]* (?: \\. [^\n\\]* )* | --\[\[ (?: .*? \]\] | .* ) !mx) -+ kind = :comment -+ -+ elsif scan(/ [-+*\/=<>?:;,!&^|()\[\]{}~%]+ | \.(?!\d) /x) -+ kind = :operator -+ -+ elsif match = scan(/ [#A-Za-z_][A-Za-z_0-9]* /x) -+ kind = IDENT_KIND[match] -+ if kind == :pre_type and check(/[^\.\:\(\']/) -+ kind = :ident -+ end -+ -+ elsif match = scan(/L?"/) -+ tokens << [:open, :string] -+ if match[0] == ?L -+ tokens << ['L', :modifier] -+ match = '"' -+ end -+ state = :string -+ kind = :string -+ -+ elsif scan(/ L?' (?: [^\'\n\\] | \\ #{ESCAPE} )? '? /ox) -+ kind = :char -+ -+ elsif scan(/0[xX][0-9A-Fa-f]+/) -+ kind = :hex -+ -+ elsif scan(/(?:0[0-7]+)(?![89.eEfF])/) -+ kind = :octal -+ -+ elsif scan(/(?:\d+)(?![.eEfF])/) -+ kind = :integer -+ -+ elsif scan(/\d[fF]?|\d*\.\d+(?:[eE][+-]?\d+)?[fF]?|\d+[eE][+-]?\d+[fF]?/) -+ kind = :float -+ -+ else -+ getch -+ kind = :error -+ -+ end -+ -+ when :string -+ if scan(/[^\\\n"]+/) -+ kind = :content -+ elsif scan(/"/) -+ tokens << ['"', :string] -+ tokens << [:close, :string] -+ state = :initial -+ next -+ elsif scan(/ \\ (?: #{ESCAPE} | #{UNICODE_ESCAPE} ) /mox) -+ kind = :char -+ elsif scan(/ \\ | $ /x) -+ tokens << [:close, :string] -+ kind = :error -+ state = :initial -+ else -+ raise_inspect "else case \" reached; %p not handled." % peek(1), tokens -+ end -+ -+ when :include_expected -+ if scan(/<[^>\n]+>?|"[^"\n\\]*(?:\\.[^"\n\\]*)*"?/) -+ kind = :include -+ state = :initial -+ -+ elsif match = scan(/\s+/) -+ kind = :space -+ state = :initial if match.index ?\n -+ -+ else -+ getch -+ kind = :error -+ -+ end -+ -+ else -+ raise_inspect 'Unknown state', tokens -+ -+ end -+ -+ match ||= matched -+ if $DEBUG and not kind -+ raise_inspect 'Error token %p in line %d' % -+ [[match, kind], line], tokens -+ end -+ raise_inspect 'Empty token', tokens unless match -+ -+ tokens << [match, kind] -+ -+ end -+ -+ if state == :string -+ tokens << [:close, :string] -+ end -+ -+ tokens -+ end -+ -+ end -+ -+end -+end |