DonatShell
Server IP : 180.180.241.3  /  Your IP : 216.73.216.252
Web Server : Microsoft-IIS/7.5
System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586
User : IUSR ( 0)
PHP Version : 5.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Program Files (x86)/Sublime Text 2/Pristine Packages/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /Program Files (x86)/Sublime Text 2/Pristine Packages/Ruby.sublime-package
PKiZ=so'#!;usr;local;bin;ruby-w.sublime-snippet<snippet>
    <content><![CDATA[#!/usr/bin/env ruby${TM_RUBY_SWITCHES: -wKU}
]]></content>
    <tabTrigger>rb</tabTrigger>
    <scope>source.ruby</scope>
    <description>#!/usr/bin/env ruby -wKU</description>
</snippet>
PKiZ=7j 060-ruby-if-else.sublime-snippet<snippet>
    <content><![CDATA[if ${1:condition}
	$2
else
	$3
end]]></content>
    <tabTrigger>ife</tabTrigger>
    <scope>source.ruby</scope>
    <description>if … else … end</description>
</snippet>
PKiZ=@@070-ruby-if.sublime-snippet<snippet>
    <content><![CDATA[if ${1:condition}
	$0
end]]></content>
    <tabTrigger>if</tabTrigger>
    <scope>source.ruby</scope>
    <description>if … end</description>
</snippet>
PKiZ=On080-ruby-case.sublime-snippet<snippet>
    <content><![CDATA[case ${1:object}
when ${2:condition}
	$0
end]]></content>
    <tabTrigger>case</tabTrigger>
    <scope>source.ruby</scope>
    <description>case … end</description>
</snippet>
PKiZ=+!Add-'#-=-'-Marker.sublime-snippet<snippet>
    <content><![CDATA[# => ]]></content>
    <tabTrigger>#</tabTrigger>
    <scope>source.ruby</scope>
    <description>Add ‘# =&gt;’ Marker</description>
</snippet>
PKiZ=t6$alias_method-..-(am).sublime-snippet<snippet>
    <content><![CDATA[alias_method :${1:new_name}, :${0:old_name}]]></content>
    <tabTrigger>am</tabTrigger>
    <scope>source.ruby</scope>
    <description>alias_method ..</description>
</snippet>
PKiZ=&/"all-{-e-..-}-(all).sublime-snippet<snippet>
    <content><![CDATA[all? { |${1:e}| $0 }]]></content>
    <tabTrigger>all</tabTrigger>
    <scope>source.ruby</scope>
    <description>all? { |e| .. }</description>
</snippet>
PKiZ=F;"any-{-e-..-}-(any).sublime-snippet<snippet>
    <content><![CDATA[any? { |${1:e}| $0 }]]></content>
    <tabTrigger>any</tabTrigger>
    <scope>source.ruby</scope>
    <description>any? { |e| .. }</description>
</snippet>
PKiZ=aHZ)application_code-..-(app).sublime-snippet<snippet>
    <content><![CDATA[if __FILE__ == \$PROGRAM_NAME
	$0
end]]></content>
    <tabTrigger>app</tabTrigger>
    <scope>source.ruby</scope>
    <description>application { .. }</description>
</snippet>
PKiZ=2qq,Array.new(10)-{-i-..-}-(Arr).sublime-snippet<snippet>
    <content><![CDATA[Array.new(${1:10}) { ${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:|)/}${2:i}${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:| )/}$0 }]]></content>
    <tabTrigger>Array</tabTrigger>
    <scope>source.ruby</scope>
    <description>Array.new(10) { |i| .. }</description>
</snippet>
PKiZ=ٱassert(..)-(as).sublime-snippet<snippet>
    <content><![CDATA[assert(${1:test}, "${0:Failure message.}")]]></content>
    <tabTrigger>as</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert(..)</description>
</snippet>
PKiZ=F]@assert_equal.sublime-snippet<snippet>
    <content><![CDATA[assert_equal(${1:expected}, ${0:actual})]]></content>
    <tabTrigger>ase</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_equal(..)</description>
</snippet>
PKiZ=V0-assert_instance_of(..)-(asio).sublime-snippet<snippet>
    <content><![CDATA[assert_instance_of(${1:ExpectedClass}, ${0:actual_instance})]]></content>
    <tabTrigger>asio</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_instance_of(..)</description>
</snippet>
PKiZ=GI*assert_in_delta(..)-(asid).sublime-snippet<snippet>
    <content><![CDATA[assert_in_delta(${1:expected_float}, ${2:actual_float}, ${0:2 ** -20})]]></content>
    <tabTrigger>asid</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_in_delta(..)</description>
</snippet>
PKiZ=%l)assert_kind_of(..)-(asko).sublime-snippet<snippet>
    <content><![CDATA[assert_kind_of(${1:ExpectedKind}, ${0:actual_instance})]]></content>
    <tabTrigger>asko</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_kind_of(..)</description>
</snippet>
PKiZ=&mD&assert_match(..)-(asm).sublime-snippet<snippet>
    <content><![CDATA[assert_match(/${1:expected_pattern}/, ${0:actual_string})]]></content>
    <tabTrigger>asm</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_match(..)</description>
</snippet>
PKiZ=&$assert_nil(..)-(asn).sublime-snippet<snippet>
    <content><![CDATA[assert_nil(${0:instance})]]></content>
    <tabTrigger>asn</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_nil(..)</description>
</snippet>
PKiZ=]%K7assert_nothing_raised(..)-{-..-}-(asnr).sublime-snippet<snippet>
    <content><![CDATA[assert_nothing_raised(${1:Exception}) { $0 }]]></content>
    <tabTrigger>asnr</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_nothing_raised(..) { .. }</description>
</snippet>
PKiZ=jAe3assert_nothing_thrown-{-..-}-(asnt).sublime-snippet<snippet>
    <content><![CDATA[assert_nothing_thrown { $0 }]]></content>
    <tabTrigger>asnt</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_nothing_thrown { .. }</description>
</snippet>
PKiZ=cD+assert_not_equal(..)-(asne).sublime-snippet<snippet>
    <content><![CDATA[assert_not_equal(${1:unexpected}, ${0:actual})]]></content>
    <tabTrigger>asne</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_not_equal(..)</description>
</snippet>
PKiZ=2)assert_not_nil(..)-(asnn).sublime-snippet<snippet>
    <content><![CDATA[assert_not_nil(${0:instance})]]></content>
    <tabTrigger>asnn</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_not_nil(..)</description>
</snippet>
PKiZ=1*assert_not_same(..)-(asns).sublime-snippet<snippet>
    <content><![CDATA[assert_not_same(${1:unexpected}, ${0:actual})]]></content>
    <tabTrigger>asns</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_not_same(..)</description>
</snippet>
PKiZ=j*assert_no_match(..)-(asnm).sublime-snippet<snippet>
    <content><![CDATA[assert_no_match(/${1:unexpected_pattern}/, ${0:actual_string})]]></content>
    <tabTrigger>asnm</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_no_match(..)</description>
</snippet>
PKiZ=|rd)assert_operator(..)-(aso).sublime-snippet<snippet>
    <content><![CDATA[assert_operator(${1:left}, :${2:operator}, ${0:right})]]></content>
    <tabTrigger>aso</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_operator(..)</description>
</snippet>
PKiZ=؟-assert_raise(..)-{-..-}-(asr).sublime-snippet<snippet>
    <content><![CDATA[assert_raise(${1:Exception}) { $0 }]]></content>
    <tabTrigger>asr</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_raise(..) { .. }</description>
</snippet>
PKiZ=j8,assert_respond_to(..)-(asrt).sublime-snippet<snippet>
    <content><![CDATA[assert_respond_to(${1:object}, :${0:method})]]></content>
    <tabTrigger>asrt</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_respond_to(..)</description>
</snippet>
PKiZ=9%assert_same(..)-(ass).sublime-snippet<snippet>
    <content><![CDATA[assert_same(${1:expected}, ${0:actual})]]></content>
    <tabTrigger>ass</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_same(..)</description>
</snippet>
PKiZ=ˀ%assert_send(..)-(ass).sublime-snippet<snippet>
    <content><![CDATA[assert_send([${1:object}, :${2:message}, ${0:args}])]]></content>
    <tabTrigger>ass</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_send(..)</description>
</snippet>
PKiZ=V.assert_throws(..)-{-..-}-(ast).sublime-snippet<snippet>
    <content><![CDATA[assert_throws(:${1:expected}) { $0 }]]></content>
    <tabTrigger>ast</tabTrigger>
    <scope>source.ruby</scope>
    <description>assert_throws(..) { .. }</description>
</snippet>
PKW>'%attr_accessor-..-(rw).sublime-snippet<snippet>
    <content><![CDATA[attr_accessor :${0:attr_names}]]></content>
    <tabTrigger>rw</tabTrigger>
    <scope>source.ruby</scope>
    <description>attr_accessor ..</description>
</snippet>
PKiZ=O
"attr_reader-..-(r).sublime-snippet<snippet>
    <content><![CDATA[attr_reader :${0:attr_names}]]></content>
    <tabTrigger>r</tabTrigger>
    <scope>source.ruby</scope>
    <description>attr_reader ..</description>
</snippet>
PKiZ=?b"attr_writer-..-(w).sublime-snippet<snippet>
    <content><![CDATA[attr_writer :${0:attr_names}]]></content>
    <tabTrigger>w</tabTrigger>
    <scope>source.ruby</scope>
    <description>attr_writer ..</description>
</snippet>
PKiZ=!Z,Benchmark_bmbm(__)-do-__-end.sublime-snippet<snippet>
    <content><![CDATA[TESTS = ${1:10_000}
Benchmark.bmbm do |results|
  $0
end]]></content>
    <tabTrigger>bm-</tabTrigger>
    <scope>source.ruby</scope>
    <description>Benchmark.bmbm do .. end</description>
</snippet>
PKiZ=VCclass-..-DelegateClass-..-initialize-..-end-(class).sublime-snippet<snippet>
    <content><![CDATA[class ${1:${TM_FILENAME/(?:\A|_)([A-Za-z0-9]+)(?:\.rb)?/(?2::\u$1)/g}} < DelegateClass(${2:ParentClass})
	def initialize${3/(^.*?\S.*)|.*/(?1:\()/}${3:args}${3/(^.*?\S.*)|.*/(?1:\))/}
		super(${4:del_obj})
		
		$0
	end
	
	
end]]></content>
    <tabTrigger>cla-</tabTrigger>
    <scope>source.ruby</scope>
    <description>class .. &lt; DelegateClass .. initialize .. end</description>
</snippet>
PKiZ=U."class-..-end-(cla).sublime-snippet<snippet>
    <content><![CDATA[class ${1:${TM_FILENAME/(?:\A|_)([A-Za-z0-9]+)(?:\.rb)?/(?2::\u$1)/g}}
	$0
end]]></content>
    <tabTrigger>cla</tabTrigger>
    <scope>source.ruby</scope>
    <description>class .. end</description>
</snippet>
PKiZ=/HdZZ*class-..-initialize-..-end.sublime-snippet<snippet>
    <content><![CDATA[class ${1:${TM_FILENAME/(?:\A|_)([A-Za-z0-9]+)(?:\.rb)?/(?2::\u$1)/g}}
	def initialize${2/(^.*?\S.*)|.*/(?1:\()/}${2:args}${2/(^.*?\S.*)|.*/(?1:\))/}
		$0
	end
	
	
end]]></content>
    <tabTrigger>cla</tabTrigger>
    <scope>source.ruby</scope>
    <description>class .. initialize .. end</description>
</snippet>
PKiZ=>Oclass-..-instance_methods-..-undef-..-initialize-..-end-(class).sublime-snippet<snippet>
    <content><![CDATA[class ${1:BlankSlate}
	instance_methods.each { |meth| undef_method(meth) unless meth =~ /\A__/ }
	
	def initialize${2/(^.*?\S.*)|.*/(?1:\()/}${2:args}${2/(^.*?\S.*)|.*/(?1:\))/}
		@${3:delegate} = ${4:delegate_object}
		
		$0
	end
	
	def method_missing(meth, *args, &block)
		@${3:delegate}.send(meth, *args, &block)
	end
	
	
end]]></content>
    <tabTrigger>cla</tabTrigger>
    <scope>source.ruby</scope>
    <description>class BlankSlate .. initialize .. end</description>
