<?xml version="1.0" encoding="UTF-8"?>
<Scheme>
	<keyword-classes>
		<keyword-class name="lua">
			
			<!-- base functions -->
			_G _TRACEBACK __pow assert collectgarbage dofile error gcinfo getfenv getmetatable ipairs loadfile loadlib loadstring newproxy next pairs pcall print rawequal rawget rawset require setfenv setmetatable tonumber tostring type unpack _VERSION xpcall
			
			<!-- coroutine functions -->
			coroutine.create coroutine.resume coroutine.status coroutine.wrap coroutine.yield
			
			<!-- debug functions -->
			debug.debug debug.gethook debug.getinfo debug.getlocal debug.getupvalue debug.sethook debug.setlocal debug.setupvalue debug.traceback
			
			<!-- io functions -->
			io.close io.flush io.input io.lines io.open io.output io.popen io.read io.tmpfile io.stdin io.stdout io.stderr io.type io.write f:close f:flush f:lines f:read f:seek f:write
			
			<!-- math functions -->
			math.abs math.acos math.asin math.atan math.atan2 math.ceil math.cos math.deg math.exp math.floor math.frexp math.ldexp math.log math.log10 math.max math.min math.mod math.pi math.pow math.rad math.random math.randomseed math.sin math.sqrt math.tan
			
			<!-- os functions -->
			os.clock os.date os.difftime os.execute os.exit os.getenv os.remove os.rename os.setlocale os.time os.tmpname
			
			<!-- string functions -->
			string.byte string.char string.dump string.find Patterns Important string.format string.gfind string.gsub string.len string.lower string.rep string.sub string.upper
			
			<!-- table functions -->
			table.concat table.foreach table.foreachi table.getn table.insert table.remove table.setn table.sort
			
			<!-- package functions -->
			package.cpath package.loaded package.loadlib package.path package.preload package.seeall
			
			<!-- everything else -->
			and break do else elseif end false for function if in local nil not or repeat return then true until while
			
		</keyword-class>
	</keyword-classes>
	
	<!-- base scheme for lua style languages -->
	<base-language name="luabase">
		<lexer name="lua" />
		<use-styles>
			<style name="Default" key="32" />
			<style name="Whitespace" key="0" />
			<style name="Comment" key="1" class="commentbox"/>
			<style name="Comment Line" key="2" class="commentline"/>
			
			<style name="Number" key="4" fore="colour.number"/>
			<style name="Keyword" key="5" class="keyword"/>
			<style name="String" key="6" fore="colour.string"/>
			<style name="Character" key="7" fore="colour.char"/>
			
			<style name="Operator" key="10" bold="true"/>
			<style name="Identifier" key="11" />
			<style name="End of line string" key="12" fore="000000" font="font.monospace" back="e0c0e0" eolfilled="true"/>
		</use-styles>
	</base-language>
	
	<language base="luabase" name="lua" title="Lua" folding="true" foldcomments="true" foldcompact="true" foldpreproc="true">
		<lexer name="lua" />
		<use-keywords>
			<keyword key="0" name="Keywords" class="lua"/>
		</use-keywords>
		<use-styles>
			<style name="Doc Comments" key="3" class="commentdoc"/>
			<style name="UUID" key="8" fore="804080"/>
			<style name="Preprocessor" key="9" class="preprocessor"/>
			<style name="Verbatim" key="13" fore="007f00" font="font.monospace" back="e0ffe0" eolfilled="true"/>
			<style name="RegEx" key="14" fore="3f7f3f" font="font.monospace" back="e0f0ff" eolfilled="true"/>
			<style name="Comment Line Doc" key="15" class="commentdoc"/>
			<style name="Keywords 2" key="16" fore="b00040"/>
			<style name="Comment Doc Keyword" key="17" class="commentdoc" fore="3060a0"/>
			<style name="Unknown Comment Doc Keyword" key="18" class="commentdoc" fore="804020"/>
		</use-styles>
	</language>
	
</Scheme>