<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="Ruby" version="1.0" _section="Scripts" mimetypes="text/x-ruby">

	<escape-char>\</escape-char>

	<keyword-list _name="Attribute Definitions" style="Others" case-sensitive="TRUE">
		<keyword>attr</keyword>
		<keyword>attr_writer</keyword>
		<keyword>attr_reader</keyword>
		<keyword>attr_accessor</keyword>
	</keyword-list>

	<keyword-list _name="Definitions" style="Keyword" case-sensitive="TRUE">
		<keyword>alias</keyword>
		<keyword>class</keyword>
		<keyword>module</keyword>
		<keyword>def</keyword>
		<keyword>undef</keyword>
	</keyword-list>

	<keyword-list _name="Pseudo Variables" style="Data Type" case-sensitive="TRUE">
		<keyword>self</keyword>
		<keyword>super</keyword>
		<keyword>nil</keyword>
		<keyword>false</keyword>
		<keyword>true</keyword>
		<keyword>__FILE__</keyword>
		<keyword>__LINE__</keyword>
	</keyword-list>

	<keyword-list _name = "Module Handlers" style = "Preprocessor">
		<keyword>require</keyword>
		<keyword>include</keyword>
		<keyword>load</keyword>
	</keyword-list>

	<keyword-list _name = "Keywords" style = "Keyword" case-sensitive="TRUE">
		<keyword>BEGIN</keyword>
		<keyword>END</keyword>
		<keyword>and</keyword>
		<keyword>begin</keyword>
		<keyword>break</keyword>
		<keyword>case</keyword>
		<keyword>catch</keyword>
		<keyword>defined?</keyword>
		<keyword>do</keyword>
		<keyword>else</keyword>
		<keyword>elsif</keyword>
		<keyword>end</keyword>
		<keyword>ensure</keyword>
		<keyword>for</keyword>
		<keyword>if</keyword>
		<keyword>in</keyword>
		<keyword>next</keyword>
		<keyword>not</keyword>
		<keyword>or</keyword>
		<keyword>private</keyword>
		<keyword>protected</keyword>
		<keyword>public</keyword>
		<keyword>redo</keyword>
		<keyword>rescue</keyword>
		<keyword>retry</keyword>
		<keyword>return</keyword>
		<keyword>then</keyword>
		<keyword>throw</keyword>
		<keyword>unless</keyword>
		<keyword>until</keyword>
		<keyword>when</keyword>
		<keyword>while</keyword>
		<keyword>yield</keyword>
	</keyword-list>

	<keyword-list _name = "Builtins" style = "Others" case-sensitive="TRUE">
		<keyword>Array</keyword>
		<keyword>Bignum</keyword>
		<keyword>Binding</keyword>
		<keyword>Class</keyword>
		<keyword>Continuation</keyword>
		<keyword>Dir</keyword>
		<keyword>Exception</keyword>
		<keyword>FalseClass</keyword>
		<keyword>File::Stat</keyword>
		<keyword>File</keyword>
		<keyword>Fixnum</keyword>
		<keyword>Fload</keyword>
		<keyword>Hash</keyword>
		<keyword>Integer</keyword>
		<keyword>IO</keyword>
		<keyword>MatchData</keyword>
		<keyword>Method</keyword>
		<keyword>Module</keyword>
		<keyword>NilClass</keyword>
		<keyword>Numeric</keyword>
		<keyword>Object</keyword>
		<keyword>Proc</keyword>
		<keyword>Range</keyword>
		<keyword>Regexp</keyword>
		<keyword>String</keyword>
		<keyword>Struct::Tms</keyword>
		<keyword>Symbol</keyword>
		<keyword>Symbol</keyword>
		<keyword>ThreadGroup</keyword>
		<keyword>Thread</keyword>
		<keyword>Time</keyword>
		<keyword>TrueClass</keyword>
	</keyword-list>

	<pattern-item _name = "Class Variables" style = "Data Type">
		<regex>@@[a-zA-Z_][a-zA-Z0-9_]*</regex>
	</pattern-item>

	<pattern-item _name = "Instance Variables" style = "Data Type">
		<regex>@[a-zA-Z_][a-zA-Z0-9_]*</regex>
	</pattern-item>

	<pattern-item _name = "Global Variables" style = "Data Type">
		<regex>\$[a-zA-Z_][a-zA-Z0-9_]*</regex>
	</pattern-item>

	<pattern-item _name = "RegExp Variables" style = "Decimal">
		<regex>\$[1-9][0-9]*</regex>
	</pattern-item>

	<pattern-item _name = "Constants" style = "Decimal">
		<regex>\b[A-Z_][A-Z0-9_]*\b</regex>
	</pattern-item>

	<string _name = "String" style = "String" end-at-line-end = "TRUE">
		<start-regex>&quot;</start-regex>
		<end-regex>&quot;</end-regex>
	</string>

	<string _name = "String 2" style = "String" end-at-line-end = "TRUE">
		<start-regex>&apos;</start-regex>
		<end-regex>&apos;</end-regex>
	</string>

	<line-comment _name = "Line Comment" style= "Comment">
		<start-regex>#</start-regex>
	</line-comment>

	<block-comment _name="Multiline Comment" style="Comment">
		<start-regex>=begin</start-regex>
		<end-regex>=end</end-regex>
	</block-comment>

	<syntax-item _name="Regular Expression" style="Others">
		<start-regex>/</start-regex>
		<end-regex>/[iomx]?</end-regex>
	</syntax-item>

	<syntax-item _name="Regular Expression 2" style="Others">
		<start-regex>\%r\{</start-regex>
		<end-regex>\}[iomx]?</end-regex>
	</syntax-item>

</language>