</snippet>
PKiZ=j9class-..-ParentClass-..-initialize-..-end.sublime-snippet<snippet>
    <content><![CDATA[class ${1:${TM_FILENAME/(?:\A|_)([A-Za-z0-9]+)(?:\.rb)?/(?2::\u$1)/g}} < ${2:ParentClass}
	def initialize${3/(^.*?\S.*)|.*/(?1:\()/}${3:args}${3/(^.*?\S.*)|.*/(?1:\))/}
		$0
	end
	
	
end]]></content>
    <tabTrigger>cla</tabTrigger>
    <scope>source.ruby</scope>
    <description>class .. &lt; ParentClass .. initialize .. end</description>
</snippet>
PKiZ=&BB4class-..-Struct-..-initialize-..-end.sublime-snippet<snippet>
    <content><![CDATA[${1:${TM_FILENAME/(?:\A|_)([A-Za-z0-9]+)(?:\.rb)?/(?2::\u$1)/g}} = Struct.new(:${2:attr_names}) do
	def ${3:method_name}
		$0
	end
	
	
end]]></content>
    <tabTrigger>cla</tabTrigger>
    <scope>source.ruby</scope>
    <description>ClassName = Struct .. do .. end</description>
</snippet>
PKiZ=Z/``9class-..-Test;;Unit;;TestCase-..-end-(tc).sublime-snippet<snippet>
    <content><![CDATA[require "test/unit"

require "${1:library_file_name}"

class Test${2:${1/([\w&&[^_]]+)|./\u$1/g}} < Test::Unit::TestCase
	def test_${3:case_name}
		$0
	end
end]]></content>
    <tabTrigger>tc</tabTrigger>
    <scope>source.ruby</scope>
    <description>class .. &lt; Test::Unit::TestCase .. end</description>
</snippet>
PKiZ=)q!class-self-__-end.sublime-snippet<snippet>
    <content><![CDATA[class << ${1:self}
	$0
end]]></content>
    <tabTrigger>cla</tabTrigger>
    <scope>source.ruby</scope>
    <description>class &lt;&lt; self .. end</description>
</snippet>
PKiZ=!X(classify-{-e-..-}-(clas).sublime-snippet<snippet>
    <content><![CDATA[classify { |${1:e}| $0 }]]></content>
    <tabTrigger>cl</tabTrigger>
    <scope>source.ruby</scope>
    <description>classify { |e| .. }</description>
</snippet>
PKiZ=@ʻ0)class_from_name()-(clafn).sublime-snippet<snippet>
    <content><![CDATA[split("::").inject(Object) { |par, const| par.const_get(const) }]]></content>
    <tabTrigger>clafn</tabTrigger>
    <scope>source.ruby</scope>
    <description>class_from_name()</description>
</snippet>
PKiZ=8hl&collect-{-e-..-}-(col).sublime-snippet<snippet>
    <content><![CDATA[collect { |${1:e}| $0 }]]></content>
    <tabTrigger>col</tabTrigger>
    <scope>source.ruby</scope>
    <description>collect { |e| .. }</description>
