71b7b2a8abdca44e241e270a46a2b6a3c1236776
Author: Nate Abele
Date: 2008-10-09 14:27:54 -0400
diff --git a/Commands/Bake Controller.tmCommand b/Commands/Bake Controller.tmCommand
new file mode 100644
index 0000000..1d6c20f
--- /dev/null
+++ b/Commands/Bake Controller.tmCommand
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>beforeRunningCommand</key>
+ <string>nop</string>
+ <key>command</key>
+ <string>export TERM=xterm-color
+
+if [ -z "`echo "$TM_SELECTED_TEXT" | grep [a-zA-Z0-9]`" ]
+then
+ echo "Valid controller name not selected"
+ exit 1
+fi
+
+cake bake controller $TM_SELECTED_TEXT -interactive off -working "$TM_PROJECT_DIRECTORY" | php -r 'echo trim(preg_replace("/^(.+)Baking/ms", "Baking", file_get_contents("php://stdin")));'
+</string>
+ <key>fallbackInput</key>
+ <string>none</string>
+ <key>input</key>
+ <string>selection</string>
+ <key>keyEquivalent</key>
+ <string>~@b</string>
+ <key>name</key>
+ <string>Bake Controller</string>
+ <key>output</key>
+ <string>showAsTooltip</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>uuid</key>
+ <string>D14A7BF7-FA53-4F5D-B96C-6D2617D1E6AE</string>
+</dict>
+</plist>
diff --git a/Commands/Bake Model.tmCommand b/Commands/Bake Model.tmCommand
new file mode 100644
index 0000000..49e0207
--- /dev/null
+++ b/Commands/Bake Model.tmCommand
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>beforeRunningCommand</key>
+ <string>nop</string>
+ <key>command</key>
+ <string>export TERM=xterm-color
+
+if [ -z "`echo "$TM_SELECTED_TEXT" | grep [a-zA-Z0-9]`" ]
+then
+ echo "Valid model name not selected"
+ exit 1
+fi
+
+cake bake model $TM_SELECTED_TEXT -interactive off -working "$TM_PROJECT_DIRECTORY" | php -r 'echo trim(preg_replace("/^(.+)Baking/ms", "Baking", file_get_contents("php://stdin")));'
+</string>
+ <key>fallbackInput</key>
+ <string>none</string>
+ <key>input</key>
+ <string>selection</string>
+ <key>keyEquivalent</key>
+ <string>~@b</string>
+ <key>name</key>
+ <string>Bake Model</string>
+ <key>output</key>
+ <string>showAsTooltip</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>uuid</key>
+ <string>F3AC64D9-C024-4ACA-9805-0B3DC79915DE</string>
+</dict>
+</plist>
diff --git a/Commands/Lookup in API.plist b/Commands/Lookup in API.plist
new file mode 100644
index 0000000..eb25db9
--- /dev/null
+++ b/Commands/Lookup in API.plist
@@ -0,0 +1,29 @@
+<?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>beforeRunningCommand</key>
+ <string>nop</string>
+ <key>bundlePath</key>
+ <string>/Users/kumar/Library/Application Support/TextMate/Bundles/Custom.tmbundle</string>
+ <key>command</key>
+ <string>if [ `echo "$TM_SELECTED_TEXT" | grep -Ev '[a-zA-Z0-9_]+'` ]; then
+ echo "Nothing to lookup (hint: place the cursor on a function name)"
+ exit 1
+fi
+
+echo "<html><head><meta http-equiv=\"Refresh\" content=\"0; URL=http://api.cakephp.org/search.php?query=$TM_SELECTED_TEXT\"></head><body></body></html>"</string>
+ <key>input</key>
+ <string>none</string>
+ <key>keyEquivalent</key>
+ <string>^~/</string>
+ <key>name</key>
+ <string>Lookup in API</string>
+ <key>output</key>
+ <string>showAsHTML</string>
+ <key>scope</key>
+ <string>source.php</string>
+ <key>uuid</key>
+ <string>365F0868-308E-44BC-8781-2B65CBF48B74</string>
+</dict>
+</plist>
diff --git "a/Commands/Paste Line : Selection to IRC\342\200\246 (CakePHP Paste).plist" "b/Commands/Paste Line : Selection to IRC\342\200\246 (CakePHP Paste).plist"
new file mode 100644
index 0000000..ccd29a2
--- /dev/null
+++ "b/Commands/Paste Line : Selection to IRC\342\200\246 (CakePHP Paste).plist"
@@ -0,0 +1,82 @@
+<?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>beforeRunningCommand</key>
+ <string>nop</string>
+ <key>command</key>
+ <string>if [[ -z "$TM_IRC_CHANNEL" ]] && ps -xc|grep -sq 'Colloquy$'; then
+ channels=$(osascript \
+ -e 'tell application "Colloquy"' \
+ -e 'set names to ""' \
+ -e 'repeat with p in panels' \
+ -e 'set names to names & name of p & " "' \
+ -e 'end repeat' \
+ -e 'end tell')
+
+ result=$(CocoaDialog dropdown \
+ --title 'Paste to IRC' \
+ --text 'Choose a channel to paste into' \
+ --button1 Paste --button2 Cancel \
+ --string-output --no-newline \
+ --items $channels)
+
+ if [[ "${result:0:5}" == "Paste" ]];
+ then TM_IRC_CHANNEL="${result:6}"
+ else exit_discard
+ fi
+fi
+
+
+result=$(CocoaDialog textbox \
+ --title 'Describe Paste' \
+ --text 'This paste is about' \
+ --button1 Ok --button2 Cancel \
+ --selected --scroll-top top --editable)
+
+ if [[ "${result:0:1}" == "1" ]];
+ then NOTE="${result:2}"
+ else exit_discard
+ fi
+# set the language to one rafb.net supports
+case $TM_MODE in
+ C89|C|C++|C\#|Java|Pascal|Perl|PHP|PL/I|Python|Ruby|SQL|VB)
+ # do nothing
+ ;;
+ *)
+ TM_MODE="php"
+ ;;
+esac
+
+: ${TM_PASTE_URL:=http://cakephp.org/pastes/add}
+url=$(curl "${TM_PASTE_URL}" -F "data[Paste][nick]"="$USER" -F cvt_tabs="$TM_TAB_SIZE" -F data[Paste][paste]='<-' -F "data[Paste][lang]"="php" -F "data[Paste][note]"="${NOTE}" -s -L -o /dev/null -w "%{url_effective}" \
+ 2> >(CocoaDialog progressbar --indeterminate \
+ --title "Paste to #${TM_IRC_CHANNEL}…" \
+ --text "Contacting Server “${TM_PASTE_URL}”…" \
+ ))
+
+[[ -z "$url" ]] && exit_show_tool_tip "Error: Got no URL back from pasting service."
+
+if ps -xc|grep -sq 'Colloquy$'; then
+ osascript -e 'tell application "Colloquy" to send message "pasted '"$url"'" action tense yes to (get chat room "#'"$TM_IRC_CHANNEL"'" of first connection)'
+ echo "The text was pasted to #$TM_IRC_CHANNEL."
+else
+ echo -n "$url" | pbcopy
+ echo "The text is available as $url"
+ echo "For your convenience, the URL was placed on the clipboard."
+fi
+</string>
+ <key>fallbackInput</key>
+ <string>line</string>
+ <key>input</key>
+ <string>selection</string>
+ <key>keyEquivalent</key>
+ <string>^~V</string>
+ <key>name</key>
+ <string>Paste Line / Selection to IRC… (CakePHP Paste)</string>
+ <key>output</key>
+ <string>showAsTooltip</string>
+ <key>uuid</key>
+ <string>D7FAB954-4DAB-4213-9023-CE52AD04BE46</string>
+</dict>
+</plist>
diff --git a/Commands/Test.tmCommand b/Commands/Test.tmCommand
new file mode 100644
index 0000000..5fbf3b4
--- /dev/null
+++ b/Commands/Test.tmCommand
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>beforeRunningCommand</key>
+ <string>nop</string>
+ <key>command</key>
+ <string>php -r 'echo date("Y-m-d");';</string>
+ <key>input</key>
+ <string>selection</string>
+ <key>keyEquivalent</key>
+ <string>^~$</string>
+ <key>name</key>
+ <string>Test</string>
+ <key>output</key>
+ <string>showAsTooltip</string>
+ <key>uuid</key>
+ <string>F6EF87FA-0A05-4B5F-AECA-EE1455B18FF1</string>
+</dict>
+</plist>
diff --git a/Preferences/Completions.plist b/Preferences/Completions.plist
new file mode 100644
index 0000000..d7803ed
--- /dev/null
+++ b/Preferences/Completions.plist
@@ -0,0 +1,262 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>name</key>
+ <string>Completions</string>
+ <key>scope</key>
+ <string></string>
+ <key>settings</key>
+ <dict>
+ <key>completions</key>
+ <array>
+ <string>accepts</string>
+ <string>add</string>
+ <string>addCrumb</string>
+ <string>afterDelete</string>
+ <string>afterFilter</string>
+ <string>afterFind</string>
+ <string>afterSave</string>
+ <string>APP</string>
+ <string>append</string>
+ <string>APP_DIR</string>
+ <string>APP_PATH</string>
+ <string>autoComplete</string>
+ <string>autoLink</string>
+ <string>autoLinkEmails</string>
+ <string>autoLinkUrls</string>
+ <string>beforeDelete</string>
+ <string>beforeFilter</string>
+ <string>beforeFind</string>
+ <string>beforeRender</string>
+ <string>beforeSave</string>
+ <string>bindModel</string>
+ <string>blackHole</string>
+ <string>CACHE</string>
+ <string>cache</string>
+ <string>cacheEvents</string>
+ <string>CAKE_CORE_INCLUDE_PATH</string>
+ <string>charset</string>
+ <string>check</string>
+ <string>checkbox</string>
+ <string>cleanup</string>
+ <string>clearCache</string>
+ <string>codeBlock</string>
+ <string>COMPONENTS</string>
+ <string>config</string>
+ <string>CONFIGS</string>
+ <string>contentTag</string>
+ <string>CONTROLLERS</string>
+ <string>CONTROLLER_TESTS</string>
+ <string>convertSlash</string>
+ <string>CORE_PATH</string>
+ <string>countDim</string>
+ <string>create</string>
+ <string>CSS</string>
+ <string>css</string>
+ <string>dayOptionTag</string>
+ <string>daysAsSql</string>
+ <string>debug</string>
+ <string>del</string>
+ <string>delete</string>
+ <string>drag</string>
+ <string>drop</string>
+ <string>dropRemote</string>
+ <string>DS</string>
+ <string>editor</string>
+ <string>ELEMENTS</string>
+ <string>env</string>
+ <string>error</string>
+ <string>escapeScript</string>
+ <string>escapeString</string>
+ <string>event</string>
+ <string>excerpt</string>
+ <string>executable</string>
+ <string>execute</string>
+ <string>exists</string>
+ <string>extract</string>
+ <string>field</string>
+ <string>file</string>
+ <string>fileExistsInPath</string>
+ <string>fileTag</string>
+ <string>filter</string>
+ <string>find</string>
+ <string>findAll</string>
+ <string>findCount</string>
+ <string>findIn</string>
+ <string>flash</string>
+ <string>flay</string>
+ <string>form</string>
+ <string>formatColumns</string>
+ <string>fromString</string>
+ <string>gendor</string>
+ <string>getAjaxVersion</string>
+ <string>getChmod</string>
+ <string>getClientIP</string>
+ <string>getCrumbs</string>
+ <string>getExt</string>
+ <string>getFolder</string>
+ <string>getFullPath</string>
+ <string>getGroup</string>
+ <string>getID</string>
+ <string>getInsertID</string>
+ <string>getLastInsertID</string>
+ <string>getMd5</string>
+ <string>getName</string>
+ <string>getNumRows</string>
+ <string>getOwner</string>
+ <string>getReferer</string>
+ <string>getSize</string>
+ <string>guiListTag</string>
+ <string>ha</string>
+ <string>hasAny</string>
+ <string>hasField</string>
+ <string>HELPERS</string>
+ <string>HELPER_TESTS</string>
+ <string>hidden</string>
+ <string>hiddenTag</string>
+ <string>highlight</string>
+ <string>HOUR</string>
+ <string>hourOptionTag</string>
+ <string>html</string>
+ <string>image</string>
+ <string>imageTag</string>
+ <string>includeScript</string>
+ <string>INFLECTIONS</string>
+ <string>input</string>
+ <string>inputTag</string>
+ <string>invalidate</string>
+ <string>invalidFields</string>
+ <string>isAjax</string>
+ <string>isAtom</string>
+ <string>isDelete</string>
+ <string>isFieldError</string>
+ <string>isForeignKey</string>
+ <string>isGet</string>
+ <string>isMobile</string>
+ <string>isPost</string>
+ <string>isRss</string>
+ <string>isThisYear</string>
+ <string>isToday</string>
+ <string>isTomorrow</string>
+ <string>isXml</string>
+ <string>javascriptIncludeTag</string>
+ <string>javascriptTag</string>
+ <string>joinWith</string>
+ <string>JS</string>
+ <string>labelTag</string>
+ <string>lastAccess</string>
+ <string>lastChange</string>
+ <string>LAYOUTS</string>
+ <string>LIBS</string>
+ <string>LIB_TESTS</string>
+ <string>link</string>
+ <string>linkEmail</string>
+ <string>linkOut</string>
+ <string>linkTo</string>
+ <string>listClasses</string>
+ <string>LogError</string>
+ <string>LOGS</string>
+ <string>LOG_ERROR</string>
+ <string>low</string>
+ <string>makeUnique</string>
+ <string>MODELS</string>
+ <string>MODEL_TESTS</string>
+ <string>MODULES</string>
+ <string>multi_search</string>
+ <string>nice</string>
+ <string>niceShort</string>
+ <string>object</string>
+ <string>observeField</string>
+ <string>observeForm</string>
+ <string>params</string>
+ <string>paranoid</string>
+ <string>parseHtmlOptions</string>
+ <string>password</string>
+ <string>PEAR</string>
+ <string>plus</string>
+ <string>postCondtions</string>
+ <string>precision</string>
+ <string>prefers</string>
+ <string>query</string>
+ <string>radio</string>
+ <string>randomPassword</string>
+ <string>read</string>
+ <string>readable</string>
+ <string>redirect</string>
+ <string>referer</string>
+ <string>relativeTime</string>
+ <string>remoteFunction</string>
+ <string>remoteTimer</string>
+ <string>remove</string>
+ <string>render</string>
+ <string>renew</string>
+ <string>requireAuth</string>
+ <string>requirePost</string>
+ <string>ROOT</string>
+ <string>save</string>
+ <string>saveField</string>
+ <string>SCRIPTS</string>
+ <string>set</string>
+ <string>setAction</string>
+ <string>setAjax</string>
+ <string>setContent</string>
+ <string>setDatasource</string>
+ <string>setFlash</string>
+ <string>setUri</string>
+ <string>slider</string>
+ <string>sortable</string>
+ <string>sql</string>
+ <string>startup</string>
+ <string>stripAll</string>
+ <string>stripImages</string>
+ <string>stripLinks</string>
+ <string>stripScripts</string>
+ <string>stripTags</string>
+ <string>stripWhiteSpace</string>
+ <string>submit</string>
+ <string>tableCells</string>
+ <string>tableHeaders</string>
+ <string>tag</string>
+ <string>tagErrorMessage</string>
+ <string>tagIsValid</string>
+ <string>TESTS</string>
+ <string>textarea</string>
+ <string>threaded</string>
+ <string>timeAgoInWords</string>
+ <string>TMP</string>
+ <string>toArray</string>
+ <string>toAtom</string>
+ <string>toCompressed</string>
+ <string>toPercentage</string>
+ <string>toReadableSize</string>
+ <string>toRoman</string>
+ <string>toRSS</string>
+ <string>totals</string>
+ <string>toUnix</string>
+ <string>truncate</string>
+ <string>unbindModel</string>
+ <string>unique</string>
+ <string>up</string>
+ <string>url</string>
+ <string>urlFor</string>
+ <string>valid</string>
+ <string>validate</string>
+ <string>validateErrors</string>
+ <string>validates</string>
+ <string>VENDORS</string>
+ <string>VIEWS</string>
+ <string>walk</string>
+ <string>wasWithinLast</string>
+ <string>wasYesterday</string>
+ <string>WEBROOT_DIR</string>
+ <string>writable</string>
+ <string>write</string>
+ <string>writeEvents</string>
+ <string>WWW_ROOT</string>
+ </array>
+ </dict>
+ <key>uuid</key>
+ <string>DDF54CE1-D849-40DE-A765-2676DB5263CB</string>
+</dict>
+</plist>
diff --git a/Snippets/$this->ModelName->field (cmf).plist b/Snippets/$this->ModelName->field (cmf).plist
new file mode 100644
index 0000000..e19d18c
--- /dev/null
+++ b/Snippets/$this->ModelName->field (cmf).plist
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>\$this->${1:ModelName}->field(${2:\$name}${3:, array(${4:'$1.created'=>'<= now()'}})}${5:, ${6:'created DESC'}});
+$0</string>
+ <key>name</key>
+ <string>$this->ModelName->field (cmf)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>cmf</string>
+ <key>uuid</key>
+ <string>EBB8D77D-567A-4B23-B224-7FAFFCCE00FB</string>
+</dict>
+</plist>
diff --git a/Snippets/$this->ModelName->find (cmf).plist b/Snippets/$this->ModelName->find (cmf).plist
new file mode 100644
index 0000000..eb724b2
--- /dev/null
+++ b/Snippets/$this->ModelName->find (cmf).plist
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>\$this->${1:ModelName}->find(${2:array('$1.created'=>'<= now()'})}${3:, ${4:array('id','created','title')}}${5:, ${6:'created DESC'}}${7:, ${8:\$recursive=null}});
+$0</string>
+ <key>name</key>
+ <string>$this->ModelName->find (cmf)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>cmf</string>
+ <key>uuid</key>
+ <string>33AEB7D5-8837-4204-B0CD-8B9E3906AB84</string>
+</dict>
+</plist>
diff --git a/Snippets/$this->ModelName->findAll (cmf).plist b/Snippets/$this->ModelName->findAll (cmf).plist
new file mode 100644
index 0000000..94c7667
--- /dev/null
+++ b/Snippets/$this->ModelName->findAll (cmf).plist
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>\$this->${1:ModelName}->findAll(${2:array(${3:'$1.created'=>'<= now()'}})}${4:, ${5:array('id','created','title')}}${6:, ${7:'created DESC'}}${8:, ${9:20}}${10:, ${11:\$page}}${12:, ${13:\$recursive=null}});
+$0</string>
+ <key>name</key>
+ <string>$this->ModelName->findAll (cmf)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>cmf</string>
+ <key>uuid</key>
+ <string>3A46D51C-1B9D-4A7F-98F3-E38C3243B134</string>
+</dict>
+</plist>
diff --git a/Snippets/$this->ModelName->findAllBy<FieldName> (cmf).plist b/Snippets/$this->ModelName->findAllBy<FieldName> (cmf).plist
new file mode 100644
index 0000000..3d78088
--- /dev/null
+++ b/Snippets/$this->ModelName->findAllBy<FieldName> (cmf).plist
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>\$this->${1:ModelName}->findAllBy${2:FieldName(${3:\$value}));
+$0</string>
+ <key>name</key>
+ <string>$this->ModelName->findAllBy<FieldName> (cmf)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>cmf</string>
+ <key>uuid</key>
+ <string>F213051B-2625-4270-A05A-1E5E45FA3C5C</string>
+</dict>
+</plist>
diff --git a/Snippets/$this->ModelName->findBy<FieldName> (cmf).plist b/Snippets/$this->ModelName->findBy<FieldName> (cmf).plist
new file mode 100644
index 0000000..61bf0d9
--- /dev/null
+++ b/Snippets/$this->ModelName->findBy<FieldName> (cmf).plist
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>\$this->${1:ModelName}->findBy${2:FieldName(${3:\$value}));
+$0</string>
+ <key>name</key>
+ <string>$this->ModelName->findBy<FieldName> (cmf)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>cmf</string>
+ <key>uuid</key>
+ <string>E92E5F5B-B9B0-49CB-825E-8A7B9B68B1F2</string>
+</dict>
+</plist>
diff --git a/Snippets/$this->ModelName->findCount (cmf).plist b/Snippets/$this->ModelName->findCount (cmf).plist
new file mode 100644
index 0000000..72822d1
--- /dev/null
+++ b/Snippets/$this->ModelName->findCount (cmf).plist
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>\$this->${1:ModelName}->findCount(${2:array(${3:'$1.created'=>'<= now()'}}));
+$0</string>
+ <key>name</key>
+ <string>$this->ModelName->findCount (cmf)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>cmf</string>
+ <key>uuid</key>
+ <string>CD815D37-3D3E-4086-B5FB-116405F586F1</string>
+</dict>
+</plist>
diff --git a/Snippets/$this->ModelName->generateList (cmgl).plist b/Snippets/$this->ModelName->generateList (cmgl).plist
new file mode 100644
index 0000000..2f0d20c
--- /dev/null
+++ b/Snippets/$this->ModelName->generateList (cmgl).plist
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>\$this->${1:ModelName}->find('list', ${2:array(${3:'$1.created'=>'<= now()'}})}${6:, ${7:'created DESC'}}${8:, ${9:20}${10:, ${11:\$keyPath=null}}${12:, {13:\$valuePath=null}});
+$0</string>
+ <key>name</key>
+ <string>$this->ModelName->find('list') (clist)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>cfind</string>
+ <key>uuid</key>
+ <string>78D7D4AE-A7B6-4B58-B508-EE3DBF175B21</string>
+</dict>
+</plist>
diff --git a/Snippets/$this->Session->setFlash (ct).plist b/Snippets/$this->Session->setFlash (ct).plist
new file mode 100644
index 0000000..d1934b3
--- /dev/null
+++ b/Snippets/$this->Session->setFlash (ct).plist
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>\$this->Session->setFlash('${1:the flash message}');</string>
+ <key>name</key>
+ <string>$this->Session->setFlash (ct)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>ct</string>
+ <key>uuid</key>
+ <string>2945B997-2C19-449F-A500-6B8B34A2ADEF</string>
+</dict>
+</plist>
diff --git a/Snippets/$this->params['data'] (ct).plist b/Snippets/$this->params['data'] (ct).plist
new file mode 100644
index 0000000..7199bbb
--- /dev/null
+++ b/Snippets/$this->params['data'] (ct).plist
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>\$this->data['Model']['$0']</string>
+ <key>name</key>
+ <string>$this->data (ct)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>data</string>
+ <key>uuid</key>
+ <string>D0DB044B-B4C8-48D2-9B5A-7DA354BE04C0</string>
+</dict>
+</plist>
diff --git a/Snippets/$this->redirect() (ct).plist b/Snippets/$this->redirect() (ct).plist
new file mode 100644
index 0000000..ee494fa
--- /dev/null
+++ b/Snippets/$this->redirect() (ct).plist
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>\$this->redirect('/${1:path/to/redirect/to}');</string>
+ <key>name</key>
+ <string>$this->redirect() (ct)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>ct</string>
+ <key>uuid</key>
+ <string>887062B4-9C60-4656-8808-8F41381AA7F2</string>
+</dict>
+</plist>
diff --git a/Snippets/$this->set (ct).plist b/Snippets/$this->set (ct).plist
new file mode 100644
index 0000000..14139a7
--- /dev/null
+++ b/Snippets/$this->set (ct).plist
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>\$this->set('${1:data}',${2:\$this->params['data']});$0</string>
+ <key>name</key>
+ <string>$this->set (ct)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>ct</string>
+ <key>uuid</key>
+ <string>9D47CB07-6C99-41E0-A098-4521E51A411D</string>
+</dict>
+</plist>
diff --git a/Snippets/Admin_index.thtml (taindex).plist b/Snippets/Admin_index.thtml (taindex).plist
new file mode 100644
index 0000000..86488e4
--- /dev/null
+++ b/Snippets/Admin_index.thtml (taindex).plist
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string><?php \$this->pageTitle = "${1:Page Title for Index Page}"; ?>
+
+<h1>${2}s Index</h1>
+<p><?php echo \$html->link('Add New ${2:ModelNameCamelCase}', '/admin/${3:${2/./\l$0/}s}/add',array('class'=>'add')) ?></p>
+
+<?php if(\$pagination->set(\$paging)):?>
+<div class="page-numbers">
+<ul>
+ <li><?=\$pagination->show('Show ')?></li>
+ <li><?=\$pagination->result('Results: ')?></li>
+ <li><?=\$pagination->prev('Prev')?></li>
+ <li><?=\$pagination->numbers()?></li>
+ <li><?=\$pagination->next('Next')?></li>
+</ul>
+</div>
+
+<?php endif;
+\$row = 1;
+?>
+
+<table id="${3}-table" cellpadding="0" cellspacing="0" summary="${4:Table of $2}">
+ <tr>
+ <th><?php e(\$pagination->sortLink('Id',array('id','desc'))); ?></th>
+ <th><?php e(\$pagination->sortLink('Created',array('created','desc'))); ?></td>
+ <th><?php e(\$pagination->sortLink('Modified',array('modified','desc'))); ?></th>
+ <th><?php e(\$pagination->sortLink('Title',array('title','desc'))); ?></th>
+ <th>Details</th>
+ </tr>
+ <?php \$row = 1; ?>
+ <?php foreach (\$data as \$${2}): ?>
+ <tr class='<?= (\$row++ % 2)==0?'even':'odd' ?>'>
+ <td><?php e(\$${2}['${2}']['id']) ?></td>
+ <td><?php e(\$time->niceShort(\$${2}['${2}']['created'])) ?></td>
+ <td><?php e(\$time->niceShort(\$${2}['${2}']['modified'])) ?></td>
+ <td><?php e(\$${2}['${2}']['title']) ?></td>
+ <td><?php
+ e(' '.\$html->link('Edit','/admin/${3}/edit/'.\$${2}['${2}']['id']));
+ e(', '.\$html->link('Delete','/admin/${3}/delete/'.\$${2}['${2}']['id'],null,'Are you sure you want to delete the ${2} entry for ${2}: '. \$${2}['${2}']['title']));
+ ?></td>
+ <?php endforeach; ?>
+</table>
+
+<p><?php echo \$html->link('Add New ${2}', '/admin/${3}/add',array('class'=>'add')) ?></p>
+
+<?php if(\$pagination->set(\$paging)):?>
+<div class="page-numbers">
+<ul>
+ <li><?=\$pagination->show('Show ')?></li>
+ <li><?=\$pagination->result('Results: ')?></li>
+ <li><?=\$pagination->prev('Prev')?></li>
+ <li><?=\$pagination->numbers()?></li>
+ <li><?=\$pagination->next('Next')?></li>
+</ul>
+</div>
+
+<?php endif;
+\$row = 1;
+?></string>
+ <key>name</key>
+ <string>Admin_index.thtml (taindex)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>taindex</string>
+ <key>uuid</key>
+ <string>0692BF3F-0092-4DF2-A732-0C6D6B82D4B8</string>
+</dict>
+</plist>
diff --git a/Snippets/Configure::read (cnf).tmSnippet b/Snippets/Configure::read (cnf).tmSnippet
new file mode 100644
index 0000000..d789702
--- /dev/null
+++ b/Snippets/Configure::read (cnf).tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>Configure::read('$0')</string>
+ <key>name</key>
+ <string>Configure::read (cnf)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>cnf</string>
+ <key>uuid</key>
+ <string>48C94957-8681-4182-8523-63EC111901B8</string>
+</dict>
+</plist>
diff --git a/Snippets/Configure::write (cnf).tmSnippet b/Snippets/Configure::write (cnf).tmSnippet
new file mode 100644
index 0000000..45da44f
--- /dev/null
+++ b/Snippets/Configure::write (cnf).tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>Configure::write('$1', $2);</string>
+ <key>name</key>
+ <string>Configure::write (cnf)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>cnf</string>
+ <key>uuid</key>
+ <string>C7D2E38F-957E-491B-B92D-0E818BF22A5A</string>
+</dict>
+</plist>
diff --git a/Snippets/Controller Admin Section (cadmin).plist b/Snippets/Controller Admin Section (cadmin).plist
new file mode 100644
index 0000000..706a0c2
--- /dev/null
+++ b/Snippets/Controller Admin Section (cadmin).plist
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>/** \name admin section for ${1:PluralPart}sController
+**/
+//@{
+
+
+/** \\brief index the model for return to a view
+ \\author `echo $TM_AUTHOR` `echo $TM_ORGANIZATION_NAME`
+ \\date `TZ=GMT date +%Y-%m-%d # T%H:%M:%SZ`
+
+ \\sa
+**/
+function ${2:admin_}index()
+{
+ \$this->layout = '${5:admin}';
+ \$data = \$this->$1->findAll(\$conditions=null, \$fields=null, \$this->order, \$this->show, \$this->page);
+
+ //\$paging['style'] = 'ajax';
+ \$paging['link'] = '/admin/$3/?show='.\$this->show.'&sort='.\$this->sortBy.'&direction='.\$this->direction.'&page=';
+
+ \$paging['count'] = \$this->$1->findCount(\$conditions=null);
+ \$paging['show'] = array('10','25','50');
+ \$paging['page'] = \$this->page;
+ \$paging['limit'] = \$this->show;
+ \$paging['direction'] = \$this->direction;
+
+ \$this->set('paging',\$paging);
+ \$this->set('data',\$data);
+ \$this->set('paging',\$paging);
+ \$this->set('data',\$this->$1->findAll());
+} // END function ${2}index
+
+/** \\brief view a single model item
+ \\author `echo $TM_AUTHOR` `echo $TM_ORGANIZATION_NAME`
+ \\date `TZ=GMT date +%Y-%m-%d # T%H:%M:%SZ`
+ \\param id id of model item to pass to view
+ \\sa
+**/
+function ${2}view(\$id)
+{
+ \$this->layout = '${5}';
+ \$this->$1->id = \$id;
+ \$this->set('data', \$this->$1->read());
+}
+
+/** \\brief add a single model item
+ \\author `echo $TM_AUTHOR` `echo $TM_ORGANIZATION_NAME`
+ \\date `TZ=GMT date +%Y-%m-%d # T%H:%M:%SZ`
+
+ \\sa
+**/
+function ${2}add()
+{
+ \$this->layout = '${5}';
+ if (empty(\$this->params['data']))
+ {
+ \$this->render();
+ }
+ else
+ {
+ if (\$this->$1->save(\$this->params['data']))
+ {
+ \$this->Session->setFlash('Your $1 has been saved');
+ \$this->redirect('${3:/admin}/${4:${1/./\l$0/}s}/index');
+ }
+ else
+ {
+ \$this->set('data', \$this->params['data']);
+ \$this->validateErrors(\$this->$1);
+ \$this->render();
+ }
+ }
+} // END function ${2}add
+
+/** \\brief delete a single model item
+ \\author `echo $TM_AUTHOR` `echo $TM_ORGANIZATION_NAME`
+ \\date `TZ=GMT date +%Y-%m-%d # T%H:%M:%SZ`
+ \\param id id of model item delete
+ \\sa
+**/
+function ${2}delete(\$id) {
+ \$this->layout = '${5:admin}';
+ if (\$this->$1->del(\$id))
+ {
+ \$this->Session->setFlash('The $1 with id: '.\$id.' has been deleted.');
+ \$this->redirect('${3}/${4}/index');
+ }
+} // END function ${2}delete
+
+/** \\brief edit a single model item
+ \\author `echo $TM_AUTHOR` `echo $TM_ORGANIZATION_NAME`
+ \\date `TZ=GMT date +%Y-%m-%d # T%H:%M:%SZ`
+ \\param id id of model item to edit
+ \\sa
+**/
+function ${2}edit(\$id=null) {
+ \$this->layout = '${5:admin}';
+ if (empty(\$this->params['data']))
+ {
+ \$this->$1->setId(\$id);
+ \$this->params['data'] = \$this->$1->read();
+ \$this->set('data', \$this->params['data']);
+ \$this->render();
+ }
+ else
+ {
+ \$this->$1->set(\$this->params['data']);
+ if ( \$this->$1->save())
+ {
+
+ \$this->Session->setFlash('Your $1 has been updated.');
+ \$this->redirect('${3}/${4}/index');
+ }
+ else
+ {
+ \$this->set('data', \$this->params['data']);
+ \$this->validateErrors(\$this->$1);
+ \$this->render();
+ }
+ }
+} // END function ${2}edit
+//@}</string>
+ <key>name</key>
+ <string>Controller Admin Section (cadmin)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>cadmin</string>
+ <key>uuid</key>
+ <string>68F5651C-065F-45AE-8F92-374434920BCF</string>
+</dict>
+</plist>
diff --git a/Snippets/Controller.plist b/Snippets/Controller.plist
new file mode 100644
index 0000000..1928cc6
--- /dev/null
+++ b/Snippets/Controller.plist
@@ -0,0 +1,63 @@
+<?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><?php
+/** \brief ${2:undocumented class}
+
+ &copy; Copyright `date +%Y` `echo $TM_ORGANIZATION_NAME` - `echo $TM_AUTHOR`. All Rights Reserved.
+
+ \\author `echo $TM_AUTHOR` `echo $TM_ORGANIZATION_NAME`
+ \\author \$LastChangedBy\$
+ \\date `TZ=GMT date +%Y-%m-%d # T%H:%M:%SZ`
+ \\date \$LastChangedDate\$
+ \\version \$Rev\$
+ \\sa
+**/
+class ${1:PluralPart}sController extends AppController
+{
+ var \$name = '$1s';
+ ${3:var \$scaffold;}
+ ${4:var \$helpers = array(${5:'html', 'ajax', 'text', 'time'}${6:,helpers});}
+ ${7:var \$components = array(${8:'email'}${9:,components});}
+ $0
+
+
+ function __construct() {
+ parent::__construct();
+ }
+
+
+ /** \\brief index the model for return to a view
+ \\author `echo $TM_AUTHOR` `echo $TM_ORGANIZATION_NAME`
+ \\date `TZ=GMT date +%Y-%m-%d # T%H:%M:%SZ`
+
+ \\sa
+ **/
+ function index()
+ {
+ \$this->set('data',\$this->$1->findAll());
+ } // END function index
+
+ function ${10}view(\$id)
+ {
+ \$this->$1->id = \$id;
+ \$this->set('data', \$this->$1->read());
+ }
+
+
+
+
+} // END class $1sController
+?></string>
+ <key>name</key>
+ <string>Controller (ccontroller)</string>
+ <key>scope</key>
+ <string>source.php, text.html.basic</string>
+ <key>tabTrigger</key>
+ <string>ccontrol</string>
+ <key>uuid</key>
+ <string>03D809B4-7F9C-4F30-A402-60DDF7F8EBE6</string>
+</dict>
+</plist>
diff --git a/Snippets/Docblock.tmSnippet b/Snippets/Docblock.tmSnippet
new file mode 100644
index 0000000..3286a68
--- /dev/null
+++ b/Snippets/Docblock.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>
+* </string>
+ <key>keyEquivalent</key>
+ <string>
</string>
+ <key>name</key>
+ <string>Docblock</string>
+ <key>scope</key>
+ <string>comment.block.php, comment.block.documentation.phpdoc</string>
+ <key>uuid</key>
+ <string>C5C4E48D-F3E1-473C-84A0-5389E4BD1438</string>
+</dict>
+</plist>
diff --git a/Snippets/Dox Doc (cdoc) page.plist b/Snippets/Dox Doc (cdoc) page.plist
new file mode 100644
index 0000000..ad4f6b1
--- /dev/null
+++ b/Snippets/Dox Doc (cdoc) page.plist
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string><?php
+/*! \page ${1:$TM_FILEPATH} ${2:description}
+
+ &copy; Copyright `date +%Y` `echo $TM_ORGANIZATION_NAME` - `echo $TM_AUTHOR`. All Rights Reserved.
+
+ \\author `echo $TM_AUTHOR` `echo $TM_ORGANIZATION_NAME`
+ \\author \$LastChangedBy\$
+ \\date `TZ=GMT date +%Y-%m-%d # T%H:%M:%SZ`
+ \\date \$LastChangedDate\$
+ \\version \$Rev\$
+ \sa
+*/ ?>
+$0</string>
+ <key>name</key>
+ <string>Dox Doc (cdoc) page</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>cdoc</string>
+ <key>uuid</key>
+ <string>11F91D5A-CD81-4327-AC2F-ECD768167825</string>
+</dict>
+</plist>
diff --git a/Snippets/Dox Doc (cdoc).plist b/Snippets/Dox Doc (cdoc).plist
new file mode 100644
index 0000000..8bb0598
--- /dev/null
+++ b/Snippets/Dox Doc (cdoc).plist
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>/*! \brief ${2:undocumented class}
+
+ &copy; Copyright `date +%Y` `echo $TM_ORGANIZATION_NAME` - `echo $TM_AUTHOR`. All Rights Reserved.
+
+ \\author `echo $TM_AUTHOR` `echo $TM_ORGANIZATION_NAME`
+ \\author \$LastChangedBy\$
+ \\date `TZ=GMT date +%Y-%m-%d # T%H:%M:%SZ`
+ \\date \$LastChangedDate\$
+ \\version \$Rev\$
+ \sa
+*/</string>
+ <key>name</key>
+ <string>Dox Doc (cdoc) class</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>cdoc</string>
+ <key>uuid</key>
+ <string>B6D99D4B-D003-41FC-896B-75DD80915775</string>
+</dict>
+</plist>
diff --git a/Snippets/Model.plist b/Snippets/Model.plist
new file mode 100644
index 0000000..a83dc1f
--- /dev/null
+++ b/Snippets/Model.plist
@@ -0,0 +1,33 @@
+<?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><?php
+/*! \brief ${2:undocumented class}
+
+ &copy; Copyright `date +%Y` `echo $TM_ORGANIZATION_NAME` - `echo $TM_AUTHOR`. All Rights Reserved.
+
+ \\author `echo $TM_AUTHOR` `echo $TM_ORGANIZATION_NAME`
+ \\author \$LastChangedBy\$
+ \\date `TZ=GMT date +%Y-%m-%d # T%H:%M:%SZ`
+ \\date \$LastChangedDate\$
+ \\version \$Rev\$
+ \sa
+*/
+class ${1:Singular} extends AppModel {
+ var \$name = '$1';
+ $0
+} // END class $1
+
+?></string>
+ <key>name</key>
+ <string>Model (cmodel)</string>
+ <key>scope</key>
+ <string>source.php, text.html.basic</string>
+ <key>tabTrigger</key>
+ <string>cmodel</string>
+ <key>uuid</key>
+ <string>91FFD2A3-AAC0-40AF-9807-1963325EBCD9</string>
+</dict>
+</plist>
diff --git a/Snippets/autoComplete (tauto).plist b/Snippets/autoComplete (tauto).plist
new file mode 100644
index 0000000..14ec66a
--- /dev/null
+++ b/Snippets/autoComplete (tauto).plist
@@ -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><p>${7:<label for="${8:$6}">${9:text for label}</label>}
+<?php echo \$html->tagErrorMsg('$1/$2', '${11:validation error message.}') ?>
+<?php echo \$ajax->autoComplete('${1:Model}/${2:field}', '/bare/${3:controller}/${4:action}', array('cols'=>'${5:cols}','id'=>'${6:$1_$2}')) ?>${10:} </p>
+$0</string>
+ <key>name</key>
+ <string>autoComplete (tauto)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tauto</string>
+ <key>uuid</key>
+ <string>A816AFAD-23C0-4357-A716-F0262464B59F</string>
+</dict>
+</plist>
diff --git a/Snippets/checkbox (tcheck).plist b/Snippets/checkbox (tcheck).plist
new file mode 100644
index 0000000..a7fdd29
--- /dev/null
+++ b/Snippets/checkbox (tcheck).plist
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string><p>${5:<label for="$4">${6:text for label}</label>}
+<?php echo \$html->checkbox('${1:Model}/${2:field}', '${3:title}',array('id'=>'${4:$1_$2}')) ?></p>$0</string>
+ <key>name</key>
+ <string>checkbox (tcheck)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>tcheck</string>
+ <key>uuid</key>
+ <string>804A6B8D-560F-4D96-8F8A-0BBBDE8EB72E</string>
+</dict>
+</plist>
diff --git a/Snippets/css (tcss).plist b/Snippets/css (tcss).plist
new file mode 100644
index 0000000..4a45143
--- /dev/null
+++ b/Snippets/css (tcss).plist
@@ -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><?php echo \$html->css('${1:linkText}'); ?></string>
+ <key>name</key>
+ <string>css (tcss)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tcss</string>
+ <key>uuid</key>
+ <string>02430C52-3C71-4A9E-B354-C63F9A56AD79</string>
+</dict>
+</plist>
diff --git a/Snippets/date (tdate).plist b/Snippets/date (tdate).plist
new file mode 100644
index 0000000..49fbb88
--- /dev/null
+++ b/Snippets/date (tdate).plist
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string><p>${5:<label for="$4">${6:text for label}</label>}
+<?php echo \$html->tagErrorMsg('$1/$2', '${8:validation error message.}') ?>
+<?php echo \$html->dateTimeOptionTag('${1:Model}/${2:field}', ${3:'DMY'},NULL,NULL, array('id'=>'${4:$1_$2}')) ?>${7:
+}</p>$0</string>
+ <key>name</key>
+ <string>date (tdate)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>tdate</string>
+ <key>uuid</key>
+ <string>5DC60BA0-43CD-4281-B219-994B0518A888</string>
+</dict>
+</plist>
diff --git a/Snippets/dateTime (tdate).plist b/Snippets/dateTime (tdate).plist
new file mode 100644
index 0000000..1baa25f
--- /dev/null
+++ b/Snippets/dateTime (tdate).plist
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string><p>${6:<label for="$5">${7:text for label}</label>}
+<?php echo \$html->tagErrorMsg('$1/$2', '${9:validation error message.}') ?>
+<?php echo \$html->dateTimeOptionTag('${1:Model}/${2:field}', ${3:'DMY'},${4:12},NULL, array('id'=>'${5:$1_$2}')) ?>${8:
+}</p>$0</string>
+ <key>name</key>
+ <string>dateTime (tdate)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>tdate</string>
+ <key>uuid</key>
+ <string>A40DC508-E170-4B06-8D4A-5534A41AEB6E</string>
+</dict>
+</plist>
diff --git a/Snippets/debug (tdebug).plist b/Snippets/debug (tdebug).plist
new file mode 100644
index 0000000..114e812
--- /dev/null
+++ b/Snippets/debug (tdebug).plist
@@ -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><?php debug ($${1:whatToEcho}); ?></string>
+ <key>name</key>
+ <string>debug (tdebug)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tdebug</string>
+ <key>uuid</key>
+ <string>B7351596-BC93-4E7A-A996-C6257E4F7B09</string>
+</dict>
+</plist>
diff --git a/Snippets/e($data['Model']['field'] (te).plist b/Snippets/e($data['Model']['field'] (te).plist
new file mode 100644
index 0000000..8def83b
--- /dev/null
+++ b/Snippets/e($data['Model']['field'] (te).plist
@@ -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><${4:p}>${3:Label: }<?php e(\$data['${1:Model}']['${2:field}']); ?></$4></string>
+ <key>name</key>
+ <string>e($data['Model']['field']) (te)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>te</string>
+ <key>uuid</key>
+ <string>E647EDCD-5620-4B63-8699-52C7D7AD9A7E</string>
+</dict>
+</plist>
diff --git a/Snippets/echo (techo).plist b/Snippets/echo (techo).plist
new file mode 100644
index 0000000..a6238b7
--- /dev/null
+++ b/Snippets/echo (techo).plist
@@ -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><?php echo $${1:whatToEcho}; ?></string>
+ <key>name</key>
+ <string>echo (techo)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>techo</string>
+ <key>uuid</key>
+ <string>F5418E73-4DDB-4863-ACCC-A32504EE05FD</string>
+</dict>
+</plist>
diff --git a/Snippets/edate (ted).plist b/Snippets/edate (ted).plist
new file mode 100644
index 0000000..bdc928e
--- /dev/null
+++ b/Snippets/edate (ted).plist
@@ -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><${4:p}>${3:Label: }<?php e(\$time->niceShort(\$data['${1:Model}']['${2:field}'])); ?></$4></string>
+ <key>name</key>
+ <string>edate (ted)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>ted</string>
+ <key>uuid</key>
+ <string>A1C0B68C-31E6-4ABE-A93B-6DA90E3B62D0</string>
+</dict>
+</plist>
diff --git a/Snippets/else (telse).plist b/Snippets/else (telse).plist
new file mode 100644
index 0000000..92691ad
--- /dev/null
+++ b/Snippets/else (telse).plist
@@ -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><?php else: ?>
+ ${0:# code...}
+<?php endif; ?></string>
+ <key>name</key>
+ <string>else (telse)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>telse</string>
+ <key>uuid</key>
+ <string>9DC30C4D-88A1-4702-802A-34680029D03B</string>
+</dict>
+</plist>
diff --git a/Snippets/else (telse).tmSnippet b/Snippets/else (telse).tmSnippet
new file mode 100644
index 0000000..69e1c2a
--- /dev/null
+++ b/Snippets/else (telse).tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string><?php else: ?>
+ ${0:# code...}
+<?php endif; ?></string>
+ <key>name</key>
+ <string>else (telse)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>telse</string>
+ <key>uuid</key>
+ <string>9DC30C4D-88A1-4702-802A-34680029D03B</string>
+</dict>
+</plist>
diff --git a/Snippets/elseif (telseif).plist b/Snippets/elseif (telseif).plist
new file mode 100644
index 0000000..5f81f4e
--- /dev/null
+++ b/Snippets/elseif (telseif).plist
@@ -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><?php elseif (\$${1:condition}): ?>
+ ${0:# code...}
+<?php endif; ?></string>
+ <key>name</key>
+ <string>elseif (telseif)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>telseif</string>
+ <key>uuid</key>
+ <string>A1D023D8-B493-4146-88EB-B0C0BC90BF33</string>
+</dict>
+</plist>
diff --git a/Snippets/elseif (telseif).tmSnippet b/Snippets/elseif (telseif).tmSnippet
new file mode 100644
index 0000000..864524e
--- /dev/null
+++ b/Snippets/elseif (telseif).tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string><?php elseif (\$${1:condition}): ?>
+ ${0:# code...}
+<?php endif; ?></string>
+ <key>name</key>
+ <string>elseif (telseif)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>telseif</string>
+ <key>uuid</key>
+ <string>A1D023D8-B493-4146-88EB-B0C0BC90BF33</string>
+</dict>
+</plist>
diff --git a/Snippets/fieldset (fieldset).plist b/Snippets/fieldset (fieldset).plist
new file mode 100644
index 0000000..fb1efe6
--- /dev/null
+++ b/Snippets/fieldset (fieldset).plist
@@ -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><fieldset>
+ <legend>${1:Legend Text Here}</legend>
+ ${0:fieldset contents}
+</fieldset></string>
+ <key>name</key>
+ <string>fieldset (fieldset)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tfieldset</string>
+ <key>uuid</key>
+ <string>E090FDF7-7E71-4C7C-A19E-0DA3B0746DF6</string>
+</dict>
+</plist>
diff --git a/Snippets/foreach (cforeach).plist b/Snippets/foreach (cforeach).plist
new file mode 100644
index 0000000..bd328f7
--- /dev/null
+++ b/Snippets/foreach (cforeach).plist
@@ -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><?php foreach (\$${1:array} as \$${2:key}=>\$${3:value}): ?>
+ ${0:# code...}
+<?php endforeach; ?></string>
+ <key>name</key>
+ <string>foreach (tforeach)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tforeach</string>
+ <key>uuid</key>
+ <string>EE778BD2-3985-45F5-9885-A24EEE5C02DB</string>
+</dict>
+</plist>
diff --git a/Snippets/formTag (tform).plist b/Snippets/formTag (tform).plist
new file mode 100644
index 0000000..ffbbb5a
--- /dev/null
+++ b/Snippets/formTag (tform).plist
@@ -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><?php echo \$html->formTag('${1:controller}/${2:action}'); ?>
+ ${0:form stuff here}
+</form>
+</string>
+ <key>name</key>
+ <string>formTag (tform)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tform</string>
+ <key>uuid</key>
+ <string>DA294F6C-74CB-4CD9-89AD-C12D83745372</string>
+</dict>
+</plist>
diff --git a/Snippets/function (cfunct).plist b/Snippets/function (cfunct).plist
new file mode 100644
index 0000000..3cae4f5
--- /dev/null
+++ b/Snippets/function (cfunct).plist
@@ -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>function ${2:FunctionName} ( \$${3:value}${4:=''} ) {
+ ${0:# code...}
+ ${5:\$this->render();}
+} // end function $2</string>
+ <key>name</key>
+ <string>function (cfunct)</string>
+ <key>scope</key>
+ <string>source.php,text.html.basic</string>
+ <key>tabTrigger</key>
+ <string>cfunct</string>
+ <key>uuid</key>
+ <string>A7B72B5C-5E87-44CA-9FDF-6CF6FA3C50F5</string>
+</dict>
+</plist>
diff --git a/Snippets/hidden (thidden).plist b/Snippets/hidden (thidden).plist
new file mode 100644
index 0000000..d306fce
--- /dev/null
+++ b/Snippets/hidden (thidden).plist
@@ -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><?php echo \$html->hidden('${1:Model}/${2:field}', ${3: array('value'=>${4:\$variable})}); ?></string>
+ <key>name</key>
+ <string>hidden (thidden)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>thidden</string>
+ <key>uuid</key>
+ <string>4C9C0C35-D288-4C9C-A18B-1840F0652618</string>
+</dict>
+</plist>
diff --git a/Snippets/if (tif).plist b/Snippets/if (tif).plist
new file mode 100644
index 0000000..e2cdb20
--- /dev/null
+++ b/Snippets/if (tif).plist
@@ -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><?php if (\$${1:condition}): ?>
+ ${0:# code...}
+<?php endif; ?></string>
+ <key>name</key>
+ <string>if (tif)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tif</string>
+ <key>uuid</key>
+ <string>ADDD23F4-71AA-412C-8D9D-D15E4CF67839</string>
+</dict>
+</plist>
diff --git a/Snippets/if (tif).tmSnippet b/Snippets/if (tif).tmSnippet
new file mode 100644
index 0000000..a3d0578
--- /dev/null
+++ b/Snippets/if (tif).tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string><?php if (\$${1:condition}): ?>
+ ${0:# code...}
+<?php endif; ?></string>
+ <key>name</key>
+ <string>if (tif)</string>
+ <key>scope</key>
+ <string>source.php.cake</string>
+ <key>tabTrigger</key>
+ <string>tif</string>
+ <key>uuid</key>
+ <string>ADDD23F4-71AA-412C-8D9D-D15E4CF67839</string>
+</dict>
+</plist>
diff --git a/Snippets/image (timage).plist b/Snippets/image (timage).plist
new file mode 100644
index 0000000..89df686
--- /dev/null
+++ b/Snippets/image (timage).plist
@@ -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><?php echo \$html->image('${1:image.png}', array('alt'=>'${2:altText}')); ?></string>
+ <key>name</key>
+ <string>image (timage)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>timage</string>
+ <key>uuid</key>
+ <string>0552C838-D090-4B36-8686-24D958F4435F</string>
+</dict>
+</plist>
diff --git a/Snippets/input (tinput).plist b/Snippets/input (tinput).plist
new file mode 100644
index 0000000..c6a8172
--- /dev/null
+++ b/Snippets/input (tinput).plist
@@ -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><p>${5:<label for="$4">${6:text for label}</label>}${7:
+<?php echo \$html->tagErrorMsg('$1/$2', '${8:validation error message.}') ?>}
+<?php echo \$html->input('${1:Model}/${2:field}', array('cols'=>'${3:cols}','id'=>'${4:$1_$2}')) ?>
+</p>
+$0</string>
+ <key>name</key>
+ <string>input (tinput)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tinput</string>
+ <key>uuid</key>
+ <string>6BB5DE74-38D2-4AC1-A146-C5EF11410C12</string>
+</dict>
+</plist>
diff --git a/Snippets/link (tlink).plist b/Snippets/link (tlink).plist
new file mode 100644
index 0000000..244dc72
--- /dev/null
+++ b/Snippets/link (tlink).plist
@@ -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><?php echo \$html->link('${1:linkText}', '${2:linkPath}', ${3: array('value'=>${4:\$variable})}); ?>$0</string>
+ <key>name</key>
+ <string>link (tlink)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tlink</string>
+ <key>uuid</key>
+ <string>B67591FC-EA93-409B-805F-43F7399FF2E9</string>
+</dict>
+</plist>
diff --git a/Snippets/password (tpassword).plist b/Snippets/password (tpassword).plist
new file mode 100644
index 0000000..6749793
--- /dev/null
+++ b/Snippets/password (tpassword).plist
@@ -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><?php echo \$html->password('${1:Model}/${2:field}', array('cols'=>'${3:cols}')) ?></p>
+ ${4:<?php echo \$html->tagErrorMsg('$1/$2', '${5:validation error message.}') ?>}
+$0</string>
+ <key>name</key>
+ <string>password (tpassword)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tpassword</string>
+ <key>uuid</key>
+ <string>A7FA1064-FADC-491A-B701-8E296DAD892E</string>
+</dict>
+</plist>
diff --git a/Snippets/renderElement (tre).plist b/Snippets/renderElement (tre).plist
new file mode 100644
index 0000000..14f905d
--- /dev/null
+++ b/Snippets/renderElement (tre).plist
@@ -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><?php echo \$this->renderElement('${1:element}'); ?></string>
+ <key>name</key>
+ <string>renderElement (tre)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tre</string>
+ <key>uuid</key>
+ <string>05126EF1-D822-46C5-B1D5-F0FD47DBE5A9</string>
+</dict>
+</plist>
diff --git a/Snippets/requestAction (tra).plist b/Snippets/requestAction (tra).plist
new file mode 100644
index 0000000..013b4c6
--- /dev/null
+++ b/Snippets/requestAction (tra).plist
@@ -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><?php \$this->requestAction('${1:bare/}${2:controller}/${3:action}'${4:, array('${5:key}'='${6:value})}) ?></string>
+ <key>name</key>
+ <string>requestAction (tra)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tra</string>
+ <key>uuid</key>
+ <string>FA824CBC-0414-46E1-9DD0-F202E5537BCE</string>
+</dict>
+</plist>
diff --git a/Snippets/select (tselect).plist b/Snippets/select (tselect).plist
new file mode 100644
index 0000000..eb7997f
--- /dev/null
+++ b/Snippets/select (tselect).plist
@@ -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>${4:<?php echo \$html->tagErrorMsg('$1/$2', '${5:validation error message.}') ?>
+<?php echo \$html->selectTag('${1:Model}/${2:field}', \$${3:arrayOfOptions},array('id'=>'$1_$2'))?>}
+$0</string>
+ <key>name</key>
+ <string>select (tselect)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tselect</string>
+ <key>uuid</key>
+ <string>D7960616-C61B-4770-BE9C-7B4CD6A7E31D</string>
+</dict>
+</plist>
diff --git a/Snippets/submit (tsubmit).plist b/Snippets/submit (tsubmit).plist
new file mode 100644
index 0000000..188bfb5
--- /dev/null
+++ b/Snippets/submit (tsubmit).plist
@@ -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><?php echo \$html->submit('${1:Save}',array('${2:class}'=>'${3:submit-form}')) ?>$0</string>
+ <key>name</key>
+ <string>submit (tsubmit)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>tsubmit</string>
+ <key>uuid</key>
+ <string>BC5DE605-A9FE-4BF7-A06E-4F1FE910FE18</string>
+</dict>
+</plist>
diff --git a/Snippets/textArea (ttext).plist b/Snippets/textArea (ttext).plist
new file mode 100644
index 0000000..6942092
--- /dev/null
+++ b/Snippets/textArea (ttext).plist
@@ -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>${5:<?php echo \$html->tagErrorMsg('$1/$2', '${6:validation error message.}') ?>}
+<?php echo \$html->textarea('${1:Model}/${2:field}', array('rows'=>'${3:rows}','cols'=>'${4:cols}')) ?>
+</p>
+$0</string>
+ <key>name</key>
+ <string>textArea (ttext)</string>
+ <key>scope</key>
+ <string>text.html</string>
+ <key>tabTrigger</key>
+ <string>ttext</string>
+ <key>uuid</key>
+ <string>FE6BA4D6-3F95-452B-986C-90412875F0BB</string>
+</dict>
+</plist>
diff --git a/Syntaxes/Cake.plist b/Syntaxes/Cake.plist
new file mode 100644
index 0000000..77b818a
--- /dev/null
+++ b/Syntaxes/Cake.plist
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>fileTypes</key>
+ <array>
+ <string>ctp</string>
+ <string>php</string>
+ </array>
+ <key>foldingStartMarker</key>
+ <string>(/\*|\{|\()</string>
+ <key>foldingStopMarker</key>
+ <string>(\*/|\}|\))</string>
+ <key>name</key>
+ <string>CakePHP</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>\{</string>
+ <key>end</key>
+ <string>\?></string>
+ <key>name</key>
+ <string>class.controller.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\$this-></string>
+ <key>name</key>
+ <string>keyword.this.class.cake</string>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.method.class.cake</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>($this->)([a-zA-Z]+)(\()\b</string>
+ <key>name</key>
+ <string>support.method.class.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\$this->[a-zA-Z]*</string>
+ <key>name</key>
+ <string>support.member.class.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(bind|unbind|hasField|field|read|save|saveField|delete|exists|hasAny|find|query|validates|invalidate|invalidFields|isForeignKey|getID|getLastInsertID|getInsertID|getNumRows|getAffectedRows|setDatasource|beforeFind|afterFind|beforeSave|afterSave|beforeDelete|afterDelete)\b</string>
+ <key>name</key>
+ <string>support.function.model.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(hasOne|belongsTo|hasMany|hasAndBelongsToMany|cacheQueries|data|displayField|id|logTransactions|name|primaryKey|recursive|useDbConfig|useTable|validate|validationErrors)\b</string>
+ <key>name</key>
+ <string>support.property.model.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(redirect|set|setAction|validate|validateErrors|render|referer|flash|flashOut|postCondtions|cleanUpFields|beforeFilter|beforeRender|afterFilter)\b</string>
+ <key>name</key>
+ <string>support.function.controller.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(name|action|autoLayout|autoRender|base|beforeFilter|cacheAction|components|data|helpers|here|layout|output|pageTitle|params|persistModel|plugin|uses|view|viewPath|webroot)\b</string>
+ <key>name</key>
+ <string>support.property.controller.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(APP|APP_DIR|APP_PATH|CACHE|CAKE|CAKE_CORE_INCLUDE_PATH|COMPONENTS|CONFIGS|CONTROLLER_TESTS|CONTROLLERS|CORE_PATH|CSS|DS|ELEMENTS|HELPER_TESTS|HELPERS|INFLECTIONS|JS|LAYOUTS|LIB_TESTS|LIBS|LOGS|MODEL_TESTS|MODELS|MODULES|MONTH|PEAR|ROOT|SCRIPTS|SECOND|TESTS|TMP|VENDORS|VIEWS|WEBROOT_DIR|WEBSERVICES|WWW_ROOT)\b</string>
+ <key>name</key>
+ <string>support.constant.core.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(setId|findBySql)\b</string>
+ <key>name</key>
+ <string>invalid.deprecated.model.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(areaTag|charsetTag|checkboxTag|contentTag|cssTag|fileTag|formTag|guiListTag|hiddenTag|imageTag|inputTag|javascriptIncludeTag|javascriptTag|linkEmail|linkOut|linkTo|parseHtmlOptions|passwordTag|radioTags|submitTag|tag|urlFor)\b</string>
+ <key>name</key>
+ <string>invalid.deprecated.helper.html.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(linkToRemote)\b</string>
+ <key>name</key>
+ <string>invalid.deprecated.helper.ajax.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(isFieldError|labelTag|divTag|pTag|generate(Input|Checkbox|Area|Select|submit)Div|generate(Date|DateTime|Fields))\b</string>
+ <key>name</key>
+ <string>support.function.helper.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(addCrumb|charset|url|link|submit|password|textarea|checkbox|css|file|getCrumbs|hidden|image|input|radio|tableHeaders|tableCells|validate|tagIsValid|validateErrors|tagErrorMsg|selectTag|(day|year|month|hour|minute|meridian|date)OptionTag)\b</string>
+ <key>name</key>
+ <string>support.function.helper.html.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(link|remoteFunction|remoteTimer|form|submit|observe(Field|Form)|autoComplete|drag|drop|dropRemote|slider|editor|sortable|)\b</string>
+ <key>name</key>
+ <string>support.function.helper.ajax.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(read|append|write|get(Md5|Size|Ext|Name|Owner|Group|Folder|Chmod|FullPath)|create|exists|delete|writable|executable|readable|last(Access|Change))\b</string>
+ <key>name</key>
+ <string>support.function.file.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(write)\b</string>
+ <key>name</key>
+ <string>support.function.log.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(precision|toReadableSize|toPercentage)\b</string>
+ <key>name</key>
+ <string>support.function.helper.number.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(startup|setAjax|is(Ajax|Xml|Rss|Atom|Post|Get|Delete|Mobile)|getAjaxVersion|setContent|get(Referer|ClientIP)|strip(WhiteSpace|Images|Scripts|All|tags)|accepts|prefers)\b</string>
+ <key>name</key>
+ <string>support.function.component.requestHandler.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(write|read|del|delete|check|error|setFlash|flash|renew|valid)\b</string>
+ <key>name</key>
+ <string>support.function.component.session.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(startup|blackHole|requirePost|requireAuth)\b</string>
+ <key>name</key>
+ <string>support.function.component.security.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(paranoid|sql|html|cleanArray|cleanArrayR|cleanValue|formatColumns)\b</string>
+ <key>name</key>
+ <string>support.function.component.sanitize.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(trim|fromString|nice|niceShort|isToday|daysAsSql|dayAsSql|isThisYear|wasYesterday|isTomorrow|toUnix|toAtom|toRSS|timeAgoInWords|relativeTime|wasWithinLast)\b</string>
+ <key>name</key>
+ <string>support.function.helper.time.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(highlight|stripLinks|autoLinkUrls|autoLinkEmails|autoLink|truncate|excerpt|flay)\b</string>
+ <key>name</key>
+ <string>support.function.helper.text.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(codeBlock|link|linkOut|escape(String|Script)|event|(cache|write)Events|includeScript|object)\b</string>
+ <key>name</key>
+ <string>support.function.helper.javascript.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(findIn|cleanup|add|plus|totals|filter|walk|sprintf|extract|unique|makeUnique|joinWith|threaded|multi_search)\b</string>
+ <key>name</key>
+ <string>support.function.neatArray.cake</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(load(Models|PluginModels|View|Model|Controllers|PluginController)|listClasses|config|gendor|debug|aa|ha|a|e|low|up|r|pr|params|am|setUri|env|cache|clearCache|stripslashes_deep|countDim|LogError|fileExistsInPath|convertSlash)\b</string>
+ <key>name</key>
+ <string>support.function.basics.cake</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>source.php</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>text.html.basic</string>
+ </dict>
+ </array>
+ <key>scopeName</key>
+ <string>source.php.cake</string>
+ <key>uuid</key>
+ <string>3DF2FE0B-94CC-4EE2-A50A-BD4823D1B09D</string>
+</dict>
+</plist>
diff --git a/info.plist b/info.plist
new file mode 100644
index 0000000..fca09b5
--- /dev/null
+++ b/info.plist
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>name</key>
+ <string>CakePHP</string>
+ <key>ordering</key>
+ <array>
+ <string>3DF2FE0B-94CC-4EE2-A50A-BD4823D1B09D</string>
+ <string>DDF54CE1-D849-40DE-A765-2676DB5263CB</string>
+ <string>D7FAB954-4DAB-4213-9023-CE52AD04BE46</string>
+ <string>365F0868-308E-44BC-8781-2B65CBF48B74</string>
+ <string>F3AC64D9-C024-4ACA-9805-0B3DC79915DE</string>
+ <string>D14A7BF7-FA53-4F5D-B96C-6D2617D1E6AE</string>
+ <string>F6EF87FA-0A05-4B5F-AECA-EE1455B18FF1</string>
+ <string>A40DC508-E170-4B06-8D4A-5534A41AEB6E</string>
+ <string>5DC60BA0-43CD-4281-B219-994B0518A888</string>
+ <string>804A6B8D-560F-4D96-8F8A-0BBBDE8EB72E</string>
+ <string>68F5651C-065F-45AE-8F92-374434920BCF</string>
+ <string>0692BF3F-0092-4DF2-A732-0C6D6B82D4B8</string>
+ <string>B6D99D4B-D003-41FC-896B-75DD80915775</string>
+ <string>11F91D5A-CD81-4327-AC2F-ECD768167825</string>
+ <string>48C94957-8681-4182-8523-63EC111901B8</string>
+ <string>C7D2E38F-957E-491B-B92D-0E818BF22A5A</string>
+ <string>9D47CB07-6C99-41E0-A098-4521E51A411D</string>
+ <string>D0DB044B-B4C8-48D2-9B5A-7DA354BE04C0</string>
+ <string>2945B997-2C19-449F-A500-6B8B34A2ADEF</string>
+ <string>3A46D51C-1B9D-4A7F-98F3-E38C3243B134</string>
+ <string>33AEB7D5-8837-4204-B0CD-8B9E3906AB84</string>
+ <string>CD815D37-3D3E-4086-B5FB-116405F586F1</string>
+ <string>F213051B-2625-4270-A05A-1E5E45FA3C5C</string>
+ <string>E92E5F5B-B9B0-49CB-825E-8A7B9B68B1F2</string>
+ <string>78D7D4AE-A7B6-4B58-B508-EE3DBF175B21</string>
+ <string>EBB8D77D-567A-4B23-B224-7FAFFCCE00FB</string>
+ <string>887062B4-9C60-4656-8808-8F41381AA7F2</string>
+ <string>ADDD23F4-71AA-412C-8D9D-D15E4CF67839</string>
+ <string>9DC30C4D-88A1-4702-802A-34680029D03B</string>
+ <string>A1D023D8-B493-4146-88EB-B0C0BC90BF33</string>
+ <string>C5C4E48D-F3E1-473C-84A0-5389E4BD1438</string>
+ </array>
+ <key>uuid</key>
+ <string>4A2F1F37-F6DA-43A3-B329-CA8DCF017515</string>
+</dict>
+</plist>
