summaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
authorrojaro <>2009-11-02 03:17:57 +0000
committerrojaro <>2009-11-02 03:17:57 +0000
commitb916a00d0016119c3f0c140ac679e0ad242115ad (patch)
tree55de751c61c733d64b96162e69f6868e0639730f /editors
parent56d36fdd34e79ba1870f2d49c5dbd4ee3653cfbd (diff)
added old prado textmate bundle
Diffstat (limited to 'editors')
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TActiveButton.tmSnippet17
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TBulletedList.tmSnippet19
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TButton.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TCheckBox.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TCheckBoxList.tmSnippet19
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TCircleHotSpot.tmSnippet20
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TCompareValidator.tmSnippet21
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TCustomValidator.tmSnippet20
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TDatePicker.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TDropDownList.tmSnippet19
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TEmailAddressValidator.tmSnippet18
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TExpression.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TFileUpload.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TForm.tmSnippet18
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/THtmlArea.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/THyperLink.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TImage.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TImageButton copy.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TImageMap.tmSnippet26
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TInlineFrame.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TJavascriptLogger.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TLabel.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TListBox.tmSnippet19
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TListControlValidator.tmSnippet20
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TListItem.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TMultiView.tmSnippet23
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TPanel.tmSnippet18
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TPlaceHolder.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TPolygonHotSpot.tmSnippet20
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TRadioButton.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TRadioButtonList.tmSnippet19
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TRangeValidator.tmSnippet21
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TRectangleHotSpot.tmSnippet20
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TRegularExpressionValidator.tmSnippet19
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TRequiredFieldValidator.tmSnippet18
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TTabelFooterRow.tmSnippet18
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TTable.tmSnippet25
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TTableCell.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TTableHeaderCell.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TTableHeaderRow.tmSnippet19
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TTableRow.tmSnippet19
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TTextBox.tmSnippet16
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TValidationSummary.tmSnippet18
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TView.tmSnippet18
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TWizard.tmSnippet28
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/TWizardStep.tmSnippet18
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/untitled 2.tmSnippet20
-rw-r--r--editors/Textmate/Prado.tmbundle/Snippets/untitled.tmSnippet18
-rw-r--r--editors/Textmate/Prado.tmbundle/Syntaxes/Prado PHP.tmLanguage1261
-rw-r--r--editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template copy.tmLanguage670
-rw-r--r--editors/Textmate/Prado.tmbundle/info.plist70
51 files changed, 2884 insertions, 0 deletions
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TActiveButton.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TActiveButton.tmSnippet
new file mode 100644
index 00000000..7a7bbbbc
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TActiveButton.tmSnippet
@@ -0,0 +1,17 @@
+<?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>content</key>
+ <string>&lt;com:TActiveButton ID="${2:button1}" Text="${3:Button 1}"
+ OnClick="${5:$2_onclick}" OnCallback="${6:$2_oncallback}" /&gt;$0</string>
+ <key>name</key>
+ <string>TActiveButton</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TActiveButton</string>
+ <key>uuid</key>
+ <string>319D66FC-712A-4B09-A1C0-CB741ED9DD4C</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TBulletedList.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TBulletedList.tmSnippet
new file mode 100644
index 00000000..0587cd5d
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TBulletedList.tmSnippet
@@ -0,0 +1,19 @@
+<?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>content</key>
+ <string>&lt;com:TBulletedList ID="${1:bulletedList1}"&gt;
+ ${2:&lt;com:TListItem Value="${3:value 1}" Text="${4:item 1}" /&gt;
+ &lt;com:TListItem Value="${5:value 2}" Text="${6:item 2}" /&gt;}$0
+&lt;/com:TBulletedList&gt;</string>
+ <key>name</key>
+ <string>TBulletedList</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TBulletedList</string>
+ <key>uuid</key>
+ <string>110FCD3F-841C-4178-99D8-765C7D382F7D</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TButton.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TButton.tmSnippet
new file mode 100644
index 00000000..1b3dab84
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TButton.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TButton ID="${1:button1}" Text="${2:Button Text}" OnClick="${3:${1}_Clicked}" /&gt;$0</string>
+ <key>name</key>
+ <string>TButton</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TButton</string>
+ <key>uuid</key>
+ <string>94E9F86C-36D1-4D5C-808C-E379024299CD</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TCheckBox.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TCheckBox.tmSnippet
new file mode 100644
index 00000000..410bca4c
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TCheckBox.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TCheckBox ID="${1:checkBox1}" Text="${2:CheckBox Text}" /&gt;$0</string>
+ <key>name</key>
+ <string>TCheckBox</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TCheckBox</string>
+ <key>uuid</key>
+ <string>2721E2C3-66B7-4486-BF0F-6FA7B274858D</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TCheckBoxList.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TCheckBoxList.tmSnippet
new file mode 100644
index 00000000..0534c429
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TCheckBoxList.tmSnippet
@@ -0,0 +1,19 @@
+<?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>content</key>
+ <string>&lt;com:TCheckBoxList ID="${1:checkBoxList1}"&gt;
+ ${2:&lt;com:TListItem Value="${3:value 1}" Text="${4:item 1}" /&gt;
+ &lt;com:TListItem Value="${5:value 2}" Text="${6:item 2}" /&gt;}$0
+&lt;/com:TCheckBoxList&gt;</string>
+ <key>name</key>
+ <string>TCheckBoxList</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TCheckBoxList</string>
+ <key>uuid</key>
+ <string>76F11AC6-D441-4059-A70A-E3BB739EE515</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TCircleHotSpot.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TCircleHotSpot.tmSnippet
new file mode 100644
index 00000000..8881dc8d
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TCircleHotSpot.tmSnippet
@@ -0,0 +1,20 @@
+<?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>content</key>
+ <string>&lt;com:TTCircleHotSpot
+ ${1:HotspotMode="${2:Navigate}"
+ NavigateUrl="${3:http://www.pradosoft.com}"}
+ AlternateText="${4:Navigate to pradosoft.com}"
+ X="${5:80}" Y="${6:80}" Radius="${7:55}" /&gt;$0</string>
+ <key>name</key>
+ <string>TCircleHotSpot (THotSpot)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>THotSpot</string>
+ <key>uuid</key>
+ <string>0DE44657-21AB-4878-93E7-0FD458D8723A</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TCompareValidator.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TCompareValidator.tmSnippet
new file mode 100644
index 00000000..a80d8465
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TCompareValidator.tmSnippet
@@ -0,0 +1,21 @@
+<?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>content</key>
+ <string>&lt;com:TCompareValidator
+ ControlToValidate="${1:controlIDToValidate}"
+ ${2:ControlToCompare="${3:controlIDToCompareWith}"
+ DataType="${4:String}"
+ Operator="${5:Equal}"}
+ ErrorMessage="${6:value did not match}" /&gt;$0</string>
+ <key>name</key>
+ <string>TCompareValidator (TValidator)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TValidator</string>
+ <key>uuid</key>
+ <string>3586B543-C92E-4AEB-92A7-20D948EA60DF</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TCustomValidator.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TCustomValidator.tmSnippet
new file mode 100644
index 00000000..e543353e
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TCustomValidator.tmSnippet
@@ -0,0 +1,20 @@
+<?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>content</key>
+ <string>&lt;com:TCustomValidator
+ ControlToValidate="${1:controlIDToValidate}"
+ OnServerValidate="${2:customValidate}"${3:
+ ClientValidationFunction="${4:clientSideCustomValidate}"}
+ ErrorMessage="${6:required}" /&gt;$0</string>
+ <key>name</key>
+ <string>TCustomValidator (TValidator)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TValidator</string>
+ <key>uuid</key>
+ <string>BF6A7ED6-28A0-4165-AA7A-F1F003161AE5</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TDatePicker.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TDatePicker.tmSnippet
new file mode 100644
index 00000000..ceb262b7
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TDatePicker.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TDatePicker ID="${1:datePicker1}" DateFormat="${2:dd/MM/yyyy}" ${3:InputMode="${4:DropDownList}"} /&gt;$0</string>
+ <key>name</key>
+ <string>TDatePicker</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TDatePicker</string>
+ <key>uuid</key>
+ <string>37221294-B588-4D07-9010-2DB7CDBEB6B4</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TDropDownList.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TDropDownList.tmSnippet
new file mode 100644
index 00000000..581d4ed0
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TDropDownList.tmSnippet
@@ -0,0 +1,19 @@
+<?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>content</key>
+ <string>&lt;com:TDropDownList ID="${1:dropDownList1}"&gt;
+ ${2:&lt;com:TListItem Value="${3:value 1}" Text="${4:item 1}" /&gt;
+ &lt;com:TListItem Value="${5:value 2}" Text="${6:item 2}" /&gt;}$0
+&lt;/com:TDropDownList&gt;</string>
+ <key>name</key>
+ <string>TDropDownList</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TDropDownList</string>
+ <key>uuid</key>
+ <string>803BFB83-50E8-4121-9866-A25C93979E4B</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TEmailAddressValidator.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TEmailAddressValidator.tmSnippet
new file mode 100644
index 00000000..fc2dcf61
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TEmailAddressValidator.tmSnippet
@@ -0,0 +1,18 @@
+<?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>content</key>
+ <string>&lt;com:TEmailAddressValidator
+ ControlToValidate="${1:controlIDToValidate}"
+ ErrorMessage="${2:email address required}" /&gt;$0</string>
+ <key>name</key>
+ <string>TEmailAddressValidator (TValidator)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TValidator</string>
+ <key>uuid</key>
+ <string>BDF614B5-430B-46AB-B558-B5E0EF97BA17</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TExpression.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TExpression.tmSnippet
new file mode 100644
index 00000000..0abab172
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TExpression.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TExpression Expression="${1:\$this-&gt;Page-&gt;Title}" /&gt;$0</string>
+ <key>name</key>
+ <string>TExpression</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TExpression</string>
+ <key>uuid</key>
+ <string>B7E6E873-309E-41E6-AD8A-29EB54781579</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TFileUpload.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TFileUpload.tmSnippet
new file mode 100644
index 00000000..31cabd1e
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TFileUpload.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TFileUpload ID="${1:file1}" OnFileUpload="${2:${1}_Uploaded}" /&gt;$0</string>
+ <key>name</key>
+ <string>TFileUpload</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TFileUpload</string>
+ <key>uuid</key>
+ <string>17BECED9-79B1-4CD6-9354-E528DA3327AC</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TForm.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TForm.tmSnippet
new file mode 100644
index 00000000..f6041099
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TForm.tmSnippet
@@ -0,0 +1,18 @@
+<?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>content</key>
+ <string>&lt;com:TForm ${1:ID="${2:form1}"}&gt;
+ $0
+&lt;/com:TForm&gt;</string>
+ <key>name</key>
+ <string>TForm</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TForm</string>
+ <key>uuid</key>
+ <string>5714E730-271D-436E-86DC-04AB0E71ECE0</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/THtmlArea.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/THtmlArea.tmSnippet
new file mode 100644
index 00000000..75030941
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/THtmlArea.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:THtmlArea ID="${1:htmlArea1}" Width="${2:500px}" Height="${3:250px}" /&gt;$0</string>
+ <key>name</key>
+ <string>THtmlArea</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>THtmlArea</string>
+ <key>uuid</key>
+ <string>61E9DF58-07F3-4B99-8B58-53D3049575F3</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/THyperLink.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/THyperLink.tmSnippet
new file mode 100644
index 00000000..0c1991e3
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/THyperLink.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:THyperLink NavigateUrl="${1:http://www.pradosoft.com/}" Text="${2:PradoSoft.com}" /&gt;$0</string>
+ <key>name</key>
+ <string>THyperLink</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>THyperLink</string>
+ <key>uuid</key>
+ <string>618046BE-DF8E-489C-A8BC-24A15CF2AD7A</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TImage.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TImage.tmSnippet
new file mode 100644
index 00000000..0d66e1f7
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TImage.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TImage ImageUrl=&lt;%~ ${1:hello_world.gif} %&gt; AlternateText="${1}" /&gt;$0</string>
+ <key>name</key>
+ <string>TImage</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TImage</string>
+ <key>uuid</key>
+ <string>17389BC4-0AF1-4993-B829-5CDC330A6D39</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TImageButton copy.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TImageButton copy.tmSnippet
new file mode 100644
index 00000000..ca1a3297
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TImageButton copy.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TLinkButton ID="${1:linkButton1}" Text="${2:Click Me}" OnClick="${3:${1}_Clicked}" /&gt;$0</string>
+ <key>name</key>
+ <string>TLinkButton</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TLinkButton</string>
+ <key>uuid</key>
+ <string>4E663D10-670D-4526-8848-0AC2666592C0</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TImageMap.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TImageMap.tmSnippet
new file mode 100644
index 00000000..8e307925
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TImageMap.tmSnippet
@@ -0,0 +1,26 @@
+<?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>content</key>
+ <string>&lt;com:TImageMap
+ ID="${1:imageMap1}"
+ ImageUrl=&lt;%~ ${2:hotspots.gif} %&gt;
+ AlternateText="${3:${1}}"
+ OnClick="${4:${1}_Clicked}"&gt;
+${5:&lt;com:TTCircleHotSpot
+ ${6:HotspotMode="${7:Navigate}"
+ NavigateUrl="${8:http://www.pradosoft.com}"}
+ AlternateText="${9:Navigate to pradosoft.com}"
+ X="${10:80}" Y="${11:80}" Radius="${12:55}" /&gt;}$0
+&lt;/com:TImageMap&gt;</string>
+ <key>name</key>
+ <string>TImageMap</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TImageMap</string>
+ <key>uuid</key>
+ <string>823B366A-3A40-4875-8A2E-AB901F54D443</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TInlineFrame.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TInlineFrame.tmSnippet
new file mode 100644
index 00000000..766c1cb5
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TInlineFrame.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TInlineFrame FrameUrl="${1:http://www.google.com/}" /&gt;$0</string>
+ <key>name</key>
+ <string>TInlineFrame</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TInlineFrame</string>
+ <key>uuid</key>
+ <string>13CDBA43-EAA4-4BCD-B9AA-A990B4974496</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TJavascriptLogger.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TJavascriptLogger.tmSnippet
new file mode 100644
index 00000000..5b1fc674
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TJavascriptLogger.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TJavascriptLogger /&gt;$0</string>
+ <key>name</key>
+ <string>TJavascriptLogger</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TJavascriptLogger</string>
+ <key>uuid</key>
+ <string>202F9A01-9B67-4CBD-9289-EE6A98D091D7</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TLabel.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TLabel.tmSnippet
new file mode 100644
index 00000000..398c99a2
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TLabel.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TLabel ID="${1:label1}" ${2:Text="${3:Label 1}"} /&gt;$0</string>
+ <key>name</key>
+ <string>TLabel</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TLabel</string>
+ <key>uuid</key>
+ <string>84F0B41A-06B1-4A61-98B7-F13D1321C3D0</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TListBox.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TListBox.tmSnippet
new file mode 100644
index 00000000..a450881e
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TListBox.tmSnippet
@@ -0,0 +1,19 @@
+<?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>content</key>
+ <string>&lt;com:TListBox ID="${1:listBox1}"&gt;
+ ${2:&lt;com:TListItem Value="${3:value 1}" Text="${4:item 1}" /&gt;
+ &lt;com:TListItem Value="${5:value 2}" Text="${6:item 2}" /&gt;}$0
+&lt;/com:TListBox&gt;</string>
+ <key>name</key>
+ <string>TListBox</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TListBox</string>
+ <key>uuid</key>
+ <string>665F3D21-16F5-40FF-8339-A9A101400D10</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TListControlValidator.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TListControlValidator.tmSnippet
new file mode 100644
index 00000000..db2798fe
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TListControlValidator.tmSnippet
@@ -0,0 +1,20 @@
+<?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>content</key>
+ <string>&lt;com:TListControlValidator
+ ControlToValidate="${1:controlIDToValidate}"
+ MinSelection="${2:2}"${3:
+ RequiredSelection="${4:value1}"}
+ ErrorMessage="${6:selection required}" /&gt;$0</string>
+ <key>name</key>
+ <string>TListControlValidator (TValidator)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TValidator</string>
+ <key>uuid</key>
+ <string>0353A694-1EE5-46E0-AC72-2F1631B441CB</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TListItem.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TListItem.tmSnippet
new file mode 100644
index 00000000..b8337ff9
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TListItem.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TListItem Value="${1:value 1}" Text="${2:item 1}" /&gt;$0</string>
+ <key>name</key>
+ <string>TListItem</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TListItem</string>
+ <key>uuid</key>
+ <string>AB128FBD-1C3E-4FB4-91F5-48B57DC6860F</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TMultiView.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TMultiView.tmSnippet
new file mode 100644
index 00000000..91812be3
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TMultiView.tmSnippet
@@ -0,0 +1,23 @@
+<?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>content</key>
+ <string>&lt;com:TMultiView ID="${1:multiView1}" ActiveViewIndex="${2:0}"&gt;
+ ${3:&lt;com:TView ID="${4:view1}"&gt;
+ ${5:&lt;!-- view1 content --&gt;}
+ &lt;/com:TView&gt;
+ &lt;com:TView ID="${6:view2}"&gt;
+ ${7:&lt;!-- view2 content --&gt;}
+ &lt;/com:TView&gt;}$0
+&lt;/com:TMultiView&gt;</string>
+ <key>name</key>
+ <string>TMultiView</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TMultiView</string>
+ <key>uuid</key>
+ <string>023BD925-D6F2-4BE1-8973-8B90B3C8858E</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TPanel.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TPanel.tmSnippet
new file mode 100644
index 00000000..b0a3635c
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TPanel.tmSnippet
@@ -0,0 +1,18 @@
+<?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>content</key>
+ <string>&lt;com:TPanel ID="${1:panel1}"&gt;
+ $0
+&lt;/com:TPanel&gt;</string>
+ <key>name</key>
+ <string>TPanel</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TPanel</string>
+ <key>uuid</key>
+ <string>7E35FA7C-E390-41BA-A8C5-C1F3B4FAE6A1</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TPlaceHolder.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TPlaceHolder.tmSnippet
new file mode 100644
index 00000000..9a26b67f
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TPlaceHolder.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TPlaceHolder ID="${1:placeHolder1}" /&gt;$0</string>
+ <key>name</key>
+ <string>TPlaceHolder</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TPlaceHolder</string>
+ <key>uuid</key>
+ <string>53AAABF9-D393-4E5B-83BD-0C4CB15DDCC1</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TPolygonHotSpot.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TPolygonHotSpot.tmSnippet
new file mode 100644
index 00000000..d2dfec33
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TPolygonHotSpot.tmSnippet
@@ -0,0 +1,20 @@
+<?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>content</key>
+ <string>&lt;com:TPolygonHotSpot
+ ${1:HotspotMode="${2:Navigate}"
+ NavigateUrl="${3:http://www.pradosoft.com}"}
+ AlternateText="${4:Navigate to pradosoft.com}"
+ Coordinates="${5:200,137,255}" /&gt;$0</string>
+ <key>name</key>
+ <string>TPolygonHotSpot (THotSpot)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>THotSpot</string>
+ <key>uuid</key>
+ <string>3CFAD67E-EE9F-49F9-B606-D414E73ED8F7</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TRadioButton.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TRadioButton.tmSnippet
new file mode 100644
index 00000000..7c77bd67
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TRadioButton.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TRadioButton ID="${1:radioButton1}" Text="${2:RadioButton Text}" /&gt;$0</string>
+ <key>name</key>
+ <string>TRadioButton</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TRadioButton</string>
+ <key>uuid</key>
+ <string>AC226362-749C-45C1-86A3-B58379A38A7E</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TRadioButtonList.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TRadioButtonList.tmSnippet
new file mode 100644
index 00000000..df6c7ff3
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TRadioButtonList.tmSnippet
@@ -0,0 +1,19 @@
+<?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>content</key>
+ <string>&lt;com:TRadioButtonList ID="${1:radioButtonList1}"&gt;
+ ${2:&lt;com:TListItem Value="${3:value 1}" Text="${4:item 1}" /&gt;
+ &lt;com:TListItem Value="${5:value 2}" Text="${6:item 2}" /&gt;}$0
+&lt;/com:TRadioButtonList&gt;</string>
+ <key>name</key>
+ <string>TRadioButtonList</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TRadioButtonList</string>
+ <key>uuid</key>
+ <string>012C556B-6ACB-48F0-8757-CA2E60B06109</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TRangeValidator.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TRangeValidator.tmSnippet
new file mode 100644
index 00000000..c1817894
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TRangeValidator.tmSnippet
@@ -0,0 +1,21 @@
+<?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>content</key>
+ <string>&lt;com:TRangeValidator
+ ControlToValidate="${1:controlIDToValidate}"
+ DataType="${2:Integer}"
+ ${3:MinValue="${4:2}"}
+ ${5:MaxValue="${6:5}"}
+ ErrorMessage="${7:out of range}" /&gt;$0</string>
+ <key>name</key>
+ <string>TRangeValidator (TValidator)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TValidator</string>
+ <key>uuid</key>
+ <string>0DF11CB4-2813-4CCB-94EA-4A62E25E9EDC</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TRectangleHotSpot.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TRectangleHotSpot.tmSnippet
new file mode 100644
index 00000000..f0d8c70e
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TRectangleHotSpot.tmSnippet
@@ -0,0 +1,20 @@
+<?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>content</key>
+ <string>&lt;com:TRectangleHotSpot
+ ${1:HotspotMode="${2:Navigate}"
+ NavigateUrl="${3:http://www.pradosoft.com}"}
+ AlternateText="${4:Navigate to pradosoft.com}"
+ Top="${5:10}" Left="${6:10}" Bottom="${7:110}" Right="${8:110}" /&gt;$0</string>
+ <key>name</key>
+ <string>TRectangleHotSpot (THotSpot)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>THotSpot</string>
+ <key>uuid</key>
+ <string>BAC66FCD-8C23-48B9-829B-56FE20CCC8E6</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TRegularExpressionValidator.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TRegularExpressionValidator.tmSnippet
new file mode 100644
index 00000000..7d072e95
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TRegularExpressionValidator.tmSnippet
@@ -0,0 +1,19 @@
+<?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>content</key>
+ <string>&lt;com:TRegularExpressionValidator
+ ControlToValidate="${1:controlIDToValidate}"
+ RegularExpression="${2:\w{5,\}}"
+ ErrorMessage="${7:mismatch}" /&gt;$0</string>
+ <key>name</key>
+ <string>TRegularExpressionValidator (TValidator)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TValidator</string>
+ <key>uuid</key>
+ <string>92266396-CC97-4F53-B1D3-4DDFD924D8C8</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TRequiredFieldValidator.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TRequiredFieldValidator.tmSnippet
new file mode 100644
index 00000000..f9f504ae
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TRequiredFieldValidator.tmSnippet
@@ -0,0 +1,18 @@
+<?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>content</key>
+ <string>&lt;com:TRequiredFieldValidator
+ ControlToValidate="${1:controlIDToValidate}"
+ ErrorMessage="${2:required}" /&gt;$0</string>
+ <key>name</key>
+ <string>TRequiredFieldValidator (TValidator)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TValidator</string>
+ <key>uuid</key>
+ <string>754B2EF6-85D2-4A93-996F-D6D9E8A27F1E</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TTabelFooterRow.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TTabelFooterRow.tmSnippet
new file mode 100644
index 00000000..620f7adf
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TTabelFooterRow.tmSnippet
@@ -0,0 +1,18 @@
+<?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>content</key>
+ <string>&lt;com:TTableFooterRow&gt;
+ $0
+&lt;/com:TTableFooterRow&gt;</string>
+ <key>name</key>
+ <string>TTabelFooterRow</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TTableFooterRow</string>
+ <key>uuid</key>
+ <string>23B521B1-6EA4-4E5D-9104-940CEDFDFD13</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TTable.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TTable.tmSnippet
new file mode 100644
index 00000000..1b4ccc4c
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TTable.tmSnippet
@@ -0,0 +1,25 @@
+<?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>content</key>
+ <string>&lt;com:TTable&gt;
+ ${1:&lt;com:TTableRow&gt;
+ &lt;com:TTableHeaderCell Text="${2:header cell 1}" /&gt;
+ &lt;com:TTableHeaderCell Text="${3:header cell 2}" /&gt;
+ &lt;/com:TTableRow&gt;
+ &lt;com:TTableRow&gt;
+ &lt;com:TTableCell&gt;${4:cell 1}&lt;/com:TTableCell&gt;
+ &lt;com:TTableCell&gt;${5:cell 2}$0&lt;/com:TTableCell&gt;
+ &lt;/com:TTableRow&gt;}
+&lt;/com:TTable&gt;</string>
+ <key>name</key>
+ <string>TTable</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TTable</string>
+ <key>uuid</key>
+ <string>BFD8CE92-59C7-47B2-9AE4-1B29ADE3CA0B</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TTableCell.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TTableCell.tmSnippet
new file mode 100644
index 00000000..9d0e54d1
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TTableCell.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TTableCell&gt;${1:cell 1}&lt;/com:TTableCell&gt;$0</string>
+ <key>name</key>
+ <string>TTableCell</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TTableCell</string>
+ <key>uuid</key>
+ <string>1E598B7B-B754-4C52-B819-39897FE3E07D</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TTableHeaderCell.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TTableHeaderCell.tmSnippet
new file mode 100644
index 00000000..5447f324
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TTableHeaderCell.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TTableHeaderCell Text="${1:header text 1}" /&gt;$0</string>
+ <key>name</key>
+ <string>TTableHeaderCell</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TTableHeaderCell</string>
+ <key>uuid</key>
+ <string>AD1AB937-AFCD-4656-9882-788B9C6E0D74</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TTableHeaderRow.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TTableHeaderRow.tmSnippet
new file mode 100644
index 00000000..774195cc
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TTableHeaderRow.tmSnippet
@@ -0,0 +1,19 @@
+<?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>content</key>
+ <string>&lt;com:TTableHeaderRow&gt;
+ ${1:&lt;com:TTableHeaderCell Text="${2:header cell 1}" /&gt;
+ &lt;com:TTableHeaderCell Text="${3:header cell 2}" /&gt;}$0
+&lt;/com:TTableHeaderRow&gt;</string>
+ <key>name</key>
+ <string>TTableHeaderRow</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TTableHeaderRow</string>
+ <key>uuid</key>
+ <string>C553AAE6-C788-4B2C-A388-18312FC9828B</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TTableRow.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TTableRow.tmSnippet
new file mode 100644
index 00000000..b40a11a9
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TTableRow.tmSnippet
@@ -0,0 +1,19 @@
+<?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>content</key>
+ <string>&lt;com:TTableRow&gt;
+ ${1:&lt;com:TTableCell&gt;${2:cell 1}&lt;/com:TTableCell&gt;
+ &lt;com:TTableCell&gt;${3:cell 2}&lt;/com:TTableCell&gt;}$0
+&lt;/com:TTableRow&gt;</string>
+ <key>name</key>
+ <string>TTableRow</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TTableRow</string>
+ <key>uuid</key>
+ <string>8E764E2C-244E-4A93-9C0D-5E25689D1C85</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TTextBox.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TTextBox.tmSnippet
new file mode 100644
index 00000000..030eacb3
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TTextBox.tmSnippet
@@ -0,0 +1,16 @@
+<?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>content</key>
+ <string>&lt;com:TTextBox ID="${1:textbox1}" /&gt;$0</string>
+ <key>name</key>
+ <string>TTextBox</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TTextBox</string>
+ <key>uuid</key>
+ <string>23289E12-7A1F-41A3-872C-3E867E696A49</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TValidationSummary.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TValidationSummary.tmSnippet
new file mode 100644
index 00000000..4c494b49
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TValidationSummary.tmSnippet
@@ -0,0 +1,18 @@
+<?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>content</key>
+ <string>&lt;com:TValidationSummary
+ HeaderText="${1:Validation error}"
+ Display="${2:Dynamic}" /&gt;$0</string>
+ <key>name</key>
+ <string>TValidationSummary</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TValidationSummary</string>
+ <key>uuid</key>
+ <string>2E67996C-AB51-489A-A30D-D829DF17A7EF</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TView.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TView.tmSnippet
new file mode 100644
index 00000000..d4861a4e
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TView.tmSnippet
@@ -0,0 +1,18 @@
+<?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>content</key>
+ <string>&lt;com:TView ID="${1:view1}"&gt;
+ ${0:&lt;!-- ${1} content --&gt;}
+&lt;/com:TView&gt;</string>
+ <key>name</key>
+ <string>TView</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TView</string>
+ <key>uuid</key>
+ <string>7AF6D08A-9FE4-46B9-8F16-2E26D45715CE</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TWizard.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TWizard.tmSnippet
new file mode 100644
index 00000000..f2c354eb
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TWizard.tmSnippet
@@ -0,0 +1,28 @@
+<?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>content</key>
+ <string>&lt;com:TWizard&gt;
+ ${1:&lt;com:TWizardStep Title="${2:step 1}" StepType="Start"&gt;
+ ${3:content in step 1, may contain other controls}
+ &lt;/com:TWizardStep&gt;
+
+ &lt;com:TWizardStep Title="${4:step 2}" StepType="Step"&gt;
+ ${5:content in step 2, may contain other controls}
+ &lt;/com:TWizardStep&gt;
+
+ &lt;com:TWizardStep Title="${6:finish step}" StepType="Finish"&gt;
+ ${7:content in finish step, may contain other controls}
+ &lt;/com:TWizardStep&gt;}$0
+&lt;/com:TWizard&gt;</string>
+ <key>name</key>
+ <string>TWizard</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TWizard</string>
+ <key>uuid</key>
+ <string>CA0CD4CC-D186-4448-8CB3-215E25951FDF</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/TWizardStep.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/TWizardStep.tmSnippet
new file mode 100644
index 00000000..9412ed9b
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/TWizardStep.tmSnippet
@@ -0,0 +1,18 @@
+<?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>content</key>
+ <string>&lt;com:TWizardStep Title="${1:step 1}" StepType="${2:Step}"&gt;
+ $0
+&lt;/com:TWizardStep&gt;</string>
+ <key>name</key>
+ <string>TWizardStep</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TWizardStep</string>
+ <key>uuid</key>
+ <string>2433B69B-6986-4260-97A3-DE23072D8BC6</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/untitled 2.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/untitled 2.tmSnippet
new file mode 100644
index 00000000..74f24624
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/untitled 2.tmSnippet
@@ -0,0 +1,20 @@
+<?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>content</key>
+ <string>&lt;com:TImageButton
+ ID="${1:imageButton1}"
+ ImageUrl=&lt;%~ ${2:hello_world.gif} %&gt;
+ Text="${3:hello world}"
+ OnClick="${4:${1}_Clicked}" /&gt;$0</string>
+ <key>name</key>
+ <string>TImageButton</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TImageButton</string>
+ <key>uuid</key>
+ <string>8A274C79-422D-4553-B086-0B553BDABEC7</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Snippets/untitled.tmSnippet b/editors/Textmate/Prado.tmbundle/Snippets/untitled.tmSnippet
new file mode 100644
index 00000000..82aa3a25
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Snippets/untitled.tmSnippet
@@ -0,0 +1,18 @@
+<?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>content</key>
+ <string>&lt;com:TContent ID="${1:Content}"&gt;
+ $0
+&lt;/com:TContent&gt;</string>
+ <key>name</key>
+ <string>TContent</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>TContent</string>
+ <key>uuid</key>
+ <string>CA1AE93D-D724-43B0-A3CB-9E584126FB3C</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Syntaxes/Prado PHP.tmLanguage b/editors/Textmate/Prado.tmbundle/Syntaxes/Prado PHP.tmLanguage
new file mode 100644
index 00000000..b2ed6da0
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Syntaxes/Prado PHP.tmLanguage
@@ -0,0 +1,1261 @@
+<?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>firstLineMatch</key>
+ <string>^#!.*php[0-9]{0,1}\b</string>
+ <key>foldingStartMarker</key>
+ <string>(/\*|\{\s*$|&lt;&lt;&lt;HTML)</string>
+ <key>foldingStopMarker</key>
+ <string>(\*/|^\s*\}|^HTML;)</string>
+ <key>name</key>
+ <string>Prado PHP</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;%(=|#|%))</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>constant.prado.php.tag</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(%&gt;)</string>
+ <key>name</key>
+ <string>variable.prado.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>#.*?(?=\?&gt;)</string>
+ <key>name</key>
+ <string>comment.line.number-sign.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>//.*?(?=\?&gt;)</string>
+ <key>name</key>
+ <string>comment.line.double-slash.php</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#language</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ <key>repository</key>
+ <dict>
+ <key>language</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;&lt;&lt;HTML)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.other.heredoc</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>text.html.basic.embedded</string>
+ <key>end</key>
+ <string>^(HTML);</string>
+ <key>name</key>
+ <string>meta.scope.heredoc</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>text.html.basic</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_global</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_global_safer</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_basic</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_complex_string_heredoc</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;&lt;&lt;XML)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.other.heredoc</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>text.xml.embedded</string>
+ <key>end</key>
+ <string>^(XML);</string>
+ <key>name</key>
+ <string>meta.scope.heredoc</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>text.xml</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_global</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_global_safer</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_basic</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_complex_string_heredoc</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;&lt;&lt;SQL)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.other.heredoc</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>source.sql.embedded</string>
+ <key>end</key>
+ <string>^(SQL);</string>
+ <key>name</key>
+ <string>meta.scope.heredoc</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>source.sql</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_global</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_global_safer</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_basic</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_complex_string_heredoc</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>/\*</string>
+ <key>end</key>
+ <string>\*/</string>
+ <key>name</key>
+ <string>comment.block.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\@(a(ccess|uthor)|c(ategory|opyright)|global|link|pa(ckage|ram)|return|s(ee|ince|tatic|ubpackage)|t(hrows|odo)|v(ar|ersion))\b</string>
+ <key>name</key>
+ <string>keyword.other.phpdoc.php</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>//.*$\n?</string>
+ <key>name</key>
+ <string>comment.line.double-slash.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>#.*$\n?</string>
+ <key>name</key>
+ <string>comment.line.number-sign.php</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>^\s*(interface)\s+([a-zA-Z0-9_]+)\s*(extends)?\s*</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>storage.type.interface.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.type.interface.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>storage.modifier.extends.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>$</string>
+ <key>name</key>
+ <string>meta.interface.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>[a-zA-Z0-9_]+</string>
+ <key>name</key>
+ <string>entity.other.inherited-class.php</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>^\s*(abstract)?\s*(class)\s+([a-zA-Z0-9_]+)\s*</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>storage.modifier.abstract.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>storage.type.class.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.type.class.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>$</string>
+ <key>name</key>
+ <string>meta.class.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>storage.modifier.extends.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>entity.other.inherited-class.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(extends)\s+([a-zA-Z0-9_]+)\s*</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(implements)\s+([a-zA-Z0-9_]+)\s*</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>storage.modifier.implements.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>support.class.implements.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?=\s*\bextends)|$</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>support.class.implements.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>,\s*([a-zA-Z0-9_]+)\s*</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(break|c(ase|ontinue)|d(e(clare|fault)|ie|o)|e(lse(if)?|nd(declare|for(each)?|if|switch|while)|xit)|for(each)?|if|return|switch|use|while)\b</string>
+ <key>name</key>
+ <string>keyword.control.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(require|include)(_once)?\b</string>
+ <key>name</key>
+ <string>keyword.control.import.include.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(catch|try|throw|exception)|([a-zA-Z_]*Exception)\b</string>
+ <key>name</key>
+ <string>keyword.control.exception.php</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(?:^\s*)((?:(?:final|abstract|public|private|protected|static)\s+)*)(function)\s*([&amp;a-zA-Z0-9_]+)\s*\(</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>storage.modifier.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>storage.type.function.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.function.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\)</string>
+ <key>name</key>
+ <string>meta.function.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#string-double-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string-single-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_global</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_global_safer</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_basic</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#language_constant</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>storage.modifier.abstract.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>storage.modifier.class-or-interface.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.type.class.php</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>entity.other.inherited-class.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(?:^\s*)(abstract)?\s*(class|interface)\s+([a-zA-Z0-9_]+)\s*(extends\s+([a-zA-Z0-9_]+))?</string>
+ <key>name</key>
+ <string>meta.class.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(class|clone|var|function|interface|new|parent|self|__(autoload|c(all|lone|onstruct)|destruct|get|set|sleep|toString|wakeup))\b</string>
+ <key>name</key>
+ <string>storage.type.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(abstract|const|extends|implements|final|p(r(ivate|otected)|ublic)|static)\b</string>
+ <key>name</key>
+ <string>storage.modifier.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>::|-&gt;</string>
+ <key>name</key>
+ <string>keyword.operator.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(apache_(child_terminate|get(env|_(modules|version))|lookup_uri|note|re(quest_headers|set_timeout|sponse_headers)|setenv)|ascii2ebcdic|ebcdic2ascii|getallheaders|virtual)\b</string>
+ <key>name</key>
+ <string>support.function.apache.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(=&gt;)|\b(array(|_(c(h(ange_key_case|unk)|ombine|ount_values)|diff(|_(assoc|key|uassoc|ukey))|f(il(l|ter)|lip)|intersect(|_(assoc|key|uassoc|ukey))|key(s|_exists)|m(ap|erge(|_recursive)|ultisort)|p(ad|op|ush)|r(and|educe|everse)|s(earch|hift|lice|plice|um)|u(diff(|_(assoc|uassoc))|intersect(|_(assoc|uassoc))|nique|nshift)|values|walk(|_recursive)))|a(rsort|sort)|c(o(mpact|unt)|urrent)|e(ach|nd|xtract)|in_array|k(ey|rsort|sort)|list|n(at(casesort|sort)|ext)|p(os|rev)|r(ange|eset|sort)|s(huffle|izeof|ort)|u(asort|ksort|sort))\b</string>
+ <key>name</key>
+ <string>support.function.array.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(bc(add|comp|div|mod|mul|pow(|mod)|scale|sqrt|sub))\b</string>
+ <key>name</key>
+ <string>support.function.bc.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(bz(close|compress|decompress|err(no|or|str)|flush|open|read|write))\b</string>
+ <key>name</key>
+ <string>support.function.bzip2.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(cal_(days_in_month|from_jd|info|to_jd)|easter_(date|days)|FrenchToJD|GregorianToJD|JD(DayOfWeek|MonthName|ToFrench|ToGregorian|ToJulian)|jdto(jewish|unix)|JewishToJD|JulianToJD|unixtojd)\b</string>
+ <key>name</key>
+ <string>support.function.calendar.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(classkit_(import|method_(add|copy|redefine|remove|rename)))\b</string>
+ <key>name</key>
+ <string>support.function.classkit.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(call_user_method(|_array)|class_exists|get_(class(|_methods|_vars)|declared_(classes|interfaces)|object_vars|parent_class)|interface_exists|is_(a|subclass_of)|method_exists)\b</string>
+ <key>name</key>
+ <string>support.function.classobj.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(cpdf_(add_(annotation|outline)|arc|begin_text|circle|clip|close(|path(|_fill_stroke|_stroke))|continue_text|curveto|end_text|fill(|_stroke)|finalize(|_page)|global_set_document_limits|import_jpeg|lineto|moveto|newpath|open|output_buffer|page_init|place_inline_image|rect|restore|rlineto|rmoveto|rotate(|_text)|save(|_to_file)|scale|set(dash|flat|gray(|_fill|_stroke)|line(cap|join|width)|miterlimit|rgbcolor(|_fill|_stroke)|_action_url|_char_spacing|_creator|_current_page|_font(|_directories|_map_file)|_horiz_scaling|_keywords|_leading|_page_animation|_subject|_text_(matrix|pos|rendering|rise)|_title|_viewer_preferences|_word_spacing)|show(|_xy)|stringwidth|stroke|text|translate))\b</string>
+ <key>name</key>
+ <string>support.function.cpdf.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(crack_(check|closedict|getlastmessage|opendict))\b</string>
+ <key>name</key>
+ <string>support.function.crack.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(ctype_(al(num|pha)|cntrl|digit|graph|lower|print|punct|space|upper|xdigit))\b</string>
+ <key>name</key>
+ <string>support.function.ctype.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(curl_(close|copy_handle|err(no|or)|exec|getinfo|init|multi_(add_handle|close|exec|getcontent|info_read|init|remove_handle|select)|setopt|version))\b</string>
+ <key>name</key>
+ <string>support.function.curl.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(cyrus_(authenticate|bind|close|connect|query|unbind))\b</string>
+ <key>name</key>
+ <string>support.function.cyrus.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(checkdate|date(|_sunrise|_sunset)|get(date|timeofday)|gm(date|mktime|strftime)|idate|localtime|microtime|mktime|str(ftime|ptime|totime)|time)\b</string>
+ <key>name</key>
+ <string>support.function.datetime.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(dba_(close|delete|exists|fetch|firstkey|handlers|insert|key_split|list|nextkey|op(en|timize)|popen|replace|sync))\b</string>
+ <key>name</key>
+ <string>support.function.dba.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(dbase_(add_record|c(lose|reate)|delete_record|get_(header_info|record(|_with_names))|num(fields|records)|open|pack|replace_record))\b</string>
+ <key>name</key>
+ <string>support.function.dbase.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(dbplus_(a(dd|ql)|c(hdir|lose|urr)|err(code|no)|fi(nd|rst)|flush|free(alllocks|lock|rlocks)|get(lock|unique)|info|l(ast|ockrel)|next|open|prev|r(c(hperm|reate|rtexact|rtlike)|e(solve|storepos)|keys|open|query|rename|secindex|unlink|zap)|s(avepos|etindex(|bynumber)|ql)|t(cl|remove)|un(do(|prepare)|lockrel|select)|update|x(lockrel|unlockrel)))\b</string>
+ <key>name</key>
+ <string>support.function.dbplus.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(dbx_(c(lose|ompare|onnect)|e(rror|scape_string)|fetch_row|query|sort))\b</string>
+ <key>name</key>
+ <string>support.function.dbx.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(dio_(close|fcntl|open|read|seek|stat|t(csetattr|runcate)|write))\b</string>
+ <key>name</key>
+ <string>support.function.dio.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(c(h(dir|root)|losedir)|getcwd|opendir|re(addir|winddir)|scandir)\b</string>
+ <key>name</key>
+ <string>support.function.dir.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(domxml_(new_doc|open_(file|mem)|version|x(mltree|slt_stylesheet(|_doc|_file)))|x(path_(eval(|_expression)|new_context)|ptr_(eval|new_context)))\b</string>
+ <key>name</key>
+ <string>support.function.domxml.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(debug_(backtrace|print_backtrace)|error_(log|reporting)|restore_(error_handler|exception_handler)|set_(error_handler|exception_handler)|trigger_error|user_error)\b</string>
+ <key>name</key>
+ <string>support.function.errorfunc.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(e(scapeshell(arg|cmd)|xec)|p(assthru|roc_(close|get_status|nice|open|terminate))|s(hell_exec|ystem))\b</string>
+ <key>name</key>
+ <string>support.function.exec.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(exif_(imagetype|read_data|tagname|thumbnail)|read_exif_data)\b</string>
+ <key>name</key>
+ <string>support.function.exif.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(fam_(c(ancel_monitor|lose)|monitor_(collection|directory|file)|next_event|open|pending|resume_monitor|suspend_monitor))\b</string>
+ <key>name</key>
+ <string>support.function.fam.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(fbsql_(a(ffected_rows|utocommit)|blob_size|c(hange_user|l(ob_size|ose)|o(mmit|nnect)|reate_(blob|clob|db))|d(ata(base(|_password)|_seek)|b_(query|status)|rop_db)|err(no|or)|fetch_(a(rray|ssoc)|field|lengths|object|row)|field_(flags|len|name|seek|table|type)|free_result|get_autostart_info|hostname|insert_id|list_(dbs|fields|tables)|n(ext_result|um_(fields|rows))|p(assword|connect)|query|r(e(ad_(blob|clob)|sult)|ollback)|s(e(lect_db|t_(lob_mode|password|transaction))|tart_db|top_db)|tablename|username|warnings))\b</string>
+ <key>name</key>
+ <string>support.function.fbsql.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(fdf_(add_(doc_javascript|template)|c(lose|reate)|e(num_values|rr(no|or))|get_(a(p|ttachment)|encoding|f(ile|lags)|opt|status|v(alue|ersion))|header|next_field_name|open(|_string)|remove_item|save(|_string)|set_(ap|encoding|f(ile|lags)|javascript_action|o(n_import_javascript|pt)|s(tatus|ubmit_form_action)|target_frame|v(alue|ersion))))\b</string>
+ <key>name</key>
+ <string>support.function.fdf.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(filepro(|_field(count|name|type|width)|_r(etrieve|owcount)))\b</string>
+ <key>name</key>
+ <string>support.function.filepro.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(basename|c(h(grp|mod|own)|learstatcache|opy)|d(elete|i(rname|sk(freespace|_free_space|_total_space)))|f(close|eof|flush|get(csv|c|ss|s)|ile(|atime|ctime|group|inode|mtime|owner|perms|size|type|_exists|_get_contents|_put_contents)|lock|nmatch|open|passthru|put(csv|s)|read|s(canf|eek|tat)|t(ell|runcate)|write)|glob|is_(dir|executable|file|link|readable|uploaded_file|writable|writeable)|l(ink(|info)|stat)|m(kdir|ove_uploaded_file)|p(a(rse_ini_file|thinfo)|close|open)|r(e(a(d(file|link)|lpath)|name|wind)|mdir)|s(et_file_buffer|tat|ymlink)|t(empnam|mpfile|ouch)|u(mask|nlink))\b</string>
+ <key>name</key>
+ <string>support.function.filesystem.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(ftp_(alloc|c(dup|h(dir|mod)|lose|onnect)|delete|exec|f(get|put)|get(|_option)|login|m(dtm|kdir)|n(b_(continue|fget|fput|get|put)|list)|p(asv|ut|wd)|quit|r(aw(|list)|ename|mdir)|s(et_option|ite|ize|sl_connect|ystype)))\b</string>
+ <key>name</key>
+ <string>support.function.ftp.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(c(all_user_func(|_array)|reate_function)|func(tion_exists|_get_arg(|s)|_num_args)|get_defined_functions|register_(shutdown_function|tick_function)|unregister_tick_function)\b</string>
+ <key>name</key>
+ <string>support.function.funchand.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(bind(textdomain|_textdomain_codeset)|d(c(gettext|ngettext)|gettext|ngettext)|gettext|ngettext|textdomain)\b</string>
+ <key>name</key>
+ <string>support.function.gettext.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(gmp_(a(bs|dd|nd)|c(lrbit|mp|om)|div(|exact|_qr|_q|_r)|fact|gcd(|ext)|hamdist|in(it|tval|vert)|jacobi|legendre|m(od|ul)|neg|or|p(erfect_square|o(pcount|wm|w)|rob_prime)|random|s(can0|can1|etbit|ign|qrt(|rem)|trval|ub)|xor))\b</string>
+ <key>name</key>
+ <string>support.function.gmp.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(header(|s_list|s_sent)|set(cookie|rawcookie))\b</string>
+ <key>name</key>
+ <string>support.function.http.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(ibase_(a(dd_user|ffected_rows)|b(ackup|lob_(add|cancel|close|create|echo|get|import|info|open))|c(lose|ommit(|_ret)|onnect)|d(b_info|elete_user|rop_db)|e(rr(code|msg)|xecute)|f(etch_(assoc|object|row)|ield_info|ree_(event_handler|query|result))|gen_id|m(aintain_db|odify_user)|n(ame_result|um_(fields|params))|p(aram_info|connect|repare)|query|r(estore|ollback(|_ret))|se(rv(er_info|ice_attach|ice_detach)|t_event_handler)|t(imefmt|rans)|wait_event))\b</string>
+ <key>name</key>
+ <string>support.function.ibase.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(iconv(|_get_encoding|_mime_(decode(|_headers)|encode)|_s(et_encoding|tr(len|pos|rpos)|ubstr))|ob_iconv_handler)\b</string>
+ <key>name</key>
+ <string>support.function.iconv.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(id3_(get_(frame_(long_name|short_name)|genre_(id|list|name)|tag|version)|remove_tag|set_tag))\b</string>
+ <key>name</key>
+ <string>support.function.id3.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(ifx(_affected_rows|_b(lobinfile_mode|yteasvarchar)|_c(lose|onnect|opy_blob|reate_(blob|char))|_do|_error(|msg)|_f(etch_row|ield(properties|types)|ree_(blob|char|result))|_get(sqlca|_blob|_char)|_htmltbl_result|_nu(llformat|m_(fields|rows))|_p(connect|repare)|_query|_textasvarchar|_update_(blob|char)|us_(c(lose_slob|reate_slob)|free_slob|open_slob|read_slob|seek_slob|tell_slob|write_slob)))\b</string>
+ <key>name</key>
+ <string>support.function.ifx.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(iis_(add_server|get_(dir_security|s(cript_map|erv(er_(by_(comment|path)|rights)|ice_state)))|remove_server|set_(app_settings|dir_security|script_map|server_rights)|start_(serv(er|ice))|stop_(serv(er|ice))))\b</string>
+ <key>name</key>
+ <string>support.function.iisfunc.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(g(d_info|etimagesize)|image(2wbmp|a(lphablending|ntialias|rc)|char(|up)|color(allocate(|alpha)|at|closest(|alpha|hwb)|deallocate|exact(|alpha)|match|resolve(|alpha)|s(et|forindex|total)|transparent)|copy(|merge(|gray)|re(sampled|sized))|create(|from(gd(|2(|part))|gif|jpeg|png|string|wbmp|xbm|xpm)|truecolor)|d(ashedline|estroy)|ellipse|f(il(l(|ed(arc|ellipse|polygon|rectangle)|toborder)|ter)|ont(height|width)|t(bbox|text))|g(ammacorrect|d(|2)|if)|i(nterlace|struecolor)|jpeg|l(ayereffect|ine|oadfont)|p(alettecopy|ng|olygon|s(bbox|copyfont|encodefont|extendfont|freefont|loadfont|slantfont|text))|r(ectangle|otate)|s(avealpha|et(brush|pixel|style|thickness|tile)|tring(|up)|x|y)|t(ruecolortopalette|tf(bbox|text)|ypes)|wbmp|xbm|_type_to_(extension|mime_type))|iptc(embed|parse)|jpeg2wbmp|png2wbmp)\b</string>
+ <key>name</key>
+ <string>support.function.image.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(imap_(8bit|a(lerts|ppend)|b(ase64|inary|ody(|struct))|c(heck|learflag_full|lose|reatemailbox)|delete(|mailbox)|e(rrors|xpunge)|fetch(body|header|structure|_overview)|get(acl|mailboxes|subscribed|_quota(|root))|header(|info|s)|l(ast_error|ist(|mailbox|scan|subscribed)|sub)|mail(|boxmsginfo|_compose|_copy|_move)|m(ime_header_decode|sgno)|num_(msg|recent)|open|ping|qprint|r(e(namemailbox|open)|fc822_(parse_(adrlist|headers)|write_address))|s(canmailbox|e(arch|t(acl|flag_full|_quota))|ort|tatus|ubscribe)|t(hread|imeout)|u(id|n(delete|subscribe)|tf(7_decode|7_encode|8))))\b</string>
+ <key>name</key>
+ <string>support.function.imap.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(assert(|_options)|dl|extension_loaded|get(env|lastmod|my(gid|inode|pid|uid)|opt|rusage|_c(fg_var|urrent_user)|_defined_constants|_extension_funcs|_include(d_files|_path)|_loaded_extensions|_magic_quotes_(gpc|runtime)|_required_files)|ini_(alter|get(|_all)|restore|set)|m(ain|emory_get_usage)|p(hp(credits|info|version|_ini_scanned_files|_logo_guid|_sapi_name|_uname)|utenv)|restore_include_path|set_(include_path|magic_quotes_runtime|time_limit)|version_compare|zend_(logo_guid|version))\b</string>
+ <key>name</key>
+ <string>support.function.info.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(ircg_(channel_mode|disconnect|eval_ecmascript_params|fetch_error_msg|get_username|html_encode|i(gnore_(add|del)|nvite|s_conn_alive)|join|kick|l(ist|ookup_format_messages|users)|msg|n(ames|ick(|name_(escape|unescape))|otice)|oper|p(art|connect)|register_format_messages|set_(current|file|on_die)|topic|who(|is)))\b</string>
+ <key>name</key>
+ <string>support.function.ircg.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(ldap_(8859_to_t61|add|bind|c(lose|o(mpare|nnect|unt_entries))|d(elete|n2ufn)|e(rr(2str|no|or)|xplode_dn)|f(irst_(attribute|entry|reference)|ree_result)|get_(attributes|dn|entries|option|values(|_len))|list|mod(ify|_add|_del|_replace)|next_(attribute|entry|reference)|parse_(reference|result)|re(ad|name)|s(asl_bind|e(arch|t_(option|rebind_proc))|ort|tart_tls)|t61_to_8859|unbind))\b</string>
+ <key>name</key>
+ <string>support.function.ldap.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(a(bs|cos(|h)|sin(|h)|tan(|h|2))|b(ase_convert|indec)|c(eil|os(|h))|de(c(bin|hex|oct)|g2rad)|exp(|m1)|f(loor|mod)|getrandmax|h(exdec|ypot)|is_(finite|infinite|nan)|l(cg_value|og(|10|1p))|m(ax|in|t_(getrandmax|rand|srand))|octdec|p(i|ow)|r(a(d2deg|nd)|ound)|s(in(|h)|qrt|rand)|tan(|h))\b</string>
+ <key>name</key>
+ <string>support.function.math.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(maxdb_(a(ffected_rows|utocommit)|bind_(param|result)|c(ha(nge_user|racter_set_name)|l(ient_encoding|ose(|_long_data))|o(mmit|nnect(|_err(no|or))))|d(ata_seek|ebug|isable_r(eads_from_master|pl_parse)|ump_debug_info)|e(mbedded_connect|nable_r(eads_from_master|pl_parse)|rr(no|or)|scape_string|xecute)|f(etch(|_array|_assoc|_field(|s|_direct)|_lengths|_resource|_row)|ield_(count|seek|tell)|ree_result)|get_(client_(info|version)|host_info|metadata|proto_info|server_(info|version))|in(fo|it|sert_id)|kill|m(aster_query|ore_results|ulti_query)|n(ext_result|um_(fields|rows))|options|p(aram_count|ing|repare)|query|r(e(al_(connect|escape_string|query)|port)|ollback|pl_(parse_enabled|probe|query_type))|s(e(lect_db|nd_(long_data|query)|rver_(end|init)|t_opt)|qlstate|sl_set|tat|tmt_(affected_rows|bind_(param|result)|close(|_long_data)|data_seek|e(rr(no|or)|xecute)|f(etch|ree_result)|init|num_rows|p(aram_count|repare)|res(et|ult_metadata)|s(end_long_data|qlstate|tore_result))|tore_result)|thread_(id|safe)|use_result|warning_count))\b</string>
+ <key>name</key>
+ <string>support.function.maxdb.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(mb_(convert_(case|encoding|kana|variables)|de(code_(mimeheader|numericentity)|tect_(encoding|order))|e(ncode_(mimeheader|numericentity)|reg(|_match|_replace|_search(|_get(pos|regs)|_init|_pos|_regs|_setpos)|i(|_replace)))|get_info|http_(input|output)|internal_encoding|l(anguage|ist_encodings)|output_handler|p(arse_str|referred_mime_name)|regex_(encoding|set_options)|s(end_mail|plit|tr(cut|imwidth|len|pos|rpos|tolower|toupper|width)|ubs(titute_character|tr|tr_count))))\b</string>
+ <key>name</key>
+ <string>support.function.mbstring.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(mcal_(append_event|c(lose|reate_calendar)|d(a(te_(compare|valid)|y(s_in_month|_of_(week|year)))|elete_(calendar|event))|e(vent_(add_attribute|init|set_(alarm|category|class|description|end|recur_(daily|monthly_mday|monthly_wday|none|weekly|yearly)|start|title))|xpunge)|fetch_(current_stream_event|event)|is_leap_year|list_(alarms|events)|next_recurrence|open|popen|re(name_calendar|open)|s(nooze|tore_event)|time_valid|week_of_year))\b</string>
+ <key>name</key>
+ <string>support.function.mcal.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(mcrypt_(c(bc|fb|reate_iv)|decrypt|e(cb|nc(rypt|_get_(algorithms_name|block_size|iv_size|key_size|modes_name|supported_key_sizes)|_is_block_(algorithm_mode|algorithm|mode)|_self_test))|ge(neric(|_deinit|_end|_init)|t_(block_size|cipher_name|iv_size|key_size))|list_(algorithms|modes)|module_(close|get_(algo_(block_size|key_size)|supported_key_sizes)|is_block_(algorithm(|_mode)|mode)|open|self_test)|ofb)|mdecrypt_generic)\b</string>
+ <key>name</key>
+ <string>support.function.mcrypt.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(mhash(|_count|_get_(block_size|hash_name)|_keygen_s2k))\b</string>
+ <key>name</key>
+ <string>support.function.mhash.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(ming_(set(cubicthreshold|scale)|useswfversion)|SWF(Action|Bitmap|button(|_keypress)|DisplayItem|Font|Gradient|Mo(rph|vie)|S(hape|prite)|Text(|Field(|-&gt;addstring))))\b</string>
+ <key>name</key>
+ <string>support.function.ming.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(apd_(breakpoint|callstack|clunk|continue|croak|dump_(function_table|persistent_resources|regular_resources)|echo|get_active_symbols|set_(pprof_trace|session_trace|session|socket_session_trace))|aspell_(check(|_raw)|new|suggest)|bcompiler_(load_exe|load|parse_class|read|write_(class|constant|exe_footer|file|footer|function|functions_from_file|header))|ccvs_(add|auth|command|count|delete|done|init|lookup|new|report|return|reverse|sale|status|textvalue|void)|com_(addref|create_guid|event_sink|get(|_active_object)|invoke|isenum|load(|_typelib)|message_pump|print_typeinfo|propget|propput|propset|release|set)|con(nection_(aborted|status|timeout)|stant)|cybercash_(base64_(decode|encode)|decr|encr)|d(b(list|m(close|delete|exists|fetch|firstkey|insert|nextkey|open|replace))|efine(|d)|om_import_simplexml|otnet_load)|e(val|zmlm_hash)|fribidi_log2vis|get_browser|highlight_(file|string)|i(gnore_user_abort|s_soap_fault)|java_last_exception_(clear|get)|lzf_(compress|decompress|optimized_for)|m(ail|emcache_debug|ime_content_type)|nsapi_(re(quest_headers|sponse_headers)|virtual)|overload|p(ack|hp_(check_syntax|strip_whitespace))|qdom_(error|tree)|r(ar_(close|entry_get|list|open)|ecode(|_file|_string))|s(how_source|leep)|t(cpwrap_check|ime_nanosleep|oken_(get_all|name))|u(n(iqid|pack)|s(e_soap_error_handler|leep)))\b</string>
+ <key>name</key>
+ <string>support.function.misc.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(msql(|_affected_rows|_c(lose|onnect|reate(db|_db))|_d(ata_seek|b(name|_query)|rop_db)|_error|_f(etch_(array|field|object|row)|ield(flags|len|name|table|type|_flags|_len|_name|_seek|_table|_type)|ree_result)|_list_(dbs|fields|tables)|_num(fields|rows|_fields|_rows)|_pconnect|_query|_re(gcase|sult)|_select_db|_tablename))\b</string>
+ <key>name</key>
+ <string>support.function.msql.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(mssql_(bind|c(lose|onnect)|data_seek|execute|f(etch_(array|assoc|batch|field|object|row)|ield_(length|name|seek|type)|ree_(result|statement))|g(et_last_message|uid_string)|init|min_(error_severity|message_severity)|n(ext_result|um_(fields|rows))|pconnect|query|r(esult|ows_affected)|select_db))\b</string>
+ <key>name</key>
+ <string>support.function.mssql.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(mysql_(affected_rows|c(hange_user|l(ient_encoding|ose)|onnect|reate_db)|d(ata_seek|b_(name|query)|rop_db)|e(rr(no|or)|scape_string)|f(etch_(array|assoc|field|lengths|object|row)|ield_(flags|len|name|seek|table|type)|ree_result)|get_(client_info|host_info|proto_info|server_info)|in(fo|sert_id)|list_(dbs|fields|processes|tables)|num_(fields|rows)|p(connect|ing)|query|re(al_escape_string|sult)|s(elect_db|tat)|t(ablename|hread_id)|unbuffered_query))\b</string>
+ <key>name</key>
+ <string>support.function.mysql.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(mysqli_(a(ffected_rows|utocommit)|bind_(param|result)|c(ha(nge_user|racter_set_name)|l(ient_encoding|ose)|o(mmit|nnect(|_err(no|or))))|d(ata_seek|ebug|isable_(reads_from_master|rpl_parse)|ump_debug_info)|e(mbedded_connect|nable_(reads_from_master|rpl_parse)|rr(no|or)|scape_string|xecute)|f(etch(|_array|_assoc|_field(|s|_direct)|_lengths|_object|_row)|ield_(count|seek|tell)|ree_result)|get_(client_(info|version)|host_info|metadata|proto_info|server_(info|version))|in(fo|it|sert_id)|kill|m(aster_query|ore_results|ulti_query)|n(ext_result|um_(fields|rows))|options|p(aram_count|ing|repare)|query|r(e(al_(connect|escape_string|query)|port)|ollback|pl_(parse_enabled|probe|query_type))|s(e(lect_db|nd_(long_data|query)|rver_(end|init)|t_opt)|qlstate|sl_set|tat|tmt_(affected_rows|bind_(param|result)|close|data_seek|e(rr(no|or)|xecute)|f(etch|ree_result)|init|num_rows|p(aram_count|repare)|res(et|ult_metadata)|s(end_long_data|qlstate|tore_result))|tore_result)|thread_(id|safe)|use_result|warning_count))\b</string>
+ <key>name</key>
+ <string>support.function.mysqli.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(c(heckdnsrr|loselog)|d(e(bugger_(off|on)|fine_syslog_variables)|ns_(check_record|get_mx|get_record))|fsockopen|get(hostby(addr|name(|l))|mxrr|protoby(name|number)|servby(name|port))|i(net_(ntop|pton)|p2long)|long2ip|openlog|pfsockopen|s(ocket_(get_status|set_(blocking|timeout))|yslog))\b</string>
+ <key>name</key>
+ <string>support.function.network.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(notes_(body|c(opy_db|reate_(db|note))|drop_db|find_note|header_info|list_msgs|mark_(read|unread)|nav_create|search|unread|version))\b</string>
+ <key>name</key>
+ <string>support.function.notes.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(aggregat(e(|_info|_methods(|_by_(list|regexp))|_properties(|_by_(list|regexp)))|ion_info)|deaggregate)\b</string>
+ <key>name</key>
+ <string>support.function.objaggregation.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(oci(bindbyname|c(ancel|loselob|o(ll(a(ppend|ssign(|elem))|getelem|max|size|trim)|lumn(isnull|name|precision|s(cale|ize)|type(|raw))|mmit))|definebyname|e(rror|xecute)|f(etch(|into|statement)|ree(c(ollection|ursor)|desc|statement))|internaldebug|lo(adlob|go(ff|n))|n(ew(c(ollection|ursor)|descriptor)|logon|umcols)|p(arse|logon)|r(esult|o(llback|wcount))|s(avelob(|file)|e(rverversion|tprefetch)|tatementtype)|write(lobtofile|temporarylob)|_(bind_by_name|c(ancel|lose|o(mmit|nnect))|define_by_name|e(rror|xecute)|f(etch(|_(all|array|assoc|object|row))|ield_(is_null|name|precision|s(cale|ize)|type(|_raw))|ree_statement)|internal_debug|lob_(copy|is_equal)|n(ew_(c(o(llection|nnect)|ursor)|descriptor)|um_(fields|rows))|p(a(rse|ssword_change)|connect)|r(esult|ollback)|s(e(rver_version|t_prefetch)|tatement_type))))\b</string>
+ <key>name</key>
+ <string>support.function.oci8.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(openssl_(csr_(export(|_to_file)|new|sign)|error_string|free_key|get_p(rivatekey|ublickey)|open|p(k(cs7_(decrypt|encrypt|sign|verify)|ey_(export(|_to_file)|get_(private|public)|new))|rivate_(decrypt|encrypt)|ublic_(decrypt|encrypt))|s(eal|ign)|verify|x509_(check(purpose|_private_key)|export(|_to_file)|free|parse|read)))\b</string>
+ <key>name</key>
+ <string>support.function.openssl.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(ora_(bind|c(lose|o(lumn(name|size|type)|mmit(|off|on)))|do|e(rror(|code)|xec)|fetch(|_into)|getcolumn|logo(ff|n)|num(cols|rows)|open|p(arse|logon)|rollback))\b</string>
+ <key>name</key>
+ <string>support.function.oracle.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(flush|o(b_(clean|end_(clean|flush)|flush|get_(clean|contents|flush|length|level|status)|gzhandler|implicit_flush|list_handlers|start|tidyhandler)|utput_(add_rewrite_var|reset_rewrite_vars)))\b</string>
+ <key>name</key>
+ <string>support.function.outcontrol.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(ovrimos_(c(lose|o(mmit|nnect)|ursor)|exec(|ute)|f(etch_(into|row)|ield_(len|name|num|type)|ree_result)|longreadlen|num_(fields|rows)|prepare|r(esult(|_all)|ollback)))\b</string>
+ <key>name</key>
+ <string>support.function.ovrimos.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(parsekit_(compile_(file|string)|func_arginfo))\b</string>
+ <key>name</key>
+ <string>support.function.parsekit.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(pcntl_(alarm|exec|fork|getpriority|setpriority|signal|w(ait(|pid)|exitstatus|if(exited|signaled|stopped)|stopsig|termsig)))\b</string>
+ <key>name</key>
+ <string>support.function.pcntl.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(preg_(grep|match(|_all)|quote|replace(|_callback)|split))\b</string>
+ <key>name</key>
+ <string>support.function.pcre.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(pdf_(a(dd_(annotation|bookmark|launchlink|locallink|note|outline|pdflink|thumbnail|weblink)|rc(|n)|ttach_file)|begin_(pa(ge|ttern)|template)|c(ircle|l(ip|o(se(|path(|_fill_stroke|_stroke)|_(image|pdi(|_page)))))|on(cat|tinue_text)|urveto)|delete|end(path|_(pa(ge|ttern)|template))|fi(ll(|_stroke)|ndfont)|get_(buffer|font(|name|size)|image_(height|width)|m(ajorversion|inorversion)|p(arameter|di_(parameter|value))|value)|initgraphics|lineto|m(akespotcolor|oveto)|new|open(|_(ccitt|file|gif|image(|_file)|jpeg|memory_image|p(di(|_page)|ng)|tiff))|place_(image|pdi_page)|r(e(ct|store)|otate)|s(ave|cale|et(color|dash|f(lat|ont)|gray(|_fill|_stroke)|line(cap|join|width)|m(atrix|iterlimit)|polydash|rgbcolor(|_fill|_stroke)|_(border_(color|dash|style)|char_spacing|duration|font|horiz_scaling|info(|_(author|creator|keywords|subject|title))|leading|parameter|text_(matrix|pos|rendering|rise)|value|word_spacing))|how(|_boxed|_xy)|kew|tr(ingwidth|oke))|translate))\b</string>
+ <key>name</key>
+ <string>support.function.pdf.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(pg_(affected_rows|c(ancel_query|l(ient_encoding|ose)|o(n(nect(|ion_(busy|reset|status))|vert)|py_(from|to)))|d(bname|elete)|e(nd_copy|scape_(bytea|string))|f(etch_(a(ll|rray|ssoc)|object|r(esult|ow))|ield_(is_null|n(ame|um)|prtlen|size|type)|ree_result)|get_(notify|pid|result)|host|insert|l(ast_(error|notice|oid)|o_(c(lose|reate)|export|import|open|read(|_all)|seek|tell|unlink|write))|meta_data|num_(fields|rows)|options|p(arameter_status|connect|ing|ort|ut_line)|query|result_(error|seek|status)|se(lect|nd_query|t_client_encoding)|t(race|ty)|u(n(escape_bytea|trace)|pdate)|version))\b</string>
+ <key>name</key>
+ <string>support.function.pgsql.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(posix_(access|ctermid|get(cwd|e(gid|uid)|g(id|r(gid|nam|oups))|login|p(g(id|rp)|id|pid|w(nam|uid))|rlimit|sid|uid|_last_error)|isatty|kill|mkfifo|s(et(e(gid|uid)|gid|pgid|sid|uid)|trerror)|t(imes|tyname)|uname))\b</string>
+ <key>name</key>
+ <string>support.function.posix.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(printer_(abort|c(lose|reate_(brush|dc|font|pen))|d(elete_(brush|dc|font|pen)|raw_(bmp|chord|elipse|line|pie|r(ectangle|oundrect)|text))|end_(doc|page)|get_option|l(ist|ogical_fontheight)|open|s(e(lect_(brush|font|pen)|t_option)|tart_(doc|page))|write))\b</string>
+ <key>name</key>
+ <string>support.function.printer.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(pspell_(add_to_(personal|session)|c(heck|lear_session|onfig_(create|d(ata_dir|ict_dir)|ignore|mode|personal|r(epl|untogether)|save_repl))|new(|_config|_personal)|s(ave_wordlist|tore_replacement|uggest)))\b</string>
+ <key>name</key>
+ <string>support.function.pspell.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(readline(|_(add_history|c(allback_(handler_(install|remove)|read_char)|lear_history|ompletion_function)|info|list_history|on_new_line|re(ad_history|display)|write_history)))\b</string>
+ <key>name</key>
+ <string>support.function.readline.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(ereg(|_replace|i(|_replace))|s(plit(|i)|ql_regcase))\b</string>
+ <key>name</key>
+ <string>support.function.regex.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(ftok|msg_(get_queue|re(ceive|move_queue)|s(e(nd|t_queue)|tat_queue))|s(em_(acquire|get|re(lease|move))|hm_(attach|detach|get_var|put_var|remove(|_var))))\b</string>
+ <key>name</key>
+ <string>support.function.sem.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(sesam_(affected_rows|co(mmit|nnect)|di(agnostic|sconnect)|e(rrormsg|xecimm)|f(etch_(array|result|row)|ield_(array|name)|ree_result)|num_fields|query|rollback|se(ek_row|ttransaction)))\b</string>
+ <key>name</key>
+ <string>support.function.sesam.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(session_(c(ache_(expire|limiter)|ommit)|de(code|stroy)|encode|get_cookie_params|i(d|s_registered)|module_name|name|re(generate_id|gister)|s(ave_path|et_(cookie_params|save_handler)|tart)|un(register|set)|write_close))\b</string>
+ <key>name</key>
+ <string>support.function.session.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(shmop_(close|delete|open|read|size|write))\b</string>
+ <key>name</key>
+ <string>support.function.shmop.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(simplexml_(import_dom|load_(file|string)))\b</string>
+ <key>name</key>
+ <string>support.function.simplexml.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(snmp(get(|next)|realwalk|set|walk(|oid)|_(get_(quick_print|valueretrieval)|read_mib|set_(enum_print|oid_numeric_print|quick_print|valueretrieval))))\b</string>
+ <key>name</key>
+ <string>support.function.snmp.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(is_soap_fault|use_soap_error_handler)\b</string>
+ <key>name</key>
+ <string>support.function.soap.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(socket_(accept|bind|c(l(ear_error|ose)|onnect|reate(|_listen|_pair))|get(peername|sockname|_option)|l(ast_error|isten)|re(ad|cv(|from))|s(e(lect|nd(|to)|t_(block|nonblock|option))|hutdown|trerror)|write))\b</string>
+ <key>name</key>
+ <string>support.function.sockets.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(class_(implements|parents)|iterator_(count|to_array)|spl_classes)\b</string>
+ <key>name</key>
+ <string>support.function.spl.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(sqlite_(array_query|busy_timeout|c(hanges|lose|olumn|reate_(aggregate|function)|urrent)|e(rror_string|scape_string|xec)|f(actory|etch_(a(ll|rray)|column_types|object|s(ingle|tring))|ield_name)|has_(more|prev)|key|l(ast_(error|insert_rowid)|ib(encoding|version))|n(ext|um_(fields|rows))|open|p(open|rev)|query|rewind|s(eek|ingle_query)|u(df_(decode_binary|encode_binary)|nbuffered_query)|valid))\b</string>
+ <key>name</key>
+ <string>support.function.sqlite.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(ssh2_(auth_(none|password|pubkey_file)|connect|exec|f(etch_stream|ingerprint)|methods_negotiated|s(cp_(recv|send)|ftp(|_(lstat|mkdir|readlink|realpath|rename|rmdir|stat|symlink|unlink))|hell)|tunnel))\b</string>
+ <key>name</key>
+ <string>support.function.ssh2.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(stream_(co(ntext_(create|get_(default|options)|set_(option|params))|py_to_stream)|filter_(append|prepend|re(gister|move))|get_(contents|filters|line|meta_data|transports|wrappers)|register_wrapper|s(e(lect|t_(blocking|timeout|write_buffer))|ocket_(accept|client|enable_crypto|get_name|pair|recvfrom|se(ndto|rver)))|wrapper_(re(gister|store)|unregister)))\b</string>
+ <key>name</key>
+ <string>support.function.stream.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(add(cslashes|slashes)|bin2hex|c(h(op|r|unk_split)|onvert_(cyr_string|uudecode|uuencode)|ount_chars|rc32|rypt)|e(cho|xplode)|fprintf|get_html_translation_table|h(ebrev(|c)|tml(entities|specialchars|_entity_decode))|implode|join|l(evenshtein|ocaleconv|trim)|m(d5(|_file)|etaphone|oney_format)|n(l(2br|_langinfo)|umber_format)|ord|p(arse_str|rint(|f))|quote(d_printable_decode|meta)|rtrim|s(etlocale|ha1(|_file)|imilar_text|oundex|printf|scanf|tr(c(asecmp|hr|mp|oll|spn)|i(p(cslashes|os|slashes|_tags)|str)|len|n(atc(asecmp|mp)|c(asecmp|mp))|p(brk|os)|r(chr|ev|ipos|pos)|s(pn|tr)|t(o(k|lower|upper)|r)|_(ireplace|pad|r(ep(eat|lace)|ot13)|s(huffle|plit)|word_count))|ubstr(|_(compare|count|replace)))|trim|uc(first|words)|v(fprintf|printf|sprintf)|wordwrap)\b</string>
+ <key>name</key>
+ <string>support.function.strings.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(swf_(a(ction(g(eturl|oto(frame|label))|nextframe|p(lay|revframe)|s(ettarget|top)|togglequality|waitforframe)|dd(buttonrecord|color))|closefile|define(bitmap|font|line|poly|rect|text)|end(button|doaction|shape|symbol)|font(size|slant|tracking)|get(bitmapinfo|fontinfo|frame)|l(abelframe|ookat)|m(odifyobject|ulcolor)|nextid|o(ncondition|penfile|rtho(|2))|p(erspective|laceobject|o(larview|pmatrix|sround)|ushmatrix)|r(emoveobject|otate)|s(cale|et(font|frame)|hape(arc|curveto(|3)|fill(bitmap(clip|tile)|off|solid)|line(solid|to)|moveto)|howframe|tart(button|doaction|shape|symbol))|t(extwidth|ranslate)|viewport))\b</string>
+ <key>name</key>
+ <string>support.function.swf.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(sybase_(affected_rows|c(lose|onnect)|d(ata_seek|eadlock_retry_count)|f(etch_(array|assoc|field|object|row)|ield_seek|ree_result)|get_last_message|min_(client_severity|error_severity|message_severity|server_severity)|num_(fields|rows)|pconnect|query|result|se(lect_db|t_message_handler)|unbuffered_query))\b</string>
+ <key>name</key>
+ <string>support.function.sybase.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(tidy_(access_count|c(lean_repair|onfig_count)|diagnose|error_count|get(opt|_(body|config|error_buffer|head|html(|_ver)|output|r(elease|oot)|status))|is_(xhtml|xml)|load_config|parse_(file|string)|re(pair_(file|string)|set_config)|s(ave_config|et(opt|_encoding))|warning_count))\b</string>
+ <key>name</key>
+ <string>support.function.tidy.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(odbc_(autocommit|binmode|c(lose(|_all)|o(lumn(s|privileges)|mmit|nnect)|ursor)|d(ata_source|o)|e(rror(|msg)|xec(|ute))|f(etch_(array|into|object|row)|ield_(len|n(ame|um)|precision|scale|type)|oreignkeys|ree_result)|gettypeinfo|longreadlen|n(ext_result|um_(fields|rows))|p(connect|r(epare|imarykeys|ocedure(columns|s)))|r(esult(|_all)|ollback)|s(etoption|pecialcolumns|tatistics)|table(privileges|s)))\b</string>
+ <key>name</key>
+ <string>support.function.odbc.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(base64_(decode|encode)|get_(headers|meta_tags)|http_build_query|parse_url|rawurl(decode|encode)|url(decode|encode))\b</string>
+ <key>name</key>
+ <string>support.function.url.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(d(ebug_zval_dump|oubleval)|empty|floatval|get(type|_(defined_vars|resource_type))|i(mport_request_variables|ntval|s(set|_(array|bool|callable|double|float|integer|int|long|null|numeric|object|real|resource|scalar|string)))|print_r|s(e(rialize|ttype)|trval)|un(se(rialize|t))|var_(dump|export))\b</string>
+ <key>name</key>
+ <string>support.function.var.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(vpopmail_(a(dd_(alias_(domain_ex|domain)|domain(|_ex)|user)|lias_(add|del(|_domain)|get(|_all))|uth_user)|del_(domain(|_ex)|user)|error|passwd|set_user_quota))\b</string>
+ <key>name</key>
+ <string>support.function.vpopmail.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(w32api_(deftype|in(it_dtype|voke_function)|register_function|set_call_method))\b</string>
+ <key>name</key>
+ <string>support.function.w32api.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(wddx_(add_vars|deserialize|packet_(end|start)|serialize_(value|vars)))\b</string>
+ <key>name</key>
+ <string>support.function.wddx.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(xattr_(get|list|remove|s(et|upported)))\b</string>
+ <key>name</key>
+ <string>support.function.xattr.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(xdiff_(file_(diff(|_binary)|merge3|patch(|_binary))|string_(diff(|_binary)|merge3|patch(|_binary))))\b</string>
+ <key>name</key>
+ <string>support.function.xdiff.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(utf8_(decode|encode)|xml_(error_string|get_(current_(byte_index|column_number|line_number)|error_code)|parse(|r(_create(|_ns)|_free|_get_option|_set_option)|_into_struct)|set_(character_data_handler|default_handler|e(lement_handler|nd_namespace_decl_handler|xternal_entity_ref_handler)|notation_decl_handler|object|processing_instruction_handler|start_namespace_decl_handler|unparsed_entity_decl_handler)))\b</string>
+ <key>name</key>
+ <string>support.function.xml.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(xmlrpc_(decode(|_request)|encode(|_request)|get_type|is_fault|parse_method_descriptions|se(rver_(add_introspection_data|c(all_method|reate)|destroy|register_(introspection_callback|method))|t_type)))\b</string>
+ <key>name</key>
+ <string>support.function.xmlrpc.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(xslt_(backend_(info|name|version)|create|err(no|or)|free|getopt|process|set(opt|_(base|e(ncoding|rror_handler)|log|object|s(ax_(handler(|s))|cheme_(handler(|s)))))))\b</string>
+ <key>name</key>
+ <string>support.function.xslt.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(zip_(close|entry_(c(lose|ompress(edsize|ionmethod))|filesize|name|open|read)|open|read))\b</string>
+ <key>name</key>
+ <string>support.function.zip.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(gz(c(lose|ompress)|deflate|e(ncode|of)|file|get(c|ss|s)|inflate|open|p(assthru|uts)|re(ad|wind)|seek|tell|uncompress|write)|readgzfile|zlib_get_coding_type)\b</string>
+ <key>name</key>
+ <string>support.function.zlib.php</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>&lt;&lt;&lt;([a-zA-Z_]+[a-zA-Z0-9_]*)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.heredoc.shell</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>^(\1);?$</string>
+ <key>name</key>
+ <string>string.unquoted.heredoc.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#var_complex_string_heredoc</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(===|==|!==|!=|&lt;=|&gt;=|&lt;&gt;|&lt;|&gt;)</string>
+ <key>name</key>
+ <string>keyword.operator.comparison.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(@)</string>
+ <key>name</key>
+ <string>keyword.operator.error-control.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(\-\-|\+\+)</string>
+ <key>name</key>
+ <string>keyword.operator.increment-decrement.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(\-|\+|\*|\/|%)</string>
+ <key>name</key>
+ <string>keyword.operator.arithmetic.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(!|&amp;&amp;|\|\|)|\b(and|or|xor|as)\b</string>
+ <key>name</key>
+ <string>keyword.operator.logical.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(\.=|\.)</string>
+ <key>name</key>
+ <string>keyword.operator.string.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(instanceof)\b</string>
+ <key>name</key>
+ <string>keyword.operator.type.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b</string>
+ <key>name</key>
+ <string>constant.numeric.php</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string-double-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string-single-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_global</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_global_safer</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_basic</string>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.property.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(?&lt;=[a-zA-Z0-9_\x{7f}-\x{ff}])(-&gt;)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?)\b</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#language_constant</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(DEFAULT_INCLUDE_PATH|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|ERROR|NOTICE|PARSE|STRICT|USER_(ERROR|NOTICE|WARNING)|WARNING)|PEAR_(EXTENSION_DIR|INSTALL_DIR)|PHP_(BINDIR|CONFIG_FILE_PATH|DATADIR|E(OL|XTENSION_DIR)|L(IBDIR|OCALSTATEDIR)|O(S|UTPUT_HANDLER_CONT|UTPUT_HANDLER_END|UTPUT_HANDLER_START)|SYSCONFDIR|VERSION))\b</string>
+ <key>name</key>
+ <string>support.constant.core.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(A(B(DAY_([1-7])|MON_([0-9]{1,2}))|LT_DIGITS|M_STR|SSERT_(ACTIVE|BAIL|CALLBACK|QUIET_EVAL|WARNING))|C(ASE_(LOWER|UPPER)|HAR_MAX|O(DESET|NNECTION_(ABORTED|NORMAL|TIMEOUT)|UNT_(NORMAL|RECURSIVE))|REDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|RNCYSTR|RYPT_(BLOWFISH|EXT_DES|MD5|SALT_LENGTH|STD_DES)|URRENCY_SYMBOL)|D(AY_([1-7])|ECIMAL_POINT|IRECTORY_SEPARATOR|_(FMT|T_FMT))|E(NT_(COMPAT|NOQUOTES|QUOTES)|RA(|_D_FMT|_D_T_FMT|_T_FMT|_YEAR)|XTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|SKIP))|FRAC_DIGITS|GROUPING|HTML_(ENTITIES|SPECIALCHARS)|IN(FO_(ALL|CONFIGURATION|CREDITS|ENVIRONMENT|GENERAL|LICENSE|MODULES|VARIABLES)|I_(ALL|PERDIR|SYSTEM|USER)|T_(CURR_SYMBOL|FRAC_DIGITS))|L(C_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|O(CK_(EX|NB|SH|UN)|G_(ALERT|AUTH(|PRIV)|CONS|CRIT|CRON|DAEMON|DEBUG|EMERG|ERR|INFO|KERN|LOCAL([0-7])|LPR|MAIL|NDELAY|NEWS|NOTICE|NOWAIT|ODELAY|PERROR|PID|SYSLOG|USER|UUCP|WARNING)))|M(ON_([0-9]{1,2}|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|YSQL_(ASSOC|BOTH|NUM)|_(1_PI|2_(PI|SQRTPI)|E|L(N10|N2|OG(10E|2E))|PI(|_2|_4)|SQRT1_2|SQRT2))|N(EGATIVE_SIGN|O(EXPR|STR)|_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN))|P(ATH(INFO_(BASENAME|DIRNAME|EXTENSION)|_SEPARATOR)|M_STR|OSITIVE_SIGN|_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN))|RADIXCHAR|S(EEK_(CUR|END|SET)|ORT_(ASC|DESC|NUMERIC|REGULAR|STRING)|TR_PAD_(BOTH|LEFT|RIGHT))|T(HOUS(ANDS_SEP|EP)|_(FMT(|_AMPM)))|YES(EXPR|STR))\b</string>
+ <key>name</key>
+ <string>support.constant.std.php</string>
+ </dict>
+ </array>
+ </dict>
+ <key>language_constant</key>
+ <dict>
+ <key>match</key>
+ <string>\b(TRUE|true|FALSE|false|NULL|null|__(FILE__|FUNCTION__|CLASS__|METHOD__|LINE__)|ON|OFF|YES|NO|NL|BR|TAB)\b</string>
+ <key>name</key>
+ <string>constant.language.php</string>
+ </dict>
+ <key>string-double-quoted</key>
+ <dict>
+ <key>begin</key>
+ <string>"</string>
+ <key>end</key>
+ <string>"</string>
+ <key>name</key>
+ <string>string.quoted.double.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\.</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_complex_string_heredoc</string>
+ </dict>
+ </array>
+ </dict>
+ <key>string-single-quoted</key>
+ <dict>
+ <key>begin</key>
+ <string>'</string>
+ <key>end</key>
+ <string>'</string>
+ <key>name</key>
+ <string>string.quoted.single.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\.</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ </array>
+ </dict>
+ <key>var_basic</key>
+ <dict>
+ <key>match</key>
+ <string>\$+[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?\b</string>
+ <key>name</key>
+ <string>variable.other.php</string>
+ </dict>
+ <key>var_complex_string_heredoc</key>
+ <dict>
+ <key>match</key>
+ <string>(?&lt;regex&gt;(?#simple syntax)\$(?&lt;name&gt;[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?&lt;index&gt;[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g&lt;name&gt;)\]|-&gt;\g&lt;name&gt;)?|(?#simple syntax with braces)\$\{(?:\g&lt;name&gt;(?&lt;indices&gt;\[(?:\g&lt;index&gt;|'(?:\\.|[^'\\])*'|"(?:\g&lt;regex&gt;|\\.|[^"\\])*")\])?|\g&lt;complex&gt;|\$\{\g&lt;complex&gt;\})\}|(?#complex syntax)\{(?&lt;complex&gt;\$(?&lt;segment&gt;\g&lt;name&gt;\g&lt;indices&gt;*)(?:-&gt;\g&lt;segment&gt;)*|\$\g&lt;complex&gt;|\$\{\g&lt;complex&gt;\})\})</string>
+ <key>name</key>
+ <string>variable.other.php</string>
+ </dict>
+ <key>var_global</key>
+ <dict>
+ <key>match</key>
+ <string>\$(_(COOKIE|FILES|GET|POST|REQUEST))\b</string>
+ <key>name</key>
+ <string>variable.other.global.php</string>
+ </dict>
+ <key>var_global_safer</key>
+ <dict>
+ <key>match</key>
+ <string>(\$(GLOBALS|_(ENV|SERVER|SESSION)))|\b(global)\b</string>
+ <key>name</key>
+ <string>variable.other.global.safer.php</string>
+ </dict>
+ </dict>
+ <key>scopeName</key>
+ <string>source.prado.php</string>
+ <key>uuid</key>
+ <string>DDC83EED-168F-4DEB-971D-84A2CF3CB38F</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template copy.tmLanguage b/editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template copy.tmLanguage
new file mode 100644
index 00000000..ca67d3af
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template copy.tmLanguage
@@ -0,0 +1,670 @@
+<?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>comment</key>
+ <string>Prado Template syntax, based on HTML language and custom PHP syntax.</string>
+ <key>fileTypes</key>
+ <array>
+ <string>tpl</string>
+ <string>page</string>
+ </array>
+ <key>foldingStartMarker</key>
+ <string>(?x)
+ (&lt;(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)\b
+ |&lt;!--(?!.*--&gt;)
+ |&lt;(?i:(com|prop):[a-zA-z0-9.]+)(.*(?&lt;!\/)&gt;)
+ )</string>
+ <key>foldingStopMarker</key>
+ <string>(?x)
+ (&lt;/(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)&gt;
+ |^\s*--&gt;
+ |&lt;/(?i:(com|prop):[a-zA-z0-9.]+)&gt;
+ )</string>
+ <key>keyEquivalent</key>
+ <string>^~A</string>
+ <key>name</key>
+ <string>Prado Template</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#php</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;/?(?i:(com:[a-zA-z0-9.]+)))</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.prado.tag.component</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?&lt;!%)(\/?&gt;)</string>
+ <key>name</key>
+ <string>source.prado.tag.component</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#prado-tag-stuff</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;/?(?i:(prop:[a-zA-z0-9.]+)))</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>storage.prado.tag.prop</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?&lt;!%)(\/?&gt;)</string>
+ <key>name</key>
+ <string>source.prado.tag.prop</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#prado-tag-stuff</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;%@)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.prado.tag.page</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(%&gt;)</string>
+ <key>name</key>
+ <string>source.prado.tag.page</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#prado-tag-stuff</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;%\[)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>constant.prado.tag.localize</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>string.quoted.double.html</string>
+ <key>end</key>
+ <string>(\]%&gt;)</string>
+ <key>name</key>
+ <string>source.prado.component.tag.localize</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;%\$)\s*</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>constant.prado.tag.parameter</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>keyword.prado.tag.parameter</string>
+ <key>end</key>
+ <string>\s*(%&gt;)</string>
+ <key>name</key>
+ <string>source.prado.component.tag.parameter</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;%~)\s*</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>constant.prado.tag.asset</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>asset.prado.tag.asset</string>
+ <key>end</key>
+ <string>\s*(%&gt;)</string>
+ <key>name</key>
+ <string>source.prado.component.tag.asset</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>&lt;([a-zA-Z0-9:]+)(?=[^&gt;]*&gt;&lt;/\1&gt;)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>&gt;(&lt;)/(\1)&gt;</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>meta.scope.between-tag-pair.html</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.html</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.tag.any.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#tag-stuff</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>&lt;\?(xml)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.xml.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\?&gt;</string>
+ <key>name</key>
+ <string>meta.tag.preprocessor.xml.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#tag-generic-attribute</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string-double-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string-single-quoted</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>&lt;!--</string>
+ <key>end</key>
+ <string>--\s*!?&gt;</string>
+ <key>name</key>
+ <string>comment.block.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>--</string>
+ <key>name</key>
+ <string>invalid.illegal.bad-comments-or-CDATA.html</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>&lt;!</string>
+ <key>end</key>
+ <string>&gt;</string>
+ <key>name</key>
+ <string>meta.tag.sgml.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>(DOCTYPE)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.doctype.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?=&gt;)</string>
+ <key>name</key>
+ <string>meta.tag.sgml.doctype.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>"[^"&gt;]*"</string>
+ <key>name</key>
+ <string>string.quoted.double.doctype.identifiers-and-DTDs.html</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\[CDATA\[</string>
+ <key>end</key>
+ <string>]](?=&gt;)</string>
+ <key>name</key>
+ <string>constant.other.inline-data.html</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(\s*)(?!--|&gt;)\S(\s*)</string>
+ <key>name</key>
+ <string>invalid.illegal.bad-comments-or-CDATA.html</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#php</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(?:^\s+)?&lt;((?i:style))\b(?![^&gt;]*/&gt;)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.style.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>&lt;/((?i:style))&gt;(?:\s*\n)?</string>
+ <key>name</key>
+ <string>source.css.embedded.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#tag-stuff</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>&gt;</string>
+ <key>end</key>
+ <string>(?=&lt;/(?i:style))</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#embedded-code</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>source.css</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(?:^\s+)?&lt;((?i:script))\b(?![^&gt;]*/&gt;)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.script.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?&lt;=&lt;/(script|SCRIPT))&gt;(?:\s*\n)?</string>
+ <key>name</key>
+ <string>source.js.embedded.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#tag-stuff</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(?&lt;!&lt;/(?:script|SCRIPT))&gt;</string>
+ <key>end</key>
+ <string>&lt;/((?i:script))</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>//.*?((?=&lt;/script)|$\n?)</string>
+ <key>name</key>
+ <string>comment.line.double-slash.js</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>/\*</string>
+ <key>end</key>
+ <string>\*/|(?=&lt;/script)</string>
+ <key>name</key>
+ <string>comment.block.js</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>source.js</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>&lt;/?((?i:body|head|html)\b)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.structure.any.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>&gt;</string>
+ <key>name</key>
+ <string>meta.tag.structure.any.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#tag-stuff</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>&lt;/?((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\b)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.block.any.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>&gt;</string>
+ <key>name</key>
+ <string>meta.tag.block.any.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#tag-stuff</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>&lt;/?((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\b)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.inline.any.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>&gt;</string>
+ <key>name</key>
+ <string>meta.tag.inline.any.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#tag-stuff</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>&lt;/?([a-zA-Z0-9:]+)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.other.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>&gt;</string>
+ <key>name</key>
+ <string>meta.tag.other.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#tag-stuff</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#entities</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>&lt;&gt;</string>
+ <key>name</key>
+ <string>invalid.illegal.incomplete.html</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>&lt;(?=\W)|&gt;</string>
+ <key>name</key>
+ <string>invalid.illegal.bad-angle-bracket.html</string>
+ </dict>
+ </array>
+ <key>repository</key>
+ <dict>
+ <key>embedded-code</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#php</string>
+ </dict>
+ </array>
+ </dict>
+ <key>entities</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>&amp;([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);</string>
+ <key>name</key>
+ <string>constant.character.entity.html</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>&amp;</string>
+ <key>name</key>
+ <string>invalid.illegal.bad-ampersand.html</string>
+ </dict>
+ </array>
+ </dict>
+ <key>php</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>(?:^\s*)(?=&lt;%(#|=|%))(?!.*%&gt;)</string>
+ <key>comment</key>
+ <string>match only multi-line PHP with leading whitespace</string>
+ <key>end</key>
+ <string>(?&lt;=%&gt;)(?:\s*$\n)?</string>
+ <key>name</key>
+ <string>source.prado.embedded.tag</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>source.prado.php</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>applyEndPatternLast</key>
+ <integer>1</integer>
+ <key>begin</key>
+ <string>(?=&lt;%(#|=|%))</string>
+ <key>end</key>
+ <string>(?&lt;=%&gt;)</string>
+ <key>name</key>
+ <string>source.prado.embedded.tag</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>source.prado.php</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <key>prado-tag-generic-attribute</key>
+ <dict>
+ <key>match</key>
+ <string>\b([a-zA-Z\-:]+)</string>
+ <key>name</key>
+ <string>keyword.other.attribute-name.html</string>
+ </dict>
+ <key>prado-tag-stuff</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.prado.tag.stuff</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#prado-tag-generic-attribute</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string-double-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string-single-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#embedded-code</string>
+ </dict>
+ </array>
+ </dict>
+ <key>string-double-quoted</key>
+ <dict>
+ <key>begin</key>
+ <string>"</string>
+ <key>end</key>
+ <string>"</string>
+ <key>name</key>
+ <string>string.quoted.double.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#embedded-code</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#entities</string>
+ </dict>
+ </array>
+ </dict>
+ <key>string-single-quoted</key>
+ <dict>
+ <key>begin</key>
+ <string>'</string>
+ <key>end</key>
+ <string>'</string>
+ <key>name</key>
+ <string>string.quoted.single.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#embedded-code</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#entities</string>
+ </dict>
+ </array>
+ </dict>
+ <key>tag-generic-attribute</key>
+ <dict>
+ <key>match</key>
+ <string>\b([a-zA-Z\-:]+)</string>
+ <key>name</key>
+ <string>meta.other.attribute-name.html</string>
+ </dict>
+ <key>tag-stuff</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#tag-generic-attribute</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string-double-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string-single-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#embedded-code</string>
+ </dict>
+ </array>
+ </dict>
+ </dict>
+ <key>scopeName</key>
+ <string>text.html.basic</string>
+ <key>uuid</key>
+ <string>3E75ACFD-E0F4-4564-9A24-DCB08AD6324D</string>
+</dict>
+</plist>
diff --git a/editors/Textmate/Prado.tmbundle/info.plist b/editors/Textmate/Prado.tmbundle/info.plist
new file mode 100644
index 00000000..2a65206f
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/info.plist
@@ -0,0 +1,70 @@
+<?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>deleted</key>
+ <array>
+ <string>3B4714DB-144B-4102-ACCD-A9D66B676D3C</string>
+ <string>3B4714DB-144B-4102-ACCD-A9D66B676D3C</string>
+ <string>9ED62E79-F25A-4BE1-80E9-D0474DD64BB5</string>
+ <string>9ED62E79-F25A-4BE1-80E9-D0474DD64BB5</string>
+ </array>
+ <key>name</key>
+ <string>Prado</string>
+ <key>ordering</key>
+ <array>
+ <string>3E75ACFD-E0F4-4564-9A24-DCB08AD6324D</string>
+ <string>DDC83EED-168F-4DEB-971D-84A2CF3CB38F</string>
+ <string>94E9F86C-36D1-4D5C-808C-E379024299CD</string>
+ <string>2721E2C3-66B7-4486-BF0F-6FA7B274858D</string>
+ <string>AC226362-749C-45C1-86A3-B58379A38A7E</string>
+ <string>BFD8CE92-59C7-47B2-9AE4-1B29ADE3CA0B</string>
+ <string>8E764E2C-244E-4A93-9C0D-5E25689D1C85</string>
+ <string>C553AAE6-C788-4B2C-A388-18312FC9828B</string>
+ <string>23B521B1-6EA4-4E5D-9104-940CEDFDFD13</string>
+ <string>1E598B7B-B754-4C52-B819-39897FE3E07D</string>
+ <string>AD1AB937-AFCD-4656-9882-788B9C6E0D74</string>
+ <string>B7E6E873-309E-41E6-AD8A-29EB54781579</string>
+ <string>17BECED9-79B1-4CD6-9354-E528DA3327AC</string>
+ <string>61E9DF58-07F3-4B99-8B58-53D3049575F3</string>
+ <string>618046BE-DF8E-489C-A8BC-24A15CF2AD7A</string>
+ <string>17389BC4-0AF1-4993-B829-5CDC330A6D39</string>
+ <string>8A274C79-422D-4553-B086-0B553BDABEC7</string>
+ <string>4E663D10-670D-4526-8848-0AC2666592C0</string>
+ <string>823B366A-3A40-4875-8A2E-AB901F54D443</string>
+ <string>0DE44657-21AB-4878-93E7-0FD458D8723A</string>
+ <string>3CFAD67E-EE9F-49F9-B606-D414E73ED8F7</string>
+ <string>BAC66FCD-8C23-48B9-829B-56FE20CCC8E6</string>
+ <string>37221294-B588-4D07-9010-2DB7CDBEB6B4</string>
+ <string>84F0B41A-06B1-4A61-98B7-F13D1321C3D0</string>
+ <string>13CDBA43-EAA4-4BCD-B9AA-A990B4974496</string>
+ <string>202F9A01-9B67-4CBD-9289-EE6A98D091D7</string>
+ <string>110FCD3F-841C-4178-99D8-765C7D382F7D</string>
+ <string>665F3D21-16F5-40FF-8339-A9A101400D10</string>
+ <string>803BFB83-50E8-4121-9866-A25C93979E4B</string>
+ <string>76F11AC6-D441-4059-A70A-E3BB739EE515</string>
+ <string>012C556B-6ACB-48F0-8757-CA2E60B06109</string>
+ <string>CA1AE93D-D724-43B0-A3CB-9E584126FB3C</string>
+ <string>023BD925-D6F2-4BE1-8973-8B90B3C8858E</string>
+ <string>7AF6D08A-9FE4-46B9-8F16-2E26D45715CE</string>
+ <string>7E35FA7C-E390-41BA-A8C5-C1F3B4FAE6A1</string>
+ <string>AB128FBD-1C3E-4FB4-91F5-48B57DC6860F</string>
+ <string>53AAABF9-D393-4E5B-83BD-0C4CB15DDCC1</string>
+ <string>23289E12-7A1F-41A3-872C-3E867E696A49</string>
+ <string>CA0CD4CC-D186-4448-8CB3-215E25951FDF</string>
+ <string>2433B69B-6986-4260-97A3-DE23072D8BC6</string>
+ <string>754B2EF6-85D2-4A93-996F-D6D9E8A27F1E</string>
+ <string>BDF614B5-430B-46AB-B558-B5E0EF97BA17</string>
+ <string>3586B543-C92E-4AEB-92A7-20D948EA60DF</string>
+ <string>BF6A7ED6-28A0-4165-AA7A-F1F003161AE5</string>
+ <string>0353A694-1EE5-46E0-AC72-2F1631B441CB</string>
+ <string>0DF11CB4-2813-4CCB-94EA-4A62E25E9EDC</string>
+ <string>92266396-CC97-4F53-B1D3-4DDFD924D8C8</string>
+ <string>2E67996C-AB51-489A-A30D-D829DF17A7EF</string>
+ <string>5714E730-271D-436E-86DC-04AB0E71ECE0</string>
+ <string>319D66FC-712A-4B09-A1C0-CB741ED9DD4C</string>
+ </array>
+ <key>uuid</key>
+ <string>DF5CA8A9-626B-44D2-ACBF-44CCB02810E8</string>
+</dict>
+</plist>