</snippet>
PKiZ=a[>>Comments.tmPreferences<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>name</key>
	<string>Comments</string>
	<key>scope</key>
	<string>source.ruby</string>
	<key>settings</key>
	<dict>
		<key>shellVariables</key>
		<array>
			<dict>
				<key>name</key>
				<string>TM_COMMENT_START</string>
				<key>value</key>
				<string># </string>
			</dict>
			<dict>
				<key>name</key>
				<string>TM_COMMENT_START_2</string>
				<key>value</key>
				<string>=begin
</string>
			</dict>
			<dict>
				<key>name</key>
				<string>TM_COMMENT_END_2</string>
				<key>value</key>
				<string>=end
</string>
			</dict>
		</array>
	</dict>
	<key>uuid</key>
	<string>1D26F26C-C6F7-434F-84F8-FEE895372E8A</string>
</dict>
</plist>
PKH@QCompletion Rules.tmPreferences<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>scope</key>
    <string>source.ruby</string>
    <key>settings</key>
    <dict>
        <key>cancelCompletion</key>
        <string>^\s*(else|end|do|begin|rescue|(class|def|module|include)\s*[a-zA-Z_0-9]+)$</string>
    </dict>
</dict>
</plist>
PKiZ=WA#deep_copy(..)-(dee).sublime-snippet<snippet>
    <content><![CDATA[Marshal.load(Marshal.dump(${0:obj_to_copy}))]]></content>
    <tabTrigger>deec</tabTrigger>
    <scope>source.ruby</scope>
    <description>deep_copy(..)</description>
</snippet>
PKiZ=n96def-end.sublime-snippet<snippet>
    <content><![CDATA[def ${1:method_name}
	$0
end]]></content>
    <tabTrigger>def</tabTrigger>
    <scope>source.ruby</scope>
    <description>def … end</description>
</snippet>
PKiZ=|.def-method_missing-..-end-(mm).sublime-snippet<snippet>
    <content><![CDATA[def method_missing(meth, *args, &blk)
	$0
end]]></content>
    <tabTrigger>defmm</tabTrigger>
    <scope>source.ruby</scope>
    <description>def method_missing .. end</description>
</snippet>
PKiZ=u&def-self-..-end-(defs).sublime-snippet<snippet>
    <content><![CDATA[def self.${1:class_method_name}
	$0
end]]></content>
    <tabTrigger>defs</tabTrigger>
    <scope>source.ruby</scope>
    <description>def self .. end</description>
</snippet>
PKiZ=M!$def-test_-..-end-(t).sublime-snippet<snippet>
    <content><![CDATA[def test_${1:case_name}
	$0
end]]></content>
    <tabTrigger>deft</tabTrigger>
    <scope>source.ruby</scope>
    <description>def test_ .. end</description>
</snippet>
PK.?@Ķ'qqDefault.sublime-keymap[
	{ "keys": ["#"], "command": "insert_snippet", "args": {"contents": "#{${1:$SELECTION}}$0"}, "context":
		[
			{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
			{
				"operand": "(string.quoted.double.ruby | string.interpolated.ruby) - string source",
				"operator": "equal",
				"match_all": true,
				"key": "selector"
			}
		]
	}
]PKiZ=̍'def_delegator-..-(defd).sublime-snippet<snippet>
    <content><![CDATA[def_delegator :${1:@del_obj}, :${2:del_meth}, :${3:new_name}]]></content>
    <tabTrigger>defd</tabTrigger>
    <scope>source.ruby</scope>
    <description>def_delegator ..</description>
</snippet>
PKiZ=tEb`)def_delegators-..-(defds).sublime-snippet<snippet>
    <content><![CDATA[def_delegators :${1:@del_obj}, :${0:del_methods}]]></content>
    <tabTrigger>defds</tabTrigger>
    <scope>source.ruby</scope>
    <description>def_delegators ..</description>
</snippet>
PKiZ=c)delete_if-{-e-..-}-(deli).sublime-snippet<snippet>
    <content><![CDATA[delete_if { |${1:e}| $0 }]]></content>
    <tabTrigger>deli</tabTrigger>
    <scope>source.ruby</scope>
    <description>delete_if { |e| .. }</description>
</snippet>
PKiZ=j(%detect-{-e-..-}-(det).sublime-snippet<snippet>
    <content><![CDATA[detect { |${1:e}| $0 }]]></content>
    <tabTrigger>det</tabTrigger>
    <scope>source.ruby</scope>
    <description>detect { |e| .. }</description>
</snippet>
PKiZ=53Dir.glob(-..-)-do-file-..-end-(Dir).sublime-snippet<snippet>
    <content><![CDATA[Dir.glob(${1:"${2:dir/glob/*}"}) { |${3:file}| $0 }]]></content>
    <tabTrigger>Dir</tabTrigger>
    <scope>source.ruby</scope>
    <description>Dir.glob("..") { |file| .. }</description>
</snippet>
PKiZ=Ddirectory().sublime-snippet<snippet>
    <content><![CDATA[File.dirname(__FILE__)]]></content>
    <tabTrigger>dir</tabTrigger>
    <scope>source.ruby</scope>
    <description>directory()</description>
</snippet>
PKiZ=x7YDir[-__-].sublime-snippet<snippet>
    <content><![CDATA[Dir[${1:"${2:glob/**/*.rb}"}]]]></content>
    <tabTrigger>Dir</tabTrigger>
    <scope>source.ruby</scope>
    <description>Dir[".."]</description>
</snippet>
PKq+@+\0#do-obj-..-end-(doo).sublime-snippet<snippet>
    <content><![CDATA[do${1/(^.+$)|^$/(?1: |)/}${1:variable}${1/(^.+$)|^$/(?1:|)/}
	$0
end]]></content>
    <tabTrigger>dob</tabTrigger>
    <scope>source.ruby</scope>
    <description>Insert do |variable| … end</description>
</snippet>
PKiZ=gg(downto(0)-{-n-..-}-(dow).sublime-snippet<snippet>
    <content><![CDATA[downto(${1:0}) { ${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:|)/}${2:n}${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:| )/}$0 }]]></content>
    <tabTrigger>dow</tabTrigger>
    <scope>source.ruby</scope>
    <description>downto(0) { |n| .. }</description>
</snippet>
PKiZ="each-{-e-..-}-(ea).sublime-snippet<snippet>
    <content><![CDATA[each { |${1:e}| $0 }]]></content>
    <tabTrigger>ea</tabTrigger>
    <scope>source.ruby</scope>
    <description>each { |e| .. }</description>
</snippet>
PKiZ= d+each_byte-{-byte-..-}-(eab).sublime-snippet<snippet>
    <content><![CDATA[each_byte { |${1:byte}| $0 }]]></content>
    <tabTrigger>eab</tabTrigger>
    <scope>source.ruby</scope>
    <description>each_byte { |byte| .. }</description>
</snippet>
PKiZ=R+each_char-{-chr-..-}-(eac-).sublime-snippet<snippet>
    <content><![CDATA[each_char { |${1:chr}| $0 }]]></content>
    <tabTrigger>eac-</tabTrigger>
    <scope>source.ruby</scope>
    <description>each_char { |chr| .. }</description>
</snippet>
PKiZ=ej1each_cons(..)-{-group-..-}-(eac-).sublime-snippet<snippet>
    <content><![CDATA[each_cons(${1:2}) { |${2:group}| $0 }]]></content>
    <tabTrigger>eac-</tabTrigger>
    <scope>source.ruby</scope>
    <description>each_cons(..) { |group| .. }</description>
</snippet>
PKiZ=
)each_index-{-i-..-}-(eai).sublime-snippet<snippet>
    <content><![CDATA[each_index { |${1:i}| $0 }]]></content>
    <tabTrigger>eai</tabTrigger>
    <scope>source.ruby</scope>
    <description>each_index { |i| .. }</description>
</snippet>
PKiZ=eߝb)each_key-{-key-..-}-(eak).sublime-snippet<snippet>
    <content><![CDATA[each_key { |${1:key}| $0 }]]></content>
    <tabTrigger>eak</tabTrigger>
    <scope>source.ruby</scope>
    <description>each_key { |key| .. }</description>
</snippet>
PKiZ=4+each_line-{-line-..-}-(eal).sublime-snippet<snippet>
    <content><![CDATA[each_line$1 { |${2:line}| $0 }]]></content>
    <tabTrigger>eal</tabTrigger>
    <scope>source.ruby</scope>
    <description>each_line { |line| .. }</description>
</snippet>
PKiZ=ε/each_pair-{-name-val-..-}-(eap).sublime-snippet<snippet>
    <content><![CDATA[each_pair { |${1:name}, ${2:val}| $0 }]]></content>
    <tabTrigger>eap</tabTrigger>
    <scope>source.ruby</scope>
    <description>each_pair { |name, val| .. }</description>
</snippet>
PKiZ=A-each_slice-{-group-..-}-(eas).sublime-snippet<snippet>
    <content><![CDATA[each_slice(${1:2}) { |${2:group}| $0 }]]></content>
    <tabTrigger>eas-</tabTrigger>
    <scope>source.ruby</scope>
    <description>each_slice(..) { |group| .. }</description>
</snippet>
PKiZ=u#+each_value-{-val-..-}-(eav).sublime-snippet<snippet>
    <content><![CDATA[each_value { |${1:val}| $0 }]]></content>
    <tabTrigger>eav</tabTrigger>
    <scope>source.ruby</scope>
    <description>each_value { |val| .. }</description>
</snippet>
PKiZ=1each_with_index-{-e-i-..-}-(eawi).sublime-snippet<snippet>
    <content><![CDATA[each_with_index { |${1:e}, ${2:i}| $0 }]]></content>
    <tabTrigger>eawi</tabTrigger>
    <scope>source.ruby</scope>
    <description>each_with_index { |e, i| .. }</description>
</snippet>
PKiZ=Z=elsif-___.sublime-snippet<snippet>
    <content><![CDATA[elsif ${1:condition}
	$0]]></content>
    <tabTrigger>elsif</tabTrigger>
    <scope>source.ruby</scope>
    <description>elsif ...</description>
</snippet>
PKiZ=E]2)extend-Forwardable-(Forw).sublime-snippet<snippet>
    <content><![CDATA[extend Forwardable]]></content>
    <tabTrigger>Forw-</tabTrigger>
    <scope>source.ruby</scope>
    <description>extend Forwardable</description>
</snippet>
PKiZ=oo,fetch(name)-{-key-..-}-(fet).sublime-snippet<snippet>
    <content><![CDATA[fetch(${1:name}) { ${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:|)/}${2:key}${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:| )/}$0 }]]></content>
    <tabTrigger>fet</tabTrigger>
    <scope>source.ruby</scope>
    <description>fetch(name) { |key| .. }</description>
</snippet>
PKiZ=d[9File.foreach-(-..-)-do-line-..-end-(File).sublime-snippet<snippet>
    <content><![CDATA[File.foreach(${1:"${2:path/to/file}"}) { |${3:line}| $0 }]]></content>
    <tabTrigger>File</tabTrigger>
    <scope>source.ruby</scope>
    <description>File.foreach ("..") { |line| .. }</description>
</snippet>
PKiZ=Ne]--+File_open(-__-)-{-file-__-}.sublime-snippet<snippet>
    <content><![CDATA[File.open(${1:"${2:path/to/file}"}${3/(^[rwab+]+$)|.*/(?1:, ")/}${3:w}${3/(^[rwab+]+$)|.*/(?1:")/}) { |${4:file}| $0 }]]></content>
    <tabTrigger>File</tabTrigger>
    <scope>source.ruby</scope>
    <description>File.open("..") { |file| .. }</description>
</snippet>
PKiZ=}File_read(-__-).sublime-snippet<snippet>
    <content><![CDATA[File.read(${1:"${2:path/to/file}"})]]></content>
    <tabTrigger>File</tabTrigger>
    <scope>source.ruby</scope>
    <description>File.read("..")</description>
</snippet>
PKiZ=W=kk*fill(range)-{-i-..-}-(fil).sublime-snippet<snippet>
    <content><![CDATA[fill(${1:range}) { ${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:|)/}${2:i}${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:| )/}$0 }]]></content>
    <tabTrigger>fil</tabTrigger>
    <scope>source.ruby</scope>
    <description>fill(range) { |i| .. }</description>
</snippet>
PKiZ=eC#find-{-e-..-}-(fin).sublime-snippet<snippet>
    <content><![CDATA[find { |${1:e}| $0 }]]></content>
    <tabTrigger>fin</tabTrigger>
    <scope>source.ruby</scope>
    <description>find { |e| .. }</description>
</snippet>
PKiZ=&U(find_all-{-e-..-}-(fina).sublime-snippet<snippet>
    <content><![CDATA[find_all { |${1:e}| $0 }]]></content>
    <tabTrigger>fina</tabTrigger>
    <scope>source.ruby</scope>
    <description>find_all { |e| .. }</description>
</snippet>
PKiZ="flatten_once-(fla).sublime-snippet<snippet>
    <content><![CDATA[inject(Array.new) { |${1:arr}, ${2:a}| ${1:arr}.push(*${2:a}) }]]></content>
    <tabTrigger>flao</tabTrigger>
    <scope>source.ruby</scope>
    <description>flatten_once()</description>
</snippet>
PKiZ=fOBflunk(..)-(fl).sublime-snippet<snippet>
    <content><![CDATA[flunk("${0:Failure message.}")]]></content>
    <tabTrigger>fl</tabTrigger>
    <scope>source.ruby</scope>
    <description>flunk(..)</description>
</snippet>
PKiZ=L2grep(;pattern;)-{-match-..-}-(gre).sublime-snippet<snippet>
    <content><![CDATA[grep(${1:/${2:pattern}/}) { |${3:match}| $0 }]]></content>
    <tabTrigger>gre</tabTrigger>
    <scope>source.ruby</scope>
    <description>grep(/pattern/) { |match| .. }</description>
</snippet>
PKiZ=QVvv-gsub(;..;)-{-match-..-}-(gsu).sublime-snippet<snippet>
    <content><![CDATA[gsub(/${1:pattern}/) { ${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:|)/}${2:match}${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:| )/}$0 }]]></content>
    <tabTrigger>gsu</tabTrigger>
    <scope>source.ruby</scope>
    <description>gsub(/../) { |match| .. }</description>
</snippet>
PKiZ=0hash-pair-(-).sublime-snippet<snippet>
    <content><![CDATA[:${1:key} => ${2:"${3:value}"}${4:, }]]></content>
    <tabTrigger>:</tabTrigger>
    <scope>source.ruby</scope>
    <description>Hash Pair — :key =&gt; "value"</description>
</snippet>
PKiZ=&V2;:Hash.new-{-hash-key-hash[key]-=-..-}-(Has).sublime-snippet<snippet>
    <content><![CDATA[Hash.new { |${1:hash}, ${2:key}| ${1:hash}[${2:key}] = $0 }]]></content>
    <tabTrigger>Hash</tabTrigger>
    <scope>source.ruby</scope>
    <description>Hash.new { |hash, key| hash[key] = .. }</description>
</snippet>
PKiZ=Us},include-Comparable-..-(Comp).sublime-snippet<snippet>
    <content><![CDATA[include Comparable

def <=>(other)
	$0
end]]></content>
    <tabTrigger>Comp</tabTrigger>
    <scope>source.ruby</scope>
    <description>include Comparable ..</description>
</snippet>
PKiZ=N,include-Enumerable-..-(Enum).sublime-snippet<snippet>
    <content><![CDATA[include Enumerable

def each(&block)
	$0
end]]></content>
    <tabTrigger>Enum</tabTrigger>
    <scope>source.ruby</scope>
    <description>include Enumerable ..</description>
</snippet>
PKiZ=4{~1inject(init)-{-mem-var-..-}-(inj).sublime-snippet<snippet>
    <content><![CDATA[inject${1/.+/(/}${1:init}${1/.+/)/} { |${2:mem}, ${3:var}| $0 }]]></content>
    <tabTrigger>inj</tabTrigger>
    <scope>source.ruby</scope>
    <description>inject(init) { |mem, var| .. }</description>
</snippet>
PKiZ=gbb(lambda-{-args-..-}-(lam).sublime-snippet<snippet>
    <content><![CDATA[lambda { ${1/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:|)/}${1:args}${1/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:| )/}$0 }]]></content>
    <tabTrigger>lam</tabTrigger>
    <scope>source.ruby</scope>
    <description>lambda { |args| .. }</description>
</snippet>
PKiZ=loop-{-__-}.sublime-snippet<snippet>
    <content><![CDATA[loop { $0 }]]></content>
    <tabTrigger>loo</tabTrigger>
    <scope>source.ruby</scope>
    <description>loop { .. }</description>
</snippet>
PKiZ=("map-{-e-..-}-(map).sublime-snippet<snippet>
    <content><![CDATA[map { |${1:e}| $0 }]]></content>
    <tabTrigger>map</tabTrigger>
    <scope>source.ruby</scope>
    <description>map { |e| .. }</description>
</snippet>
PKiZ='B1map_with_index-{-e-i-..-}-(mapwi).sublime-snippet<snippet>
    <content><![CDATA[enum_with_index.map { |${1:e}, ${2:i}| $0 }]]></content>
    <tabTrigger>mapwi-</tabTrigger>
    <scope>source.ruby</scope>
    <description>map_with_index { |e, i| .. }</description>
</snippet>
PKiZ=e
+Marshal.dump(obj-file)-(Md).sublime-snippet<snippet>
    <content><![CDATA[File.open(${1:"${2:path/to/file}.dump"}, "wb") { |${3:file}| Marshal.dump(${4:obj}, ${3:file}) }]]></content>
    <tabTrigger>Md</tabTrigger>
    <scope>source.ruby</scope>
    <description>Marshal.dump(.., file)</description>
</snippet>
PKiZ=
u&Marshal.load(obj)-(Ml).sublime-snippet<snippet>
    <content><![CDATA[File.open(${1:"${2:path/to/file}.dump"}, "rb") { |${3:file}| Marshal.load(${3:file}) }]]></content>
    <tabTrigger>Ml</tabTrigger>
    <scope>source.ruby</scope>
    <description>Marshal.load(obj)</description>
</snippet>
PKiZ=
ͻ$max-{-a-b-..-}-(max).sublime-snippet<snippet>
    <content><![CDATA[max { |a, b| $0 }]]></content>
    <tabTrigger>max</tabTrigger>
    <scope>source.ruby</scope>
    <description>max { |a, b| .. }</description>
</snippet>
PKiZ={3$min-{-a-b-..-}-(min).sublime-snippet<snippet>
    <content><![CDATA[min { |a, b| $0 }]]></content>
    <tabTrigger>min</tabTrigger>
    <scope>source.ruby</scope>
    <description>min { |a, b| .. }</description>
</snippet>
PKiZ==	Miscellaneous.tmPreferences<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>name</key>
	<string>Indent</string>
	<key>scope</key>
	<string>source.ruby</string>
	<key>settings</key>
	<dict>
		<key>decreaseIndentPattern</key>
		<string>^\s*([}\]]\s*$|(end|rescue|ensure|else|elsif|when)\b)</string>
		<key>increaseIndentPattern</key>
		<string>(?x)^
    (\s*
        (module|class|def
        |unless|if|else|elsif
        |case|when
        |begin|rescue|ensure
        |for|while|until
        |(?= .*? \b(do|begin|case|if|unless)\b )
         # the look-ahead above is to quickly discard non-candidates
         (  "(\\.|[^\\"])*+"        # eat a double quoted string
         | '(\\.|[^\\'])*+'      # eat a single quoted string
         |   [^#"']                # eat all but comments and strings
         )*
         (                         \s   (do|begin|case)
         | [-+=&amp;|*/~%^&lt;&gt;~](?&lt;!\$.) \s*+ (if|unless)
         )
        )\b
        (?! [^;]*+ ; .*? \bend\b )
    |(  "(\\.|[^\\"])*+"            # eat a double quoted string
     | '(\\.|[^\\'])*+'          # eat a single quoted string
     |   [^#"']                    # eat all but comments and strings
     )*
     ( \{ (?!  [^}]*+ \} )
     | \[ (?! [^\]]*+ \] )
     )
    ).*$</string>
	</dict>
	<key>uuid</key>
	<string>6FEAF60F-F0F3-4618-9259-DE93285F50D1</string>
</dict>
</plist>
PKiZ=RxG-module-..-ClassMethods-..-end.sublime-snippet<snippet>
    <content><![CDATA[module ${1:${TM_FILENAME/(?:\A|_)([A-Za-z0-9]+)(?:\.rb)?/(?2::\u$1)/g}}
	module ClassMethods
		$0
	end
	
	module InstanceMethods
		
	end
	
	def self.included(receiver)
		receiver.extend         ClassMethods
		receiver.send :include, InstanceMethods
	end
end]]></content>
    <tabTrigger>mod</tabTrigger>
    <scope>source.ruby</scope>
    <description>module .. ClassMethods .. end</description>
</snippet>
PKiZ=7#module-..-end.sublime-snippet<snippet>
    <content><![CDATA[module ${1:${TM_FILENAME/(?:\A|_)([A-Za-z0-9]+)(?:\.rb)?/(?2::\u$1)/g}}
	$0
end]]></content>
    <tabTrigger>mod</tabTrigger>
    <scope>source.ruby</scope>
    <description>module .. end</description>
</snippet>
PKiZ=ut0module-..-module_function-..-end.sublime-snippet<snippet>
    <content><![CDATA[module ${1:${TM_FILENAME/(?:\A|_)([A-Za-z0-9]+)(?:\.rb)?/(?2::\u$1)/g}}
	module_function
	
	$0
end]]></content>
    <tabTrigger>mod</tabTrigger>
    <scope>source.ruby</scope>
    <description>module .. module_function .. end</description>
</snippet>
PKiZ=df&namespace-__-do-__-end.sublime-snippet<snippet>
    <content><![CDATA[namespace :${1:${TM_FILENAME/\.\w+//}} do
	$0
end]]></content>
    <tabTrigger>nam</tabTrigger>
    <scope>source.ruby</scope>
    <description>namespace :.. do .. end</description>
</snippet>
PKiZ=1m339open(-path;or;url-w-)-do-doc-..-end-(ope).sublime-snippet<snippet>
    <content><![CDATA[open(${1:"${2:path/or/url/or/pipe}"}${3/(^[rwab+]+$)|.*/(?1:, ")/}${3:w}${3/(^[rwab+]+$)|.*/(?1:")/}) { |${4:io}| $0 }]]></content>
    <tabTrigger>ope</tabTrigger>
    <scope>source.ruby</scope>
    <description>open("path/or/url", "w") { |io| .. }</description>
</snippet>
PKiZ=bntt$open-yield-block-({).sublime-snippet<snippet>
    <content><![CDATA[{ ${1/(^(?<var>\s*[a-z_][a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:|)/}${1:variable}${1/(^(?<var>\s*[a-z_][a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:| )/}${2:$TM_SELECTED_TEXT} ]]></content>
    <tabTrigger>{</tabTrigger>
    <scope>source.ruby - string - comment</scope>
    <description>Insert { |variable| … }</description>
</snippet>
PKiZ=rjFaa*option_parse-{-..-}-(optp).sublime-snippet<snippet>
    <content><![CDATA[require "optparse"

options = {${1::default => "args"}}

ARGV.options do |opts|
	opts.banner = "Usage:  #{File.basename(\$PROGRAM_NAME)} [OPTIONS]${2/^\s*$|(.*\S.*)/(?1: )/}${2:OTHER_ARGS}"
	
	opts.separator ""
	opts.separator "Specific Options:"
	
	$0
	
	opts.separator "Common Options:"
	
	opts.on( "-h", "--help",
	         "Show this message." ) do
		puts opts
		exit
	end
	
	begin
		opts.parse!
	rescue
		puts opts
		exit
	end
end
]]></content>
    <tabTrigger>optp</tabTrigger>
    <scope>source.ruby</scope>
    <description>option_parse { .. }</description>
</snippet>
PKiZ=E6(partition-{-e-..-}-(par).sublime-snippet<snippet>
    <content><![CDATA[partition { |${1:e}| $0 }]]></content>
    <tabTrigger>par</tabTrigger>
    <scope>source.ruby</scope>
    <description>partition { |e| .. }</description>
</snippet>
PKiZ=8$path_from_here(-__-).sublime-snippet<snippet>
    <content><![CDATA[File.join(File.dirname(__FILE__), *%w[${1:rel path here}])]]></content>
    <tabTrigger>patfh</tabTrigger>
    <scope>source.ruby</scope>
    <description>path_from_here( .. )</description>
</snippet>
PKiZ=(HF PStore_new(-__-).sublime-snippet<snippet>
    <content><![CDATA[PStore.new(${1:"${2:file_name.pstore}"})]]></content>
    <tabTrigger>Pn-</tabTrigger>
    <scope>source.ruby</scope>
    <description>PStore.new( .. )</description>
</snippet>
PKiZ=Qrandomize-(ran).sublime-snippet<snippet>
    <content><![CDATA[sort_by { rand }]]></content>
    <tabTrigger>ran</tabTrigger>
    <scope>source.ruby</scope>
    <description>randomize()</description>
</snippet>
PKiZ=e*(RDoc-documentation-block.sublime-snippet<snippet>
    <content><![CDATA[`[[ $TM_LINE_INDEX != 0 ]] && echo; echo`=begin rdoc
	$0
=end]]></content>
    <tabTrigger>=b</tabTrigger>
    <scope>source.ruby</scope>
    <description>New Block</description>
</snippet>
PKiZ=ukW%reject-{-e-..-}-(rej).sublime-snippet<snippet>
    <content><![CDATA[reject { |${1:e}| $0 }]]></content>
    <tabTrigger>rej</tabTrigger>
    <scope>source.ruby</scope>
    <description>reject { |e| .. }</description>
</snippet>
PKiZ=Gam require-..-(req).sublime-snippet<snippet>
    <content><![CDATA[require "$0"]]></content>
    <tabTrigger>req</tabTrigger>
    <scope>source.ruby</scope>
    <description>require ".."</description>
</snippet>
PKiZ=bb%require-tc_..-..-(ts).sublime-snippet<snippet>
    <content><![CDATA[require "test/unit"

require "tc_${1:test_case_file}"
require "tc_${2:test_case_file}"
]]></content>
    <tabTrigger>ts</tabTrigger>
    <scope>source.ruby</scope>
    <description>require "tc_.." ..</description>
</snippet>
PKiZ=L+7require_gem-__.sublime-snippet<snippet>
    <content><![CDATA[require "$0"]]></content>
    <tabTrigger>reqg-</tabTrigger>
    <scope>source.ruby</scope>
    <description>require_gem ".."</description>
</snippet>
PKiZ=)results_report(__)-{-__-}.sublime-snippet<snippet>
    <content><![CDATA[results.report("${1:name}:") { TESTS.times { $0 } }]]></content>
    <tabTrigger>rep</tabTrigger>
    <scope>source.ruby</scope>
    <description>results.report(..) { .. }</description>
</snippet>
PKiZ=Xy+reverse_each-{-e-..-}-(rea).sublime-snippet<snippet>
    <content><![CDATA[reverse_each { |${1:e}| $0 }]]></content>
    <tabTrigger>reve</tabTrigger>
    <scope>source.ruby</scope>
    <description>reverse_each { |e| .. }</description>
</snippet>
PK]*>fԵhhRuby.sublime-build{
	"cmd": ["ruby", "$file"],
	"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
	"selector": "source.ruby"
}
PKݦ;@#ރRuby.tmLanguage<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>comment</key>
	<string>
	TODO: unresolved issues

	text:
	"p &lt;&lt; end
	print me!
	end"
	symptoms:
	not recognized as a heredoc
	solution:
	there is no way to distinguish perfectly between the &lt;&lt; operator and the start
	of a heredoc. Currently, we require assignment to recognize a heredoc. More
	refinement is possible.
	• Heredocs with indented terminators (&lt;&lt;-) are always distinguishable, however.
	• Nested heredocs are not really supportable at present

	text:
	print &lt;&lt;-'THERE'
	This is single quoted.
	The above used #{Time.now}
	THERE
	symtoms:
	From Programming Ruby p306; should be a non-interpolated heredoc.

	text:
	"a\332a"
	symptoms:
	'\332' is not recognized as slash3.. which should be octal 332.
	solution:
	plain regexp.. should be easy.

    text:
    val?(a):p(b)
    val?'a':'b'
    symptoms:
    ':p' is recognized as a symbol.. its 2 things ':' and 'p'.
    :'b' has same problem.
    solution:
    ternary operator rule, precedence stuff, symbol rule.
    but also consider 'a.b?(:c)' ??
</string>
	<key>fileTypes</key>
	<array>
		<string>rb</string>
		<string>rbx</string>
		<string>rjs</string>
		<string>Rakefile</string>
		<string>rake</string>
		<string>cgi</string>
		<string>fcgi</string>
		<string>gemspec</string>
		<string>irbrc</string>
		<string>capfile</string>
		<string>Gemfile</string>
	</array>
	<key>firstLineMatch</key>
	<string>^#!/.*\bruby</string>
	<key>foldingStartMarker</key>
	<string>(?x)^
	    (\s*+
	        (module|class|def(?!.*\bend\s*$)
	        |unless|if
	        |case
	        |begin
	        |for|while|until
	         |^=begin
	        |(  "(\\.|[^"])*+"          # eat a double quoted string
	         | '(\\.|[^'])*+'        # eat a single quoted string
	         |   [^#"']                # eat all but comments and strings
	         )*
	         (                        \s   (do|begin|case)
	         | (?&lt;!\$)[-+=&amp;|*/~%^&lt;&gt;~] \s*+ (if|unless)
	         )
	        )\b
	        (?! [^;]*+ ; .*? \bend\b )
	    |(  "(\\.|[^"])*+"              # eat a double quoted string
	     | '(\\.|[^'])*+'            # eat a single quoted string
	     |   [^#"']                    # eat all but comments and strings
	     )*
	     ( \{ (?!  [^}]*+ \} )
	     | \[ (?! [^\]]*+ \] )
	     )
	    ).*$
	|   [#] .*? \(fold\) \s*+ $         # Sune’s special marker
	</string>
	<key>foldingStopMarker</key>
	<string>(?x)
		(   (^|;) \s*+ end   \s*+ ([#].*)? $
		|   (^|;) \s*+ end \. .* $
		|   ^     \s*+ [}\]] ,? \s*+ ([#].*)? $
		|   [#] .*? \(end\) \s*+ $    # Sune’s special marker
		|   ^=end
		)</string>
	<key>keyEquivalent</key>
	<string>^~R</string>
	<key>name</key>
	<string>Ruby</string>
	<key>patterns</key>
	<array>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>keyword.control.class.ruby</string>
				</dict>
				<key>2</key>
				<dict>
					<key>name</key>
					<string>entity.name.type.class.ruby</string>
				</dict>
				<key>4</key>
				<dict>
					<key>name</key>
					<string>entity.other.inherited-class.ruby</string>
				</dict>
				<key>5</key>
				<dict>
					<key>name</key>
					<string>punctuation.separator.inheritance.ruby</string>
				</dict>
				<key>6</key>
				<dict>
					<key>name</key>
					<string>variable.other.object.ruby</string>
				</dict>
				<key>7</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.variable.ruby</string>
				</dict>
			</dict>
			<key>match</key>
			<string>^\s*(class)\s+(([.a-zA-Z0-9_:]+(\s*(&lt;)\s*[.a-zA-Z0-9_:]+)?)|((&lt;&lt;)\s*[.a-zA-Z0-9_:]+))</string>
			<key>name</key>
			<string>meta.class.ruby</string>
		</dict>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>keyword.control.module.ruby</string>
				</dict>
				<key>2</key>
				<dict>
					<key>name</key>
					<string>entity.name.type.module.ruby</string>
				</dict>
				<key>3</key>
				<dict>
					<key>name</key>
					<string>entity.other.inherited-class.module.first.ruby</string>
				</dict>
				<key>4</key>
				<dict>
					<key>name</key>
					<string>punctuation.separator.inheritance.ruby</string>
				</dict>
				<key>5</key>
				<dict>
					<key>name</key>
					<string>entity.other.inherited-class.module.second.ruby</string>
				</dict>
				<key>6</key>
				<dict>
					<key>name</key>
					<string>punctuation.separator.inheritance.ruby</string>
				</dict>
				<key>7</key>
				<dict>
					<key>name</key>
					<string>entity.other.inherited-class.module.third.ruby</string>
				</dict>
				<key>8</key>
				<dict>
					<key>name</key>
					<string>punctuation.separator.inheritance.ruby</string>
				</dict>
			</dict>
			<key>match</key>
			<string>^\s*(module)\s+(([A-Z]\w*(::))?([A-Z]\w*(::))?([A-Z]\w*(::))*[A-Z]\w*)</string>
			<key>name</key>
			<string>meta.module.ruby</string>
		</dict>
		<dict>
			<key>comment</key>
			<string>else if is a common mistake carried over from other languages. it works if you put in a second end, but it’s never what you want.</string>
			<key>match</key>
			<string>(?&lt;!\.)\belse(\s)+if\b</string>
			<key>name</key>
			<string>invalid.deprecated.ruby</string>
		</dict>
		<dict>
			<key>comment</key>
			<string>everything being a reserved word, not a value and needing a 'end' is a..</string>
			<key>match</key>
			<string>(?&lt;!\.)\b(BEGIN|begin|case|class|else|elsif|END|end|ensure|for|if|in|module|rescue|then|unless|until|when|while)\b(?![?!])</string>
			<key>name</key>
			<string>keyword.control.ruby</string>
		</dict>
		<dict>
			<key>comment</key>
			<string>contextual smart pair support for block parameters</string>
			<key>match</key>
			<string>(?&lt;!\.)\bdo\b\s*</string>
			<key>name</key>
			<string>keyword.control.start-block.ruby</string>
		</dict>
		<dict>
			<key>comment</key>
			<string>contextual smart pair support</string>
			<key>match</key>
			<string>(?&lt;=\{)(\s+)</string>
			<key>name</key>
			<string>meta.syntax.ruby.start-block</string>
		</dict>
		<dict>
			<key>comment</key>
			<string> as above, just doesn't need a 'end' and does a logic operation</string>
			<key>match</key>
			<string>(?&lt;!\.)\b(and|not|or)\b</string>
			<key>name</key>
			<string>keyword.operator.logical.ruby</string>
		</dict>
		<dict>
			<key>comment</key>
			<string> just as above but being not a logical operation</string>
			<key>match</key>
			<string>(?&lt;!\.)\b(alias|alias_method|break|next|redo|retry|return|super|undef|yield)\b(?![?!])|\bdefined\?|\bblock_given\?</string>
			<key>name</key>
			<string>keyword.control.pseudo-method.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\b(nil|true|false)\b(?![?!])</string>
			<key>name</key>
			<string>constant.language.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\b(__(FILE|LINE)__|self)\b(?![?!])</string>
			<key>name</key>
			<string>variable.language.ruby</string>
		</dict>
		<dict>
			<key>comment</key>
			<string> everything being a method but having a special function is a..</string>
			<key>match</key>
			<string>\b(initialize|new|loop|include|extend|raise|attr_reader|attr_writer|attr_accessor|attr|catch|throw|private|module_function|public|protected)\b(?![?!])</string>
			<key>name</key>
			<string>keyword.other.special-method.ruby</string>
		</dict>
		<dict>
			<key>begin</key>
			<string>\b(require|gem)\b</string>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>keyword.other.special-method.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>$|(?=#)</string>
			<key>name</key>
			<string>meta.require.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>$self</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.variable.ruby</string>
				</dict>
			</dict>
			<key>match</key>
			<string>(@)[a-zA-Z_]\w*</string>
			<key>name</key>
			<string>variable.other.readwrite.instance.ruby</string>
		</dict>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.variable.ruby</string>
				</dict>
			</dict>
			<key>match</key>
			<string>(@@)[a-zA-Z_]\w*</string>
			<key>name</key>
			<string>variable.other.readwrite.class.ruby</string>
		</dict>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.variable.ruby</string>
				</dict>
			</dict>
			<key>match</key>
			<string>(\$)[a-zA-Z_]\w*</string>
			<key>name</key>
			<string>variable.other.readwrite.global.ruby</string>
		</dict>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.variable.ruby</string>
				</dict>
			</dict>
			<key>match</key>
			<string>(\$)(!|@|&amp;|`|'|\+|\d+|~|=|/|\\|,|;|\.|&lt;|&gt;|_|\*|\$|\?|:|"|-[0adFiIlpv])</string>
			<key>name</key>
			<string>variable.other.readwrite.global.pre-defined.ruby</string>
		</dict>
		<dict>
			<key>begin</key>
			<string>\b(ENV)\[</string>
			<key>beginCaptures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>variable.other.constant.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\]</string>
			<key>name</key>
			<string>meta.environment-variable.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>$self</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>match</key>
			<string>\b[A-Z]\w*(?=((\.|::)[A-Za-z]|\[))</string>
			<key>name</key>
			<string>support.class.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\b[A-Z]\w*\b</string>
			<key>name</key>
			<string>variable.other.constant.ruby</string>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?x)
			         (?=def\b)                                                      # an optimization to help Oniguruma fail fast
			         (?&lt;=^|\s)(def)\s+                                              # the def keyword
			         ( (?&gt;[a-zA-Z_]\w*(?&gt;\.|::))?                                   # a method name prefix
			           (?&gt;[a-zA-Z_]\w*(?&gt;[?!]|=(?!&gt;))?                              # the method name
			           |===?|&gt;[&gt;=]?|&lt;=&gt;|&lt;[&lt;=]?|[%&amp;`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) )  # …or an operator method
			         \s*(\()                                                        # the openning parenthesis for arguments
			        </string>
			<key>beginCaptures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>keyword.control.def.ruby</string>
				</dict>
				<key>2</key>
				<dict>
					<key>name</key>
					<string>entity.name.function.ruby</string>
				</dict>
				<key>3</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.parameters.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>the method pattern comes from the symbol pattern, see there for a explaination</string>
			<key>contentName</key>
			<string>variable.parameter.function.ruby</string>
			<key>end</key>
			<string>\)</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.parameters.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>meta.function.method.with-arguments.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>$self</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?x)
			         (?=def\b)                                                      # an optimization to help Oniguruma fail fast
			         (?&lt;=^|\s)(def)\s+                                              # the def keyword
			         ( (?&gt;[a-zA-Z_]\w*(?&gt;\.|::))?                                   # a method name prefix
			           (?&gt;[a-zA-Z_]\w*(?&gt;[?!]|=(?!&gt;))?                              # the method name
			           |===?|&gt;[&gt;=]?|&lt;=&gt;|&lt;[&lt;=]?|[%&amp;`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) )  # …or an operator method
			         [ \t]                                                          # the space separating the arguments
			         (?=[ \t]*[^\s#;])                                              # make sure arguments and not a comment follow
			        </string>
			<key>beginCaptures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>keyword.control.def.ruby</string>
				</dict>
				<key>2</key>
				<dict>
					<key>name</key>
					<string>entity.name.function.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>same as the previous rule, but without parentheses around the arguments</string>
			<key>contentName</key>
			<string>variable.parameter.function.ruby</string>
			<key>end</key>
			<string>$</string>
			<key>name</key>
			<string>meta.function.method.with-arguments.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>$self</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>keyword.control.def.ruby</string>
				</dict>
				<key>3</key>
				<dict>
					<key>name</key>
					<string>entity.name.function.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string> the optional name is just to catch the def also without a method-name</string>
			<key>match</key>
			<string>(?x)
			         (?=def\b)                                                           # an optimization to help Oniguruma fail fast
			         (?&lt;=^|\s)(def)\b                                                    # the def keyword
			         ( \s+                                                               # an optional group of whitespace followed by…
			           ( (?&gt;[a-zA-Z_]\w*(?&gt;\.|::))?                                      # a method name prefix
			             (?&gt;[a-zA-Z_]\w*(?&gt;[?!]|=(?!&gt;))?                                 # the method name
			             |===?|&gt;[&gt;=]?|&lt;=&gt;|&lt;[&lt;=]?|[%&amp;`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) )?  # …or an operator method
			        </string>
			<key>name</key>
			<string>meta.function.method.without-arguments.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\b(0[xX]\h(?&gt;_?\h)*|\d(?&gt;_?\d)*(\.(?![^[:space:][:digit:]])(?&gt;_?\d)*)?([eE][-+]?\d(?&gt;_?\d)*)?|0[bB][01]+)\b</string>
			<key>name</key>
			<string>constant.numeric.ruby</string>
		</dict>
		<dict>
			<key>begin</key>
			<string>:'</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.constant.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>'</string>
			<key>name</key>
			<string>constant.other.symbol.single-quoted.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\\['\\]</string>
					<key>name</key>
					<string>constant.character.escape.ruby</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>:"</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.constant.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>"</string>
			<key>name</key>
			<string>constant.other.symbol.double-quoted.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>comment</key>
			<string>Needs higher precidence than regular expressions.</string>
			<key>match</key>
			<string>/=</string>
			<key>name</key>
			<string>keyword.operator.assignment.augmented.ruby</string>
		</dict>
		<dict>
			<key>begin</key>
			<string>'</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>single quoted string (does not allow interpolation)</string>
			<key>end</key>
			<string>'</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.quoted.single.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\\'|\\\\</string>
					<key>name</key>
					<string>constant.character.escape.ruby</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>"</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>double quoted string (allows for interpolation)</string>
			<key>end</key>
			<string>"</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.quoted.double.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>`</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>execute string (allows for interpolation)</string>
			<key>end</key>
			<string>`</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.interpolated.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%x\{</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>execute string (allow for interpolation)</string>
			<key>end</key>
			<string>\}</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.interpolated.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_curly_i</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%x\[</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>execute string (allow for interpolation)</string>
			<key>end</key>
			<string>\]</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.interpolated.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_brackets_i</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%x\&lt;</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>execute string (allow for interpolation)</string>
			<key>end</key>
			<string>\&gt;</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.interpolated.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_ltgt_i</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%x\(</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>execute string (allow for interpolation)</string>
			<key>end</key>
			<string>\)</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.interpolated.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_parens_i</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%x([^\w])</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>execute string (allow for interpolation)</string>
			<key>end</key>
			<string>\1</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.interpolated.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?x)
			   (?:
			     ^                      # beginning of line
			   | (?&lt;=                   # or look-behind on:
			       [=&gt;~(?:\[,|&amp;;]
			     | [\s;]if\s			# keywords
			     | [\s;]elsif\s
			     | [\s;]while\s
			     | [\s;]unless\s
			     | [\s;]when\s
			     | [\s;]assert_match\s
			     | [\s;]or\s			# boolean opperators
			     | [\s;]and\s
			     | [\s;]not\s
			     | [\s.]index\s			# methods
			     | [\s.]scan\s
			     | [\s.]sub\s
			     | [\s.]sub!\s
			     | [\s.]gsub\s
			     | [\s.]gsub!\s
			     | [\s.]match\s
			     )
			   | (?&lt;=                  # or a look-behind with line anchor:
			        ^when\s            # duplication necessary due to limits of regex
			      | ^if\s
			      | ^elsif\s
			      | ^while\s
			      | ^unless\s
			      )
			   )
			   \s*((/))(?![*+{}?])
			</string>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>string.regexp.classic.ruby</string>
				</dict>
				<key>2</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>regular expressions (normal)
			we only start a regexp if the character before it (excluding whitespace)
			is what we think is before a regexp
			</string>
			<key>contentName</key>
			<string>string.regexp.classic.ruby</string>
			<key>end</key>
			<string>((/[eimnosux]*))</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#regex_sub</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%r\{</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>regular expressions (literal)</string>
			<key>end</key>
			<string>\}[eimnosux]*</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.regexp.mod-r.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#regex_sub</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_curly_r</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%r\[</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>regular expressions (literal)</string>
			<key>end</key>
			<string>\][eimnosux]*</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.regexp.mod-r.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#regex_sub</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_brackets_r</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%r\(</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>regular expressions (literal)</string>
			<key>end</key>
			<string>\)[eimnosux]*</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.regexp.mod-r.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#regex_sub</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_parens_r</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%r\&lt;</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>regular expressions (literal)</string>
			<key>end</key>
			<string>\&gt;[eimnosux]*</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.regexp.mod-r.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#regex_sub</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_ltgt_r</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%r([^\w])</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>regular expressions (literal)</string>
			<key>end</key>
			<string>\1[eimnosux]*</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.regexp.mod-r.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#regex_sub</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%[QWSR]?\(</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>literal capable of interpolation ()</string>
			<key>end</key>
			<string>\)</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.quoted.other.literal.upper.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_parens_i</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%[QWSR]?\[</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>literal capable of interpolation []</string>
			<key>end</key>
			<string>\]</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.quoted.other.literal.upper.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_brackets_i</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%[QWSR]?\&lt;</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>literal capable of interpolation &lt;&gt;</string>
			<key>end</key>
			<string>\&gt;</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.quoted.other.literal.upper.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_ltgt_i</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%[QWSR]?\{</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>literal capable of interpolation -- {}</string>
			<key>end</key>
			<string>\}</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.quoted.double.ruby.mod</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_curly_i</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%[QWSR]([^\w])</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>literal capable of interpolation -- wildcard</string>
			<key>end</key>
			<string>\1</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.quoted.other.literal.upper.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%([^\w\s=])</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>literal capable of interpolation -- wildcard</string>
			<key>end</key>
			<string>\1</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.quoted.other.literal.other.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%[qws]\(</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>literal incapable of interpolation -- ()</string>
			<key>end</key>
			<string>\)</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.quoted.other.literal.lower.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\\\)|\\\\</string>
					<key>name</key>
					<string>constant.character.escape.ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_parens</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%[qws]\&lt;</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>literal incapable of interpolation -- &lt;&gt;</string>
			<key>end</key>
			<string>\&gt;</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.quoted.other.literal.lower.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\\\&gt;|\\\\</string>
					<key>name</key>
					<string>constant.character.escape.ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_ltgt</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%[qws]\[</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>literal incapable of interpolation -- []</string>
			<key>end</key>
			<string>\]</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.quoted.other.literal.lower.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\\\]|\\\\</string>
					<key>name</key>
					<string>constant.character.escape.ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_brackets</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%[qws]\{</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>literal incapable of interpolation -- {}</string>
			<key>end</key>
			<string>\}</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.quoted.other.literal.lower.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\\\}|\\\\</string>
					<key>name</key>
					<string>constant.character.escape.ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_curly</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>%[qws]([^\w])</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>literal incapable of interpolation -- wildcard</string>
			<key>end</key>
			<string>\1</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.quoted.other.literal.lower.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>comment</key>
					<string>Cant be named because its not neccesarily an escape.</string>
					<key>match</key>
					<string>\\.</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.constant.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>symbols</string>
			<key>match</key>
			<string>(?&lt;!:)(:)(?&gt;[a-zA-Z_]\w*(?&gt;[?!]|=(?![&gt;=]))?|===?|&gt;[&gt;=]?|&lt;[&lt;=]?|&lt;=&gt;|[%&amp;`/\|]|\*\*?|=?~|[-+]@?|\[\]=?|@@?[a-zA-Z_]\w*)</string>
			<key>name</key>
			<string>constant.other.symbol.ruby</string>
		</dict>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.constant.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>symbols</string>
			<key>match</key>
			<string>(?&gt;[a-zA-Z_]\w*(?&gt;[?!])?)(:)(?!:)</string>
			<key>name</key>
			<string>constant.other.symbol.ruby.19syntax</string>
		</dict>
		<dict>
			<key>begin</key>
			<string>^=begin</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.comment.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>multiline comments</string>
			<key>end</key>
			<string>^=end</string>
			<key>name</key>
			<string>comment.block.documentation.ruby</string>
		</dict>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.comment.ruby</string>
				</dict>
			</dict>
			<key>match</key>
			<string>(?:^[ \t]+)?(#).*$\n?</string>
			<key>name</key>
			<string>comment.line.number-sign.ruby</string>
		</dict>
		<dict>
			<key>comment</key>
			<string>
			matches questionmark-letters.

			examples (1st alternation = hex):
			?\x1     ?\x61

			examples (2nd alternation = octal):
			?\0      ?\07     ?\017

			examples (3rd alternation = escaped):
			?\n      ?\b

			examples (4th alternation = meta-ctrl):
			?\C-a    ?\M-a    ?\C-\M-\C-\M-a

			examples (4th alternation = normal):
			?a       ?A       ?0
			?*       ?"       ?(
			?.       ?#


			the negative lookbehind prevents against matching
			p(42.tainted?)
			</string>
			<key>match</key>
			<string>(?&lt;!\w)\?(\\(x\h{1,2}(?!\h)\b|0[0-7]{0,2}(?![0-7])\b|[^x0MC])|(\\[MC]-)+\w|[^\s\\])</string>
			<key>name</key>
			<string>constant.numeric.ruby</string>
		</dict>
		<dict>
			<key>begin</key>
			<string>^__END__\n</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>string.unquoted.program-block.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>__END__ marker</string>
			<key>contentName</key>
			<string>text.plain</string>
			<key>end</key>
			<string>(?=not)impossible</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>(?=&lt;?xml|&lt;(?i:html\b)|!DOCTYPE (?i:html\b))</string>
					<key>end</key>
					<string>(?=not)impossible</string>
					<key>name</key>
					<string>text.html.embedded.ruby</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>text.html.basic</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?&gt;&lt;&lt;-("?)((?:[_\w]+_|)HTML)\b\1)</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>heredoc with embedded HTML and indented terminator</string>
			<key>contentName</key>
			<string>text.html.embedded.ruby</string>
			<key>end</key>
			<string>\s*\2$</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.unquoted.embedded.html.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#heredoc</string>
				</dict>
				<dict>
					<key>include</key>
					<string>text.html.basic</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?&gt;&lt;&lt;-("?)((?:[_\w]+_|)SQL)\b\1)</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>heredoc with embedded SQL and indented terminator</string>
			<key>contentName</key>
			<string>text.sql.embedded.ruby</string>
			<key>end</key>
			<string>\s*\2$</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.unquoted.embedded.sql.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#heredoc</string>
				</dict>
				<dict>
					<key>include</key>
					<string>source.sql</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?&gt;&lt;&lt;-("?)((?:[_\w]+_|)CSS)\b\1)</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>heredoc with embedded css and intented terminator</string>
			<key>contentName</key>
			<string>text.css.embedded.ruby</string>
			<key>end</key>
			<string>\s*\2$</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.unquoted.embedded.css.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#heredoc</string>
				</dict>
				<dict>
					<key>include</key>
					<string>source.css</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?&gt;&lt;&lt;-("?)((?:[_\w]+_|)CPP)\b\1)</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>heredoc with embedded c++ and intented terminator</string>
			<key>contentName</key>
			<string>text.c++.embedded.ruby</string>
			<key>end</key>
			<string>\s*\2$</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.unquoted.embedded.cplusplus.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#heredoc</string>
				</dict>
				<dict>
					<key>include</key>
					<string>source.c++</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?&gt;&lt;&lt;-("?)((?:[_\w]+_|)C)\b\1)</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>heredoc with embedded c++ and intented terminator</string>
			<key>contentName</key>
			<string>text.c.embedded.ruby</string>
			<key>end</key>
			<string>\s*\2$</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.unquoted.embedded.c.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#heredoc</string>
				</dict>
				<dict>
					<key>include</key>
					<string>source.c</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?&gt;&lt;&lt;-("?)((?:[_\w]+_|)(?:JS|JAVASCRIPT))\b\1)</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>heredoc with embedded javascript and intented terminator</string>
			<key>contentName</key>
			<string>text.js.embedded.ruby</string>
			<key>end</key>
			<string>\s*\2$</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.unquoted.embedded.js.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#heredoc</string>
				</dict>
				<dict>
					<key>include</key>
					<string>source.js</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?&gt;&lt;&lt;-("?)((?:[_\w]+_|)JQUERY)\b\1)</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>heredoc with embedded javascript and intented terminator</string>
			<key>contentName</key>
			<string>text.js.jquery.embedded.ruby</string>
			<key>end</key>
			<string>\s*\2$</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.unquoted.embedded.js.jquery.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#heredoc</string>
				</dict>
				<dict>
					<key>include</key>
					<string>source.js.jquery</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?&gt;&lt;&lt;-("?)((?:[_\w]+_|)(?:SH|SHELL))\b\1)</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>heredoc with embedded shell and intented terminator</string>
			<key>contentName</key>
			<string>text.shell.embedded.ruby</string>
			<key>end</key>
			<string>\s*\2$</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.unquoted.embedded.shell.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#heredoc</string>
				</dict>
				<dict>
					<key>include</key>
					<string>source.shell</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?&gt;&lt;&lt;-("?)((?:[_\w]+_|)RUBY)\b\1)</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>heredoc with embedded ruby and intented terminator</string>
			<key>contentName</key>
			<string>text.ruby.embedded.ruby</string>
			<key>end</key>
			<string>\s*\2$</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.unquoted.embedded.ruby.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#heredoc</string>
				</dict>
				<dict>
					<key>include</key>
					<string>source.ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?&gt;\=\s*&lt;&lt;(\w+))</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>^\1$</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.unquoted.heredoc.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#heredoc</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?&gt;&lt;&lt;-(\w+))</string>
			<key>beginCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.begin.ruby</string>
				</dict>
			</dict>
			<key>comment</key>
			<string>heredoc with indented terminator</string>
			<key>end</key>
			<string>\s*\1$</string>
			<key>endCaptures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.string.end.ruby</string>
				</dict>
			</dict>
			<key>name</key>
			<string>string.unquoted.heredoc.ruby</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#heredoc</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(?&lt;=\{|do|\{\s|do\s)(\|)</string>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>punctuation.separator.variable.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>(\|)</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>[_a-zA-Z][_a-zA-Z0-9]*</string>
					<key>name</key>
					<string>variable.other.block.ruby</string>
				</dict>
				<dict>
					<key>match</key>
					<string>,</string>
					<key>name</key>
					<string>punctuation.separator.variable.ruby</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>match</key>
			<string>=&gt;</string>
			<key>name</key>
			<string>punctuation.separator.key-value</string>
		</dict>
		<dict>
			<key>match</key>
			<string>&lt;&lt;=|%=|&amp;=|\*=|\*\*=|\+=|\-=|\^=|\|{1,2}=|&lt;&lt;</string>
			<key>name</key>
			<string>keyword.operator.assignment.augmented.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>&lt;=&gt;|&lt;(?!&lt;|=)|&gt;(?!&lt;|=|&gt;)|&lt;=|&gt;=|===|==|=~|!=|!~|(?&lt;=[ \t])\?</string>
			<key>name</key>
			<string>keyword.operator.comparison.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>(?&lt;=[ \t])!+|\bnot\b|&amp;&amp;|\band\b|\|\||\bor\b|\^</string>
			<key>name</key>
			<string>keyword.operator.logical.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>(%|&amp;|\*\*|\*|\+|\-|/)</string>
			<key>name</key>
			<string>keyword.operator.arithmetic.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>=</string>
			<key>name</key>
			<string>keyword.operator.assignment.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\||~|&gt;&gt;</string>
			<key>name</key>
			<string>keyword.operator.other.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>:</string>
			<key>name</key>
			<string>punctuation.separator.other.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\;</string>
			<key>name</key>
			<string>punctuation.separator.statement.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>,</string>
			<key>name</key>
			<string>punctuation.separator.object.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\.|::</string>
			<key>name</key>
			<string>punctuation.separator.method.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\{|\}</string>
			<key>name</key>
			<string>punctuation.section.scope.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\[|\]</string>
			<key>name</key>
			<string>punctuation.section.array.ruby</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\(|\)</string>
			<key>name</key>
			<string>punctuation.section.function.ruby</string>
		</dict>
	</array>
	<key>repository</key>
	<dict>
		<key>escaped_char</key>
		<dict>
			<key>match</key>
			<string>\\(?:[0-7]{1,3}|x[\da-fA-F]{1,2}|.)</string>
			<key>name</key>
			<string>constant.character.escape.ruby</string>
		</dict>
		<key>heredoc</key>
		<dict>
			<key>begin</key>
			<string>^&lt;&lt;-?\w+</string>
			<key>end</key>
			<string>$</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>$self</string>
				</dict>
			</array>
		</dict>
		<key>interpolated_ruby</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.section.embedded.ruby</string>
						</dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>source.ruby.embedded.source.empty</string>
						</dict>
					</dict>
					<key>match</key>
					<string>#\{(\})</string>
					<key>name</key>
					<string>source.ruby.embedded.source</string>
				</dict>
				<dict>
					<key>begin</key>
					<string>#\{</string>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.section.embedded.ruby</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\}</string>
					<key>name</key>
					<string>source.ruby.embedded.source</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#nest_curly_and_self</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.variable.ruby</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(#@)[a-zA-Z_]\w*</string>
					<key>name</key>
					<string>variable.other.readwrite.instance.ruby</string>
				</dict>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.variable.ruby</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(#@@)[a-zA-Z_]\w*</string>
					<key>name</key>
					<string>variable.other.readwrite.class.ruby</string>
				</dict>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.variable.ruby</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(#\$)[a-zA-Z_]\w*</string>
					<key>name</key>
					<string>variable.other.readwrite.global.ruby</string>
				</dict>
			</array>
		</dict>
		<key>nest_brackets</key>
		<dict>
			<key>begin</key>
			<string>\[</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.scope.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\]</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#nest_brackets</string>
				</dict>
			</array>
		</dict>
		<key>nest_brackets_i</key>
		<dict>
			<key>begin</key>
			<string>\[</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.scope.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\]</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_brackets_i</string>
				</dict>
			</array>
		</dict>
		<key>nest_brackets_r</key>
		<dict>
			<key>begin</key>
			<string>\[</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.scope.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\]</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#regex_sub</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_brackets_r</string>
				</dict>
			</array>
		</dict>
		<key>nest_curly</key>
		<dict>
			<key>begin</key>
			<string>\{</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.scope.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\}</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#nest_curly</string>
				</dict>
			</array>
		</dict>
		<key>nest_curly_and_self</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>\{</string>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.section.scope.ruby</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\}</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#nest_curly_and_self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>include</key>
					<string>$self</string>
				</dict>
			</array>
		</dict>
		<key>nest_curly_i</key>
		<dict>
			<key>begin</key>
			<string>\{</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.scope.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\}</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_curly_i</string>
				</dict>
			</array>
		</dict>
		<key>nest_curly_r</key>
		<dict>
			<key>begin</key>
			<string>\{</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.scope.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\}</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#regex_sub</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_curly_r</string>
				</dict>
			</array>
		</dict>
		<key>nest_ltgt</key>
		<dict>
			<key>begin</key>
			<string>\&lt;</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.scope.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\&gt;</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#nest_ltgt</string>
				</dict>
			</array>
		</dict>
		<key>nest_ltgt_i</key>
		<dict>
			<key>begin</key>
			<string>\&lt;</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.scope.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\&gt;</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_ltgt_i</string>
				</dict>
			</array>
		</dict>
		<key>nest_ltgt_r</key>
		<dict>
			<key>begin</key>
			<string>\&lt;</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.scope.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\&gt;</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#regex_sub</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_ltgt_r</string>
				</dict>
			</array>
		</dict>
		<key>nest_parens</key>
		<dict>
			<key>begin</key>
			<string>\(</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.scope.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\)</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#nest_parens</string>
				</dict>
			</array>
		</dict>
		<key>nest_parens_i</key>
		<dict>
			<key>begin</key>
			<string>\(</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.scope.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\)</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_parens_i</string>
				</dict>
			</array>
		</dict>
		<key>nest_parens_r</key>
		<dict>
			<key>begin</key>
			<string>\(</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.scope.ruby</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\)</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#regex_sub</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#nest_parens_r</string>
				</dict>
			</array>
		</dict>
		<key>regex_sub</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#interpolated_ruby</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#escaped_char</string>
				</dict>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.arbitrary-repitition.ruby</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.arbitrary-repitition.ruby</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(\{)\d+(,\d+)?(\})</string>
					<key>name</key>
					<string>string.regexp.arbitrary-repitition.ruby</string>
				</dict>
				<dict>
					<key>begin</key>
					<string>\[(?:\^?\])?</string>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.character-class.ruby</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\]</string>
					<key>name</key>
					<string>string.regexp.character-class.ruby</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#escaped_char</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\(</string>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.group.ruby</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\)</string>
					<key>name</key>
					<string>string.regexp.group.ruby</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#regex_sub</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.comment.ruby</string>
						</dict>
					</dict>
					<key>comment</key>
					<string>We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.</string>
					<key>match</key>
					<string>(?&lt;=^|\s)(#)\s[[a-zA-Z0-9,. \t?!-][^\x{00}-\x{7F}]]*$</string>
					<key>name</key>
					<string>comment.line.number-sign.ruby</string>
				</dict>
			</array>
		</dict>
	</dict>
	<key>scopeName</key>
	<string>source.ruby</string>
	<key>uuid</key>
	<string>E00B62AC-6B1C-11D9-9B1F-000D93589AF6</string>
</dict>
</plist>
PKiZ=-scan(;..;)-{-match-..-}-(sca).sublime-snippet<snippet>
    <content><![CDATA[scan(/${1:pattern}/) { |${2:match}| $0 }]]></content>
    <tabTrigger>sca</tabTrigger>
    <scope>source.ruby</scope>
    <description>scan(/../) { |match| .. }</description>
</snippet>
PKiZ=?h%select-{-e-..-}-(sel).sublime-snippet<snippet>
    <content><![CDATA[select { |${1:e}| $0 }]]></content>
    <tabTrigger>sel</tabTrigger>
    <scope>source.ruby</scope>
    <description>select { |e| .. }</description>
</snippet>
PKiZ=ha!singleton_class().sublime-snippet<snippet>
    <content><![CDATA[class << self; self end]]></content>
    <tabTrigger>sinc</tabTrigger>
    <scope>source.ruby</scope>
    <description>singleton_class()</description>
</snippet>
PKiZ=gIy%sort-{-a-b-..-}-(sor).sublime-snippet<snippet>
    <content><![CDATA[sort { |a, b| $0 }]]></content>
    <tabTrigger>sor</tabTrigger>
    <scope>source.ruby</scope>
    <description>sort { |a, b| .. }</description>
</snippet>
PKiZ=!I'sort_by-{-e-..-}-(sorb).sublime-snippet<snippet>
    <content><![CDATA[sort_by { |${1:e}| $0 }]]></content>
    <tabTrigger>sorb</tabTrigger>
    <scope>source.ruby</scope>
    <description>sort_by { |e| .. }</description>
</snippet>
PKiZ=\cc&step(2)-{-e-..-}-(ste).sublime-snippet<snippet>
    <content><![CDATA[step(${1:2}) { ${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:|)/}${2:n}${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:| )/}$0 }]]></content>
    <tabTrigger>ste</tabTrigger>
    <scope>source.ruby</scope>
    <description>step(2) { |e| .. }</description>
</snippet>
PKiZ=OCtt,sub(;..;)-{-match-..-}-(sub).sublime-snippet<snippet>
    <content><![CDATA[sub(/${1:pattern}/) { ${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:|)/}${2:match}${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:| )/}$0 }]]></content>
    <tabTrigger>sub</tabTrigger>
    <scope>source.ruby</scope>
    <description>sub(/../) { |match| .. }</description>
</snippet>
PKiZ=d!I!!"Symbo List%3A Method.tmPreferences<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>name</key>
	<string>Symbol List: Method</string>
	<key>scope</key>
	<string>source.ruby meta.function</string>
	<key>settings</key>
	<dict>
		<key>showInSymbolList</key>
		<integer>1</integer>
		<key>symbolTransformation</key>
		<string>s/^\s*def\s+//</string>
	</dict>
	<key>uuid</key>
	<string>92E190C9-A861-4025-92D4-D6B5A24C22D4</string>
</dict>
</plist>
PKiZ=P-Symbol List%3A No Function Call.tmPreferences<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>name</key>
	<string>Symbol List: No Function Call</string>
	<key>scope</key>
	<string>source.ruby meta.function-call entity.name.function</string>
	<key>settings</key>
	<dict>
		<key>showInSymbolList</key>
		<integer>0</integer>
	</dict>
	<key>uuid</key>
	<string>A5D50494-EB97-48DE-A2BE-322DF52A7A7A</string>
</dict>
</plist>
PKiZ=Ϧ00=task-task_name-=-[-dependent-tasks]-do-__-end.sublime-snippet<snippet>
    <content><![CDATA[desc "${1:Task description}"
task :${2:${3:task_name} => ${4:[:${5:dependent, :tasks}]}} do
	$0
end]]></content>
    <tabTrigger>tas</tabTrigger>
    <scope>source.ruby</scope>
    <description>task :task_name =&gt; [:dependent, :tasks] do .. end</description>
</snippet>
PKiZ=ZZ$times-{-n-..-}-(tim).sublime-snippet<snippet>
    <content><![CDATA[times { ${1/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:|)/}${1:n}${1/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:| )/}$0 }]]></content>
    <tabTrigger>tim</tabTrigger>
    <scope>source.ruby</scope>
    <description>times { |n| .. }</description>
</snippet>
PKiZ=+transaction(-__-)-do-__-end.sublime-snippet<snippet>
    <content><![CDATA[transaction${1/(^.*?\S.*)|.*/(?1:\()/}${1:true}${1/(^.*?\S.*)|.*/(?1:\))/} { $0 }]]></content>
    <tabTrigger>tra</tabTrigger>
    <scope>source.ruby</scope>
    <description>transaction( .. ) { .. }</description>
</snippet>
PKiZ=0$unix_filter-..-(uni).sublime-snippet<snippet>
    <content><![CDATA[ARGF.each_line$1 do |${2:line}|
	$0
end]]></content>
    <tabTrigger>unif</tabTrigger>
    <scope>source.ruby</scope>
    <description>unix_filter { .. }</description>
</snippet>
PKiZ=Zxunless-(unless).sublime-snippet<snippet>
    <content><![CDATA[unless ${1:condition}
	$0
end]]></content>
    <tabTrigger>unless</tabTrigger>
    <scope>source.ruby</scope>
    <description>unless … end</description>
</snippet>
PKiZ=C?until-___-end.sublime-snippet<snippet>
    <content><![CDATA[until ${1:condition}
	$0
end]]></content>
    <tabTrigger>until</tabTrigger>
    <scope>source.ruby</scope>
    <description>until ... end</description>
</snippet>
PKiZ=44untitled.sublime-snippet<snippet>
    <content><![CDATA[opts.on( "-${1:o}", "--${2:long-option-name}"${3/^\s*$|(.*\S.*)/(?1:, )/}${3:String},
         "${4:Option description.}" ) do |${6:opt}|
	$0
end]]></content>
    <tabTrigger>opt</tabTrigger>
    <scope>source.ruby</scope>
    <description>option(..)</description>
</snippet>
PKiZ=Te!oo,upto(1.0;0.0)-{-n-..-}-(upt).sublime-snippet<snippet>
    <content><![CDATA[upto(${1:1.0/0.0}) { ${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:|)/}${2:n}${2/(^(?<var>\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g<var>)*,?\s*$)|.*/(?1:| )/}$0 }]]></content>
    <tabTrigger>upt</tabTrigger>
    <scope>source.ruby</scope>
    <description>upto(1.0/0.0) { |n| .. }</description>
</snippet>
PKiZ=5f!usage_if()-(usai).sublime-snippet<snippet>
    <content><![CDATA[if ARGV.$1
	abort "Usage:  #{\$PROGRAM_NAME} ${2:ARGS_GO_HERE}"
end]]></content>
    <tabTrigger>usai</tabTrigger>
    <scope>source.ruby</scope>
    <description>usage_if()</description>
</snippet>
PKiZ=*<%usage_unless()-(usau).sublime-snippet<snippet>
    <content><![CDATA[unless ARGV.$1
	abort "Usage:  #{\$PROGRAM_NAME} ${2:ARGS_GO_HERE}"
end]]></content>
    <tabTrigger>usau</tabTrigger>
    <scope>source.ruby</scope>
    <description>usage_unless()</description>
</snippet>
PKiZ=|ҹwhen.sublime-snippet<snippet>
    <content><![CDATA[when ${1:condition}
	$0]]></content>
    <tabTrigger>when</tabTrigger>
    <scope>source.ruby</scope>
    <description>when …</description>
</snippet>
PKiZ=?while-___-end.sublime-snippet<snippet>
    <content><![CDATA[while ${1:condition}
	$0
end]]></content>
    <tabTrigger>while</tabTrigger>
    <scope>source.ruby</scope>
    <description>while ... end</description>
</snippet>
PKiZ=Y(Wrap-in-Begin-Rescue-End.sublime-snippet<snippet>
    <content><![CDATA[${TM_SELECTED_TEXT/([\t ]*).*/$1/m}begin
	${3:${TM_SELECTED_TEXT/(\A.*)|(.+)|\n\z/(?1:$0:(?2:\t$0))/g}}
${TM_SELECTED_TEXT/([\t ]*).*/$1/m}rescue ${1:Exception}${2/.+/ => /}${2:e}
${TM_SELECTED_TEXT/([\t ]*).*/$1/m}	$0
${TM_SELECTED_TEXT/([\t ]*).*/$1/m}end
]]></content>
    <tabTrigger>begin</tabTrigger>
    <scope>source.ruby - comment</scope>
    <description>begin … rescue … end</description>
</snippet>
PKiZ=
xmlread(__).sublime-snippet<snippet>
    <content><![CDATA[REXML::Document.new(File.read(${1:"${2:path/to/file}"}))]]></content>
    <tabTrigger>xml-</tabTrigger>
    <scope>source.ruby</scope>
    <description>xmlread(..)</description>
</snippet>
PKiZ=n*w xpath(__)-{-__-}.sublime-snippet<snippet>
    <content><![CDATA[elements.each(${1:"${2://XPath}"}) do |${3:node}|
	$0
end]]></content>
    <tabTrigger>xpa</tabTrigger>
    <scope>source.ruby</scope>
    <description>xpath(..) { .. }</description>
</snippet>
PKiZ=p'.(YAML.dump(..-file)-(Yd-).sublime-snippet<snippet>
    <content><![CDATA[File.open(${1:"${2:path/to/file}.yaml"}, "w") { |${3:file}| YAML.dump(${4:obj}, ${3:file}) }]]></content>
    <tabTrigger>Yd-</tabTrigger>
    <scope>source.ruby</scope>
    <description>YAML.dump(.., file)</description>
</snippet>
PKiZ=v]L%YAML.load(file)-(Yl-).sublime-snippet<snippet>
    <content><![CDATA[File.open(${1:"${2:path/to/file}.yaml"}) { |${3:file}| YAML.load(${3:file}) }]]></content>
    <tabTrigger>Yl-</tabTrigger>
    <scope>source.ruby</scope>
    <description>YAML.load(file)</description>
</snippet>
PKiZ=_`#yields-RDoc-comment.sublime-snippet<snippet>
    <content><![CDATA[ :yields: ${0:arguments}]]></content>
    <tabTrigger>y</tabTrigger>
    <scope>source.ruby comment</scope>
    <description>:yields:</description>
</snippet>
PKiZ=)/!+zip(enums)-{-row-..-}-(zip).sublime-snippet<snippet>
    <content><![CDATA[zip(${1:enums}) { |${2:row}| $0 }]]></content>
    <tabTrigger>zip</tabTrigger>
    <scope>source.ruby</scope>
    <description>zip(enums) { |row| .. }</description>
</snippet>
PKiZ=so'#!;usr;local;bin;ruby-w.sublime-snippetPKiZ=7j "060-ruby-if-else.sublime-snippetPKiZ=@@.070-ruby-if.sublime-snippetPKiZ=On"080-ruby-case.sublime-snippetPKiZ=+!/Add-'#-=-'-Marker.sublime-snippetPKiZ=t6$"alias_method-..-(am).sublime-snippetPKiZ=&/"6all-{-e-..-}-(all).sublime-snippetPKiZ=F;"2any-{-e-..-}-(any).sublime-snippetPKiZ=aHZ).application_code-..-(app).sublime-snippetPKiZ=2qq,E	Array.new(10)-{-i-..-}-(Arr).sublime-snippetPKiZ=ٱassert(..)-(as).sublime-snippetPKiZ=F]@	assert_equal.sublime-snippetPKiZ=V0-
assert_instance_of(..)-(asio).sublime-snippetPKiZ=GI*Kassert_in_delta(..)-(asid).sublime-snippetPKiZ=%l)assert_kind_of(..)-(asko).sublime-snippetPKiZ=&mD&assert_match(..)-(asm).sublime-snippetPKiZ=&$assert_nil(..)-(asn).sublime-snippetPKiZ=]%K7assert_nothing_raised(..)-{-..-}-(asnr).sublime-snippetPKiZ=jAe3assert_nothing_thrown-{-..-}-(asnt).sublime-snippetPKiZ=cD+6assert_not_equal(..)-(asne).sublime-snippetPKiZ=2)[assert_not_nil(..)-(asnn).sublime-snippetPKiZ=1*kassert_not_same(..)-(asns).sublime-snippetPKiZ=j*assert_no_match(..)-(asnm).sublime-snippetPKiZ=|rd)assert_operator(..)-(aso).sublime-snippetPKiZ=؟-assert_raise(..)-{-..-}-(asr).sublime-snippetPKiZ=j8,assert_respond_to(..)-(asrt).sublime-snippetPKiZ=9%,assert_same(..)-(ass).sublime-snippetPKiZ=ˀ%>assert_send(..)-(ass).sublime-snippetPKiZ=V.]assert_throws(..)-{-..-}-(ast).sublime-snippetPKW>'%~ attr_accessor-..-(rw).sublime-snippetPKiZ=O
"!attr_reader-..-(r).sublime-snippetPKiZ=?b""attr_writer-..-(w).sublime-snippetPKiZ=!Z,#Benchmark_bmbm(__)-do-__-end.sublime-snippetPKiZ=VC$class-..-DelegateClass-..-initialize-..-end-(class).sublime-snippetPKiZ=U."&class-..-end-(cla).sublime-snippetPKiZ=/HdZZ*'class-..-initialize-..-end.sublime-snippetPKiZ=>O)class-..-instance_methods-..-undef-..-initialize-..-end-(class).sublime-snippetPKiZ=j9,class-..-ParentClass-..-initialize-..-end.sublime-snippetPKiZ=&BB4-class-..-Struct-..-initialize-..-end.sublime-snippetPKiZ=Z/``9~/class-..-Test;;Unit;;TestCase-..-end-(tc).sublime-snippetPKiZ=)q!51class-self-__-end.sublime-snippetPKiZ=!X(A2classify-{-e-..-}-(clas).sublime-snippetPKiZ=@ʻ0)J3class_from_name()-(clafn).sublime-snippetPKiZ=8hl&}4collect-{-e-..-}-(col).sublime-snippetPKiZ=a[>>5Comments.tmPreferencesPKH@Q8Completion Rules.tmPreferencesPKiZ=WA#:deep_copy(..)-(dee).sublime-snippetPKiZ=n96;def-end.sublime-snippetPKiZ=|.<def-method_missing-..-end-(mm).sublime-snippetPKiZ=u&>def-self-..-end-(defs).sublime-snippetPKiZ=M!$$?def-test_-..-end-(t).sublime-snippetPK.?@Ķ'qq/@Default.sublime-keymapPKiZ=̍'Adef_delegator-..-(defd).sublime-snippetPKiZ=tEb`)Bdef_delegators-..-(defds).sublime-snippetPKiZ=c)"Ddelete_if-{-e-..-}-(deli).sublime-snippetPKiZ=j(%0Edetect-{-e-..-}-(det).sublime-snippetPKiZ=533FDir.glob(-..-)-do-file-..-end-(Dir).sublime-snippetPKiZ=DlGdirectory().sublime-snippetPKiZ=x7Y_HDir[-__-].sublime-snippetPKq+@+\0#UIdo-obj-..-end-(doo).sublime-snippetPKiZ=gg(Jdownto(0)-{-n-..-}-(dow).sublime-snippetPKiZ="<Leach-{-e-..-}-(ea).sublime-snippetPKiZ= d+7Meach_byte-{-byte-..-}-(eab).sublime-snippetPKiZ=R+LNeach_char-{-chr-..-}-(eac-).sublime-snippetPKiZ=ej1`Oeach_cons(..)-{-group-..-}-(eac-).sublime-snippetPKiZ=
)Peach_index-{-i-..-}-(eai).sublime-snippetPKiZ=eߝb)Qeach_key-{-key-..-}-(eak).sublime-snippetPKiZ=4+Reach_line-{-line-..-}-(eal).sublime-snippetPKiZ=ε/Seach_pair-{-name-val-..-}-(eap).sublime-snippetPKiZ=A-Teach_slice-{-group-..-}-(eas).sublime-snippetPKiZ=u#+Veach_value-{-val-..-}-(eav).sublime-snippetPKiZ=1$Weach_with_index-{-e-i-..-}-(eawi).sublime-snippetPKiZ=Z=QXelsif-___.sublime-snippetPKiZ=E]2)DYextend-Forwardable-(Forw).sublime-snippetPKiZ=oo,JZfetch(name)-{-key-..-}-(fet).sublime-snippetPKiZ=d[9\File.foreach-(-..-)-do-line-..-end-(File).sublime-snippetPKiZ=Ne]--+N]File_open(-__-)-{-file-__-}.sublime-snippetPKiZ=}^File_read(-__-).sublime-snippetPKiZ=W=kk*_fill(range)-{-i-..-}-(fil).sublime-snippetPKiZ=eC#afind-{-e-..-}-(fin).sublime-snippetPKiZ=&U(}bfind_all-{-e-..-}-(fina).sublime-snippetPKiZ="cflatten_once-(fla).sublime-snippetPKiZ=fOBdflunk(..)-(fl).sublime-snippetPKiZ=L2egrep(;pattern;)-{-match-..-}-(gre).sublime-snippetPKiZ=QVvv-fgsub(;..;)-{-match-..-}-(gsu).sublime-snippetPKiZ=0hhash-pair-(-).sublime-snippetPKiZ=&V2;:iHash.new-{-hash-key-hash[key]-=-..-}-(Has).sublime-snippetPKiZ=Us},
kinclude-Comparable-..-(Comp).sublime-snippetPKiZ=N,-linclude-Enumerable-..-(Enum).sublime-snippetPKiZ=4{~1Rminject(init)-{-mem-var-..-}-(inj).sublime-snippetPKiZ=gbb(nlambda-{-args-..-}-(lam).sublime-snippetPKiZ=?ploop-{-__-}.sublime-snippetPKiZ=("'qmap-{-e-..-}-(map).sublime-snippetPKiZ='B1!rmap_with_index-{-e-i-..-}-(mapwi).sublime-snippetPKiZ=e
+SsMarshal.dump(obj-file)-(Md).sublime-snippetPKiZ=
u&tMarshal.load(obj)-(Ml).sublime-snippetPKiZ=
ͻ$umax-{-a-b-..-}-(max).sublime-snippetPKiZ={3$vmin-{-a-b-..-}-(min).sublime-snippetPKiZ==	wMiscellaneous.tmPreferencesPKiZ=RxG-}module-..-ClassMethods-..-end.sublime-snippetPKiZ=7#module-..-end.sublime-snippetPKiZ=ut0module-..-module_function-..-end.sublime-snippetPKiZ=df&namespace-__-do-__-end.sublime-snippetPKiZ=1m339open(-path;or;url-w-)-do-doc-..-end-(ope).sublime-snippetPKiZ=bntt$6open-yield-block-({).sublime-snippetPKiZ=rjFaa*option_parse-{-..-}-(optp).sublime-snippetPKiZ=E6(partition-{-e-..-}-(par).sublime-snippetPKiZ=8$path_from_here(-__-).sublime-snippetPKiZ=(HF ̋PStore_new(-__-).sublime-snippetPKiZ=Qیrandomize-(ran).sublime-snippetPKiZ=e*(̍RDoc-documentation-block.sublime-snippetPKiZ=ukW%reject-{-e-..-}-(rej).sublime-snippetPKiZ=Gam require-..-(req).sublime-snippetPKiZ=bb%require-tc_..-..-(ts).sublime-snippetPKiZ=L+7&require_gem-__.sublime-snippetPKiZ=)results_report(__)-{-__-}.sublime-snippetPKiZ=Xy+Ereverse_each-{-e-..-}-(rea).sublime-snippetPK]*>fԵhh[Ruby.sublime-buildPKݦ;@#ރRuby.tmLanguagePKiZ=-scan(;..;)-{-match-..-}-(sca).sublime-snippetPKiZ=?h%ȟselect-{-e-..-}-(sel).sublime-snippetPKiZ=ha!ˠsingleton_class().sublime-snippetPKiZ=gIy%̡sort-{-a-b-..-}-(sor).sublime-snippetPKiZ=!I'̢sort_by-{-e-..-}-(sorb).sublime-snippetPKiZ=\cc&ԣstep(2)-{-e-..-}-(ste).sublime-snippetPKiZ=OCtt,{sub(;..;)-{-match-..-}-(sub).sublime-snippetPKiZ=d!I!!"9Symbo List%3A Method.tmPreferencesPKiZ=P-Symbol List%3A No Function Call.tmPreferencesPKiZ=Ϧ00=task-task_name-=-[-dependent-tasks]-do-__-end.sublime-snippetPKiZ=ZZ$qtimes-{-n-..-}-(tim).sublime-snippetPKiZ=+
transaction(-__-)-do-__-end.sublime-snippetPKiZ=0$Xunix_filter-..-(uni).sublime-snippetPKiZ=Zxmunless-(unless).sublime-snippetPKiZ=C?quntil-___-end.sublime-snippetPKiZ=44puntitled.sublime-snippetPKiZ=Te!oo,ڴupto(1.0;0.0)-{-n-..-}-(upt).sublime-snippetPKiZ=5f!usage_if()-(usai).sublime-snippetPKiZ=*<%usage_unless()-(usau).sublime-snippetPKiZ=|ҹwhen.sublime-snippetPKiZ=?ֹwhile-___-end.sublime-snippetPKiZ=Y(պWrap-in-Begin-Rescue-End.sublime-snippetPKiZ=
ڼxmlread(__).sublime-snippetPKiZ=n*w xpath(__)-{-__-}.sublime-snippetPKiZ=p'.(YAML.dump(..-file)-(Yd-).sublime-snippetPKiZ=v]L%^YAML.load(file)-(Yl-).sublime-snippetPKiZ=_`#yields-RDoc-comment.sublime-snippetPKiZ=)/!+zip(enums)-{-row-..-}-(zip).sublime-snippetPK0

Anon7 - 2022
AnonSec Team