Current File : //proc/self/root/usr/share/highlight/langDefs/lua.lang
Description="Lua"

Keywords={
  { Id=1,
    List={"and", "break", "do", "else", "elseif", "end", "false", "for",
"function", "if", "in", "local", "nil", "not", "or", "repeat", "return", "then",
"true", "until", "while"},
  },
  { Id=2,
    List={"number", "string", "function", "userdata", "table", "assert", "call",
"collectgarbage", "copytagmethods", "dofile", "dostring", "error", "foreach",
"foreachi", "getglobal", "getn", "gettagmethod", "globals", "newtag", "next",
"print", "rawget", "rawset", "setglobal", "settag", "settagmethod", "sort",
"tag", "tonumber", "tostring", "tinsert", "tremove", "type", "abs", "acos",
"asin", "atan", "atan2", "ceil", "cos", "deg", "exp", "floor", "log", "log10",
"max", "min", "mod", "rad", "sin", "sqrt", "tan", "frexp", "ldexp", "random",
"randomseed", "openfile", "closefile", "readfrom", "writeto", "appendto",
"remove", "rename", "flush", "seek", "tmpname", "read", "write", "clock",
"date", "execute", "exit", "getenv", "setlocale", "strbyte", "strchar",
"strfind", "strlen", "strlower", "strrep", "strsub", "strupper", "format",
"gsub"},
  },
  { Id=4,
    Regex=[[(\w+)\s*\(]],
  },
}

Strings={
  Delimiter=[["|']],
  DelimiterPairs= {
    { Open=[[ \[\[ ]], Close=[[ \]\] ]], Raw=true }
  }
}

IgnoreCase=false

Comments={
  { Block=false,
    Delimiter= { [[\-\-(?!\[\[) ]] },
  },

  { Block=true,
    Nested=false,
    Delimiter= { [[ \-\-\[\[ ]],[[ \]\] ]],}
  }
}

Operators=[[\(|\)|\{|\}|\[|\]|\,|\;|\.|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-|\~|\#|\\]]


-- resolve issue with ]] close delimiter which ends comments and strings
function OnStateChange(oldState, newState, token)

   if token=="]]" and oldState==HL_STRING and newState==HL_BLOCK_COMMENT_END then
      return HL_STRING_END
   end
   return newState
end