From 4482d900d2babafe4d00efabd4ae7fcb9a0fa810 Mon Sep 17 00:00:00 2001 From: Iristyle Date: Wed, 3 Apr 2013 23:42:06 -0400 Subject: [PATCH 01/14] feat(SublimeText2.PowershellAlias) - new pkg - refactored out of existing SublimeText2.app --- .../SublimeText2.PowershellAlias.nuspec | 21 +++++++++++++++++++ .../tools/ChocolateyInstall.ps1 | 21 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 SublimeText2.PowershellAlias/SublimeText2.PowershellAlias.nuspec create mode 100644 SublimeText2.PowershellAlias/tools/ChocolateyInstall.ps1 diff --git a/SublimeText2.PowershellAlias/SublimeText2.PowershellAlias.nuspec b/SublimeText2.PowershellAlias/SublimeText2.PowershellAlias.nuspec new file mode 100644 index 0000000..8e1d285 --- /dev/null +++ b/SublimeText2.PowershellAlias/SublimeText2.PowershellAlias.nuspec @@ -0,0 +1,21 @@ + + + + SublimeText2.PowershellAlias + Sublime Text 2 Powershell subl Alias + 0.1.0 + Jon Skinner + Ethan J Brown + A Powershell 'subl' alias to easily launch Sublime Text 2 from the command line. Sublime Text 2 is a sophisticated text editor for code, html and prose. + Assumes Sublime Text 2 is already installed to the default location on disk. + + http://www.sublimetext.com/2 + sublime text editor powershell + http://www.sublimetext.com/eula + false + https://github.com/Iristyle/ChocolateyPackages/raw/master/SublimeText2.app/Sublime_Text.png + + + + + diff --git a/SublimeText2.PowershellAlias/tools/ChocolateyInstall.ps1 b/SublimeText2.PowershellAlias/tools/ChocolateyInstall.ps1 new file mode 100644 index 0000000..16a3841 --- /dev/null +++ b/SublimeText2.PowershellAlias/tools/ChocolateyInstall.ps1 @@ -0,0 +1,21 @@ +try { + $package = 'SublimeText2.PowershellAlias' + + $sublDefined = Test-Path function:subl + $profileExists = Test-Path $PROFILE + $sublInProfile = $profileExists -and (((Get-Content $PROFILE) -match '^function\s+subl\s+').Count -gt 0) + + # add subl alias to powershell profile + if (!$sublDefined -and !$sublInProfile) + { + New-Item (Split-Path $PROFILE) -Type Directory -ErrorAction SilentlyContinue + 'function subl { &"${Env:ProgramFiles}\Sublime Text 2\sublime_text.exe" $args }' | + Out-File -FilePath $PROFILE -Append -Encoding UTF8 + Write-Host 'Added subl alias to Powershell profile to launch Sublime Text 2!' + } + + Write-ChocolateySuccess $package +} catch { + Write-ChocolateyFailure $package "$($_.Exception.Message)" + throw +} From 656be7d066b3decbe892eb3aefd5bda20f25cba3 Mon Sep 17 00:00:00 2001 From: Iristyle Date: Wed, 3 Apr 2013 23:59:04 -0400 Subject: [PATCH 02/14] feat(SublimeText2.PackeControl) - new pkg 1.6.3 --- .../SublimeText2.PackageControl.nuspec | 29 +++++++++++++++++++ .../tools/ChocolateyInstall.ps1 | 22 ++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 SublimeText2.PackageControl/SublimeText2.PackageControl.nuspec create mode 100644 SublimeText2.PackageControl/tools/ChocolateyInstall.ps1 diff --git a/SublimeText2.PackageControl/SublimeText2.PackageControl.nuspec b/SublimeText2.PackageControl/SublimeText2.PackageControl.nuspec new file mode 100644 index 0000000..150fb02 --- /dev/null +++ b/SublimeText2.PackageControl/SublimeText2.PackageControl.nuspec @@ -0,0 +1,29 @@ + + + + SublimeText2.PackageControl + Sublime Text 2 Package Control + 1.6.3 + Will Bond + Ethan J Brown + A full-featured package manager that helps discovering, installing, updating and removing packages for Sublime Text 2. It features an automatic upgrader and supports GitHub, BitBucket and a full channel/repository system. + * Easily find, install, upgrade and remove packages without restarting Sublime Text +* Keeps installed packages up-to-date with an auto-upgrade feature +* Downloads packages from GitHub, BitBucket and the custom JSON channel/repository system +* Handles updating packages cloned from GitHub and BitBucket via Git and Hg +* Provides commands for enabling and disabling packages +* Includes a command to bundle any package directory into a .sublime-package file. + Helper package to install Sublime Package Control. + http://wbond.net/sublime_packages/package_control + sublime text editor package + http://www.sublimetext.com/eula + false + https://github.com/Iristyle/ChocolateyPackages/raw/master/SublimeText2.app/Sublime_Text.png + + + + + + + + diff --git a/SublimeText2.PackageControl/tools/ChocolateyInstall.ps1 b/SublimeText2.PackageControl/tools/ChocolateyInstall.ps1 new file mode 100644 index 0000000..f09b780 --- /dev/null +++ b/SublimeText2.PackageControl/tools/ChocolateyInstall.ps1 @@ -0,0 +1,22 @@ +try { + $package = 'SublimeText2.PackageControl' + + # install package control + $installPath = Join-Path $Env:ProgramFiles 'Sublime Text 2' + $sublimeDataPath = Join-Path ([Environment]::GetFolderPath('ApplicationData')) 'Sublime Text 2' + $packagesPath = Join-Path $sublimeDataPath 'Installed Packages' + if (!(Test-Path $packagesPath)) { New-Item $packagesPath -Type Directory } + $packageControl = Join-Path $packagesPath 'Package Control.sublime-package' + + if (!(Test-Path $packageControl)) + { + # http://wbond.net/sublime_packages/package_control/installation + $packageUrl = 'http://sublime.wbond.net/Package%20Control.sublime-package' + Get-ChocolateyWebFile -url $packageUrl -fileFullPath $packageControl + } + + Write-ChocolateySuccess $package +} catch { + Write-ChocolateyFailure $package "$($_.Exception.Message)" + throw +} From 590d7a44f9bb62948ccc30b806e8960375d24fa2 Mon Sep 17 00:00:00 2001 From: Iristyle Date: Thu, 4 Apr 2013 00:06:24 -0400 Subject: [PATCH 03/14] refactor(SublimeText2.app) - strictly wrapper pkg - No more code, as the powershell subl alias and package control have been refactored to separate packages --- SublimeText2.app/SublimeText2.app.nuspec | 14 ++++++- SublimeText2.app/tools/ChocolateyInstall.ps1 | 39 -------------------- 2 files changed, 12 insertions(+), 41 deletions(-) delete mode 100644 SublimeText2.app/tools/ChocolateyInstall.ps1 diff --git a/SublimeText2.app/SublimeText2.app.nuspec b/SublimeText2.app/SublimeText2.app.nuspec index ee4203b..9bf4804 100644 --- a/SublimeText2.app/SublimeText2.app.nuspec +++ b/SublimeText2.app/SublimeText2.app.nuspec @@ -3,11 +3,16 @@ SublimeText2.app Sublime Text 2 - 2.0.1.2217 + 2.0.1.22171 Jon Skinner Ethan J Brown Sublime Text 2 is a sophisticated text editor for code, html and prose. You'll love the slick user interface and extraordinary features. Includes Package Control. - Sublime Text 2 is a sophisticated text editor for code, html and prose. You'll love the slick user interface and extraordinary features. Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use. + Includes Sublime Text 2 AND + + * Package Control + * subl alias for Powershell + + Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use. This brings the Sublime Text full installation version to your system, which has a built-in auto-update mechanism. Furthermore, Sublime Package Control is included. Version 2.0.1 Release Date: 14 July 2012 @@ -115,5 +120,10 @@ http://www.sublimetext.com/eula false https://github.com/Iristyle/ChocolateyPackages/raw/master/SublimeText2.app/Sublime_Text.png + + + + + diff --git a/SublimeText2.app/tools/ChocolateyInstall.ps1 b/SublimeText2.app/tools/ChocolateyInstall.ps1 deleted file mode 100644 index feef69f..0000000 --- a/SublimeText2.app/tools/ChocolateyInstall.ps1 +++ /dev/null @@ -1,39 +0,0 @@ -try { - $package = 'SublimeText2' - #uses InnoSetup - http://unattended.sourceforge.net/InnoSetup_Switches_ExitCodes.html - Install-ChocolateyPackage 'Sublime Text 2.0.1 Setup' 'exe' '/VERYSILENT /NORESTART /TASKS="contextentry"' ` - 'http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1%20Setup.exe' ` - 'http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1%20x64%20Setup.exe' - - # install package control - $installPath = Join-Path $Env:ProgramFiles 'Sublime Text 2' - $sublimeDataPath = Join-Path ([Environment]::GetFolderPath('ApplicationData')) 'Sublime Text 2' - $packagesPath = Join-Path $sublimeDataPath 'Installed Packages' - if (!(Test-Path $packagesPath)) { New-Item $packagesPath -Type Directory } - $packageControl = Join-Path $packagesPath 'Package Control.sublime-package' - - if (!(Test-Path $packageControl)) - { - # http://wbond.net/sublime_packages/package_control/installation - $packageUrl = 'http://sublime.wbond.net/Package%20Control.sublime-package' - Get-ChocolateyWebFile -url $packageUrl -fileFullPath $packageControl - } - - $sublDefined = Test-Path function:subl - $profileExists = Test-Path $PROFILE - $sublInProfile = $profileExists -and (((Get-Content $PROFILE) -match '^function\s+subl\s+').Count -gt 0) - - # add subl alias to powershell profile - if (!$sublDefined -and !$sublInProfile) - { - New-Item (Split-Path $PROFILE) -Type Directory -ErrorAction SilentlyContinue - 'function subl { &"${Env:ProgramFiles}\Sublime Text 2\sublime_text.exe" $args }' | - Out-File -FilePath $PROFILE -Append -Encoding UTF8 - Write-Host 'Added subl alias to Powershell profile to launch Sublime Text 2!' - } - - Write-ChocolateySuccess $package -} catch { - Write-ChocolateyFailure $package "$($_.Exception.Message)" - throw -} From 1e6f643a1b58e1a95e137f20e4ff433a96c581c2 Mon Sep 17 00:00:00 2001 From: Iristyle Date: Thu, 4 Apr 2013 08:54:25 -0400 Subject: [PATCH 04/14] feat(SublimeText2.WebPackages): cache packages --- .../Example.sublime-keymap | 4 + .../AngularJS (CoffeeScript)/README.md | 820 + .../Snippets/Controller/dirty.sublime-snippet | 6 + .../Snippets/Controller/error.sublime-snippet | 6 + .../Controller/formatters.sublime-snippet | 6 + .../Controller/invalid.sublime-snippet | 6 + .../Controller/modelValue.sublime-snippet | 6 + .../Controller/parsers.sublime-snippet | 6 + .../Controller/pristine.sublime-snippet | 6 + .../Controller/render.sublime-snippet | 6 + .../Controller/setValidity.sublime-snippet | 6 + .../Controller/setViewValue.sublime-snippet | 6 + .../Snippets/Controller/valid.sublime-snippet | 6 + .../Controller/viewValue.sublime-snippet | 6 + .../Cookies/$cookieStore.sublime-snippet | 6 + .../Snippets/Cookies/$cookies.sublime-snippet | 6 + .../Snippets/Cookies/get.sublime-snippet | 6 + .../Snippets/Cookies/put.sublime-snippet | 6 + .../Snippets/Cookies/remove.sublime-snippet | 6 + .../Directive/input.checkbox.sublime-snippet | 11 + .../Directive/input.number.sublime-snippet | 13 + .../Directive/input.radio.sublime-snippet | 10 + .../Snippets/Directive/input.sublime-snippet | 13 + .../Snippets/Directive/ngApp.sublime-snippet | 6 + .../Snippets/Directive/ngBind.sublime-snippet | 6 + .../Directive/ngBindHtml.sublime-snippet | 6 + .../ngBindHtmlUnsafe.sublime-snippet | 6 + .../Directive/ngBindTemplate.sublime-snippet | 6 + .../Directive/ngChange.sublime-snippet | 6 + .../Directive/ngChecked.sublime-snippet | 6 + .../Directive/ngClass.sublime-snippet | 6 + .../Directive/ngClassEven.sublime-snippet | 6 + .../Directive/ngClassOdd.sublime-snippet | 6 + .../Directive/ngClick.sublime-snippet | 6 + .../Directive/ngCloak.sublime-snippet | 6 + .../Directive/ngController.sublime-snippet | 6 + .../Snippets/Directive/ngCsp.sublime-snippet | 6 + .../Directive/ngDblClick.sublime-snippet | 6 + .../Directive/ngDisabled.sublime-snippet | 6 + .../Snippets/Directive/ngForm.sublime-snippet | 8 + .../Snippets/Directive/ngHide.sublime-snippet | 6 + .../Snippets/Directive/ngHref.sublime-snippet | 6 + .../ngInclude.attribute.sublime-snippet | 6 + .../ngInclude.element.sublime-snippet | 8 + .../Snippets/Directive/ngInit.sublime-snippet | 6 + .../Snippets/Directive/ngList.sublime-snippet | 6 + .../Directive/ngMousedown.sublime-snippet | 6 + .../Directive/ngMouseenter.sublime-snippet | 6 + .../Directive/ngMouseleave.sublime-snippet | 6 + .../Directive/ngMousemove.sublime-snippet | 6 + .../Directive/ngMouseover.sublime-snippet | 6 + .../Directive/ngMouseup.sublime-snippet | 6 + .../Directive/ngMultiple.sublime-snippet | 6 + .../Directive/ngNonBindable.sublime-snippet | 6 + .../ngPluralize.attribute.sublime-snippet | 11 + .../ngPluralize.element.sublime-snippet | 11 + .../Directive/ngReadonly.sublime-snippet | 6 + .../Directive/ngRepeat.sublime-snippet | 6 + .../Directive/ngSelected.sublime-snippet | 6 + .../Snippets/Directive/ngShow.sublime-snippet | 6 + .../Snippets/Directive/ngSrc.sublime-snippet | 6 + .../Directive/ngStyle.sublime-snippet | 6 + .../Directive/ngSubmit.sublime-snippet | 6 + .../ngSwitch.attribute.sublime-snippet | 6 + .../ngSwitch.element.sublime-snippet | 13 + .../Directive/ngSwitchDefault.sublime-snippet | 6 + .../Directive/ngSwitchWhen.sublime-snippet | 6 + .../Directive/ngTransclude.sublime-snippet | 6 + .../ngView.attribute.sublime-snippet | 6 + .../Directive/ngView.element.sublime-snippet | 8 + .../Snippets/Directive/script.sublime-snippet | 8 + .../Snippets/Directive/select.sublime-snippet | 10 + .../Directive/textarea.sublime-snippet | 13 + .../Filter/$filter.generic.sublime-snippet | 6 + .../Snippets/Filter/$filter.sublime-snippet | 6 + .../Snippets/Filter/currency.sublime-snippet | 6 + .../Filter/currency.template.sublime-snippet | 6 + .../Snippets/Filter/date.sublime-snippet | 6 + .../Filter/date.template.sublime-snippet | 6 + .../Snippets/Filter/filter.sublime-snippet | 6 + .../Filter/filter.template.sublime-snippet | 6 + .../Snippets/Filter/json.sublime-snippet | 6 + .../Filter/json.template.sublime-snippet | 6 + .../Snippets/Filter/limitTo.sublime-snippet | 6 + .../Filter/limitTo.template.sublime-snippet | 6 + .../Snippets/Filter/linky.sublime-snippet | 6 + .../Filter/linky.template.sublime-snippet | 6 + .../Snippets/Filter/lowercase.sublime-snippet | 6 + .../Filter/lowercase.template.sublime-snippet | 6 + .../Snippets/Filter/number.sublime-snippet | 6 + .../Filter/number.template.sublime-snippet | 6 + .../Snippets/Filter/orderBy.sublime-snippet | 6 + .../Filter/orderBy.template.sublime-snippet | 6 + .../Snippets/Filter/uppercase.sublime-snippet | 6 + .../Filter/uppercase.template.sublime-snippet | 6 + .../Snippets/Global/bind.sublime-snippet | 9 + .../Snippets/Global/bootstrap.sublime-snippet | 6 + .../Snippets/Global/copy.sublime-snippet | 6 + .../Snippets/Global/element.sublime-snippet | 6 + .../Snippets/Global/equals.sublime-snippet | 6 + .../Snippets/Global/extend.sublime-snippet | 6 + .../Snippets/Global/forEach.sublime-snippet | 7 + .../Snippets/Global/fromJson.sublime-snippet | 6 + .../Snippets/Global/identity.sublime-snippet | 6 + .../Snippets/Global/injector.sublime-snippet | 6 + .../Snippets/Global/isArray.sublime-snippet | 6 + .../Snippets/Global/isDate.sublime-snippet | 6 + .../Snippets/Global/isDefined.sublime-snippet | 6 + .../Snippets/Global/isElement.sublime-snippet | 6 + .../Global/isFunction.sublime-snippet | 6 + .../Snippets/Global/isNumber.sublime-snippet | 6 + .../Snippets/Global/isObject.sublime-snippet | 6 + .../Snippets/Global/isString.sublime-snippet | 6 + .../Global/isUndefined.sublime-snippet | 6 + .../Snippets/Global/lowercase.sublime-snippet | 6 + .../Snippets/Global/module.sublime-snippet | 11 + .../Snippets/Global/noop.sublime-snippet | 6 + .../Snippets/Global/toJson.sublime-snippet | 6 + .../Snippets/Global/uppercase.sublime-snippet | 6 + .../Snippets/Global/version.sublime-snippet | 6 + .../Http/$http.simple.sublime-snippet | 11 + .../Snippets/Http/$http.sublime-snippet | 19 + .../Snippets/Http/defaults.sublime-snippet | 6 + .../Snippets/Http/delete.sublime-snippet | 6 + .../Snippets/Http/error.sublime-snippet | 7 + .../Snippets/Http/get.sublime-snippet | 6 + .../Snippets/Http/head.sublime-snippet | 6 + .../Snippets/Http/jsonp.sublime-snippet | 6 + .../Http/pendingRequests.sublime-snippet | 6 + .../Snippets/Http/post.sublime-snippet | 6 + .../Snippets/Http/put.sublime-snippet | 6 + .../Snippets/Http/success.sublime-snippet | 6 + .../HttpBackend/expect.sublime-snippet | 8 + .../HttpBackend/expectDELETE.sublime-snippet | 6 + .../HttpBackend/expectGET.sublime-snippet | 6 + .../HttpBackend/expectHEAD.sublime-snippet | 6 + .../HttpBackend/expectJSONP.sublime-snippet | 6 + .../HttpBackend/expectPATCH.sublime-snippet | 8 + .../HttpBackend/expectPOST.sublime-snippet | 8 + .../HttpBackend/expectPUT.sublime-snippet | 8 + .../HttpBackend/flush.sublime-snippet | 6 + .../HttpBackend/httpBackend.sublime-snippet | 6 + .../resetExpectations.sublime-snippet | 6 + ...fyNoOutstandingExpectation.sublime-snippet | 6 + ...verifyNoOutstandingRequest.sublime-snippet | 6 + .../Snippets/HttpBackend/when.sublime-snippet | 8 + .../HttpBackend/whenDELETE.sublime-snippet | 7 + .../HttpBackend/whenGET.sublime-snippet | 7 + .../HttpBackend/whenHEAD.sublime-snippet | 7 + .../HttpBackend/whenPATCH.sublime-snippet | 8 + .../HttpBackend/whenPOST.sublime-snippet | 8 + .../HttpBackend/whenPUT.sublime-snippet | 8 + .../Injector/$injector.sublime-snippet | 6 + .../Injector/annotate.sublime-snippet | 8 + .../Snippets/Injector/get.sublime-snippet | 6 + .../Injector/instantiate.sublime-snippet | 6 + .../Snippets/Injector/invoke.sublime-snippet | 6 + .../Interpolate/$interpolate.sublime-snippet | 6 + .../Interpolate/endSymbol.sublime-snippet | 6 + .../Interpolate/startSymbol.sublime-snippet | 6 + .../Location/$location.sublime-snippet | 6 + .../Snippets/Location/absUrl.sublime-snippet | 6 + .../Location/hash.get.sublime-snippet | 6 + .../Location/hash.set.sublime-snippet | 6 + .../Snippets/Location/host.sublime-snippet | 6 + .../Location/path.get.sublime-snippet | 6 + .../Location/path.set.sublime-snippet | 6 + .../Snippets/Location/port.sublime-snippet | 6 + .../Location/protocol.sublime-snippet | 6 + .../Snippets/Location/replace.sublime-snippet | 6 + .../Location/search.get.sublime-snippet | 6 + .../Location/search.set.sublime-snippet | 6 + .../Snippets/Location/url.get.sublime-snippet | 6 + .../Snippets/Location/url.set.sublime-snippet | 6 + .../Snippets/Log/$log.sublime-snippet | 6 + .../Snippets/Log/error.sublime-snippet | 6 + .../Snippets/Log/info.sublime-snippet | 6 + .../Snippets/Log/log.sublime-snippet | 6 + .../Snippets/Log/warn.sublime-snippet | 6 + .../Snippets/Mock/TzDate.sublime-snippet | 6 + .../Snippets/Mock/debug.sublime-snippet | 6 + .../Snippets/Mock/inject.sublime-snippet | 9 + .../Snippets/Mock/log.assertEmpty | 6 + .../Snippets/Mock/log.logs | 6 + .../Snippets/Mock/log.reset.sublime-snippet | 6 + .../Snippets/Mock/module.sublime-snippet | 9 + .../Snippets/Module/config.sublime-snippet | 8 + .../Snippets/Module/constant.sublime-snippet | 6 + .../Module/controller.sublime-snippet | 7 + .../Module/directive.complete.sublime-snippet | 38 + .../Snippets/Module/directive.sublime-snippet | 9 + .../Snippets/Module/factory.sublime-snippet | 7 + .../Snippets/Module/filter.sublime-snippet | 7 + .../Snippets/Module/provider.sublime-snippet | 7 + .../Snippets/Module/run.sublime-snippet | 7 + .../Snippets/Module/service.sublime-snippet | 7 + .../Snippets/Module/value.sublime-snippet | 6 + .../Snippets/Provide/$provide.sublime-snippet | 6 + .../Snippets/Provide/constant.sublime-snippet | 6 + .../Provide/decorator.sublime-snippet | 8 + .../Snippets/Provide/factory.sublime-snippet | 8 + .../Snippets/Provide/provider.sublime-snippet | 8 + .../Snippets/Provide/service.sublime-snippet | 8 + .../Snippets/Provide/value.sublime-snippet | 6 + .../Snippets/Q/$q.sublime-snippet | 6 + .../Snippets/Q/all.sublime-snippet | 6 + .../Snippets/Q/defer.sublime-snippet | 6 + .../Snippets/Q/reject.sublime-snippet | 6 + .../Snippets/Q/when.sublime-snippet | 6 + .../Resource/$resource.sublime-snippet | 19 + .../Snippets/Resource/delete.sublime-snippet | 11 + .../Snippets/Resource/get.sublime-snippet | 11 + .../Snippets/Resource/query.sublime-snippet | 11 + .../Snippets/Resource/remove.sublime-snippet | 11 + .../Snippets/Resource/save.sublime-snippet | 11 + .../Snippets/Route/$route.sublime-snippet | 6 + .../Route/$routeChangeError.sublime-snippet | 6 + .../Route/$routeChangeStart.sublime-snippet | 6 + .../Route/$routeChangeSuccess.sublime-snippet | 6 + .../Route/$routeParams.sublime-snippet | 6 + .../Route/$routeProvider.sublime-snippet | 6 + .../Route/$routeUpdate.sublime-snippet | 6 + .../Snippets/Route/current.sublime-snippet | 6 + .../Snippets/Route/otherwise.sublime-snippet | 6 + .../Snippets/Route/reload.sublime-snippet | 6 + .../Snippets/Route/routes.sublime-snippet | 6 + .../Snippets/Route/when.sublime-snippet | 15 + .../Snippets/Scope/$rootScope.sublime-snippet | 6 + .../Snippets/Scope/apply.sublime-snippet | 7 + .../Snippets/Scope/broadcast.sublime-snippet | 6 + .../Snippets/Scope/destroy.sublime-snippet | 6 + .../Snippets/Scope/digest.sublime-snippet | 6 + .../Snippets/Scope/emit.sublime-snippet | 6 + .../Snippets/Scope/eval.sublime-snippet | 7 + .../Snippets/Scope/evalAsync.sublime-snippet | 7 + .../Snippets/Scope/id.sublime-snippet | 6 + .../Snippets/Scope/new.sublime-snippet | 6 + .../Snippets/Scope/on.sublime-snippet | 7 + .../Snippets/Scope/watch.sublime-snippet | 8 + .../Service/$anchorScroll.sublime-snippet | 6 + .../Service/$cacheFactory.sublime-snippet | 6 + .../Snippets/Service/$compile.sublime-snippet | 8 + .../Service/$controller.sublime-snippet | 8 + .../Service/$document.sublime-snippet | 6 + .../Service/$exceptionHandler.sublime-snippet | 6 + .../Snippets/Service/$locale.sublime-snippet | 6 + .../Snippets/Service/$parse.sublime-snippet | 6 + .../Service/$rootElement.sublime-snippet | 6 + .../Service/$sanitize.sublime-snippet | 6 + .../Service/$templateCache.sublime-snippet | 6 + .../Snippets/Service/$timeout.sublime-snippet | 9 + .../Snippets/Service/$window.sublime-snippet | 6 + .../package-metadata.json | 1 + .../services.sublime-completions | 63 + .../PackageCache/AutoFileName/.gitignore | 5 + .../AutoFileName/Default.sublime-keymap | 24 + .../AutoFileName/Main.sublime-menu | 35 + .../tools/PackageCache/AutoFileName/README.md | 28 + .../PackageCache/AutoFileName/autofilename.py | 157 + .../autofilename.sublime-settings | 24 + .../PackageCache/AutoFileName/getimageinfo.py | 61 + .../AutoFileName/package-metadata.json | 1 + .../PackageCache/Chai Completions/.gitignore | 0 .../PackageCache/Chai Completions/README.md | 29 + .../coffee/blocks/after.sublime-snippet | 12 + .../coffee/blocks/aftereach.sublime-snippet | 12 + .../coffee/blocks/before.sublime-snippet | 12 + .../coffee/blocks/beforeeach.sublime-snippet | 12 + .../coffee/blocks/describe.sublime-snippet | 12 + .../coffee/blocks/it.sublime-snippet | 12 + .../assert-chai-coffee.sublime-completions | 54 + .../expect-chai-coffee.sublime-completions | 56 + .../should-chai-coffee.sublime-completions | 56 + .../js/blocks/after.sublime-snippet | 13 + .../js/blocks/aftereach.sublime-snippet | 13 + .../js/blocks/before.sublime-snippet | 13 + .../js/blocks/beforeeach.sublime-snippet | 13 + .../js/blocks/describe.sublime-snippet | 13 + .../js/blocks/it.sublime-snippet | 13 + .../assert-chai-coffee.sublime-completions | 54 + .../expect-chai-coffee.sublime-completions | 56 + .../should-chai-coffee.sublime-completions | 56 + .../Chai Completions/package-metadata.json | 1 + .../.gitignore | 1 + .../CoffeeAutocomplete.py | 236 + ...plete Plus Built-In Types.sublime-settings | 337 + ...omplete Plus Custom Types.sublime-settings | 428 + ...Complete Plus Keywords.sublime-completions | 107 + .../CoffeeComplete Plus.sublime-settings | 50 + .../CoffeeGotoDefinition.py | 250 + .../Default (Linux).sublime-keymap | 5 + .../Default (Linux).sublime-mousemap | 8 + .../Default (OSX).sublime-keymap | 5 + .../Default (OSX).sublime-mousemap | 8 + .../Default (Windows).sublime-keymap | 5 + .../Default (Windows).sublime-mousemap | 8 + .../Default.sublime-commands | 3 + .../Main.sublime-menu | 160 + .../README.md | 424 + .../coffee_utils.py | 1155 ++ .../messages.json | 3 + .../package-metadata.json | 1 + .../Add DocBlockr Line Before.sublime-macro | 7 + .../Add DocBlockr Line.sublime-macro | 6 + .../DocBlockr/Base File.sublime-settings | 94 + .../DocBlockr/Default (Linux).sublime-keymap | 7 + .../DocBlockr/Default (OSX).sublime-keymap | 36 + .../DocBlockr/Default.sublime-commands | 10 + .../DocBlockr/Default.sublime-keymap | 246 + .../tools/PackageCache/DocBlockr/HISTORY.md | 119 + .../PackageCache/DocBlockr/Main.sublime-menu | 39 + .../tools/PackageCache/DocBlockr/README.md | 366 + .../actionscript.sublime-completions | 17 + .../DocBlockr/coffee.sublime-completions | 81 + .../DocBlockr/java.sublime-completions | 25 + .../DocBlockr/js.sublime-completions | 81 + .../jsdocs-auto-complete.sublime-macro | 4 + .../tools/PackageCache/DocBlockr/jsdocs.py | 1229 ++ .../DocBlockr/package-metadata.json | 1 + .../DocBlockr/php.sublime-completions | 45 + .../tools/PackageCache/Emmet/.gitignore | 30 + .../Emmet/Default (Linux).sublime-keymap | 518 + .../Emmet/Default (OSX).sublime-keymap | 518 + .../Emmet/Default (Windows).sublime-keymap | 518 + .../Emmet/Default.sublime-commands | 192 + .../PackageCache/Emmet/Emmet.sublime-settings | 114 + .../tools/PackageCache/Emmet/Emmet.tmLanguage | 333 + .../PackageCache/Emmet/Main.sublime-menu | 89 + .../Emmet/Preferences.sublime-settings | 30 + .../tools/PackageCache/Emmet/README.md | 112 + .../tools/PackageCache/Emmet/editor.js | 323 + .../tools/PackageCache/Emmet/emmet-plugin.py | 711 + .../PackageCache/Emmet/emmet/__init__.py | 0 .../tools/PackageCache/Emmet/emmet/context.py | 228 + .../PackageCache/Emmet/emmet/emmet-app.js | 13115 ++++++++++++++++ .../tools/PackageCache/Emmet/emmet/file.py | 159 + .../Emmet/emmet/python-wrapper.js | 97 + .../PackageCache/Emmet/emmet/pyv8loader.py | 591 + .../PackageCache/Emmet/emmet/reloader.py | 25 + .../tools/PackageCache/Emmet/emmet/semver.py | 83 + .../PackageCache/Emmet/emmet/snippets.json | 846 + .../Emmet/emmet_completions/__init__.py | 52 + .../Emmet/emmet_completions/meta.py | 3246 ++++ .../Emmet/emmet_completions/trackers.py | 66 + .../tools/PackageCache/Emmet/messages.json | 4 + .../PackageCache/Emmet/messages/1.0.1.txt | 28 + .../PackageCache/Emmet/messages/install.txt | 36 + .../Emmet/messages/official1.0.txt | 16 + .../Emmet/misc/generate-keymap.py | 253 + .../PackageCache/Emmet/package-metadata.json | 1 + .../tools/PackageCache/Grunt/.gitignore | 1 + .../Grunt/Default.sublime-commands | 6 + .../tools/PackageCache/Grunt/README.md | 18 + .../Grunt/SublimeGrunt.sublime-settings | 5 + .../tools/PackageCache/Grunt/main.py | 139 + .../PackageCache/Grunt/package-metadata.json | 1 + .../HTML5/DOCTYPE HTML.sublime-snippet | 6 + .../Document metadata/base.sublime-snippet | 7 + .../Document metadata/head.sublime-snippet | 10 + .../link rel=alternate.sublime-snippet | 7 + .../link rel=author.sublime-snippet | 7 + .../link rel=icon.sublime-snippet | 7 + .../link rel=license.sublime-snippet | 7 + .../link rel=next.sublime-snippet | 7 + .../link rel=prefetch.sublime-snippet | 7 + .../link rel=prev.sublime-snippet | 7 + .../link rel=search.sublime-snippet | 7 + .../link rel=stylesheet.sublime-snippet | 7 + .../meta charset.sublime-snippet | 7 + .../meta name content.sublime-snippet | 7 + .../Document metadata/style.sublime-snippet | 9 + .../Document metadata/title.sublime-snippet | 8 + .../HTML5/Elements/Edits/del.sublime-snippet | 7 + .../HTML5/Elements/Edits/ins.sublime-snippet | 7 + .../Embedded content/area.sublime-snippet | 7 + .../audio w - legacy object.sublime-snippet | 16 + .../Embedded content/audio.sublime-snippet | 7 + .../Embedded content/canvas.sublime-snippet | 9 + .../Embedded content/embed.sublime-snippet | 7 + .../figcaption.sublime-snippet | 7 + .../Embedded content/figure.sublime-snippet | 11 + .../Embedded content/iframe.sublime-snippet | 7 + .../Embedded content/img.sublime-snippet | 7 + .../Embedded content/map.sublime-snippet | 10 + .../Embedded content/object.sublime-snippet | 12 + .../Embedded content/param.sublime-snippet | 7 + .../Embedded content/source.sublime-snippet | 7 + .../video w - legacy object.sublime-snippet | 17 + .../Embedded content/video.sublime-snippet | 7 + .../Elements/Forms/button.sublime-snippet | 7 + .../Elements/Forms/datalist.sublime-snippet | 9 + .../Elements/Forms/fieldset.sublime-snippet | 9 + .../HTML5/Elements/Forms/form.sublime-snippet | 10 + .../Forms/input type=button.sublime-snippet | 7 + .../Forms/input type=checkbox.sublime-snippet | 7 + .../Forms/input type=color.sublime-snippet | 7 + .../Forms/input type=date.sublime-snippet | 7 + .../input type=datetime-local.sublime-snippet | 7 + .../Forms/input type=datetime.sublime-snippet | 7 + .../Forms/input type=email.sublime-snippet | 7 + .../Forms/input type=file.sublime-snippet | 7 + .../Forms/input type=hidden.sublime-snippet | 7 + .../Forms/input type=image.sublime-snippet | 7 + .../Forms/input type=month.sublime-snippet | 7 + .../Forms/input type=number.sublime-snippet | 7 + .../Forms/input type=password.sublime-snippet | 7 + .../Forms/input type=radio.sublime-snippet | 7 + .../Forms/input type=range.sublime-snippet | 7 + .../Forms/input type=reset.sublime-snippet | 7 + .../Forms/input type=search.sublime-snippet | 7 + .../Forms/input type=submit.sublime-snippet | 7 + .../Forms/input type=tel.sublime-snippet | 7 + .../Forms/input type=text.sublime-snippet | 7 + .../Forms/input type=time.sublime-snippet | 7 + .../Forms/input type=url.sublime-snippet | 7 + .../Forms/input type=week.sublime-snippet | 7 + .../Elements/Forms/keygen.sublime-snippet | 7 + .../Forms/label with input.sublime-snippet | 7 + .../Elements/Forms/label.sublime-snippet | 8 + .../Elements/Forms/legend.sublime-snippet | 7 + .../Elements/Forms/meter.sublime-snippet | 7 + .../Elements/Forms/optgroup.sublime-snippet | 9 + .../Elements/Forms/option.sublime-snippet | 8 + .../Elements/Forms/output.sublime-snippet | 7 + .../Elements/Forms/progress.sublime-snippet | 7 + .../Elements/Forms/select.sublime-snippet | 10 + .../Elements/Forms/textarea.sublime-snippet | 7 + .../blockquote.sublime-snippet | 9 + .../Grouping content/dd.sublime-snippet | 7 + .../Grouping content/div.sublime-snippet | 10 + .../Grouping content/dl.sublime-snippet | 10 + .../Grouping content/dt.sublime-snippet | 7 + .../Grouping content/hr.sublime-snippet | 7 + .../Grouping content/li.sublime-snippet | 7 + .../Grouping content/ol.sublime-snippet | 9 + .../Grouping content/pre.sublime-snippet | 9 + .../Grouping content/ul.sublime-snippet | 9 + .../command.sublime-snippet | 7 + .../details.sublime-snippet | 10 + .../Interactive elements/menu.sublime-snippet | 9 + .../summary.sublime-snippet | 7 + .../Elements/Sections/address.sublime-snippet | 9 + .../Elements/Sections/article.sublime-snippet | 9 + .../Elements/Sections/aside.sublime-snippet | 9 + .../Elements/Sections/body.sublime-snippet | 9 + .../Elements/Sections/footer.sublime-snippet | 10 + .../Elements/Sections/header.sublime-snippet | 10 + .../Elements/Sections/hgroup.sublime-snippet | 11 + .../Elements/Sections/nav.sublime-snippet | 10 + .../Elements/Sections/section.sublime-snippet | 9 + .../Tabular data/caption.sublime-snippet | 7 + .../Elements/Tabular data/col.sublime-snippet | 7 + .../Tabular data/colgroup.sublime-snippet | 7 + .../Tabular data/table.sublime-snippet | 19 + .../Tabular data/tbody.sublime-snippet | 9 + .../Elements/Tabular data/td.sublime-snippet | 7 + .../Tabular data/tfoot.sublime-snippet | 9 + .../Elements/Tabular data/th.sublime-snippet | 7 + .../Tabular data/thead.sublime-snippet | 9 + .../Elements/Tabular data/tr.sublime-snippet | 7 + .../a mailto.sublime-snippet | 7 + .../Text-level semantics/a.sublime-snippet | 7 + .../Text-level semantics/abbr.sublime-snippet | 7 + .../Text-level semantics/b.sublime-snippet | 7 + .../Text-level semantics/bdo.sublime-snippet | 7 + .../Text-level semantics/br.sublime-snippet | 7 + .../Text-level semantics/cite.sublime-snippet | 7 + .../Text-level semantics/code.sublime-snippet | 7 + .../Text-level semantics/dfn.sublime-snippet | 7 + .../Text-level semantics/em.sublime-snippet | 7 + .../Text-level semantics/h1-6.sublime-snippet | 7 + .../Text-level semantics/i.sublime-snippet | 7 + .../Text-level semantics/kbd.sublime-snippet | 7 + .../Text-level semantics/mark.sublime-snippet | 7 + .../Text-level semantics/p.sublime-snippet | 7 + .../Text-level semantics/q.sublime-snippet | 7 + .../Text-level semantics/rp.sublime-snippet | 7 + .../Text-level semantics/rt.sublime-snippet | 7 + .../Text-level semantics/ruby.sublime-snippet | 9 + .../Text-level semantics/samp.sublime-snippet | 7 + .../small.sublime-snippet | 7 + .../Text-level semantics/span.sublime-snippet | 7 + .../strong.sublime-snippet | 7 + .../Text-level semantics/sub.sublime-snippet | 7 + .../Text-level semantics/sup.sublime-snippet | 7 + .../Text-level semantics/time.sublime-snippet | 7 + .../Text-level semantics/var.sublime-snippet | 7 + .../HTML5/Elements/html.sublime-snippet | 8 + .../HTML5/Elements/script.sublime-snippet | 7 + .../HTML5/Entities/ampersand.sublime-snippet | 7 + .../non-breaking space.sublime-snippet | 7 + ...onal Comment - HTML 5 Shim.sublime-snippet | 6 + ...Internet Explorer 5_0 only.sublime-snippet | 6 + ...Internet Explorer 5_5 only.sublime-snippet | 6 + ...nt - Internet Explorer 5_x.sublime-snippet | 6 + ...ernet Explorer 6 and below.sublime-snippet | 6 + ...- Internet Explorer 6 only.sublime-snippet | 6 + ...ernet Explorer 7 and above.sublime-snippet | 6 + ...ernet Explorer 7 and below.sublime-snippet | 6 + ...ernet Explorer 8 and below.sublime-snippet | 6 + ...ernet Explorer 9 and below.sublime-snippet | 6 + ...omment - Internet Explorer.sublime-snippet | 6 + ...nt - NOT Internet Explorer.sublime-snippet | 6 + ...X Libraries - Chrome Frame.sublime-snippet | 12 + ...ogle AJAX Libraries - Dojo.sublime-snippet | 6 + ... AJAX Libraries - Ext Core.sublime-snippet | 6 + ... AJAX Libraries - MooTools.sublime-snippet | 6 + ...AJAX Libraries - Prototype.sublime-snippet | 6 + ...AJAX Libraries - SWFObject.sublime-snippet | 6 + ...Libraries - WebFont Loader.sublime-snippet | 6 + ...ogle AJAX Libraries - YUI!.sublime-snippet | 6 + ...AJAX Libraries - jQuery UI.sublime-snippet | 6 + ...le AJAX Libraries - jQuery.sublime-snippet | 6 + ...ibraries - script_aculo_us.sublime-snippet | 6 + .../Forward Delete All Whitespace.tmMacro | 42 + .../HTML5/Preferences/Comments.tmPreferences | 30 + .../Completions HTML Attributes.tmPreferences | 346 + .../Completions HTML Tags.tmPreferences | 30 + .../Preferences/Miscellaneous.tmPreferences | 93 + .../Symbol List - ID.tmPreferences | 17 + .../Preferences/Tag Preferences.tmPreferences | 48 + .../Typing Pairs - Empty Tag.tmPreferences | 26 + .../PackageCache/HTML5/Support/entities.txt | 252 + .../nibs/Insert Entity.nib/classes.nib | 7 + .../Support/nibs/Insert Entity.nib/info.nib | 16 + .../nibs/Insert Entity.nib/keyedobjects.nib | Bin 0 -> 11362 bytes .../HTML5/Syntaxes/HTML 5.tmLanguage | 938 ++ ...lection in Open -Close Tag.sublime-snippet | 6 + .../tools/PackageCache/HTML5/info.plist | 531 + .../PackageCache/HTML5/package-metadata.json | 1 + .../.gitignore | 2 + .../CHANGELOG.md | 133 + .../Default (Linux).sublime-keymap | 92 + .../Default (OSX).sublime-keymap | 92 + .../Default (Windows).sublime-keymap | 92 + .../LICENSE | 22 + .../Preferences.sublime-settings | 54 + .../README.md | 404 + .../add_code_block.py | 159 + .../contexts.py | 141 + .../css_dict_driver.py | 109 + .../dictionaries/hayaku_CSS_dictionary.json | 533 + .../hayaku.py | 151 + .../package-metadata.json | 1 + .../probe.py | 421 + .../templates.py | 462 + .../PackageCache/Http Requester/.gitignore | 1 + .../Http Requester/Context.sublime-menu | 3 + .../Default (Linux).sublime-keymap | 10 + .../Default (OSX).sublime-keymap | 10 + .../Default (Windows).sublime-keymap | 10 + .../Http Requester/Default.sublime-commands | 5 + .../PackageCache/Http Requester/README.md | 77 + .../Http Requester/http_requester.py | 399 + .../Http Requester/package-metadata.json | 1 + .../tools/PackageCache/LESS/.gitignore | 31 + .../PackageCache/LESS/Comments.tmPreferences | 42 + .../tools/PackageCache/LESS/LESS.tmLanguage | 492 + .../LESS/Symbol List.tmPreferences | 17 + .../PackageCache/LESS/package-metadata.json | 1 + .../tools/PackageCache/LESS/readme.md | 87 + .../tools/PackageCache/LESS/tests.less | 231 + .../LiveReload/LiveReload.sublime-settings | 8 + .../PackageCache/LiveReload/Main.sublime-menu | 39 + .../tools/PackageCache/LiveReload/README.md | 62 + .../PackageCache/LiveReload/assets/config.rb | 8 + .../PackageCache/LiveReload/livereload.js | 942 ++ .../PackageCache/LiveReload/livereload_st2.py | 436 + .../PackageCache/LiveReload/messages.json | 4 + .../LiveReload/messages/install_upgrade.txt | 9 + .../LiveReload/package-metadata.json | 1 + .../tools/PackageCache/Pretty JSON/.gitignore | 3 + .../Default (Linux).sublime-keymap | 8 + .../Pretty JSON/Default (OSX).sublime-keymap | 8 + .../Default (Windows).sublime-keymap | 8 + .../Pretty JSON/Default.sublime-commands | 6 + .../Pretty JSON/Main.sublime-menu | 38 + .../Pretty JSON/Pretty JSON.sublime-settings | 6 + .../PackageCache/Pretty JSON/PrettyJson.py | 43 + .../tools/PackageCache/Pretty JSON/README.md | 40 + .../Pretty JSON/package-metadata.json | 1 + .../Pretty JSON/simplejson/__init__.py | 512 + .../Pretty JSON/simplejson/compat.py | 43 + .../Pretty JSON/simplejson/decoder.py | 452 + .../Pretty JSON/simplejson/encoder.py | 601 + .../Pretty JSON/simplejson/ordered_dict.py | 119 + .../Pretty JSON/simplejson/scanner.py | 77 + .../Pretty JSON/simplejson/tool.py | 39 + .../tools/PackageCache/Pretty JSON/tests.py | 65 + .../SublimeLinter/.codeintel/config | 9 + .../PackageCache/SublimeLinter/.gitignore | 8 + .../Default (Linux).sublime-keymap | 5 + .../Default (OSX).sublime-keymap | 5 + .../Default (Windows).sublime-keymap | 5 + .../SublimeLinter/Default.sublime-commands | 42 + .../tools/PackageCache/SublimeLinter/LICENSE | 20 + .../SublimeLinter/Main.sublime-menu | 99 + .../PackageCache/SublimeLinter/README.md | 398 + .../SublimeLinter/SublimeLinter.py | 963 ++ .../SublimeLinter.sublime-settings | 293 + .../PackageCache/SublimeLinter/changelog.txt | 419 + .../PackageCache/SublimeLinter/messages.json | 22 + .../SublimeLinter/messages/1.5.1.txt | 85 + .../SublimeLinter/messages/1.5.2.txt | 5 + .../SublimeLinter/messages/1.5.3.txt | 11 + .../SublimeLinter/messages/1.5.4.txt | 10 + .../SublimeLinter/messages/1.5.5.txt | 5 + .../SublimeLinter/messages/1.5.6.txt | 5 + .../SublimeLinter/messages/1.5.7.txt | 10 + .../SublimeLinter/messages/1.6.0.txt | 46 + .../SublimeLinter/messages/1.6.1.txt | 20 + .../SublimeLinter/messages/1.6.10.txt | 11 + .../SublimeLinter/messages/1.6.11.txt | 5 + .../SublimeLinter/messages/1.6.2.txt | 16 + .../SublimeLinter/messages/1.6.3.txt | 26 + .../SublimeLinter/messages/1.6.4.txt | 29 + .../SublimeLinter/messages/1.6.5.txt | 20 + .../SublimeLinter/messages/1.6.6.txt | 16 + .../SublimeLinter/messages/1.6.7.txt | 20 + .../SublimeLinter/messages/1.6.8.txt | 30 + .../SublimeLinter/messages/1.6.9.txt | 15 + .../SublimeLinter/messages/install.txt | 43 + .../SublimeLinter/package_control.json | 34 + .../SublimeLinter/sublimelinter/__init__.py | 0 .../SublimeLinter/sublimelinter/loader.py | 137 + .../sublimelinter/modules/__init__.py | 0 .../sublimelinter/modules/base_linter.py | 412 + .../SublimeLinter/sublimelinter/modules/c.py | 37 + .../sublimelinter/modules/c_cpplint.py | 24 + .../sublimelinter/modules/coffeescript.py | 145 + .../sublimelinter/modules/css.py | 40 + .../modules/git_commit_message.py | 111 + .../sublimelinter/modules/haml.py | 22 + .../sublimelinter/modules/html.py | 41 + .../sublimelinter/modules/java.py | 59 + .../sublimelinter/modules/javascript.py | 80 + .../sublimelinter/modules/libs/capp_lint.py | 1152 ++ .../modules/libs/csslint/csslint-node.js | 9125 +++++++++++ .../modules/libs/csslint/linter.js | 48 + .../modules/libs/jsengines/jsc.js | 51 + .../modules/libs/jsengines/node.js | 37 + .../modules/libs/jshint/jshint.js | 4813 ++++++ .../modules/libs/jshint/linter.js | 28 + .../modules/libs/jslint/jslint.js | 6447 ++++++++ .../modules/libs/jslint/linter.js | 22 + .../sublimelinter/modules/libs/pep8.py | 1405 ++ .../modules/libs/pyflakes/__init__.py | 2 + .../modules/libs/pyflakes/checker.py | 624 + .../modules/libs/pyflakes/messages.py | 94 + .../sublimelinter/modules/lua.py | 22 + .../sublimelinter/modules/notes.py | 85 + .../sublimelinter/modules/objective-j.py | 59 + .../sublimelinter/modules/perl.py | 65 + .../sublimelinter/modules/php.py | 22 + .../sublimelinter/modules/puppet.py | 33 + .../sublimelinter/modules/python.py | 265 + .../sublimelinter/modules/ruby.py | 22 + .../sublimelinter/modules/sublime_pylint.py | 83 + .../sublimelinter/modules/xml.py | 23 + .../tools/PackageCache/Tag/.gitignore | 4 + .../Default (Linux).sublime-keymap | 8 + .../Default (OSX).sublime-keymap | 8 + .../Default (Windows).sublime-keymap | 8 + .../Insert As Tag/Commands.sublime-commands | 6 + .../Default (Linux).sublime-keymap | 3 + .../Default (OSX).sublime-keymap | 3 + .../Default (Windows).sublime-keymap | 3 + .../tools/PackageCache/Tag/Main.sublime-menu | 120 + .../Tag Close Tag/Commands.sublime-commands | 6 + .../Default (Linux).sublime-keymap | 3 + .../Default (OSX).sublime-keymap | 3 + .../Default (Windows).sublime-keymap | 3 + .../Tag/Tag Indent/Commands.sublime-commands | 10 + .../Tag/Tag Indent/Context.sublime-menu | 13 + .../Tag Indent/Default (Linux).sublime-keymap | 3 + .../Tag Indent/Default (OSX).sublime-keymap | 3 + .../Default (Windows).sublime-keymap | 3 + .../Tag/Tag Lint/Commands.sublime-commands | 6 + .../Tag/Tag Package.sublime-settings | 28 + .../Commands.sublime-commands | 18 + .../Tag/Tag Remove/Commands.sublime-commands | 18 + .../tools/PackageCache/Tag/Tag.py | 128 + .../tools/PackageCache/Tag/license.txt | 19 + .../tools/PackageCache/Tag/readme.md | 99 + .../tools/PackageCache/Tag/tag_close_tag.py | 86 + .../Tag/tag_close_tag_on_slash.py | 96 + .../tools/PackageCache/Tag/tag_indent.py | 178 + .../PackageCache/Tag/tag_insert_as_tag.py | 36 + .../tools/PackageCache/Tag/tag_lint.py | 293 + .../tools/PackageCache/Tag/tag_remove.py | 61 + .../PackageCache/Tag/tag_remove_attributes.py | 65 + .../Base CSS/blockquote.sublime-snippet | 11 + .../Base CSS/button-danger.sublime-snippet | 8 + .../Base CSS/button-info.sublime-snippet | 8 + .../Base CSS/button-inverse.sublime-snippet | 8 + .../Base CSS/button-large.sublime-snippet | 8 + .../button-link-danger.sublime-snippet | 8 + .../Base CSS/button-link-info.sublime-snippet | 8 + .../button-link-inverse.sublime-snippet | 8 + .../button-link-large.sublime-snippet | 8 + .../Base CSS/button-link-mini.sublime-snippet | 8 + .../button-link-primary.sublime-snippet | 8 + .../button-link-small.sublime-snippet | 8 + .../button-link-success.sublime-snippet | 8 + .../button-link-warning.sublime-snippet | 8 + .../Base CSS/button-link.sublime-snippet | 8 + .../Base CSS/button-mini.sublime-snippet | 8 + .../Base CSS/button-primary.sublime-snippet | 8 + .../Base CSS/button-small.sublime-snippet | 8 + .../Base CSS/button-success.sublime-snippet | 8 + .../Base CSS/button-warning.sublime-snippet | 8 + .../Base CSS/button.sublime-snippet | 8 + .../Base CSS/form-horizontal.sublime-snippet | 68 + .../Components/alert-error.sublime-snippet | 11 + .../Components/alert-info.sublime-snippet | 11 + .../Components/alert-success.sublime-snippet | 11 + .../Components/alert.sublime-snippet | 11 + .../Components/badge-error.sublime-snippet | 8 + .../Components/badge-info.sublime-snippet | 8 + .../Components/badge-inverse.sublime-snippet | 8 + .../Components/badge-success.sublime-snippet | 8 + .../Components/badge-warning.sublime-snippet | 8 + .../Components/badge.sublime-snippet | 8 + .../Components/breadcrumb.sublime-snippet | 18 + .../buttons-dropdown.sublime-snippet | 17 + .../buttons-grouped.sublime-snippet | 12 + .../label-important.sublime-snippet | 8 + .../Components/label-info.sublime-snippet | 8 + .../Components/label-success.sublime-snippet | 8 + .../Components/label-warning.sublime-snippet | 8 + .../Components/label.sublime-snippet | 8 + .../Components/navbar.sublime-snippet | 56 + .../Components/pager-aligned.sublime-snippet | 15 + .../Components/pager.sublime-snippet | 15 + .../Components/pagination.sublime-snippet | 19 + .../Components/pills-dropdown.sublime-snippet | 21 + .../Components/pills-stacked.sublime-snippet | 14 + .../Components/pills.sublime-snippet | 14 + .../progress-stripped.sublime-snippet | 10 + .../Components/progress.sublime-snippet | 10 + .../Components/tabbable-below.sublime-snippet | 21 + .../Components/tabbable-left.sublime-snippet | 21 + .../Components/tabbable-right.sublime-snippet | 21 + .../Components/tabbable.sublime-snippet | 21 + .../Components/tabs-alert.sublime-snippet | 14 + .../Components/tabs-dropdown.sublime-snippet | 21 + .../Components/tabs-stacked.sublime-snippet | 12 + .../Components/thumbnails.sublime-snippet | 30 + .../Components/toolbar.sublime-snippet | 23 + .../Examples/fluid.sublime-snippet | 146 + .../Examples/hero.sublime-snippet | 107 + .../Examples/starter.sublime-snippet | 107 + .../accordion.sublime-snippet | 45 + .../carousel.sublime-snippet | 34 + .../Javascript Plugins/modal.sublime-snippet | 21 + .../modaljs.sublime-snippet | 10 + .../scripts.sublime-snippet | 20 + .../tooltip.sublime-snippet | 8 + .../Twitter Bootstrap Snippets/README.md | 17 + .../Scaffolding/grid-four.sublime-snippet | 13 + .../Scaffolding/grid-three.sublime-snippet | 12 + .../Scaffolding/grid-two.sublime-snippet | 11 + .../package-metadata.json | 1 + .../Default (Windows).sublime-keymap | 87 + .../README.md | 39 + .../package-metadata.json | 1 + .../PackageCache/jQuery/$.sublime-snippet | 6 + .../jQuery/$ajaxSend.sublime-snippet | 9 + .../jQuery/$ajaxSetup.sublime-snippet | 21 + .../jQuery/$ajaxStart.sublime-snippet | 9 + .../jQuery/$ajaxStop.sublime-snippet | 9 + .../jQuery/$ajaxSuccess.sublime-snippet | 8 + .../jQuery/$boxModel.sublime-snippet | 7 + .../jQuery/$browser-version.sublime-snippet | 6 + .../jQuery/$browser.sublime-snippet | 6 + .../PackageCache/jQuery/$each.sublime-snippet | 8 + .../jQuery/$extend.sublime-snippet | 7 + .../PackageCache/jQuery/$get.sublime-snippet | 9 + .../jQuery/$getScript.sublime-snippet | 9 + .../jQuery/$holdReady.sublime-snippet | 6 + .../jQuery/$inArray.sublime-snippet | 6 + .../jQuery/$isEmptyObject.sublime-snippet | 6 + .../jQuery/$isNumeric.sublime-snippet | 6 + .../jQuery/$isPlainObject.sublime-snippet | 6 + .../jQuery/$isWindow.sublime-snippet | 6 + .../PackageCache/jQuery/$map.sublime-snippet | 8 + .../jQuery/$merge.sublime-snippet | 6 + .../PackageCache/jQuery/$noop.sublime-snippet | 6 + .../PackageCache/jQuery/$now.sublime-snippet | 6 + .../jQuery/$parseJSON.sublime-snippet | 6 + .../jQuery/$parseXML.sublime-snippet | 6 + .../PackageCache/jQuery/$post.sublime-snippet | 9 + .../PackageCache/jQuery/$sub.sublime-snippet | 6 + .../PackageCache/jQuery/$trim.sublime-snippet | 6 + .../PackageCache/jQuery/$type.sublime-snippet | 6 + .../jQuery/$unique.sublime-snippet | 7 + .../PackageCache/jQuery/$when.sublime-snippet | 7 + .../tools/PackageCache/jQuery/.gitignore | 4 + .../tools/PackageCache/jQuery/README.md | 18 + .../jQuery/Snippets/QUnit module.tmSnippet | 24 + .../jQuery/Snippets/QUnit test.tmSnippet | 18 + .../jQuery/Snippets/deferred_done.tmSnippet | 16 + .../jQuery/Snippets/deferred_fail.tmSnippet | 16 + .../Snippets/deferred_isRejected.tmSnippet | 16 + .../Snippets/deferred_isResolved.tmSnippet | 16 + .../jQuery/Snippets/deferred_reject.tmSnippet | 16 + .../Snippets/deferred_rejectWith.tmSnippet | 16 + .../jQuery/Snippets/deferred_then.tmSnippet | 16 + .../jQuery/Snippets/jQuery_ajax.tmSnippet | 31 + .../Snippets/jQuery_ajaxSetup.tmSnippet | 31 + .../jQuery/Snippets/jQuery_boxModel.tmSnippet | 16 + .../jQuery/Snippets/jQuery_browser.tmSnippet | 16 + .../Snippets/jQuery_browser_version.tmSnippet | 16 + .../jQuery/Snippets/jQuery_each.tmSnippet | 18 + .../jQuery/Snippets/jQuery_extend.tmSnippet | 17 + .../jQuery/Snippets/jQuery_get.tmSnippet | 19 + .../jQuery/Snippets/jQuery_getJSON.tmSnippet | 19 + .../Snippets/jQuery_getScript.tmSnippet | 19 + .../jQuery/Snippets/jQuery_inArray.tmSnippet | 16 + .../Snippets/jQuery_isEmptyObject.tmSnippet | 16 + .../Snippets/jQuery_isPlainObject.tmSnippet | 16 + .../jQuery/Snippets/jQuery_isWindow.tmSnippet | 16 + .../jQuery/Snippets/jQuery_map.tmSnippet | 18 + .../jQuery/Snippets/jQuery_merge.tmSnippet | 17 + .../jQuery/Snippets/jQuery_noop.tmSnippet | 16 + .../Snippets/jQuery_parseJSON.tmSnippet | 16 + .../jQuery/Snippets/jQuery_parseXML.tmSnippet | 16 + .../jQuery/Snippets/jQuery_post.tmSnippet | 19 + .../jQuery/Snippets/jQuery_sub.tmSnippet | 16 + .../jQuery/Snippets/jQuery_trim.tmSnippet | 16 + .../jQuery/Snippets/jQuery_type.tmSnippet | 16 + .../jQuery/Snippets/jQuery_unique.tmSnippet | 17 + .../jQuery/Snippets/jQuery_when.tmSnippet | 17 + .../Snippets/plugin (animation).tmSnippet | 18 + .../Snippets/plugin (method extras).tmSnippet | 129 + .../Snippets/plugin (selector).tmSnippet | 24 + .../jQuery/Snippets/plugin.tmSnippet | 40 + .../jQuery/Snippets/qUnit HTML.tmSnippet | 38 + .../Syntaxes/jQueryJavaScript.tmLanguage | 600 + .../PackageCache/jQuery/add.sublime-snippet | 5 + .../jQuery/addClass.sublime-snippet | 5 + .../PackageCache/jQuery/after.sublime-snippet | 5 + .../PackageCache/jQuery/ajax.sublime-snippet | 20 + .../jQuery/ajaxComplete.sublime-snippet | 8 + .../jQuery/ajaxError.sublime-snippet | 8 + .../jQuery/andSelf.sublime-snippet | 5 + .../animate-(with-callback).sublime-snippet | 11 + .../jQuery/animate.sublime-snippet | 5 + .../jQuery/append.sublime-snippet | 6 + .../jQuery/appendTo.sublime-snippet | 6 + .../jQuery/attr-multiple.sublime-snippet | 9 + .../PackageCache/jQuery/attr.sublime-snippet | 6 + .../jQuery/before.sublime-snippet | 6 + .../PackageCache/jQuery/bind.sublime-snippet | 8 + .../PackageCache/jQuery/blur.sublime-snippet | 8 + .../jQuery/change.sublime-snippet | 8 + .../jQuery/children.sublime-snippet | 6 + .../jQuery/clearqueue.sublime-snippet | 6 + .../PackageCache/jQuery/click.sublime-snippet | 7 + .../PackageCache/jQuery/clone.sublime-snippet | 6 + .../jQuery/closest.sublime-snippet | 6 + .../jQuery/contains.sublime-snippet | 6 + .../jQuery/contents.sublime-snippet | 6 + .../jQuery/css-multiple.sublime-snippet | 9 + .../PackageCache/jQuery/css.sublime-snippet | 6 + .../PackageCache/jQuery/data.sublime-snippet | 6 + .../jQuery/dblclick.sublime-snippet | 7 + .../PackageCache/jQuery/delay.sublime-snippet | 6 + .../jQuery/delegate.sublime-snippet | 8 + .../jQuery/dequeue.sublime-snippet | 5 + .../PackageCache/jQuery/die.sublime-snippet | 5 + .../jQuery/document-ready-1.sublime-snippet | 8 + .../jQuery/document-ready-2.sublime-snippet | 8 + .../jQuery/document-ready.sublime-snippet | 8 + .../PackageCache/jQuery/each.sublime-snippet | 7 + .../PackageCache/jQuery/end.sublime-snippet | 5 + .../PackageCache/jQuery/eq.sublime-snippet | 5 + .../PackageCache/jQuery/error.sublime-snippet | 8 + .../jQuery/fadeIn.sublime-snippet | 8 + .../jQuery/fadeOut.sublime-snippet | 8 + .../jQuery/fadeTo.sublime-snippet | 8 + .../jQuery/fadeToggle.sublime-snippet | 8 + .../jQuery/filter-function.sublime-snippet | 8 + .../jQuery/filter.sublime-snippet | 6 + .../PackageCache/jQuery/find.sublime-snippet | 5 + .../PackageCache/jQuery/first.sublime-snippet | 5 + .../PackageCache/jQuery/focus.sublime-snippet | 7 + .../jQuery/focusin.sublime-snippet | 8 + .../jQuery/focusout.sublime-snippet | 8 + .../PackageCache/jQuery/get.sublime-snippet | 5 + .../jQuery/getJSON.sublime-snippet | 9 + .../PackageCache/jQuery/has.sublime-snippet | 6 + .../jQuery/hasClass.sublime-snippet | 6 + .../jQuery/height.sublime-snippet | 5 + .../PackageCache/jQuery/hide.sublime-snippet | 7 + .../PackageCache/jQuery/hover.sublime-snippet | 9 + .../PackageCache/jQuery/html.sublime-snippet | 6 + .../PackageCache/jQuery/index.sublime-snippet | 5 + .../jQuery/innerHeight.sublime-snippet | 6 + .../jQuery/innerWidth.sublime-snippet | 6 + .../jQuery/insertAfter.sublime-snippet | 5 + .../jQuery/insertBefore.sublime-snippet | 6 + .../PackageCache/jQuery/is.sublime-snippet | 6 + .../jQuery/keydown.sublime-snippet | 7 + .../jQuery/keypress.sublime-snippet | 7 + .../PackageCache/jQuery/keyup.sublime-snippet | 7 + .../PackageCache/jQuery/last.sublime-snippet | 5 + .../PackageCache/jQuery/live.sublime-snippet | 7 + .../PackageCache/jQuery/load.sublime-snippet | 8 + .../jQuery/loadAHAH.sublime-snippet | 11 + .../PackageCache/jQuery/map.sublime-snippet | 7 + .../jQuery/mousedown.sublime-snippet | 7 + .../jQuery/mouseenter.sublime-snippet | 7 + .../jQuery/mouseleave.sublime-snippet | 7 + .../jQuery/mousemove.sublime-snippet | 7 + .../jQuery/mouseout.sublime-snippet | 7 + .../jQuery/mouseover.sublime-snippet | 7 + .../jQuery/mouseup.sublime-snippet | 7 + .../PackageCache/jQuery/next.sublime-snippet | 6 + .../jQuery/nextAll.sublime-snippet | 6 + .../jQuery/nextUntil.sublime-snippet | 6 + .../PackageCache/jQuery/not.sublime-snippet | 5 + .../PackageCache/jQuery/off.sublime-snippet | 5 + .../jQuery/offset (function).sublime-snippet | 8 + .../jQuery/offset.sublime-snippet | 6 + .../jQuery/offsetParent.sublime-snippet | 6 + .../PackageCache/jQuery/on.sublime-snippet | 9 + .../PackageCache/jQuery/one.sublime-snippet | 8 + .../jQuery/outerHeight.sublime-snippet | 6 + .../jQuery/outerWidth.sublime-snippet | 6 + .../PackageCache/jQuery/package-metadata.json | 1 + .../jQuery/parent.sublime-snippet | 5 + .../jQuery/parents.sublime-snippet | 5 + .../jQuery/parentsUntil.sublime-snippet | 5 + .../jQuery/prepend.sublime-snippet | 6 + .../jQuery/prependTo.sublime-snippet | 6 + .../PackageCache/jQuery/prev.sublime-snippet | 6 + .../jQuery/prevAll.sublime-snippet | 6 + .../jQuery/prevUntil.sublime-snippet | 5 + .../jQuery/prop(map).sublime-snippet | 8 + .../PackageCache/jQuery/prop.sublime-snippet | 5 + .../jQuery/reject.sublime-snippet | 5 + .../jQuery/remove.sublime-snippet | 6 + .../jQuery/removeAttr.sublime-snippet | 6 + .../jQuery/removeClass.sublime-snippet | 6 + .../jQuery/removeData.sublime-snippet | 6 + .../jQuery/replaceAll.sublime-snippet | 6 + .../jQuery/replaceWith.sublime-snippet | 7 + .../PackageCache/jQuery/reset.sublime-snippet | 8 + .../jQuery/resize.sublime-snippet | 8 + .../jQuery/resolve.sublime-snippet | 5 + .../jQuery/resolveWith.sublime-snippet | 5 + .../jQuery/scroll.sublime-snippet | 7 + .../jQuery/scrollLeft.sublime-snippet | 5 + .../jQuery/scrollTop.sublime-snippet | 5 + .../jQuery/select.sublime-snippet | 8 + .../jQuery/serialize.sublime-snippet | 6 + .../jQuery/serializeArray.sublime-snippet | 6 + .../PackageCache/jQuery/show.sublime-snippet | 7 + .../jQuery/siblings.sublime-snippet | 5 + .../PackageCache/jQuery/size.sublime-snippet | 6 + .../PackageCache/jQuery/slice.sublime-snippet | 5 + .../jQuery/slideDown.sublime-snippet | 8 + .../jQuery/slideToggle.sublime-snippet | 5 + .../jQuery/slideUp.sublime-snippet | 5 + .../PackageCache/jQuery/stop.sublime-snippet | 5 + .../jQuery/submit.sublime-snippet | 7 + .../PackageCache/jQuery/text.sublime-snippet | 6 + .../PackageCache/jQuery/then.sublime-snippet | 5 + .../PackageCache/jQuery/this.sublime-snippet | 6 + .../jQuery/toArray.sublime-snippet | 5 + .../jQuery/toggle-showHide.sublime-snippet | 6 + .../jQuery/toggleClass.sublime-snippet | 7 + .../jQuery/toggleEvent.sublime-snippet | 11 + .../jQuery/trigger.sublime-snippet | 5 + .../jQuery/triggerHandler.sublime-snippet | 5 + .../jQuery/unbind.sublime-snippet | 5 + .../jQuery/undelegate.sublime-snippet | 5 + .../jQuery/unwrap.sublime-snippet | 6 + .../PackageCache/jQuery/val.sublime-snippet | 6 + .../PackageCache/jQuery/width.sublime-snippet | 6 + .../PackageCache/jQuery/wrap.sublime-snippet | 5 + .../jQuery/wrapAll.sublime-snippet | 5 + .../jQuery/wrapInner.sublime-snippet | 5 + .../sublime-better-coffeescript/.gitignore | 10 + .../CoffeeScript.py | 462 + .../CoffeeScript.sublime-build | 13 + .../CoffeeScript.sublime-commands | 42 + .../CoffeeScript.sublime-settings | 52 + .../CoffeeScript.tmLanguage | 746 + .../CoffeeScript.tmPreferences | 34 + .../Indent.tmPreferences | 25 + .../Keymaps/Default (Linux).sublime-keymap | 11 + .../Keymaps/Default (OSX).sublime-keymap | 11 + .../Keymaps/Default (Windows).sublime-keymap | 11 + .../Menu/Context.sublime-menu | 3 + .../Menu/Main.sublime-menu | 59 + .../sublime-better-coffeescript/README.md | 296 + .../Snippets/Array comprehension.tmSnippet | 16 + .../Snippets/Bound Function.tmSnippet | 16 + .../Snippets/Class.tmSnippet | 18 + .../Snippets/Console Log.tmSnippet | 16 + .../Snippets/Else if.tmSnippet | 16 + .../Snippets/Else.tmSnippet | 16 + .../Snippets/Function.tmSnippet | 17 + .../Snippets/If Else.tmSnippet | 18 + .../Snippets/If.tmSnippet | 16 + .../Snippets/Interpolated Code.tmSnippet | 16 + .../Snippets/Object comprehension.tmSnippet | 16 + .../Range comprehension (exclusive).tmSnippet | 16 + .../Range comprehension (inclusive).tmSnippet | 16 + .../Snippets/Switch.tmSnippet | 18 + .../Snippets/Ternary If.tmSnippet | 15 + .../Snippets/Try Catch.tmSnippet | 18 + .../Snippets/Unless.tmSnippet | 15 + .../Snippets/require.tmSnippet | 14 + .../Symbol List.tmPreferences | 17 + .../changelogs/0.5.1.txt | 10 + .../changelogs/0.5.2.txt | 9 + .../changelogs/0.5.3.txt | 13 + .../changelogs/0.5.4.md | 21 + .../changelogs/0.5.5.md | 22 + .../changelogs/0.5.6.md | 14 + .../changelogs/0.6.md | 31 + .../sublime-better-coffeescript/messages.json | 7 + .../sublime-better-coffeescript/package.json | 20 + 1026 files changed, 79077 insertions(+) create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Example.sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/dirty.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/error.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/formatters.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/invalid.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/modelValue.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/parsers.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/pristine.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/render.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/setValidity.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/setViewValue.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/valid.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/viewValue.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/$cookieStore.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/$cookies.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/get.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/put.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/remove.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.checkbox.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.number.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.radio.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngApp.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBind.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBindHtml.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBindHtmlUnsafe.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBindTemplate.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngChange.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngChecked.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClass.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClassEven.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClassOdd.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClick.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngCloak.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngController.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngCsp.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngDblClick.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngDisabled.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngForm.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngHide.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngHref.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngInclude.attribute.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngInclude.element.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngInit.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngList.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMousedown.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseenter.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseleave.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMousemove.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseover.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseup.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMultiple.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngNonBindable.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngPluralize.attribute.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngPluralize.element.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngReadonly.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngRepeat.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSelected.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngShow.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSrc.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngStyle.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSubmit.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitch.attribute.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitch.element.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitchDefault.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitchWhen.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngTransclude.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngView.attribute.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngView.element.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/script.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/select.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/textarea.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/$filter.generic.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/$filter.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/currency.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/currency.template.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/date.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/date.template.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/filter.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/filter.template.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/json.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/json.template.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/limitTo.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/limitTo.template.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/linky.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/linky.template.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/lowercase.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/lowercase.template.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/number.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/number.template.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/orderBy.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/orderBy.template.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/uppercase.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/uppercase.template.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/bind.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/bootstrap.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/copy.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/element.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/equals.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/extend.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/forEach.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/fromJson.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/identity.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/injector.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isArray.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isDate.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isDefined.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isElement.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isFunction.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isNumber.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isObject.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isString.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isUndefined.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/lowercase.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/module.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/noop.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/toJson.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/uppercase.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/version.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/$http.simple.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/$http.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/defaults.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/delete.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/error.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/get.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/head.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/jsonp.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/pendingRequests.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/post.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/put.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/success.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expect.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectDELETE.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectGET.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectHEAD.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectJSONP.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectPATCH.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectPOST.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectPUT.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/flush.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/httpBackend.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/resetExpectations.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/verifyNoOutstandingExpectation.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/verifyNoOutstandingRequest.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/when.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenDELETE.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenGET.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenHEAD.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenPATCH.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenPOST.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenPUT.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/$injector.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/annotate.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/get.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/instantiate.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/invoke.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Interpolate/$interpolate.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Interpolate/endSymbol.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Interpolate/startSymbol.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/$location.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/absUrl.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/hash.get.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/hash.set.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/host.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/path.get.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/path.set.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/port.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/protocol.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/replace.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/search.get.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/search.set.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/url.get.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/url.set.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/$log.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/error.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/info.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/log.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/warn.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/TzDate.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/debug.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/inject.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/log.assertEmpty create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/log.logs create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/log.reset.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/module.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/config.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/constant.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/controller.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/directive.complete.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/directive.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/factory.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/filter.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/provider.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/run.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/service.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/value.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/$provide.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/constant.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/decorator.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/factory.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/provider.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/service.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/value.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/$q.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/all.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/defer.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/reject.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/when.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/$resource.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/delete.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/get.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/query.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/remove.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/save.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$route.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeChangeError.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeChangeStart.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeChangeSuccess.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeParams.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeProvider.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeUpdate.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/current.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/otherwise.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/reload.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/routes.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/when.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/$rootScope.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/apply.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/broadcast.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/destroy.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/digest.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/emit.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/eval.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/evalAsync.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/id.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/new.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/on.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/watch.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$anchorScroll.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$cacheFactory.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$compile.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$controller.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$document.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$exceptionHandler.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$locale.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$parse.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$rootElement.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$sanitize.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$templateCache.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$timeout.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$window.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/services.sublime-completions create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/.gitignore create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/Default.sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/Main.sublime-menu create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/autofilename.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/autofilename.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/getimageinfo.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/.gitignore create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/after.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/aftereach.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/before.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/beforeeach.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/describe.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/it.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/completions/assert-chai-coffee.sublime-completions create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/completions/expect-chai-coffee.sublime-completions create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/completions/should-chai-coffee.sublime-completions create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/after.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/aftereach.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/before.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/beforeeach.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/describe.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/it.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/completions/assert-chai-coffee.sublime-completions create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/completions/expect-chai-coffee.sublime-completions create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/completions/should-chai-coffee.sublime-completions create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/.gitignore create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeAutocomplete.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Built-In Types.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Custom Types.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Keywords.sublime-completions create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeGotoDefinition.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Linux).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Linux).sublime-mousemap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (OSX).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (OSX).sublime-mousemap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Windows).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Windows).sublime-mousemap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Main.sublime-menu create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/coffee_utils.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/messages.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Add DocBlockr Line Before.sublime-macro create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Add DocBlockr Line.sublime-macro create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Base File.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default (Linux).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default (OSX).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default.sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/HISTORY.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Main.sublime-menu create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/actionscript.sublime-completions create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/coffee.sublime-completions create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/java.sublime-completions create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/js.sublime-completions create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/jsdocs-auto-complete.sublime-macro create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/jsdocs.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/php.sublime-completions create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/.gitignore create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/Default (Linux).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/Default (OSX).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/Default (Windows).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/Default.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/Emmet.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/Emmet.tmLanguage create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/Main.sublime-menu create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/Preferences.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/editor.js create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet-plugin.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet/__init__.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet/context.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet/emmet-app.js create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet/file.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet/python-wrapper.js create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet/pyv8loader.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet/reloader.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet/semver.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet/snippets.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet_completions/__init__.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet_completions/meta.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet_completions/trackers.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/messages.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/messages/1.0.1.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/messages/install.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/messages/official1.0.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/misc/generate-keymap.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Grunt/.gitignore create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Grunt/Default.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Grunt/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Grunt/SublimeGrunt.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Grunt/main.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Grunt/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/DOCTYPE HTML.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/base.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/head.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/link rel=alternate.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/link rel=author.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/link rel=icon.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/link rel=license.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/link rel=next.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/link rel=prefetch.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/link rel=prev.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/link rel=search.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/link rel=stylesheet.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/meta charset.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/meta name content.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/style.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Document metadata/title.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Edits/del.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Edits/ins.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/area.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/audio w - legacy object.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/audio.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/canvas.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/embed.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/figcaption.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/figure.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/iframe.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/img.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/map.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/object.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/param.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/source.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/video w - legacy object.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Embedded content/video.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/button.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/datalist.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/fieldset.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/form.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=button.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=checkbox.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=color.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=date.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=datetime-local.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=datetime.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=email.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=file.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=hidden.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=image.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=month.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=number.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=password.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=radio.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=range.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=reset.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=search.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=submit.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=tel.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=text.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=time.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=url.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/input type=week.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/keygen.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/label with input.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/label.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/legend.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/meter.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/optgroup.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/option.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/output.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/progress.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/select.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Forms/textarea.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Grouping content/blockquote.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Grouping content/dd.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Grouping content/div.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Grouping content/dl.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Grouping content/dt.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Grouping content/hr.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Grouping content/li.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Grouping content/ol.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Grouping content/pre.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Grouping content/ul.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Interactive elements/command.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Interactive elements/details.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Interactive elements/menu.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Interactive elements/summary.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Sections/address.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Sections/article.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Sections/aside.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Sections/body.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Sections/footer.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Sections/header.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Sections/hgroup.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Sections/nav.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Sections/section.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Tabular data/caption.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Tabular data/col.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Tabular data/colgroup.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Tabular data/table.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Tabular data/tbody.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Tabular data/td.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Tabular data/tfoot.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Tabular data/th.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Tabular data/thead.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Tabular data/tr.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/a mailto.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/a.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/abbr.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/b.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/bdo.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/br.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/cite.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/code.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/dfn.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/em.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/h1-6.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/i.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/kbd.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/mark.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/p.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/q.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/rp.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/rt.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/ruby.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/samp.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/small.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/span.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/strong.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/sub.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/sup.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/time.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/Text-level semantics/var.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/html.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Elements/script.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Entities/ampersand.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Entities/non-breaking space.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - HTML 5 Shim.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 5_0 only.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 5_5 only.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 5_x.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 6 and below.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 6 only.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 7 and above.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 7 and below.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 8 and below.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 9 and below.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - NOT Internet Explorer.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Chrome Frame.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Dojo.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Ext Core.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - MooTools.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Prototype.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - SWFObject.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - WebFont Loader.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - YUI!.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - jQuery UI.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - jQuery.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - script_aculo_us.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Macros/Forward Delete All Whitespace.tmMacro create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Comments.tmPreferences create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Completions HTML Attributes.tmPreferences create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Completions HTML Tags.tmPreferences create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Miscellaneous.tmPreferences create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Symbol List - ID.tmPreferences create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Tag Preferences.tmPreferences create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Typing Pairs - Empty Tag.tmPreferences create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/entities.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/nibs/Insert Entity.nib/classes.nib create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/nibs/Insert Entity.nib/info.nib create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/nibs/Insert Entity.nib/keyedobjects.nib create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Syntaxes/HTML 5.tmLanguage create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Wrap Selection in Open -Close Tag.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/info.plist create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/.gitignore create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/CHANGELOG.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Default (Linux).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Default (OSX).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Default (Windows).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/LICENSE create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Preferences.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/add_code_block.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/contexts.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/css_dict_driver.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/dictionaries/hayaku_CSS_dictionary.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/hayaku.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/probe.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/templates.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Http Requester/.gitignore create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Http Requester/Context.sublime-menu create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Http Requester/Default (Linux).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Http Requester/Default (OSX).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Http Requester/Default (Windows).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Http Requester/Default.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Http Requester/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Http Requester/http_requester.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Http Requester/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LESS/.gitignore create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LESS/Comments.tmPreferences create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LESS/LESS.tmLanguage create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LESS/Symbol List.tmPreferences create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LESS/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LESS/readme.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LESS/tests.less create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LiveReload/LiveReload.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LiveReload/Main.sublime-menu create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LiveReload/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LiveReload/assets/config.rb create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LiveReload/livereload.js create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LiveReload/livereload_st2.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LiveReload/messages.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LiveReload/messages/install_upgrade.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/LiveReload/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/.gitignore create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/Default (Linux).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/Default (OSX).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/Default (Windows).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/Default.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/Main.sublime-menu create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/Pretty JSON.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/PrettyJson.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/simplejson/__init__.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/simplejson/compat.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/simplejson/decoder.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/simplejson/encoder.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/simplejson/ordered_dict.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/simplejson/scanner.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/simplejson/tool.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Pretty JSON/tests.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/.codeintel/config create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/.gitignore create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/Default (Linux).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/Default (OSX).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/Default (Windows).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/Default.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/LICENSE create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/Main.sublime-menu create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/SublimeLinter.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/SublimeLinter.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/changelog.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.5.1.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.5.2.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.5.3.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.5.4.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.5.5.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.5.6.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.5.7.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.6.0.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.6.1.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.6.10.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.6.11.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.6.2.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.6.3.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.6.4.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.6.5.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.6.6.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.6.7.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.6.8.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/1.6.9.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/messages/install.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/package_control.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/__init__.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/loader.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/__init__.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/base_linter.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/c.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/c_cpplint.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/coffeescript.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/css.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/git_commit_message.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/haml.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/html.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/java.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/javascript.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/libs/capp_lint.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/libs/csslint/csslint-node.js create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/libs/csslint/linter.js create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/libs/jsengines/jsc.js create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/libs/jsengines/node.js create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/libs/jshint/jshint.js create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/libs/jshint/linter.js create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/libs/jslint/jslint.js create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/libs/jslint/linter.js create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/libs/pep8.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/libs/pyflakes/__init__.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/libs/pyflakes/checker.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/libs/pyflakes/messages.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/lua.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/notes.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/objective-j.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/perl.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/php.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/puppet.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/python.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/ruby.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/sublime_pylint.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/SublimeLinter/sublimelinter/modules/xml.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/.gitignore create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Close Tag On Slash/Default (Linux).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Close Tag On Slash/Default (OSX).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Close Tag On Slash/Default (Windows).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Insert As Tag/Commands.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Insert As Tag/Default (Linux).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Insert As Tag/Default (OSX).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Insert As Tag/Default (Windows).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Main.sublime-menu create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag Close Tag/Commands.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag Close Tag/Default (Linux).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag Close Tag/Default (OSX).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag Close Tag/Default (Windows).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag Indent/Commands.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag Indent/Context.sublime-menu create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag Indent/Default (Linux).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag Indent/Default (OSX).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag Indent/Default (Windows).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag Lint/Commands.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag Package.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag Remove Attributes/Commands.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag Remove/Commands.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/Tag.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/license.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/readme.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/tag_close_tag.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/tag_close_tag_on_slash.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/tag_indent.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/tag_insert_as_tag.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/tag_lint.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/tag_remove.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Tag/tag_remove_attributes.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/blockquote.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-danger.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-info.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-inverse.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-large.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-link-danger.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-link-info.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-link-inverse.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-link-large.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-link-mini.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-link-primary.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-link-small.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-link-success.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-link-warning.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-link.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-mini.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-primary.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-small.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-success.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button-warning.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/button.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Base CSS/form-horizontal.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/alert-error.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/alert-info.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/alert-success.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/alert.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/badge-error.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/badge-info.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/badge-inverse.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/badge-success.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/badge-warning.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/badge.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/breadcrumb.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/buttons-dropdown.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/buttons-grouped.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/label-important.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/label-info.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/label-success.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/label-warning.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/label.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/navbar.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/pager-aligned.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/pager.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/pagination.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/pills-dropdown.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/pills-stacked.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/pills.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/progress-stripped.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/progress.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/tabbable-below.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/tabbable-left.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/tabbable-right.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/tabbable.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/tabs-alert.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/tabs-dropdown.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/tabs-stacked.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/thumbnails.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Components/toolbar.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Examples/fluid.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Examples/hero.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Examples/starter.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Javascript Plugins/accordion.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Javascript Plugins/carousel.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Javascript Plugins/modal.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Javascript Plugins/modaljs.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Javascript Plugins/scripts.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Javascript Plugins/tooltip.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Scaffolding/grid-four.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Scaffolding/grid-three.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/Scaffolding/grid-two.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Twitter Bootstrap Snippets/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/ZZZ.EthanBrown.SublimeKeyMap.Web/Default (Windows).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/ZZZ.EthanBrown.SublimeKeyMap.Web/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/ZZZ.EthanBrown.SublimeKeyMap.Web/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$ajaxSend.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$ajaxSetup.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$ajaxStart.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$ajaxStop.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$ajaxSuccess.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$boxModel.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$browser-version.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$browser.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$each.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$extend.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$get.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$getScript.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$holdReady.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$inArray.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$isEmptyObject.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$isNumeric.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$isPlainObject.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$isWindow.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$map.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$merge.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$noop.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$now.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$parseJSON.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$parseXML.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$post.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$sub.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$trim.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$type.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$unique.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/$when.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/.gitignore create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/QUnit module.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/QUnit test.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/deferred_done.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/deferred_fail.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/deferred_isRejected.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/deferred_isResolved.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/deferred_reject.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/deferred_rejectWith.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/deferred_then.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_ajax.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_ajaxSetup.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_boxModel.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_browser.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_browser_version.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_each.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_extend.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_get.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_getJSON.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_getScript.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_inArray.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_isEmptyObject.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_isPlainObject.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_isWindow.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_map.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_merge.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_noop.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_parseJSON.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_parseXML.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_post.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_sub.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_trim.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_type.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_unique.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/jQuery_when.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/plugin (animation).tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/plugin (method extras).tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/plugin (selector).tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/plugin.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/qUnit HTML.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Syntaxes/jQueryJavaScript.tmLanguage create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/add.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/addClass.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/after.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/ajax.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/ajaxComplete.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/ajaxError.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/andSelf.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/animate-(with-callback).sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/animate.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/append.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/appendTo.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/attr-multiple.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/attr.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/before.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/bind.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/blur.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/change.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/children.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/clearqueue.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/click.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/clone.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/closest.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/contains.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/contents.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/css-multiple.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/css.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/data.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/dblclick.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/delay.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/delegate.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/dequeue.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/die.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/document-ready-1.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/document-ready-2.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/document-ready.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/each.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/end.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/eq.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/error.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/fadeIn.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/fadeOut.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/fadeTo.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/fadeToggle.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/filter-function.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/filter.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/find.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/first.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/focus.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/focusin.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/focusout.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/get.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/getJSON.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/has.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/hasClass.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/height.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/hide.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/hover.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/html.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/index.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/innerHeight.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/innerWidth.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/insertAfter.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/insertBefore.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/is.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/keydown.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/keypress.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/keyup.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/last.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/live.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/load.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/loadAHAH.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/map.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/mousedown.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/mouseenter.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/mouseleave.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/mousemove.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/mouseout.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/mouseover.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/mouseup.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/next.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/nextAll.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/nextUntil.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/not.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/off.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/offset (function).sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/offset.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/offsetParent.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/on.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/one.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/outerHeight.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/outerWidth.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/package-metadata.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/parent.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/parents.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/parentsUntil.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/prepend.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/prependTo.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/prev.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/prevAll.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/prevUntil.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/prop(map).sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/prop.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/reject.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/remove.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/removeAttr.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/removeClass.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/removeData.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/replaceAll.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/replaceWith.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/reset.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/resize.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/resolve.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/resolveWith.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/scroll.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/scrollLeft.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/scrollTop.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/select.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/serialize.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/serializeArray.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/show.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/siblings.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/size.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/slice.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/slideDown.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/slideToggle.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/slideUp.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/stop.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/submit.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/text.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/then.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/this.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/toArray.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/toggle-showHide.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/toggleClass.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/toggleEvent.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/trigger.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/triggerHandler.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/unbind.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/undelegate.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/unwrap.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/val.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/width.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/wrap.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/wrapAll.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/wrapInner.sublime-snippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/.gitignore create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/CoffeeScript.py create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/CoffeeScript.sublime-build create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/CoffeeScript.sublime-commands create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/CoffeeScript.sublime-settings create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/CoffeeScript.tmLanguage create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/CoffeeScript.tmPreferences create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Indent.tmPreferences create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Keymaps/Default (Linux).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Keymaps/Default (OSX).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Keymaps/Default (Windows).sublime-keymap create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Menu/Context.sublime-menu create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Menu/Main.sublime-menu create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/README.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Array comprehension.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Bound Function.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Class.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Console Log.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Else if.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Else.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Function.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/If Else.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/If.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Interpolated Code.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Object comprehension.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Range comprehension (exclusive).tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Range comprehension (inclusive).tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Switch.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Ternary If.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Try Catch.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/Unless.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Snippets/require.tmSnippet create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/Symbol List.tmPreferences create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/changelogs/0.5.1.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/changelogs/0.5.2.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/changelogs/0.5.3.txt create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/changelogs/0.5.4.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/changelogs/0.5.5.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/changelogs/0.5.6.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/changelogs/0.6.md create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/messages.json create mode 100644 EthanBrown.SublimeText2.WebPackages/tools/PackageCache/sublime-better-coffeescript/package.json diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Example.sublime-keymap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Example.sublime-keymap new file mode 100644 index 0000000..5a373d3 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Example.sublime-keymap @@ -0,0 +1,4 @@ +[ + { "keys": ["shift+f3"], "command": "show_overlay", + "args": {"overlay": "command_palette", "text": "Angular"} } +] diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/README.md b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/README.md new file mode 100644 index 0000000..9acf2b5 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/README.md @@ -0,0 +1,820 @@ +![Logo](http://angularjs.org/img/AngularJS-small.png) +# AngularJs Sublime Text 2 Bundle + +This package provides snippets for *all* the available AngularJS api calls. +The snippets are activated both in HTML and CoffeeScript. + +Is this a major perversion of the snippet system? In a way, yes. + +Think of it more as a poor mans Intellisense, rather than a series of snippets. +The snippets intentionally overlap with one another, so that only a few simple +mnemonics require memorization, rather than hundreds. + +Using this approach, instead of providing a `xyz`,`TAB` style snippet expansion, +`xyz`,`TAB` will load a context-sensitive Sublime completion overlay where the +appropriate snippet can be picked with the arrow keys and an additional TAB. For +example, `ng`,`TAB` in an HTML tag will show all the available ng-* attributes. +This is a little slower approach than the one typically taken with snippets, but +decreases the learning curve over the API surface. Note that Sublime appears to +have different conditions for showing the completion overlay. Simply typing +`ng` in a CoffeeScript document will show the completion menu, while the `TAB` is +required in HTML. (This is potentially related to other installed packages) + +## Installation + +### Automatic + +Ensure that you have installed Sublime Package Control following [these instructions][SublimePackage] + +Open the Sublime command palette with `Ctrl + Shift + P`, type / select `Package Control: Install Package`, +then from the package control list, type / select `AngularJS (CoffeeScript)` + +Note that packages are auto-updating, so as new modifications are made they will automatically be installed. + +[Sublime]: http://www.sublimetext.com/dev +[SublimePackage]: http://wbond.net/sublime_packages/package_control/installation + + +### Manual tweaking of Package Control + +This is not recommended, but Package control can be pointed directly at this +GitHub repository rather than using the registry. +Add to `Packages\User\Package Control.sublime-settings`, under the appropriate +keys in the JSON config file. + +This file can be opened via the Sublime menu: +`Preferences -> Package Settings -> Package Control -> Settings -- User` + +```javascript +{ + "installed_packages": + [ + "AngularJS (CoffeeScript)" + ], + "package_name_map": + { + "Sublime-AngularJS-Coffee-Completions": "AngularJS (CoffeeScript)" + }, + "repositories": + [ + "https://github.com/EastPoint/Sublime-AngularJS-Coffee-Completions" + ] +} +``` + +### Keybindings + +Snippet triggers in Sublime are effectively implicit key bindings, that are +always mapped to a series of characters + TAB. Alternatively, they can be found +on the `Ctrl + Shift + P` menu by typing `Ang` to filter the list. + +It is further recommended that a keybinding similar to the following is added +to provide single key combo access to all the currently available snippets. + +```javascript +[ + { "keys": ["shift+f3"], "command": "show_overlay", + "args": {"overlay": "command_palette", "text": "Angular"} } +] +``` + +To allow for the `$` character to trigger the menu automatically, the following +must be added to the `Preferences.sublime-settings` file. This file can be opened +by the `Preferences` -> `Settings -- User` menu item. + +```javascript +{ + "auto_complete_triggers": + [ + { + "characters": "$", + "selector": "source.coffee, source.js, source.js.embedded.html" + } + ] +} +``` + +If you want to disable duplicate `$`s from showing up in the editor when completing, +then you must change the default `word_separators` to the following, in the same user +`Preferences.sublime-settings` + +```javascript +{ + "word_separators": "./\\()\"'-:,.;<>~!@#%^&*|+=[]{}`~?" +} +``` + +__NOTE:__ `auto_complete_triggers` and `word_separators` are siblings in the same JSON +config object. + + +#### CoffeeScript + +The bindings have been selected so that they don't interfere with the standard +CoffeeScript bindings, namely `=`, `-`, `cla`, `log`, `elif`, `el`, `if`, `ifel`, +`#`, `forof`, `forx`, `fori`, `forin`, `req`, `swi`, `ter`, `try` or `unl` + +### Sublime Bugs + +Unfortunately there are a couple of issues with Sublime at the moment preventing +it from doing a couple of things that would help us out: + +* Filtering within the completions overlay doesn't work right when the `$` +character is involved. + +* There is no way to add names to a completion like you can for a snippet, so +the `Ctrl + Space` overlay only shows identifiers. + +* The tab trigger system in Sublime does not support regular expressions. So +when dealing with a member function such as `scope.$watch`, there is no way to +reduce the noise in the list when pressing `.$`. We see *all* completions +starting with `$` rather than only those starting with `.$`, lengthening the list. + +* There is no way that I can find to limit the scope of the `ng-*` attributes to +only the HTML tags that they are valid for (i.e. `ng-csp` only belong on `html`) +The best we can do here is to segregate snippets that are attributes vs tags. + +* Sublime doesn't have a convention for optional parameters / blocks in snippets. +This is faked by highlighting the block on the first `TAB` so that it may be +deleted, and allowing subsequent `TAB`s to change specific values in the block +if the block is kept. However, Sublime still honors the tabs inside the block +after it's been deleted. In practical terms, this means it may require extra +`TAB` presses to send the cursor to the next replacement point after an +`optional` block has been deleted. + +__Please vote up issues [124225][124225] and [124217][124217] if you want to see +these issues resolved!__ + +[124225]: http://sublimetext.userecho.com/topic/124225-/ +[124217]: http://sublimetext.userecho.com/topic/124217-/ + +Hopefully a future version of Sublime will address these issues, but for now +there are some work-arounds. + +The solution at the moment is to provide placeholder snippets for top-level +services such as `$filter`. + +A workflow for this would be the following: + +```plaintext +`$`, `TAB` + -> select Angular filter from the menu with `TAB` + -> `$filter` is inserted into document + -> `TAB` brings up completions against `$filter` + -> select specific filter from the menu with `TAB` (such as currency) + -> `$filter('currency') currency, 'symbol-eg-USD$'` is inserted into document + and supports `TAB` completion (or chunk deletion) +``` + +[completions]: http://docs.sublimetext.info/en/latest/extensibility/completions.html + +## Tab Triggers + +The number of tab triggers is intentionally limited to increase discoverability. +As a convention, most parameters have been stubbed with a value that indicates +the value that should be replaced. Where functions take multiple possible +parameters, the `|` has been used by convention - i.e. `true|false` + +#### tl;dr Version + +These are the only triggers used - `$`, `.$`, `ng`, `for`, `is`, `mod`, `dir`, +`fil`, `mock`, `$cookieStore`, `$filter.`, `$http.`, `$httpBackend.`, +`$injector.`, `$interpolate.`, `$location.`, `$log.`, `$provide.`, `$q.`, +`$route.`, `$routeProvider.`, `.error`, `.expect`, `.other`, `.success` and +`.when` ... PHEW + + +### Directive + +All HTML based directives are keyed off the `ng`,`TAB` binding. + +| Directive | Binding | Context | +| :------------------------------------- | ---------------: | --------------:| +| [form][form] | `ng`,`TAB` | HTML Element | +| [input][input] | `ng`,`TAB` | HTML Element | +| [input \[checkbox\]][input-check] | `ng`,`TAB` | HTML Element | +| [input \[email\]][input-email] | `ng`,`TAB` | HTML Element | +| [input \[number\]][input-number] | `ng`,`TAB` | HTML Element | +| [input \[radio\]][input-radio] | `ng`,`TAB` | HTML Element | +| [input \[text\]][input-text] | `ng`,`TAB` | HTML Element | +| [input \[url\]][input-url] | `ng`,`TAB` | HTML Element | +| [input \[email\]][input-email] | `ng`,`TAB` | HTML Element | +| [ngApp][ngApp] | `ng`,`TAB` | HTML Attribute | +| [ngBind][ngBind] | `ng`,`TAB` | HTML Attribute | +| [ngBindHtml][ngBindHtml] | `ng`,`TAB` | HTML Attribute | +| [ngBindHtmlUnsafe][ngBindHtmlUnsafe] | `ng`,`TAB` | HTML Attribute | +| [ngBindTemplate][ngBindTemplate] | `ng`,`TAB` | HTML Attribute | +| [ngChange][ngChange] | `ng`,`TAB` | HTML Attribute | +| [ngChecked][ngChecked] | `ng`,`TAB` | HTML Attribute | +| [ngClass][ngClass] | `ng`,`TAB` | HTML Attribute | +| [ngClassEven][ngClassEven] | `ng`,`TAB` | HTML Attribute | +| [ngClassOdd][ngClassOdd] | `ng`,`TAB` | HTML Attribute | +| [ngClick][ngClick] | `ng`,`TAB` | HTML Attribute | +| [ngCloak][ngCloak] | `ng`,`TAB` | HTML Attribute | +| [ngController][ngController] | `ng`,`TAB` | HTML Attribute | +| [ngCsp][ngCsp] | `ng`,`TAB` | HTML Attribute | +| [ngDblClick][ngDblClick] | `ng`,`TAB` | HTML Attribute | +| [ngDisabled][ngDisabled] | `ng`,`TAB` | HTML Attribute | +| [ngForm][ngForm] | `ng`,`TAB` | HTML Element | +| [ngHide][ngHide] | `ng`,`TAB` | HTML Attribute | +| [ngHref][ngHref] | `ng`,`TAB` | HTML Attribute | +| [ngInclude][ngInclude] | `ng`,`TAB` | HTML Attribute | +| [ngInclude][ngInclude] | `ng`,`TAB` | HTML Element | +| [ngInit][ngInit] | `ng`,`TAB` | HTML Attribute | +| [ngList][ngList] | `ng`,`TAB` | HTML Attribute | +| [ngModel][ngModel] | `ng`,`TAB` | HTML Attribute | +| [ngMousedown][ngMousedown] | `ng`,`TAB` | HTML Attribute | +| [ngMouseenter][ngMouseenter] | `ng`,`TAB` | HTML Attribute | +| [ngMouseleave][ngMouseleave] | `ng`,`TAB` | HTML Attribute | +| [ngMousemove][ngMousemove] | `ng`,`TAB` | HTML Attribute | +| [ngMouseover][ngMouseover] | `ng`,`TAB` | HTML Attribute | +| [ngMouseup][ngMouseup] | `ng`,`TAB` | HTML Attribute | +| [ngMultiple][ngMultiple] | `ng`,`TAB` | HTML Attribute | +| [ngNonBindable][ngNonBindable] | `ng`,`TAB` | HTML Attribute | +| [ngPluralize][ngPluralize] | `ng`,`TAB` | HTML Attribute | +| [ngPluralize][ngPluralize] | `ng`,`TAB` | HTML Element | +| [ngReadonly][ngReadonly] | `ng`,`TAB` | HTML Attribute | +| [ngRepeat][ngRepeat] | `ng`,`TAB` | HTML Attribute | +| [ngSelected][ngSelected] | `ng`,`TAB` | HTML Attribute | +| [ngShow][ngShow] | `ng`,`TAB` | HTML Attribute | +| [ngSrc][ngSrc] | `ng`,`TAB` | HTML Attribute | +| [ngStyle][ngStyle] | `ng`,`TAB` | HTML Attribute | +| [ngSubmit][ngSubmit] | `ng`,`TAB` | HTML Attribute | +| [ngSwitch][ngSwitch] | `ng`,`TAB` | HTML Attribute | +| [ngSwitch][ngSwitch] | `ng`,`TAB` | HTML Element | +| [ngSwitch-default][ngSwitch] | `ng`,`TAB` | HTML Attribute | +| [ngSwitch-when][ngSwitch] | `ng`,`TAB` | HTML Attribute | +| [ngTransclude][ngTransclude] | `ng`,`TAB` | HTML Attribute | +| [ngView][ngView] | `ng`,`TAB` | HTML Attribute | +| [ngView][ngView] | `ng`,`TAB` | HTML Element | +| [script][script] | `ng`,`TAB` | HTML Element | +| [select][select] | `ng`,`TAB` | HTML Element | +| [textarea][textarea] | `ng`,`TAB` | HTML Element | + +[form]: http://docs.angularjs.org/api/ng.directive:form +[input]: http://docs.angularjs.org/api/ng.directive:input +[input-check]: http://docs.angularjs.org/api/ng.directive:input.checkbox +[input-email]: http://docs.angularjs.org/api/ng.directive:input.email +[input-number]: http://docs.angularjs.org/api/ng.directive:input.number +[input-radio]: http://docs.angularjs.org/api/ng.directive:input.radio +[input-text]: http://docs.angularjs.org/api/ng.directive:input.text +[input-url]: http://docs.angularjs.org/api/ng.directive:input.url +[ngApp]: http://docs.angularjs.org/api/ng.directive:ngApp +[ngBind]: http://docs.angularjs.org/api/ng.directive:ngBind +[ngBindHtml]: http://docs.angularjs.org/api/ngSanitize.directive:ngBindHtml +[ngBindHtmlUnsafe]: http://docs.angularjs.org/api/ng.directive:ngBindHtmlUnsafe +[ngBindTemplate]: http://docs.angularjs.org/api/ng.directive:ngBindTemplate +[ngChange]: http://docs.angularjs.org/api/ng.directive:ngChange +[ngChecked]: http://docs.angularjs.org/api/ng.directive:ngChecked +[ngClass]: http://docs.angularjs.org/api/ng.directive:ngClass +[ngClassEven]: http://docs.angularjs.org/api/ng.directive:ngClassEven +[ngClassOdd]: http://docs.angularjs.org/api/ng.directive:ngClassOdd +[ngClick]: http://docs.angularjs.org/api/ng.directive:ngClick +[ngCloak]: http://docs.angularjs.org/api/ng.directive:ngCloak +[ngController]: http://docs.angularjs.org/api/ng.directive:ngController +[ngCsp]: http://docs.angularjs.org/api/ng.directive:ngCsp +[ngDblClick]: http://docs.angularjs.org/api/ng.directive:ngDblClick +[ngDisabled]: http://docs.angularjs.org/api/ng.directive:ngDisabled +[ngForm]: http://docs.angularjs.org/api/ng.directive:ngForm +[ngHide]: http://docs.angularjs.org/api/ng.directive:ngHide +[ngHref]: http://docs.angularjs.org/api/ng.directive:ngHref +[ngInclude]: http://docs.angularjs.org/api/ng.directive:ngInclude +[ngInit]: http://docs.angularjs.org/api/ng.directive:ngInit +[ngList]: http://docs.angularjs.org/api/ng.directive:ngList +[ngModel]: http://docs.angularjs.org/api/ng.directive:ngModel +[ngMousedown]: http://docs.angularjs.org/api/ng.directive:ngMousedown +[ngMouseenter]: http://docs.angularjs.org/api/ng.directive:ngMouseenter +[ngMouseleave]: http://docs.angularjs.org/api/ng.directive:ngMouseleave +[ngMousemove]: http://docs.angularjs.org/api/ng.directive:ngMousemove +[ngMouseover]: http://docs.angularjs.org/api/ng.directive:ngMouseover +[ngMouseup]: http://docs.angularjs.org/api/ng.directive:ngMouseup +[ngMultiple]: http://docs.angularjs.org/api/ng.directive:ngMultiple +[ngNonBindable]: http://docs.angularjs.org/api/ng.directive:ngNonBindable +[ngPluralize]: http://docs.angularjs.org/api/ng.directive:ngPluralize +[ngReadonly]: http://docs.angularjs.org/api/ng.directive:ngReadonly +[ngRepeat]: http://docs.angularjs.org/api/ng.directive:ngRepeat +[ngSelected]: http://docs.angularjs.org/api/ng.directive:ngSelected +[ngShow]: http://docs.angularjs.org/api/ng.directive:ngShow +[ngSrc]: http://docs.angularjs.org/api/ng.directive:ngSrc +[ngStyle]: http://docs.angularjs.org/api/ng.directive:ngStyle +[ngSubmit]: http://docs.angularjs.org/api/ng.directive:ngSubmit +[ngSwitch]: http://docs.angularjs.org/api/ng.directive:ngSwitch +[ngTransclude]: http://docs.angularjs.org/api/ng.directive:ngTransclude +[ngView]: http://docs.angularjs.org/api/ng.directive:ngView +[script]: http://docs.angularjs.org/api/ng.directive:script +[select]: http://docs.angularjs.org/api/ng.directive:select +[textarea]: http://docs.angularjs.org/api/ng.directive:textarea + +### Module + +| [Module][module] Method | Binding | Context | +| :----------------------------------- | -----------------: | ------------:| +| [config][m.config] | `mod`,`TAB` | CoffeeScript | +| [constant][m.constant] | `mod`,`TAB` | CoffeeScript | +| [controller][m.controller] | `mod`,`TAB` | CoffeeScript | +| [directive][m.directive] (to chain) | `dir`,`TAB` | CoffeeScript | +| [directive][dir-complete] (complete) | `dir`,`TAB` | CoffeeScript | +| [factory][m.factory] | `mod`,`TAB` | CoffeeScript | +| [filter][m.filter] | `mod`,`TAB` | CoffeeScript | +| [provider][m.provider] | `mod`,`TAB` | CoffeeScript | +| [run][m.run] | `mod`,`TAB` | CoffeeScript | +| [service][m.service] | `mod`,`TAB` | CoffeeScript | +| [value][m.value] | `mod`,`TAB` | CoffeeScript | + +[module]: http://docs.angularjs.org/api/angular.Module +[m.config]: http://docs.angularjs.org/api/angular.Module#config +[m.constant]: http://docs.angularjs.org/api/angular.Module#constant +[m.controller]: http://docs.angularjs.org/api/angular.Module#controller +[m.directive]: http://docs.angularjs.org/api/angular.Module#directive +[dir-complete]: http://docs.angularjs.org/guide/directive +[m.factory]: http://docs.angularjs.org/api/angular.Module#factory +[m.filter]: http://docs.angularjs.org/api/angular.Module#filter +[m.provider]: http://docs.angularjs.org/api/angular.Module#provider +[m.run]: http://docs.angularjs.org/api/angular.Module#run +[m.service]: http://docs.angularjs.org/api/angular.Module#service +[m.value]: http://docs.angularjs.org/api/angular.Module#value + +### Scope + +| Scope Method | Binding | Context | +| :----------------------------------- | --------------------: | ------------:| +| [$rootScope][Scope] | `$`,`TAB` | CoffeeScript | +| [$apply][$s.$apply] | `.$`,`TAB` | CoffeeScript | +| [$broadcast][$s.$broadcast] | `.$`,`TAB` | CoffeeScript | +| [$destroy][$s.$destroy] | `.$`,`TAB` | CoffeeScript | +| [$digest][$s.$digest] | `.$`,`TAB` | CoffeeScript | +| [$emit][$s.$emit] | `.$`,`TAB` | CoffeeScript | +| [$eval][$s.$eval] | `.$`,`TAB` | CoffeeScript | +| [$evalAsync][$s.$evalAsync] | `.$`,`TAB` | CoffeeScript | +| [$id][$s.$id] | `.$`,`TAB` | CoffeeScript | +| [$new][$s.$new] | `.$`,`TAB` | CoffeeScript | +| [$on][$s.$on] | `.$`,`TAB` | CoffeeScript | +| [$watch][$s.$watch] | `.$`,`TAB` | CoffeeScript | + +[$rootScope]: http://docs.angularjs.org/api/ng.$rootScope +[Scope]: http://docs.angularjs.org/api/ng.$rootScope.Scope +[$s.$apply]: http://docs.angularjs.org/api/ng.$rootScope.Scope#$apply +[$s.$broadcast]: http://docs.angularjs.org/api/ng.$rootScope.Scope#$broadcast +[$s.$destroy]: http://docs.angularjs.org/api/ng.$rootScope.Scope#$destroy +[$s.$digest]: http://docs.angularjs.org/api/ng.$rootScope.Scope#$digest +[$s.$emit]: http://docs.angularjs.org/api/ng.$rootScope.Scope#$emit +[$s.$eval]: http://docs.angularjs.org/api/ng.$rootScope.Scope#$eval +[$s.$evalAsync]: http://docs.angularjs.org/api/ng.$rootScope.Scope#$evalAsync +[$s.$id]: http://docs.angularjs.org/api/ng.$rootScope.Scope#$id +[$s.$new]: http://docs.angularjs.org/api/ng.$rootScope.Scope#$new +[$s.$on]: http://docs.angularjs.org/api/ng.$rootScope.Scope#$on +[$s.$watch]: http://docs.angularjs.org/api/ng.$rootScope.Scope#$watch + +### Controller + +Covers both [FormController][FormController] and [NgModelController][NgModelController] + +| Controller Method | Binding | Context | +| :------------------------------------- | ------------------: | ------------:| +| [$render][c.$render] | `.$`,`TAB` | CoffeeScript | +| [$setValidity][c.$setValidity] | `.$`,`TAB` | CoffeeScript | +| [$setViewValue][c.$setViewValue] | `.$`,`TAB` | CoffeeScript | +| [$viewValue][c.$viewValue] | `.$`,`TAB` | CoffeeScript | +| [$modelValue][c.$modelValue] | `.$`,`TAB` | CoffeeScript | +| [$parsers][c.$parsers] | `.$`,`TAB` | CoffeeScript | +| [$formatters][c.$formatters] | `.$`,`TAB` | CoffeeScript | +| [$error][c.$error] | `.$`,`TAB` | CoffeeScript | +| [$pristine][c.$pristine] | `.$`,`TAB` | CoffeeScript | +| [$dirty][c.$dirty] | `.$`,`TAB` | CoffeeScript | +| [$valid][c.$valid] | `.$`,`TAB` | CoffeeScript | +| [$invalid][c.$invalid] | `.$`,`TAB` | CoffeeScript | + +[FormController]: http://docs.angularjs.org/api/ng.directive:form.FormController +[NgModelController]: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController +[c.$render]: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController#$render +[c.$setValidity]: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController#$setValidity +[c.$setViewValue]: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController#$setViewValue +[c.$viewValue]: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController#$viewValue +[c.$modelValue]: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController#$modelValue +[c.$parsers]: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController#$parsers +[c.$formatters]: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController#$formatters +[c.$error]: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController#$error +[c.$pristine]: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController#$pristine +[c.$dirty]: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController#$dirty +[c.$valid]: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController#$valid +[c.$invalid]: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController#$invalid + +### Resource + +| Resource Methods | Binding | Context | +| :----------------------------------------- | --------------: | ------------:| +| [$resource][$resource] | `$`,`TAB` | CoffeeScript | +| [$delete][$r.$methods] | `.$`,`TAB` | CoffeeScript | +| [$get][$r.$methods] | `.$`,`TAB` | CoffeeScript | +| [$query][$r.$methods] | `.$`,`TAB` | CoffeeScript | +| [$remove][$r.$methods] | `.$`,`TAB` | CoffeeScript | +| [$save][$r.$methods] | `.$`,`TAB` | CoffeeScript | + +[$resource]: http://docs.angularjs.org/api/ngResource.$resource +[$r.$methods]: http://docs.angularjs.org/api/ngResource.$resource#Returns + +### Filter + +| Filter Method | Binding | Context | +| :------------------------------------- | ------------------: | ------------:| +| [$filter][$filter] | `$`,`TAB` | CoffeeScript | +| [currency][currency] | `$filter`,`TAB` | CoffeeScript | +| [currency][currency] | `fil`,`TAB` | HTML | +| [date][date] | `$filter`,`TAB` | CoffeeScript | +| [date][date] | `fil`,`TAB` | HTML | +| [filter][filter] | `$filter`,`TAB` | CoffeeScript | +| [filter][filter] | `fil`,`TAB` | HTML | +| [json][json] | `$filter`,`TAB` | CoffeeScript | +| [json][json] | `fil`,`TAB` | HTML | +| [limitTo][limitTo] | `$filter`,`TAB` | CoffeeScript | +| [limitTo][limitTo] | `fil`,`TAB` | HTML | +| [linky][linky] | `$filter`,`TAB` | CoffeeScript | +| [linky][linky] | `fil`,`TAB` | HTML | +| [lowercase][lowercase] | `$filter`,`TAB` | CoffeeScript | +| [lowercase][lowercase] | `fil`,`TAB` | HTML | +| [number][number] | `$filter`,`TAB` | CoffeeScript | +| [number][number] | `fil`,`TAB` | HTML | +| [orderBy][orderBy] | `$filter`,`TAB` | CoffeeScript | +| [orderBy][orderBy] | `fil`,`TAB` | HTML | +| [uppercase][uppercase] | `$filter`,`TAB` | CoffeeScript | +| [uppercase][uppercase] | `fil`,`TAB` | HTML | + +[$filter]: http://docs.angularjs.org/api/ng.$filter +[currency]: http://docs.angularjs.org/api/ng.filter:currency +[date]: http://docs.angularjs.org/api/ng.filter:date +[filter]: http://docs.angularjs.org/api/ng.filter:filter +[json]: http://docs.angularjs.org/api/ng.filter:json +[limitTo]: http://docs.angularjs.org/api/ng.filter:limitTo +[linky]: http://docs.angularjs.org/api/ngSanitize.filter:linky +[lowercase]: http://docs.angularjs.org/api/ng.filter:lowercase +[number]: http://docs.angularjs.org/api/ng.filter:number +[orderBy]: http://docs.angularjs.org/api/ng.filter:orderBy +[uppercase]: http://docs.angularjs.org/api/ng.filter:uppercase + +### Global API + +| Global API | Binding | Context | +| :----------------------------------------- | --------------: | ------------:| +| [angular.bind][angular.bind] | `ng`,`TAB` | CoffeeScript | +| [angular.bootstrap][angular.bootstrap] | `ng`,`TAB` | CoffeeScript | +| [angular.copy][angular.copy] | `ng`,`TAB` | CoffeeScript | +| [angular.element][angular.element] | `ng`,`TAB` | CoffeeScript | +| [angular.equals][angular.equals] | `ng`,`TAB` | CoffeeScript | +| [angular.extend][angular.extend] | `ng`,`TAB` | CoffeeScript | +| [angular.foreach][angular.foreach] | `for`,`TAB` | CoffeeScript | +| [angular.fromJson][angular.fromJson] | `ng`,`TAB` | CoffeeScript | +| [angular.identity][angular.identity] | `ng`,`TAB` | CoffeeScript | +| [angular.injector][angular.injector] | `ng`,`TAB` | CoffeeScript | +| [angular.isArray][angular.isArray] | `is`,`TAB` | CoffeeScript | +| [angular.isDate][angular.isDate] | `is`,`TAB` | CoffeeScript | +| [angular.isDefined][angular.isDefined] | `is`,`TAB` | CoffeeScript | +| [angular.isElement][angular.isElement] | `is`,`TAB` | CoffeeScript | +| [angular.isFunction][angular.isFunction] | `is`,`TAB` | CoffeeScript | +| [angular.isNumber][angular.isNumber] | `is`,`TAB` | CoffeeScript | +| [angular.isObject][angular.isObject] | `is`,`TAB` | CoffeeScript | +| [angular.isString][angular.isString] | `is`,`TAB` | CoffeeScript | +| [angular.isUndefined][angular.isUndefined] | `is`,`TAB` | CoffeeScript | +| [angular.lowercase][angular.lowercase] | `ng`,`TAB` | CoffeeScript | +| [angular.module][angular.module] | `mod`,`TAB` | CoffeeScript | +| [angular.noop][angular.noop] | `ng`,`TAB` | CoffeeScript | +| [angular.toJson][angular.toJson] | `ng`,`TAB` | CoffeeScript | +| [angular.uppercase][angular.uppercase] | `ng`,`TAB` | CoffeeScript | +| [angular.version][angular.version] | `ng`,`TAB` | CoffeeScript | + +[angular.bind]: http://docs.angularjs.org/api/angular.bind +[angular.bootstrap]: http://docs.angularjs.org/api/angular.bootstrap +[angular.copy]: http://docs.angularjs.org/api/angular.copy +[angular.element]: http://docs.angularjs.org/api/angular.element +[angular.equals]: http://docs.angularjs.org/api/angular.equals +[angular.extend]: http://docs.angularjs.org/api/angular.extend +[angular.forEach]: http://docs.angularjs.org/api/angular.forEach +[angular.fromJson]: http://docs.angularjs.org/api/angular.fromJson +[angular.identity]: http://docs.angularjs.org/api/angular.identity +[angular.injector]: http://docs.angularjs.org/api/angular.injector +[angular.isArray]: http://docs.angularjs.org/api/angular.isArray +[angular.isDate]: http://docs.angularjs.org/api/angular.isDate +[angular.isDefined]: http://docs.angularjs.org/api/angular.isDefined +[angular.isElement]: http://docs.angularjs.org/api/angular.isElement +[angular.isFunction]: http://docs.angularjs.org/api/angular.isFunction +[angular.isNumber]: http://docs.angularjs.org/api/angular.isNumber +[angular.isObject]: http://docs.angularjs.org/api/angular.isObject +[angular.isString]: http://docs.angularjs.org/api/angular.isString +[angular.isUndefined]: http://docs.angularjs.org/api/angular.isUndefined +[angular.lowercase]: http://docs.angularjs.org/api/angular.lowercase +[angular.module]: http://docs.angularjs.org/api/angular.module +[angular.noop]: http://docs.angularjs.org/api/angular.noop +[angular.toJson]: http://docs.angularjs.org/api/angular.toJson +[angular.uppercase]: http://docs.angularjs.org/api/angular.uppercase +[angular.version]: http://docs.angularjs.org/api/angular.version + +### Http + +| Http Methods | Binding | Context | +| :--------------------------------------- | ----------------: | ------------:| +| [$http][$http] | `$`,`TAB` | CoffeeScript | +| [$http (configured)][$http.usage] | `$`,`TAB` | CoffeeScript | +| [delete][$http.delete] | `$http.`,`TAB` | CoffeeScript | +| [get][$http.get] | `$http.`,`TAB` | CoffeeScript | +| [head][$http.head] | `$http.`,`TAB` | CoffeeScript | +| [jsonp][$http.jsonp] | `$http.`,`TAB` | CoffeeScript | +| [post][$http.post] | `$http.`,`TAB` | CoffeeScript | +| [put][$http.put] | `$http.`,`TAB` | CoffeeScript | +| [defaults][$http.defaults] | `$http.`,`TAB` | CoffeeScript | +| [pendingRequests][$http.pendingRequests] | `$http.`,`TAB` | CoffeeScript | +| [.error][$http.Returns] | `.error`,`TAB` | CoffeeScript | +| [.success][$http.Returns] | `.success`,`TAB` | CoffeeScript | + +[$http]: http://docs.angularjs.org/api/ng.$http +[$http.usage]: http://docs.angularjs.org/api/ng.$http#Usage +[$http.delete]: http://docs.angularjs.org/api/ng.$http#delete +[$http.get]: http://docs.angularjs.org/api/ng.$http#get +[$http.head]: http://docs.angularjs.org/api/ng.$http#head +[$http.jsonp]: http://docs.angularjs.org/api/ng.$http#jsonp +[$http.post]: http://docs.angularjs.org/api/ng.$http#post +[$http.put]: http://docs.angularjs.org/api/ng.$http#put +[$http.defaults]: http://docs.angularjs.org/api/ng.$http#defaults +[$http.pendingRequests]: http://docs.angularjs.org/api/ng.$http#defaults +[$http.Returns]: http://docs.angularjs.org/api/ng.$http#Returns + +### HttpBackend + +Note that `.expect` and `.when` are designed to chain, so we don't bind to +`$httpBackend` + +| HttpBackend Methods | Binding | Context | +| :------------------------------------------- | --------------------: | ------------:| +| [$httpBackend][$httpBackend] | `$`,`TAB` | CoffeeScript | +| [expect][$h.expect] | `.expect`,`TAB` | CoffeeScript | +| [expectDELETE][$h.expectDELETE] | `.expect`,`TAB` | CoffeeScript | +| [expectGET][$h.expectGET] | `.expect`,`TAB` | CoffeeScript | +| [expectHEAD][$h.expectHEAD] | `.expect`,`TAB` | CoffeeScript | +| [expectJSONP][$h.expectJSONP] | `.expect`,`TAB` | CoffeeScript | +| [expectPATCH][$h.expectPATCH] | `.expect`,`TAB` | CoffeeScript | +| [expectPOST][$h.expectPOST] | `.expect`,`TAB` | CoffeeScript | +| [expectPUT][$h.expectPUT] | `.expect`,`TAB` | CoffeeScript | +| [flush][$h.flush] | `$httpBackend.`,`TAB` | CoffeeScript | +| [resetExpectations][$h.reset] | `$httpBackend.`,`TAB` | CoffeeScript | +| [verifyNoOutstandingExceptions][$h.verifyEx] | `$httpBackend.`,`TAB` | CoffeeScript | +| [verifyNoOutstandingRequests][$h.verifyReqs] | `$httpBackend.`,`TAB` | CoffeeScript | +| [when][$h.when] | `.when`,`TAB` | CoffeeScript | +| [whenDELETE][$h.whenDELETE] | `.when`,`TAB` | CoffeeScript | +| [whenGET][$h.whenGET] | `.when`,`TAB` | CoffeeScript | +| [whenHEAD][$h.whenHEAD] | `.when`,`TAB` | CoffeeScript | +| [whenJSONP][$h.whenJSONP] | `.when`,`TAB` | CoffeeScript | +| [whenPATCH][$h.whenPATCH] | `.when`,`TAB` | CoffeeScript | +| [whenPOST][$h.whenPOST] | `.when`,`TAB` | CoffeeScript | +| [whenPUT][$h.whenPUT] | `.when`,`TAB` | CoffeeScript | + +[$httpBackend]: http://docs.angularjs.org/api/ngMock.$httpBackend +[$h.expect]: http://docs.angularjs.org/api/ngMock.$httpBackend#expect +[$h.expectDELETE]: http://docs.angularjs.org/api/ngMock.$httpBackend#expectDELETE +[$h.expectGET]: http://docs.angularjs.org/api/ngMock.$httpBackend#expectGET +[$h.expectHEAD]: http://docs.angularjs.org/api/ngMock.$httpBackend#expectHEAD +[$h.expectJSONP]: http://docs.angularjs.org/api/ngMock.$httpBackend#expectJSONP +[$h.expectPATCH]: http://docs.angularjs.org/api/ngMock.$httpBackend#expectPATCH +[$h.expectPOST]: http://docs.angularjs.org/api/ngMock.$httpBackend#expectPOST +[$h.expectPUT]: http://docs.angularjs.org/api/ngMock.$httpBackend#expectPUT +[$h.flush]: http://docs.angularjs.org/api/ngMock.$httpBackend#flush +[$h.reset]: http://docs.angularjs.org/api/ngMock.$httpBackend#resetExpectations +[$h.verifyEx]: http://docs.angularjs.org/api/ngMock.$httpBackend#verifyNoOutstandingExceptions +[$h.verifyReqs]: http://docs.angularjs.org/api/ngMock.$httpBackend#verifyNoOutstandingRequests +[$h.when]: http://docs.angularjs.org/api/ngMock.$httpBackend#when +[$h.whenDELETE]: http://docs.angularjs.org/api/ngMock.$httpBackend#whenDELETE +[$h.whenGET]: http://docs.angularjs.org/api/ngMock.$httpBackend#whenGET +[$h.whenHEAD]: http://docs.angularjs.org/api/ngMock.$httpBackend#whenHEAD +[$h.whenJSONP]: http://docs.angularjs.org/api/ngMock.$httpBackend#whenJSONP +[$h.whenPATCH]: http://docs.angularjs.org/api/ngMock.$httpBackend#whenPATCH +[$h.whenPOST]: http://docs.angularjs.org/api/ngMock.$httpBackend#whenPOST +[$h.whenPUT]: http://docs.angularjs.org/api/ngMock.$httpBackend#whenPUT + +### Q + +| Provider Method | Binding | Context | +| :------------------------------------- | ------------------: | ------------:| +| [$q][$q] | `$`,`TAB` | CoffeeScript | +| [all][$q.all] | `$q.`,`TAB` | CoffeeScript | +| [defer][$q.defer] | `$q.`,`TAB` | CoffeeScript | +| [reject][$q.reject] | `$q.`,`TAB` | CoffeeScript | +| [when][$q.when] | `$q.`,`TAB` | CoffeeScript | + +[$q]: http://docs.angularjs.org/api/ng.$q +[$q.all]: http://docs.angularjs.org/api/ng.$q#all +[$q.defer]: http://docs.angularjs.org/api/ng.$q#defer +[$q.reject]: http://docs.angularjs.org/api/ng.$q#reject +[$q.when]: http://docs.angularjs.org/api/ng.$q#when + +### Route + +| Route Method | Binding | Context | +| :----------------------------------| ----------------------: | ------------:| +| [$route][$route] | `$`,`TAB` | CoffeeScript | +| [current][$route.current] | `$route.`,`TAB` | CoffeeScript | +| [reload][$route.reload] | `$route.`,`TAB` | CoffeeScript | +| [routes][$route.routes] | `$route.`,`TAB` | CoffeeScript | +| [$routeChangeError][$route.$rce] | `.$`,`TAB` | CoffeeScript | +| [$routeChangeStart][$route.$rcst] | `.$`,`TAB` | CoffeeScript | +| [$routeChangeSuccess][$route.$rcs] | `.$`,`TAB` | CoffeeScript | +| [$routeUpdate][$route.$ru] | `.$`,`TAB` | CoffeeScript | +| [$routeParams][$routeParams] | `$`,`TAB` | CoffeeScript | +| [$routeProvider][$routeProvider] | `$`,`TAB` | CoffeeScript | +| [when][$rp.when] | `$routeprovider.`,`TAB` | CoffeeScript | +| [otherwise][$rp.other] | `.other`,`TAB` | CoffeeScript | + +[$route]: http://docs.angularjs.org/api/ng.$route +[$route.current]: http://docs.angularjs.org/api/ng.$route#current +[$route.reload]: http://docs.angularjs.org/api/ng.$route#reload +[$route.routes]: http://docs.angularjs.org/api/ng.$route#routes +[$route.$rce]: http://docs.angularjs.org/api/ng.$route#$routeChangeError +[$route.$rcst]: http://docs.angularjs.org/api/ng.$route#$routeChangeStart +[$route.$rcs]: http://docs.angularjs.org/api/ng.$route#$routeChangeSuccess +[$route.$ru]: http://docs.angularjs.org/api/ng.$route#$routeUpdate +[$routeParams]: http://docs.angularjs.org/api/ng.$routeParams +[$routeProvider]: http://docs.angularjs.org/api/ng.$routeProvider +[$rp.when]: http://docs.angularjs.org/api/ng.$routeProvider#when +[$rp.other]: http://docs.angularjs.org/api/ng.$routeProvider#otherwise + +### Cookie + +| Cookie Method | Binding | Context | +| :----------------------------------- | --------------------: | ------------:| +| [$cookies][$cookies] | `$`,`TAB` | CoffeeScript | +| [$cookieStore][$cookieStore] | `$`,`TAB` | CoffeeScript | +| [get][$c.get] | `$cookiestore.`,`TAB` | CoffeeScript | +| [put][$c.put] | `$cookiestore.`,`TAB` | CoffeeScript | +| [remove][$c.remove] | `$cookiestore.`,`TAB` | CoffeeScript | + +[$cookies]: http://docs.angularjs.org/api/ngCookies.$cookies +[$cookieStore]: http://docs.angularjs.org/api/ngCookies.$cookieStore +[$c.get]: http://docs.angularjs.org/api/ngCookies.$cookieStore#get +[$c.put]: http://docs.angularjs.org/api/ngCookies.$cookieStore#put +[$c.remove]: http://docs.angularjs.org/api/ngCookies.$cookieStore#remove + +### Location + +| Location Method | Binding | Context | +| :----------------------------------- | -----------------: | ------------:| +| [$injector][$injector] | `$`,`TAB` | CoffeeScript | +| [absUrl][$l.absUrl] | `$location.`,`TAB` | CoffeeScript | +| [hash][$l.hash] (get & set) | `$location.`,`TAB` | CoffeeScript | +| [host][$l.host] | `$location.`,`TAB` | CoffeeScript | +| [path][$l.path] (get & set) | `$location.`,`TAB` | CoffeeScript | +| [port][$l.port] | `$location.`,`TAB` | CoffeeScript | +| [protocol][$l.protocol] | `$location.`,`TAB` | CoffeeScript | +| [replace][$l.replace] | `$location.`,`TAB` | CoffeeScript | +| [search][$l.search] (get & set) | `$location.`,`TAB` | CoffeeScript | +| [url][$l.url] (get & set) | `$location.`,`TAB` | CoffeeScript | + +[$location]: http://docs.angularjs.org/api/ng.$location +[$l.absUrl]: http://docs.angularjs.org/api/ng.$location#absUrl +[$l.hash]: http://docs.angularjs.org/api/ng.$location#hash +[$l.host]: http://docs.angularjs.org/api/ng.$location#host +[$l.path]: http://docs.angularjs.org/api/ng.$location#path +[$l.port]: http://docs.angularjs.org/api/ng.$location#port +[$l.protocol]: http://docs.angularjs.org/api/ng.$location#protocol +[$l.replace]: http://docs.angularjs.org/api/ng.$location#replace +[$l.search]: http://docs.angularjs.org/api/ng.$location#search +[$l.url]: http://docs.angularjs.org/api/ng.$location#url + +### Log + +| Log Method | Binding | Context | +| :----------------------------------- | --------------: | ------------:| +| [$log][$log] | `$`,`TAB` | CoffeeScript | +| [error][$log.error] | `$log.`,`TAB` | CoffeeScript | +| [info][$log.info] | `$log.`,`TAB` | CoffeeScript | +| [log][$log.log] | `$log.`,`TAB` | CoffeeScript | +| [warn][$log.warn] | `$log.`,`TAB` | CoffeeScript | + +[$log]: http://docs.angularjs.org/api/ng.$log +[$log.error]: http://docs.angularjs.org/api/ng.$log#error +[$log.info]: http://docs.angularjs.org/api/ng.$log#info +[$log.log]: http://docs.angularjs.org/api/ng.$log#log +[$log.warn]: http://docs.angularjs.org/api/ng.$log#warn + +### Mock + +| Mock Method | Binding | Context | +| :------------------------------------- | ------------------: | ------------:| +| [angular.mock.debug][mock.debug] | `mock`,`TAB` | CoffeeScript | +| [angular.mock.inject][mock.inject] | `mock`,`TAB` | CoffeeScript | +| [angular.mock.module][mock.module] | `mock`,`TAB` | CoffeeScript | +| [angular.mock.TzDate][mock.TzDate] | `mock`,`TAB` | CoffeeScript | +| [$log.assertEmpty][$log.assertEmpty] | `$log.`,`TAB` | CoffeeScript | +| [$log.reset][$log.reset] | `$log.`,`TAB` | CoffeeScript | +| [$log.logs][$log.logs] | `$log.`,`TAB` | CoffeeScript | +| [$timeout.flush][$timeout.flush] | `$timeout.`,`TAB` | CoffeeScript | + +[mock.debug]: http://docs.angularjs.org/api/angular.mock.debug +[mock.inject]: http://docs.angularjs.org/api/angular.mock.inject +[mock.module]: http://docs.angularjs.org/api/angular.mock.module +[mock.TzDate]: http://docs.angularjs.org/api/angular.mock.debug +[$log.assertEmpty]: http://docs.angularjs.org/api/ngMock.$log#assertEmpty +[$log.reset]: http://docs.angularjs.org/api/ngMock.$log#reset +[$log.logs]: http://docs.angularjs.org/api/ngMock.$log#logs +[$timeout.flush]: http://docs.angularjs.org/api/ngMock.$timeout#flush + +### Injector + +| Injector Method | Binding | Context | +| :----------------------------------- | -----------------: | ------------:| +| [$injector][$injector] | `$`,`TAB` | CoffeeScript | +| [annotate][$i.annotate] | `$injector.`,`TAB` | CoffeeScript | +| [get][$i.get] | `$injector.`,`TAB` | CoffeeScript | +| [instantiate][$i.instantiate] | `$injector.`,`TAB` | CoffeeScript | +| [invoke][$i.invoke] | `$injector.`,`TAB` | CoffeeScript | + +[$injector]: http://docs.angularjs.org/api/AUTO.$injector +[$i.annotate]: http://docs.angularjs.org/api/AUTO.$injector#annotate +[$i.get]: http://docs.angularjs.org/api/AUTO.$injector#get +[$i.instantiate]: http://docs.angularjs.org/api/AUTO.$injector#instantiate +[$i.invoke]: http://docs.angularjs.org/api/AUTO.$injector#invoke + +### Interpolate + +| Injector Method | Binding | Context | +| :----------------------------------- | --------------------: | ------------:| +| [$interpolate][$interpolate] | `$`,`TAB` | CoffeeScript | +| [endSymbol][$in.endSymbol] | `$interpolate.`,`TAB` | CoffeeScript | +| [startsymbol][$in.startsymbol] | `$interpolate.`,`TAB` | CoffeeScript | + +[$interpolate]: http://docs.angularjs.org/api/ng.$interpolate +[$in.endSymbol]: http://docs.angularjs.org/api/ng.$interpolate#endSymbol +[$in.startSymbol]: http://docs.angularjs.org/api/ng.$interpolate#startSymbol + +### Provide + +| Provider Method | Binding | Context | +| :------------------------------------- | ------------------: | ------------:| +| [$provide][$provide] | `$`,`TAB` | CoffeeScript | +| [constant][$p.constant] | `$provide.`,`TAB` | CoffeeScript | +| [decorator][$p.decorator] | `$provide.`,`TAB` | CoffeeScript | +| [factory][$p.factory] | `$provide.`,`TAB` | CoffeeScript | +| [provider][$p.provider] | `$provide.`,`TAB` | CoffeeScript | +| [service][$p.service] | `$provide.`,`TAB` | CoffeeScript | +| [value][$p.value] | `$provide.`,`TAB` | CoffeeScript | + +[$provide]: http://docs.angularjs.org/api/AUTO.$provide +[$p.constant]: http://docs.angularjs.org/api/AUTO.$provide#constant +[$p.decorator]: http://docs.angularjs.org/api/AUTO.$provide#decorator +[$p.factory]: http://docs.angularjs.org/api/AUTO.$provide#factory +[$p.provider]: http://docs.angularjs.org/api/AUTO.$provide#provider +[$p.service]: http://docs.angularjs.org/api/AUTO.$provide#service +[$p.value]: http://docs.angularjs.org/api/AUTO.$provide#value + +### Other Services + +| Service | Binding | Context | +| :------------------------------------- | ----------: |-------------:| +| [$anchorScroll][$anchorScroll] | `$`,`TAB` | CoffeeScript | +| [$cacheFactory][$cacheFactory] | `$`,`TAB` | CoffeeScript | +| [$compile][$compile] | `$`,`TAB` | CoffeeScript | +| [$controller][$controller] | `$`,`TAB` | CoffeeScript | +| [$document][$document] | `$`,`TAB` | CoffeeScript | +| [$exceptionHandler][$exceptionHandler] | `$`,`TAB` | CoffeeScript | +| [$locale][$locale] | `$`,`TAB` | CoffeeScript | +| [$parse][$parse] | `$`,`TAB` | CoffeeScript | +| [$rootElement][$rootElement] | `$`,`TAB` | CoffeeScript | +| [$templateCache][$templateCache] | `$`,`TAB` | CoffeeScript | +| [$timeout][$timeout] | `$`,`TAB` | CoffeeScript | +| [$window][$window] | `$`,`TAB` | CoffeeScript | + +[$anchorScroll]: http://docs.angularjs.org/api/ng.$anchorScroll +[$cacheFactory]: http://docs.angularjs.org/api/ng.$cacheFactory +[$compile]: http://docs.angularjs.org/api/ng.$compile +[$controller]: http://docs.angularjs.org/api/ng.$controller +[$document]: http://docs.angularjs.org/api/ng.$document +[$exceptionHandler]: http://docs.angularjs.org/api/ng.$exceptionHandler +[$locale]: http://docs.angularjs.org/api/ng.$locale +[$parse]: http://docs.angularjs.org/api/ng.$parse +[$rootElement]: http://docs.angularjs.org/api/ng.$rootElement +[$templateCache]: http://docs.angularjs.org/api/ng.$templateCache +[$timeout]: http://docs.angularjs.org/api/ng.$timeout +[$window]: http://docs.angularjs.org/api/ng.$window + +## Future Improvements + +* It would be nice to provide inline docs through SublimeCodeIntel in a vein +similar to the [ones provided for jQuery][jQuery]. + +* [SublimeErl][SublimeErl] also provides some pretty fancy features which would +be nice to integrate + +[jQuery]: https://github.com/Kronuz/SublimeCodeIntel/blob/master/libs/codeintel2/catalogs/jquery.cix +[SublimeErl]: https://github.com/ostinelli/SublimErl + +## Making Contributions + +* When editing `.sublime-snippets` files, __always__ use real tab characters for +indentation on a newline following a crlf/lf. Sublime will automatically insert +spaces if your user settings specify spacing for indentation. + +* Write CoffeeScript that will pass coffeelint + + +## Thanks + +Original inspiration was from the [AngularJS tmbundle][tmbundle], which was +targeted at JavaScript and a small set of mnemonics for common operations. This +is designed to be more comprehensive. + +[tmbundle]: github.com/ProLoser/AngularJs.tmbundle.git diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/dirty.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/dirty.sublime-snippet new file mode 100644 index 0000000..4f7dab0 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/dirty.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Controller $dirty + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/error.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/error.sublime-snippet new file mode 100644 index 0000000..1d312f3 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/error.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Controller $error + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/formatters.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/formatters.sublime-snippet new file mode 100644 index 0000000..bc202e7 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/formatters.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Controller $formatters + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/invalid.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/invalid.sublime-snippet new file mode 100644 index 0000000..25f447c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/invalid.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Controller $invalid + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/modelValue.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/modelValue.sublime-snippet new file mode 100644 index 0000000..d7cb0c8 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/modelValue.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Controller $modelValue + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/parsers.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/parsers.sublime-snippet new file mode 100644 index 0000000..fc92c0a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/parsers.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Controller $parsers + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/pristine.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/pristine.sublime-snippet new file mode 100644 index 0000000..0429fce --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/pristine.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Controller $pristine + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/render.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/render.sublime-snippet new file mode 100644 index 0000000..3d2bde8 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/render.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Controller $render + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/setValidity.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/setValidity.sublime-snippet new file mode 100644 index 0000000..82c0297 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/setValidity.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Controller $setValidity + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/setViewValue.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/setViewValue.sublime-snippet new file mode 100644 index 0000000..2090347 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/setViewValue.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Controller $setViewValue + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/valid.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/valid.sublime-snippet new file mode 100644 index 0000000..c5422ff --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/valid.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Controller $valid + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/viewValue.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/viewValue.sublime-snippet new file mode 100644 index 0000000..e5248f2 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Controller/viewValue.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Controller $viewValue + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/$cookieStore.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/$cookieStore.sublime-snippet new file mode 100644 index 0000000..15c4e40 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/$cookieStore.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $cookieStore + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/$cookies.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/$cookies.sublime-snippet new file mode 100644 index 0000000..a1d3216 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/$cookies.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $cookies + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/get.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/get.sublime-snippet new file mode 100644 index 0000000..cb0228e --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/get.sublime-snippet @@ -0,0 +1,6 @@ + + + $cookieStore. + source.coffee + Angular $cookieStore get + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/put.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/put.sublime-snippet new file mode 100644 index 0000000..dd5e512 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/put.sublime-snippet @@ -0,0 +1,6 @@ + + + $cookieStore. + source.coffee + Angular $cookieStore put + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/remove.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/remove.sublime-snippet new file mode 100644 index 0000000..2f711f5 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Cookies/remove.sublime-snippet @@ -0,0 +1,6 @@ + + + $cookieStore. + source.coffee + Angular $cookieStore remove + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.checkbox.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.checkbox.sublime-snippet new file mode 100644 index 0000000..f636141 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.checkbox.sublime-snippet @@ -0,0 +1,11 @@ + + ]]> + ng + text.html -source -meta.tag, punctuation.definition.tag.begin + Angular input [checkbox] + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.number.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.number.sublime-snippet new file mode 100644 index 0000000..9bf3934 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.number.sublime-snippet @@ -0,0 +1,13 @@ + + ]]> + ng + text.html -source -meta.tag, punctuation.definition.tag.begin + Angular input [number] + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.radio.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.radio.sublime-snippet new file mode 100644 index 0000000..2dfb121 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.radio.sublime-snippet @@ -0,0 +1,10 @@ + + ]]> + ng + text.html -source -meta.tag, punctuation.definition.tag.begin + Angular input [radio] + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.sublime-snippet new file mode 100644 index 0000000..00b5f5a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/input.sublime-snippet @@ -0,0 +1,13 @@ + + ]]> + ng + text.html -source -meta.tag, punctuation.definition.tag.begin + Angular input [text|email|url] + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngApp.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngApp.sublime-snippet new file mode 100644 index 0000000..714cbe0 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngApp.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngApp + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBind.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBind.sublime-snippet new file mode 100644 index 0000000..ee3bdfc --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBind.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngBind + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBindHtml.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBindHtml.sublime-snippet new file mode 100644 index 0000000..39828d5 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBindHtml.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngBindHtmlUnsafe + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBindHtmlUnsafe.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBindHtmlUnsafe.sublime-snippet new file mode 100644 index 0000000..0f4e5ff --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBindHtmlUnsafe.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngBindHtmlUnsafe + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBindTemplate.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBindTemplate.sublime-snippet new file mode 100644 index 0000000..248fdcd --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngBindTemplate.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngBindTemplate + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngChange.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngChange.sublime-snippet new file mode 100644 index 0000000..9f2c442 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngChange.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngChange + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngChecked.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngChecked.sublime-snippet new file mode 100644 index 0000000..e48333a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngChecked.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngChecked + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClass.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClass.sublime-snippet new file mode 100644 index 0000000..ab21150 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClass.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngClass + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClassEven.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClassEven.sublime-snippet new file mode 100644 index 0000000..1a4a49a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClassEven.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngClassEven + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClassOdd.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClassOdd.sublime-snippet new file mode 100644 index 0000000..6df7643 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClassOdd.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngClassOdd + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClick.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClick.sublime-snippet new file mode 100644 index 0000000..7d42b95 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngClick.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngClick + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngCloak.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngCloak.sublime-snippet new file mode 100644 index 0000000..c270bb5 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngCloak.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngCloak + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngController.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngController.sublime-snippet new file mode 100644 index 0000000..6a918c4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngController.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngController + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngCsp.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngCsp.sublime-snippet new file mode 100644 index 0000000..bb47202 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngCsp.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngCsp (Content Security Policy) + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngDblClick.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngDblClick.sublime-snippet new file mode 100644 index 0000000..eac3d1f --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngDblClick.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngDblclick + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngDisabled.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngDisabled.sublime-snippet new file mode 100644 index 0000000..bb1bfdd --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngDisabled.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngDisabled + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngForm.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngForm.sublime-snippet new file mode 100644 index 0000000..e101b27 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngForm.sublime-snippet @@ -0,0 +1,8 @@ + + + $0 +]]> + ng + text.html -source -meta.tag, punctuation.definition.tag.begin + Angular form + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngHide.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngHide.sublime-snippet new file mode 100644 index 0000000..ef40b27 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngHide.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngHide + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngHref.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngHref.sublime-snippet new file mode 100644 index 0000000..fcf2de6 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngHref.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngHref + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngInclude.attribute.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngInclude.attribute.sublime-snippet new file mode 100644 index 0000000..cc76d8c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngInclude.attribute.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngInclude (attribute) + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngInclude.element.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngInclude.element.sublime-snippet new file mode 100644 index 0000000..875a00d --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngInclude.element.sublime-snippet @@ -0,0 +1,8 @@ + + + $0 +]]> + ng + text.html -source -meta.tag, punctuation.definition.tag.begin + Angular ngInclude (element) + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngInit.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngInit.sublime-snippet new file mode 100644 index 0000000..16b5280 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngInit.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngInit + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngList.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngList.sublime-snippet new file mode 100644 index 0000000..6eaa528 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngList.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngList + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMousedown.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMousedown.sublime-snippet new file mode 100644 index 0000000..ea1e255 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMousedown.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngMousedown + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseenter.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseenter.sublime-snippet new file mode 100644 index 0000000..07c7921 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseenter.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngMouseenter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseleave.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseleave.sublime-snippet new file mode 100644 index 0000000..9b761a3 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseleave.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngMouseleave + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMousemove.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMousemove.sublime-snippet new file mode 100644 index 0000000..4ad694d --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMousemove.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngMousemove + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseover.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseover.sublime-snippet new file mode 100644 index 0000000..39e894b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseover.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngMouseover + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseup.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseup.sublime-snippet new file mode 100644 index 0000000..5fb454d --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMouseup.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngMouseup + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMultiple.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMultiple.sublime-snippet new file mode 100644 index 0000000..fa27c0a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngMultiple.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngMultiple + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngNonBindable.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngNonBindable.sublime-snippet new file mode 100644 index 0000000..0a6af7f --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngNonBindable.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngNonBindable + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngPluralize.attribute.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngPluralize.attribute.sublime-snippet new file mode 100644 index 0000000..4ad5935 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngPluralize.attribute.sublime-snippet @@ -0,0 +1,11 @@ + + + ng + text.html meta.tag + Angular ngPluralize + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngPluralize.element.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngPluralize.element.sublime-snippet new file mode 100644 index 0000000..e115984 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngPluralize.element.sublime-snippet @@ -0,0 +1,11 @@ + + ]]> + ng + text.html -source -meta.tag, punctuation.definition.tag.begin + Angular ngPluralize + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngReadonly.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngReadonly.sublime-snippet new file mode 100644 index 0000000..b81d783 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngReadonly.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngReadonly + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngRepeat.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngRepeat.sublime-snippet new file mode 100644 index 0000000..d89d36d --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngRepeat.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngRepeat + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSelected.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSelected.sublime-snippet new file mode 100644 index 0000000..a076ce1 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSelected.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngSelected + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngShow.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngShow.sublime-snippet new file mode 100644 index 0000000..e1537f7 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngShow.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngShow + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSrc.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSrc.sublime-snippet new file mode 100644 index 0000000..e8f1b76 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSrc.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngSrc + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngStyle.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngStyle.sublime-snippet new file mode 100644 index 0000000..7e05c30 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngStyle.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngStyle + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSubmit.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSubmit.sublime-snippet new file mode 100644 index 0000000..460278e --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSubmit.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngSubmit + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitch.attribute.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitch.attribute.sublime-snippet new file mode 100644 index 0000000..cab23ba --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitch.attribute.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngSwitch + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitch.element.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitch.element.sublime-snippet new file mode 100644 index 0000000..15b5928 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitch.element.sublime-snippet @@ -0,0 +1,13 @@ + + + + ${3: + + }${5: + + } +]]> + ng + text.html -source -meta.tag, punctuation.definition.tag.begin + Angular ngSwitch + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitchDefault.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitchDefault.sublime-snippet new file mode 100644 index 0000000..0392355 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitchDefault.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngSwitchDefault + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitchWhen.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitchWhen.sublime-snippet new file mode 100644 index 0000000..d2642aa --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngSwitchWhen.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngSwitchWhen + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngTransclude.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngTransclude.sublime-snippet new file mode 100644 index 0000000..be995b5 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngTransclude.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngTransclude + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngView.attribute.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngView.attribute.sublime-snippet new file mode 100644 index 0000000..641b6cb --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngView.attribute.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + text.html meta.tag + Angular ngView + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngView.element.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngView.element.sublime-snippet new file mode 100644 index 0000000..6f4438f --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/ngView.element.sublime-snippet @@ -0,0 +1,8 @@ + + +$0 +]]> + ng + text.html -source -meta.tag, punctuation.definition.tag.begin + Angular ngView + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/script.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/script.sublime-snippet new file mode 100644 index 0000000..2d7f3b4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/script.sublime-snippet @@ -0,0 +1,8 @@ + + +${1:inline-template} +]]> + ng + text.html -source -meta.tag, punctuation.definition.tag.begin + Angular Script (inline template) + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/select.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/select.sublime-snippet new file mode 100644 index 0000000..4ec1581 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/select.sublime-snippet @@ -0,0 +1,10 @@ + + + $0 +]]> + ng + text.html -source -meta.tag, punctuation.definition.tag.begin + Angular select + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/textarea.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/textarea.sublime-snippet new file mode 100644 index 0000000..ce4ab43 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Directive/textarea.sublime-snippet @@ -0,0 +1,13 @@ + + ]]> + ng + text.html -source -meta.tag, punctuation.definition.tag.begin + Angular textarea + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/$filter.generic.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/$filter.generic.sublime-snippet new file mode 100644 index 0000000..a76dd63 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/$filter.generic.sublime-snippet @@ -0,0 +1,6 @@ + + + $filter + source.coffee + Angular generic filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/$filter.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/$filter.sublime-snippet new file mode 100644 index 0000000..34e8f33 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/$filter.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/currency.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/currency.sublime-snippet new file mode 100644 index 0000000..4576d87 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/currency.sublime-snippet @@ -0,0 +1,6 @@ + + + $filter + source.coffee + Angular currency filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/currency.template.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/currency.template.sublime-snippet new file mode 100644 index 0000000..06f2eb8 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/currency.template.sublime-snippet @@ -0,0 +1,6 @@ + + + fil + text.html + Angular currency filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/date.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/date.sublime-snippet new file mode 100644 index 0000000..952eeb3 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/date.sublime-snippet @@ -0,0 +1,6 @@ + + + $filter + source.coffee + Angular date filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/date.template.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/date.template.sublime-snippet new file mode 100644 index 0000000..8830624 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/date.template.sublime-snippet @@ -0,0 +1,6 @@ + + + fil + text.html + Angular date filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/filter.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/filter.sublime-snippet new file mode 100644 index 0000000..9dd4860 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/filter.sublime-snippet @@ -0,0 +1,6 @@ + + }}}]]> + $filter + source.coffee + Angular filter filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/filter.template.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/filter.template.sublime-snippet new file mode 100644 index 0000000..1a9ef8b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/filter.template.sublime-snippet @@ -0,0 +1,6 @@ + + } }}]]> + fil + text.html + Angular filter filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/json.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/json.sublime-snippet new file mode 100644 index 0000000..9090b1b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/json.sublime-snippet @@ -0,0 +1,6 @@ + + + $filter + source.coffee + Angular json filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/json.template.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/json.template.sublime-snippet new file mode 100644 index 0000000..6b47ecb --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/json.template.sublime-snippet @@ -0,0 +1,6 @@ + + + fil + text.html + Angular json filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/limitTo.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/limitTo.sublime-snippet new file mode 100644 index 0000000..ce8b113 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/limitTo.sublime-snippet @@ -0,0 +1,6 @@ + + + $filter + source.coffee + Angular limitTo filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/limitTo.template.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/limitTo.template.sublime-snippet new file mode 100644 index 0000000..6367092 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/limitTo.template.sublime-snippet @@ -0,0 +1,6 @@ + + + fil + text.html + Angular limitTo filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/linky.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/linky.sublime-snippet new file mode 100644 index 0000000..af387d0 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/linky.sublime-snippet @@ -0,0 +1,6 @@ + + + $filter + source.coffee + Angular linky filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/linky.template.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/linky.template.sublime-snippet new file mode 100644 index 0000000..a5d8515 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/linky.template.sublime-snippet @@ -0,0 +1,6 @@ + + + fil + text.html + Angular linky filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/lowercase.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/lowercase.sublime-snippet new file mode 100644 index 0000000..a246f79 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/lowercase.sublime-snippet @@ -0,0 +1,6 @@ + + + $filter + source.coffee + Angular lowercase filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/lowercase.template.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/lowercase.template.sublime-snippet new file mode 100644 index 0000000..8d7d351 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/lowercase.template.sublime-snippet @@ -0,0 +1,6 @@ + + + fil + text.html + Angular lowercase filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/number.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/number.sublime-snippet new file mode 100644 index 0000000..65fc953 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/number.sublime-snippet @@ -0,0 +1,6 @@ + + + $filter + source.coffee + Angular number filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/number.template.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/number.template.sublime-snippet new file mode 100644 index 0000000..c7bdbc9 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/number.template.sublime-snippet @@ -0,0 +1,6 @@ + + + fil + text.html + Angular number filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/orderBy.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/orderBy.sublime-snippet new file mode 100644 index 0000000..aeec603 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/orderBy.sublime-snippet @@ -0,0 +1,6 @@ + + + $filter + source.coffee + Angular orderBy filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/orderBy.template.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/orderBy.template.sublime-snippet new file mode 100644 index 0000000..ba3056b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/orderBy.template.sublime-snippet @@ -0,0 +1,6 @@ + + + fil + text.html + Angular orderBy filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/uppercase.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/uppercase.sublime-snippet new file mode 100644 index 0000000..1429cf9 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/uppercase.sublime-snippet @@ -0,0 +1,6 @@ + + + $filter + source.coffee + Angular uppercase filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/uppercase.template.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/uppercase.template.sublime-snippet new file mode 100644 index 0000000..78fa238 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Filter/uppercase.template.sublime-snippet @@ -0,0 +1,6 @@ + + + fil + text.html + Angular uppercase filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/bind.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/bind.sublime-snippet new file mode 100644 index 0000000..bd05ecd --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/bind.sublime-snippet @@ -0,0 +1,9 @@ + + + # bind stuff + $0 +angular.bind ${3:self|context}, ${1}${4:, ${5:optional-args}}]]> + ng + source.coffee + Angular bind + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/bootstrap.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/bootstrap.sublime-snippet new file mode 100644 index 0000000..0df6606 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/bootstrap.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + source.coffee + Angular bootstrap + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/copy.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/copy.sublime-snippet new file mode 100644 index 0000000..4da006f --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/copy.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + source.coffee + Angular copy + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/element.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/element.sublime-snippet new file mode 100644 index 0000000..c312f73 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/element.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + source.coffee + Angular element + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/equals.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/equals.sublime-snippet new file mode 100644 index 0000000..4be7dbc --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/equals.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + source.coffee + Angular equal + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/extend.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/extend.sublime-snippet new file mode 100644 index 0000000..d658569 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/extend.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + source.coffee + Angular extend + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/forEach.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/forEach.sublime-snippet new file mode 100644 index 0000000..1e6a773 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/forEach.sublime-snippet @@ -0,0 +1,7 @@ + + + ${4:# ...}]]> + for + source.coffee + Angular forEach + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/fromJson.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/fromJson.sublime-snippet new file mode 100644 index 0000000..f7b6cb0 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/fromJson.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + source.coffee + Angular fromJson + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/identity.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/identity.sublime-snippet new file mode 100644 index 0000000..f1c0ba5 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/identity.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + source.coffee + Angular identity + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/injector.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/injector.sublime-snippet new file mode 100644 index 0000000..0f72cac --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/injector.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + source.coffee + Angular injector + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isArray.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isArray.sublime-snippet new file mode 100644 index 0000000..c16bb07 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isArray.sublime-snippet @@ -0,0 +1,6 @@ + + + is + source.coffee + Angular isArray + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isDate.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isDate.sublime-snippet new file mode 100644 index 0000000..ac42381 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isDate.sublime-snippet @@ -0,0 +1,6 @@ + + + is + source.coffee + Angular isDate + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isDefined.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isDefined.sublime-snippet new file mode 100644 index 0000000..09969bd --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isDefined.sublime-snippet @@ -0,0 +1,6 @@ + + + is + source.coffee + Angular isDefined + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isElement.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isElement.sublime-snippet new file mode 100644 index 0000000..1d4a649 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isElement.sublime-snippet @@ -0,0 +1,6 @@ + + + is + source.coffee + Angular isElement + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isFunction.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isFunction.sublime-snippet new file mode 100644 index 0000000..94d17b1 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isFunction.sublime-snippet @@ -0,0 +1,6 @@ + + + is + source.coffee + Angular isFunction + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isNumber.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isNumber.sublime-snippet new file mode 100644 index 0000000..5db2421 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isNumber.sublime-snippet @@ -0,0 +1,6 @@ + + + is + source.coffee + Angular isNumber + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isObject.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isObject.sublime-snippet new file mode 100644 index 0000000..3f40d94 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isObject.sublime-snippet @@ -0,0 +1,6 @@ + + + is + source.coffee + Angular isObject + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isString.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isString.sublime-snippet new file mode 100644 index 0000000..c2a1aa7 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isString.sublime-snippet @@ -0,0 +1,6 @@ + + + is + source.coffee + Angular isString + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isUndefined.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isUndefined.sublime-snippet new file mode 100644 index 0000000..536d3fa --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/isUndefined.sublime-snippet @@ -0,0 +1,6 @@ + + + is + source.coffee + Angular isUndefined + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/lowercase.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/lowercase.sublime-snippet new file mode 100644 index 0000000..c7be3bd --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/lowercase.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + source.coffee + Angular lowercase + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/module.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/module.sublime-snippet new file mode 100644 index 0000000..c306085 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/module.sublime-snippet @@ -0,0 +1,11 @@ + + + ${7:# configuration handler}]]> + mod + source.coffee + Angular module + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/noop.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/noop.sublime-snippet new file mode 100644 index 0000000..e4d28c2 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/noop.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + source.coffee + Angular noop + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/toJson.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/toJson.sublime-snippet new file mode 100644 index 0000000..734dbdd --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/toJson.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + source.coffee + Angular toJson + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/uppercase.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/uppercase.sublime-snippet new file mode 100644 index 0000000..923eae9 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/uppercase.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + source.coffee + Angular uppercase + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/version.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/version.sublime-snippet new file mode 100644 index 0000000..8d4e3d0 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Global/version.sublime-snippet @@ -0,0 +1,6 @@ + + + ng + source.coffee + Angular version + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/$http.simple.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/$http.simple.sublime-snippet new file mode 100644 index 0000000..faa94bf --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/$http.simple.sublime-snippet @@ -0,0 +1,11 @@ + + + ${5:success handler} +.Error (status, response) -> + ${6:error handler} +]]> + $ + source.coffee + Angular $http simple + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/$http.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/$http.sublime-snippet new file mode 100644 index 0000000..8854d07 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/$http.sublime-snippet @@ -0,0 +1,19 @@ + + + #return serialized version}${10: + transformResponse: (data, headersGetter) -> + #return serialized version}${11: + cache: ${12:true|false|Cache}}${13: + timeout: ${14:msTimeout}}${15: + withCredentials: ${16:true|false}} +\$http config]]> + $ + source.coffee + Angular $http (w/ config) + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/defaults.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/defaults.sublime-snippet new file mode 100644 index 0000000..ffaca01 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/defaults.sublime-snippet @@ -0,0 +1,6 @@ + + + $http. + source.coffee + Angular $http defaults + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/delete.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/delete.sublime-snippet new file mode 100644 index 0000000..79fa6e8 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/delete.sublime-snippet @@ -0,0 +1,6 @@ + + + $http. + source.coffee + Angular $http delete + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/error.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/error.sublime-snippet new file mode 100644 index 0000000..77edbfe --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/error.sublime-snippet @@ -0,0 +1,7 @@ + + + ${1:error function}]]> + .error + source.coffee + Angular $http error + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/get.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/get.sublime-snippet new file mode 100644 index 0000000..79fa6e8 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/get.sublime-snippet @@ -0,0 +1,6 @@ + + + $http. + source.coffee + Angular $http delete + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/head.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/head.sublime-snippet new file mode 100644 index 0000000..493808b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/head.sublime-snippet @@ -0,0 +1,6 @@ + + + $http. + source.coffee + Angular $http head + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/jsonp.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/jsonp.sublime-snippet new file mode 100644 index 0000000..918f837 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/jsonp.sublime-snippet @@ -0,0 +1,6 @@ + + + $http. + source.coffee + Angular $http jsonp + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/pendingRequests.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/pendingRequests.sublime-snippet new file mode 100644 index 0000000..6133f00 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/pendingRequests.sublime-snippet @@ -0,0 +1,6 @@ + + + $http. + source.coffee + Angular $http pendingRequests + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/post.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/post.sublime-snippet new file mode 100644 index 0000000..a9d2ef7 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/post.sublime-snippet @@ -0,0 +1,6 @@ + + + $http. + source.coffee + Angular $http post + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/put.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/put.sublime-snippet new file mode 100644 index 0000000..2fc9095 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/put.sublime-snippet @@ -0,0 +1,6 @@ + + + $http. + source.coffee + Angular $http put + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/success.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/success.sublime-snippet new file mode 100644 index 0000000..36ed5fc --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Http/success.sublime-snippet @@ -0,0 +1,6 @@ + + + .success + source.coffee + Angular $http success + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expect.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expect.sublime-snippet new file mode 100644 index 0000000..5f7c30c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expect.sublime-snippet @@ -0,0 +1,8 @@ + + }}]]> + .expect + source.coffee + Angular $httpBackend expect + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectDELETE.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectDELETE.sublime-snippet new file mode 100644 index 0000000..7539de8 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectDELETE.sublime-snippet @@ -0,0 +1,6 @@ + + }}]]> + .expect + source.coffee + Angular $httpBackend expectDELETE + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectGET.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectGET.sublime-snippet new file mode 100644 index 0000000..a1d6096 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectGET.sublime-snippet @@ -0,0 +1,6 @@ + + }}]]> + .expect + source.coffee + Angular $httpBackend expectGET + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectHEAD.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectHEAD.sublime-snippet new file mode 100644 index 0000000..e93c55e --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectHEAD.sublime-snippet @@ -0,0 +1,6 @@ + + }}]]> + .expect + source.coffee + Angular $httpBackend expectHEAD + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectJSONP.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectJSONP.sublime-snippet new file mode 100644 index 0000000..d0fbdbe --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectJSONP.sublime-snippet @@ -0,0 +1,6 @@ + + + .expect + source.coffee + Angular $httpBackend expectJSONP + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectPATCH.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectPATCH.sublime-snippet new file mode 100644 index 0000000..c864954 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectPATCH.sublime-snippet @@ -0,0 +1,8 @@ + + }}]]> + .expect + source.coffee + Angular $httpBackend expectPATCH + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectPOST.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectPOST.sublime-snippet new file mode 100644 index 0000000..5f0c90f --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectPOST.sublime-snippet @@ -0,0 +1,8 @@ + + }}]]> + .expect + source.coffee + Angular $httpBackend expectPOST + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectPUT.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectPUT.sublime-snippet new file mode 100644 index 0000000..ee17ba9 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/expectPUT.sublime-snippet @@ -0,0 +1,8 @@ + + }}]]> + .expect + source.coffee + Angular $httpBackend expectPUT + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/flush.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/flush.sublime-snippet new file mode 100644 index 0000000..262753e --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/flush.sublime-snippet @@ -0,0 +1,6 @@ + + + $httpBackend. + source.coffee + Angular $httpBackend flush + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/httpBackend.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/httpBackend.sublime-snippet new file mode 100644 index 0000000..52158f5 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/httpBackend.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $httpBackend + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/resetExpectations.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/resetExpectations.sublime-snippet new file mode 100644 index 0000000..fa25ac2 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/resetExpectations.sublime-snippet @@ -0,0 +1,6 @@ + + + $httpBackend. + source.coffee + Angular $httpBackend resetExpectations + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/verifyNoOutstandingExpectation.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/verifyNoOutstandingExpectation.sublime-snippet new file mode 100644 index 0000000..5e0ca62 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/verifyNoOutstandingExpectation.sublime-snippet @@ -0,0 +1,6 @@ + + + $httpBackend. + source.coffee + Angular $httpBackend verifyNoOutstandingExpectation + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/verifyNoOutstandingRequest.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/verifyNoOutstandingRequest.sublime-snippet new file mode 100644 index 0000000..59b7415 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/verifyNoOutstandingRequest.sublime-snippet @@ -0,0 +1,6 @@ + + + $httpBackend. + source.coffee + Angular $httpBackend verifyNoOutstandingRequest + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/when.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/when.sublime-snippet new file mode 100644 index 0000000..343850e --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/when.sublime-snippet @@ -0,0 +1,8 @@ + + }}]]> + .when + source.coffee + Angular $httpBackend when + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenDELETE.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenDELETE.sublime-snippet new file mode 100644 index 0000000..4fdc0ef --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenDELETE.sublime-snippet @@ -0,0 +1,7 @@ + + }}]]> + .when + source.coffee + Angular $httpBackend whenDELETE + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenGET.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenGET.sublime-snippet new file mode 100644 index 0000000..e6c9d7b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenGET.sublime-snippet @@ -0,0 +1,7 @@ + + }}]]> + .when + source.coffee + Angular $httpBackend whenGET + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenHEAD.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenHEAD.sublime-snippet new file mode 100644 index 0000000..bff8373 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenHEAD.sublime-snippet @@ -0,0 +1,7 @@ + + }}]]> + .when + source.coffee + Angular $httpBackend whenHEAD + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenPATCH.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenPATCH.sublime-snippet new file mode 100644 index 0000000..5f27f2d --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenPATCH.sublime-snippet @@ -0,0 +1,8 @@ + + }}]]> + .when + source.coffee + Angular $httpBackend whenPATCH + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenPOST.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenPOST.sublime-snippet new file mode 100644 index 0000000..1c0eddc --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenPOST.sublime-snippet @@ -0,0 +1,8 @@ + + }}]]> + .when + source.coffee + Angular $httpBackend whenPOST + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenPUT.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenPUT.sublime-snippet new file mode 100644 index 0000000..b92784b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/HttpBackend/whenPUT.sublime-snippet @@ -0,0 +1,8 @@ + + }}]]> + .when + source.coffee + Angular $httpBackend whenPUT + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/$injector.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/$injector.sublime-snippet new file mode 100644 index 0000000..5e18d6d --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/$injector.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $injector + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/annotate.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/annotate.sublime-snippet new file mode 100644 index 0000000..f0a7dc3 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/annotate.sublime-snippet @@ -0,0 +1,8 @@ + + + ${1:#a function to annotate} +]]> + $injector. + source.coffee + Angular $injector annotate + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/get.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/get.sublime-snippet new file mode 100644 index 0000000..785eded --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/get.sublime-snippet @@ -0,0 +1,6 @@ + + + $injector. + source.coffee + Angular $injector get + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/instantiate.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/instantiate.sublime-snippet new file mode 100644 index 0000000..2dee8eb --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/instantiate.sublime-snippet @@ -0,0 +1,6 @@ + + + $injector. + source.coffee + Angular $injector instantiate + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/invoke.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/invoke.sublime-snippet new file mode 100644 index 0000000..1469d2e --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Injector/invoke.sublime-snippet @@ -0,0 +1,6 @@ + + + $injector. + source.coffee + Angular $injector invoke + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Interpolate/$interpolate.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Interpolate/$interpolate.sublime-snippet new file mode 100644 index 0000000..e18b7f6 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Interpolate/$interpolate.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $interpolate + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Interpolate/endSymbol.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Interpolate/endSymbol.sublime-snippet new file mode 100644 index 0000000..2343023 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Interpolate/endSymbol.sublime-snippet @@ -0,0 +1,6 @@ + + + $interpolate. + source.coffee + Angular $interpolate endSymbol + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Interpolate/startSymbol.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Interpolate/startSymbol.sublime-snippet new file mode 100644 index 0000000..c41d3d9 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Interpolate/startSymbol.sublime-snippet @@ -0,0 +1,6 @@ + + + $interpolate. + source.coffee + Angular $interpolate startSymbol + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/$location.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/$location.sublime-snippet new file mode 100644 index 0000000..c0e595c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/$location.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $location + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/absUrl.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/absUrl.sublime-snippet new file mode 100644 index 0000000..4bd6c73 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/absUrl.sublime-snippet @@ -0,0 +1,6 @@ + + + $location. + source.coffee + Angular $location absUrl + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/hash.get.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/hash.get.sublime-snippet new file mode 100644 index 0000000..237e512 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/hash.get.sublime-snippet @@ -0,0 +1,6 @@ + + + $location. + source.coffee + Angular $location hash get + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/hash.set.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/hash.set.sublime-snippet new file mode 100644 index 0000000..6678cb4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/hash.set.sublime-snippet @@ -0,0 +1,6 @@ + + + $location. + source.coffee + Angular $location hash set + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/host.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/host.sublime-snippet new file mode 100644 index 0000000..214c3c4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/host.sublime-snippet @@ -0,0 +1,6 @@ + + + $location. + source.coffee + Angular $location host + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/path.get.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/path.get.sublime-snippet new file mode 100644 index 0000000..0c7f4a3 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/path.get.sublime-snippet @@ -0,0 +1,6 @@ + + + $location. + source.coffee + Angular $location path get + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/path.set.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/path.set.sublime-snippet new file mode 100644 index 0000000..f6c0b93 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/path.set.sublime-snippet @@ -0,0 +1,6 @@ + + + $location. + source.coffee + Angular $location path set + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/port.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/port.sublime-snippet new file mode 100644 index 0000000..1e34440 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/port.sublime-snippet @@ -0,0 +1,6 @@ + + + $location. + source.coffee + Angular $location port + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/protocol.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/protocol.sublime-snippet new file mode 100644 index 0000000..7da27c3 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/protocol.sublime-snippet @@ -0,0 +1,6 @@ + + + $location. + source.coffee + Angular $location protocol + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/replace.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/replace.sublime-snippet new file mode 100644 index 0000000..2f5c888 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/replace.sublime-snippet @@ -0,0 +1,6 @@ + + + $location. + source.coffee + Angular $location replace + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/search.get.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/search.get.sublime-snippet new file mode 100644 index 0000000..2e283b2 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/search.get.sublime-snippet @@ -0,0 +1,6 @@ + + + $location. + source.coffee + Angular $location search get + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/search.set.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/search.set.sublime-snippet new file mode 100644 index 0000000..983d1ac --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/search.set.sublime-snippet @@ -0,0 +1,6 @@ + + + $location. + source.coffee + Angular $location search set + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/url.get.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/url.get.sublime-snippet new file mode 100644 index 0000000..d31fa11 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/url.get.sublime-snippet @@ -0,0 +1,6 @@ + + + $location. + source.coffee + Angular $location url get + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/url.set.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/url.set.sublime-snippet new file mode 100644 index 0000000..e602206 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Location/url.set.sublime-snippet @@ -0,0 +1,6 @@ + + + $location. + source.coffee + Angular $location url set + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/$log.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/$log.sublime-snippet new file mode 100644 index 0000000..200c76e --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/$log.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $log + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/error.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/error.sublime-snippet new file mode 100644 index 0000000..eb13de9 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/error.sublime-snippet @@ -0,0 +1,6 @@ + + + $log. + source.coffee + Angular $log error + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/info.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/info.sublime-snippet new file mode 100644 index 0000000..4ede968 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/info.sublime-snippet @@ -0,0 +1,6 @@ + + + $log. + source.coffee + Angular $log info + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/log.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/log.sublime-snippet new file mode 100644 index 0000000..2898f37 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/log.sublime-snippet @@ -0,0 +1,6 @@ + + + $log. + source.coffee + Angular $log log + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/warn.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/warn.sublime-snippet new file mode 100644 index 0000000..0c796da --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Log/warn.sublime-snippet @@ -0,0 +1,6 @@ + + + $log. + source.coffee + Angular $log warn + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/TzDate.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/TzDate.sublime-snippet new file mode 100644 index 0000000..00a5279 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/TzDate.sublime-snippet @@ -0,0 +1,6 @@ + + + mock + source.coffee + Angular mock TzDate + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/debug.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/debug.sublime-snippet new file mode 100644 index 0000000..9aa097c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/debug.sublime-snippet @@ -0,0 +1,6 @@ + + + mock + source.coffee + Angular mock debug + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/inject.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/inject.sublime-snippet new file mode 100644 index 0000000..9ca1bfe --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/inject.sublime-snippet @@ -0,0 +1,9 @@ + + + $0 +${5:, (${6:fnparam1}${7:, ${8:fnparam2}}) -> + }]]> + mock + source.coffee + Angular mock inject (Jasmine only) + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/log.assertEmpty b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/log.assertEmpty new file mode 100644 index 0000000..e53b9da --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/log.assertEmpty @@ -0,0 +1,6 @@ + + + $log. + source.coffee + AngularJS mock $log assertEmpty + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/log.logs b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/log.logs new file mode 100644 index 0000000..361ff76 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/log.logs @@ -0,0 +1,6 @@ + + + $log. + source.coffee + AngularJS mock $log logs + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/log.reset.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/log.reset.sublime-snippet new file mode 100644 index 0000000..7ba509f --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/log.reset.sublime-snippet @@ -0,0 +1,6 @@ + + + $log. + source.coffee + Angular mock $log reset + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/module.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/module.sublime-snippet new file mode 100644 index 0000000..0292c0b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Mock/module.sublime-snippet @@ -0,0 +1,9 @@ + + + $0 +}${7:, (${8:fnparam1}${9:, ${10:fnparam2}}) -> + }]]> + mock + source.coffee + Angular mock module (Jasmine only) + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/config.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/config.sublime-snippet new file mode 100644 index 0000000..e234757 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/config.sublime-snippet @@ -0,0 +1,8 @@ + + + #exec on load + $0]]> + mod + source.coffee + Angular Module config + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/constant.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/constant.sublime-snippet new file mode 100644 index 0000000..98f6f12 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/constant.sublime-snippet @@ -0,0 +1,6 @@ + + + mod + source.coffee + Angular Module constant + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/controller.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/controller.sublime-snippet new file mode 100644 index 0000000..199da4b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/controller.sublime-snippet @@ -0,0 +1,7 @@ + + + ${3:constructor function}]]> + mod + source.coffee + Angular Module controller + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/directive.complete.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/directive.complete.sublime-snippet new file mode 100644 index 0000000..64efeaf --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/directive.complete.sublime-snippet @@ -0,0 +1,38 @@ + + + directiveDefinitionObject = + priority: ${3:Number} + terminal: ${4:true|false} + scope: ${5:true|false|\{\} (object hash)}${6: + controller: () -> + ${7:#controller cn func, may access \$scope, \$element, \$attrs, \$transclude}} + ${8:require: '${9:controllerName|?controllerName|^controllerName}'} + restrict: '${11:E|A|C|M}'${12: + template: '${13:HTML}'}${14: + templateUrl: '${15:directive.html}'} + replace: ${16:true|false} + transclude: ${17:true|false|'element'}${18: + #only use to transform template DOM + compile: (tElement, tAttrs, transclude) -> + compiler = + pre: (scope, iElement, iAttrs, controller) -> + #not safe for DOM transformation + ${19:#} + post: (scope, iElement, iAttrs, controller) -> + #safe for DOM transformation + ${20:#} + return compiler + }${21: + #called IFF compile not defined + link: (scope, iElement, iAttrs) -> + #register DOM listeners or update DOM + ${22:#} + } + return directiveDefinitionObject +]]> + dir + source.coffee + Angular Module directive (complete) + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/directive.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/directive.sublime-snippet new file mode 100644 index 0000000..ba73920 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/directive.sublime-snippet @@ -0,0 +1,9 @@ + + + ${3:# Runs during compile} + return (scope, elm, attrs) -> + ${4:# Runs during render}]]> + dir + source.coffee + Angular Module directive (simple) + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/factory.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/factory.sublime-snippet new file mode 100644 index 0000000..2a968d5 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/factory.sublime-snippet @@ -0,0 +1,7 @@ + + + ${3:provider function}]]> + mod + source.coffee + Angular Module factory + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/filter.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/filter.sublime-snippet new file mode 100644 index 0000000..552f050 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/filter.sublime-snippet @@ -0,0 +1,7 @@ + + + ${3:filter function}]]> + mod + source.coffee + Angular Module filter + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/provider.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/provider.sublime-snippet new file mode 100644 index 0000000..fac6680 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/provider.sublime-snippet @@ -0,0 +1,7 @@ + + + ${5:provider function}}]]> + mod + source.coffee + Angular Module provider + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/run.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/run.sublime-snippet new file mode 100644 index 0000000..9a5ac3b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/run.sublime-snippet @@ -0,0 +1,7 @@ + + + ${3:initialization function}}]]> + mod + source.coffee + Angular Module run + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/service.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/service.sublime-snippet new file mode 100644 index 0000000..4b434f6 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/service.sublime-snippet @@ -0,0 +1,7 @@ + + + ${4:service constructor}}]]> + mod + source.coffee + Angular Module service + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/value.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/value.sublime-snippet new file mode 100644 index 0000000..b4334c4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Module/value.sublime-snippet @@ -0,0 +1,6 @@ + + + mod + source.coffee + Angular Module value + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/$provide.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/$provide.sublime-snippet new file mode 100644 index 0000000..cbf3262 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/$provide.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $provide + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/constant.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/constant.sublime-snippet new file mode 100644 index 0000000..586e24d --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/constant.sublime-snippet @@ -0,0 +1,6 @@ + + + $provide. + source.coffee + Angular $provide constant + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/decorator.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/decorator.sublime-snippet new file mode 100644 index 0000000..9f0fbe7 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/decorator.sublime-snippet @@ -0,0 +1,8 @@ + + + ${2:#function body to decorate} +]]> + $provide. + source.coffee + Angular $provide decorator + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/factory.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/factory.sublime-snippet new file mode 100644 index 0000000..e1890e4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/factory.sublime-snippet @@ -0,0 +1,8 @@ + + + ${2:#$getFn for instance creation} +]]> + $provide. + source.coffee + Angular $provide factory + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/provider.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/provider.sublime-snippet new file mode 100644 index 0000000..77a658c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/provider.sublime-snippet @@ -0,0 +1,8 @@ + + + ${2:#$constructor function passed to $injector.instantiate} +]]> + $provide. + source.coffee + Angular $provide provider + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/service.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/service.sublime-snippet new file mode 100644 index 0000000..34266f2 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/service.sublime-snippet @@ -0,0 +1,8 @@ + + + ${2:#$constructor function} +]]> + $provide. + source.coffee + Angular $provide service + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/value.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/value.sublime-snippet new file mode 100644 index 0000000..fb3ca08 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Provide/value.sublime-snippet @@ -0,0 +1,6 @@ + + + $provide. + source.coffee + Angular $provide value + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/$q.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/$q.sublime-snippet new file mode 100644 index 0000000..63777ea --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/$q.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $q + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/all.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/all.sublime-snippet new file mode 100644 index 0000000..2e95cff --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/all.sublime-snippet @@ -0,0 +1,6 @@ + + + $q. + source.coffee + Angular $q all + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/defer.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/defer.sublime-snippet new file mode 100644 index 0000000..b16293b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/defer.sublime-snippet @@ -0,0 +1,6 @@ + + + $q. + source.coffee + Angular $q defer + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/reject.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/reject.sublime-snippet new file mode 100644 index 0000000..28ffd18 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/reject.sublime-snippet @@ -0,0 +1,6 @@ + + + $q. + source.coffee + Angular $q reject + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/when.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/when.sublime-snippet new file mode 100644 index 0000000..d87fc44 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Q/when.sublime-snippet @@ -0,0 +1,6 @@ + + + $q. + source.coffee + Angular $q when + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/$resource.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/$resource.sublime-snippet new file mode 100644 index 0000000..842746b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/$resource.sublime-snippet @@ -0,0 +1,19 @@ + + + $ + source.coffee + Angular $resource + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/delete.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/delete.sublime-snippet new file mode 100644 index 0000000..20c6a6a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/delete.sublime-snippet @@ -0,0 +1,11 @@ + + + ${5:#success function} +, +() -> + ${6:#error function}} +]]> + .$ + source.coffee + Angular $resource delete + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/get.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/get.sublime-snippet new file mode 100644 index 0000000..15df47b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/get.sublime-snippet @@ -0,0 +1,11 @@ + + + ${5:#success function} +, +() -> + ${6:#error function}} +]]> + .$ + source.coffee + Angular $resource get + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/query.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/query.sublime-snippet new file mode 100644 index 0000000..f8d460a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/query.sublime-snippet @@ -0,0 +1,11 @@ + + + ${5:#success function} +, +() -> + ${6:#error function}} +]]> + .$ + source.coffee + Angular $resource query + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/remove.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/remove.sublime-snippet new file mode 100644 index 0000000..b94fd8f --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/remove.sublime-snippet @@ -0,0 +1,11 @@ + + + ${5:#success function} +, +() -> + ${6:#error function}} +]]> + .$ + source.coffee + Angular $resource remove + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/save.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/save.sublime-snippet new file mode 100644 index 0000000..dc713c7 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Resource/save.sublime-snippet @@ -0,0 +1,11 @@ + + + ${6:#success function} +, +() -> + ${7:#error function}} +]]> + .$ + source.coffee + Angular $resource save + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$route.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$route.sublime-snippet new file mode 100644 index 0000000..cc0cb0a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$route.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $route + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeChangeError.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeChangeError.sublime-snippet new file mode 100644 index 0000000..5d2f3d4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeChangeError.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Route $routeChangeError + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeChangeStart.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeChangeStart.sublime-snippet new file mode 100644 index 0000000..d9ee300 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeChangeStart.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Route $routeChangeStart + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeChangeSuccess.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeChangeSuccess.sublime-snippet new file mode 100644 index 0000000..4725808 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeChangeSuccess.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Route $routeChangeSuccess + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeParams.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeParams.sublime-snippet new file mode 100644 index 0000000..510e5b9 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeParams.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $routeParams + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeProvider.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeProvider.sublime-snippet new file mode 100644 index 0000000..6753e2e --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeProvider.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $routeProvider + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeUpdate.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeUpdate.sublime-snippet new file mode 100644 index 0000000..4a0dc20 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/$routeUpdate.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Route $routeUpdate + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/current.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/current.sublime-snippet new file mode 100644 index 0000000..a420c6a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/current.sublime-snippet @@ -0,0 +1,6 @@ + + + $route. + source.coffee + Angular Route current + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/otherwise.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/otherwise.sublime-snippet new file mode 100644 index 0000000..2531a67 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/otherwise.sublime-snippet @@ -0,0 +1,6 @@ + + + .other + source.coffee + Angular $routeProvider otherwise + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/reload.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/reload.sublime-snippet new file mode 100644 index 0000000..a421a06 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/reload.sublime-snippet @@ -0,0 +1,6 @@ + + + $route. + source.coffee + Angular $route reload + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/routes.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/routes.sublime-snippet new file mode 100644 index 0000000..99556a4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/routes.sublime-snippet @@ -0,0 +1,6 @@ + + + $route. + source.coffee + Angular Route routes + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/when.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/when.sublime-snippet new file mode 100644 index 0000000..5da44b6 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Route/when.sublime-snippet @@ -0,0 +1,15 @@ + + + #controller function${1: + template: '${2:string}'}${3: + templateUrl: '${4:url}'}${5: + resolve: + '${6:dependencyName}' : ${7:serviceName|factory-function}}${8: + redirectTo: ${9:path|function}}${10: + reloadOnSearch: ${11:true|false}} +\$routeProvider.when '${12:path}', route]]> + $routeProvider. + source.coffee + Angular $routeProvider when + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/$rootScope.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/$rootScope.sublime-snippet new file mode 100644 index 0000000..4b6f7af --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/$rootScope.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $rootScope + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/apply.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/apply.sublime-snippet new file mode 100644 index 0000000..da72bbd --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/apply.sublime-snippet @@ -0,0 +1,7 @@ + + + ${2:function body (or delete function and use expression)}}]]> + .$ + source.coffee + Angular Scope $apply + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/broadcast.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/broadcast.sublime-snippet new file mode 100644 index 0000000..135c632 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/broadcast.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Scope $broadcast + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/destroy.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/destroy.sublime-snippet new file mode 100644 index 0000000..09b42cf --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/destroy.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Scope $destroy + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/digest.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/digest.sublime-snippet new file mode 100644 index 0000000..404e6ac --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/digest.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Scope $digest + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/emit.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/emit.sublime-snippet new file mode 100644 index 0000000..c30df8c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/emit.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Scope $emit + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/eval.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/eval.sublime-snippet new file mode 100644 index 0000000..3b79f73 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/eval.sublime-snippet @@ -0,0 +1,7 @@ + + + ${2:function body (or delete function and use expression)}}]]> + .$ + source.coffee + Angular Scope $eval + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/evalAsync.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/evalAsync.sublime-snippet new file mode 100644 index 0000000..d450e92 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/evalAsync.sublime-snippet @@ -0,0 +1,7 @@ + + + ${2:function body (or delete function and use expression)}}]]> + .$ + source.coffee + Angular Scope $evalAsync + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/id.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/id.sublime-snippet new file mode 100644 index 0000000..e09d8bb --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/id.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Scope $id + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/new.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/new.sublime-snippet new file mode 100644 index 0000000..a975b6b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/new.sublime-snippet @@ -0,0 +1,6 @@ + + + .$ + source.coffee + Angular Scope $new + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/on.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/on.sublime-snippet new file mode 100644 index 0000000..cbbdc3e --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/on.sublime-snippet @@ -0,0 +1,7 @@ + + + ${2:event listener function}]]> + .$ + source.coffee + Angular Scope $on + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/watch.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/watch.sublime-snippet new file mode 100644 index 0000000..c0c07f9 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Scope/watch.sublime-snippet @@ -0,0 +1,8 @@ + + + $0 +${3:, ${4:forEquality-true|forReference-false}}}]]> + .$ + source.coffee + Angular Scope $watch + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$anchorScroll.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$anchorScroll.sublime-snippet new file mode 100644 index 0000000..d214e19 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$anchorScroll.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $anchorScroll + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$cacheFactory.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$cacheFactory.sublime-snippet new file mode 100644 index 0000000..d0f8d3d --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$cacheFactory.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $cacheFactory + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$compile.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$compile.sublime-snippet new file mode 100644 index 0000000..070f1d4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$compile.sublime-snippet @@ -0,0 +1,8 @@ + + + ${2:#transclude function} +), ${3:maxPriorityNumber}]]> + $ + source.coffee + Angular $compile + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$controller.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$controller.sublime-snippet new file mode 100644 index 0000000..0b4b136 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$controller.sublime-snippet @@ -0,0 +1,8 @@ + + + ${2:#constructor function - name also accepted} +)}, ${3:locals-to-inject}]]> + $ + source.coffee + Angular $controller + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$document.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$document.sublime-snippet new file mode 100644 index 0000000..b5af9ac --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$document.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $document + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$exceptionHandler.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$exceptionHandler.sublime-snippet new file mode 100644 index 0000000..d16bb97 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$exceptionHandler.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $exceptionHandler + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$locale.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$locale.sublime-snippet new file mode 100644 index 0000000..3236624 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$locale.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $locale id + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$parse.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$parse.sublime-snippet new file mode 100644 index 0000000..11aacf8 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$parse.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $parse + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$rootElement.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$rootElement.sublime-snippet new file mode 100644 index 0000000..9ef3a3a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$rootElement.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $rootElement + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$sanitize.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$sanitize.sublime-snippet new file mode 100644 index 0000000..9c07f04 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$sanitize.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $sanitize + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$templateCache.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$templateCache.sublime-snippet new file mode 100644 index 0000000..28c193b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$templateCache.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $templateCache + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$timeout.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$timeout.sublime-snippet new file mode 100644 index 0000000..5a39b06 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$timeout.sublime-snippet @@ -0,0 +1,9 @@ + + + ${1:functionToExecute}${2: +, ${3:msDelay}}${4: +, ${5:invokeApply-true|false}}]]> + $ + source.coffee + Angular $timeout + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$window.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$window.sublime-snippet new file mode 100644 index 0000000..c138020 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/Snippets/Service/$window.sublime-snippet @@ -0,0 +1,6 @@ + + + $ + source.coffee + Angular $window + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/package-metadata.json b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/package-metadata.json new file mode 100644 index 0000000..7c9bb82 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/package-metadata.json @@ -0,0 +1 @@ +{"url": "https://github.com/EastPoint/Sublime-AngularJS-Coffee-Completions", "version": "2012.09.24.14.10.42", "description": "A Sublime Text Package for AngularJS when using CoffeeScript"} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/services.sublime-completions b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/services.sublime-completions new file mode 100644 index 0000000..de6ae94 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AngularJS (CoffeeScript)/services.sublime-completions @@ -0,0 +1,63 @@ +{ + "scope": "source.coffee,source.js,source.js.embedded.html", + + "completions": + [ + "\\$anchorScroll", + "\\$cacheFactory", + "\\$compile", + "\\$controller", + "\\$document", + "\\$exceptionHandler", + "\\$filter", + "\\$http", + "\\$httpBackend", + "\\$interpolate", + "\\$locale", + "\\$location", + "\\$log", + "\\$parse", + "\\$q", + "\\$rootElement", + "\\$rootScope", + "\\$route", + "\\$routeParams", + "\\$templateCache", + "\\$timeout", + "\\$window", + + "\\$apply", + "\\$broadcast", + "\\$destroy", + "\\$digest", + "\\$emit", + "\\$eval", + "\\$evalAsync", + "\\$new", + "\\$on", + "\\$watch", + "\\$id", + + "\\$render", + "\\$setValidity", + "\\$setViewValue", + "\\$viewValue", + "\\$modelValue", + "\\$parsers", + "\\$formatters", + "\\$error", + "\\$pristine", + "\\$dirty", + "\\$valid", + "\\$invalid", + + "\\$injector", + "\\$provide", + + "\\$cookies", + "\\$cookieStore", + + "\\$resource", + "\\$sanitize" + ] +} diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/.gitignore b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/.gitignore new file mode 100644 index 0000000..a0d5d0d --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/.gitignore @@ -0,0 +1,5 @@ +*.pyc +*.html +*.css +*.png +.DS_STORE \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/Default.sublime-keymap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/Default.sublime-keymap new file mode 100644 index 0000000..6098f74 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/Default.sublime-keymap @@ -0,0 +1,24 @@ +[ + { "keys": ["tab"], "command": "insert_dimensions", + "context": + [ + { "key": "setting.auto_complete_commit_on_tab" }, + { "key": "auto_complete_visible", "operator": "equal", "operand": true }, + { "key": "afn_insert_dimensions", "operator": "equal", "operand": true } + ] + }, + { "keys": ["enter"], "command": "insert_dimensions", + "context": + [ + { "key": "setting.auto_complete_commit_on_tab", "operator": "equal", "operand": false }, + { "key": "auto_complete_visible", "operator": "equal", "operand": true }, + { "key": "afn_insert_dimensions", "operator": "equal", "operand": true } + ] + }, + { "keys": ["backspace"], "command": "reload_auto_complete", + "context": + [ + { "key": "afn_deleting_slash", "operator": "equal", "operand": true } + ] + } +] \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/Main.sublime-menu b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/Main.sublime-menu new file mode 100644 index 0000000..0e92a8c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/Main.sublime-menu @@ -0,0 +1,35 @@ +[ + { + "caption": "Preferences", + "mnemonic": "n", + "id": "preferences", + "children": + [ + { + "caption": "Package Settings", + "mnemonic": "P", + "id": "package-settings", + "children": + [ + { + "caption": "AutoFileName", + "children": + [ + { + "command": "open_file", + "args": {"file": "${packages}/AutoFileName/autofilename.sublime-settings"}, + "caption": "Settings – Default" + }, + { + "command": "open_file", + "args": {"file": "${packages}/User/Preferences.sublime-settings"}, + "caption": "Settings – User" + }, + { "caption": "-" } + ] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/README.md b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/README.md new file mode 100644 index 0000000..138fe10 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/README.md @@ -0,0 +1,28 @@ +AutoFileName: Autocomplete Filenames in Sublime Text +===================================================== +Do you ever find yourself sifting through folders in the sidebar trying to remember what you named that file? Can't remember if it was a jpg or a png? Maybe you just wish you could type filenames faster. *No more.* + +Whether your making a `img` tag in html, setting a background image in css, or linking a `.js` file to your html (or whatever else people use filename paths for these days...), you can now autocomplete the filename. Plus, it uses the built-in autocomplete, so no need to learn another *pesky* shortcut. + +Usage +===== +If you are looking to autocomplete an image path in an HTML `` tag: + + +Pressing control+space, will activate AutoFileName. I list of available files where be ready to select. + +*Looking for an even more automatic and seemless completion?* Add the following to your User Settings file: + + "auto_complete_triggers": + [ + { + "characters": "<", + "selector": "text.html" + }, + { + "characters": "/", + "selector": "string.quoted.double.html,string.quoted.single.html, source.css" + } + ] + +With this, there's no need to worry about pressing control+space, autocompletion with appear upon pressing /. \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/autofilename.py b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/autofilename.py new file mode 100644 index 0000000..004b929 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/autofilename.py @@ -0,0 +1,157 @@ +import sublime +import sublime_plugin +import os +from getimageinfo import getImageInfo + +class InsertDimensionsCommand(sublime_plugin.TextCommand): + this_dir = '' + + def insert_dimension(self,edit,dim,name,tag_scope): + view = self.view + sel = view.sel()[0].a + if name in view.substr(tag_scope): + reg = view.find('(?<='+name+'\=)\s*\"\d{1,5}', tag_scope.a) + view.replace(edit, reg, '"'+str(dim)) + else: + dimension = str(dim) + view.insert(edit, sel+1, ' '+name+'="'+dimension+'"') + + def get_setting(self,string,view=None): + if view and view.settings().get(string): + return view.settings().get(string) + else: + return sublime.load_settings('autofilename.sublime-settings').get(string) + + def run(self, edit): + view = self.view + view.run_command("commit_completion") + sel = view.sel()[0].a + if not 'html' in view.scope_name(sel): return + scope = view.extract_scope(sel-1) + tag_scope = view.extract_scope(scope.a-1) + + path = view.substr(scope) + if path.startswith(("'","\"","(")): + path = path[1:-1] + + path = path[path.rfind('/'):] if '/' in path else '' + full_path = self.this_dir + path + + if '= 10) and data[:6] in ('GIF87a', 'GIF89a'): + # Check to see if content_type is correct + content_type = 'image/gif' + w, h = struct.unpack("= 24) and data.startswith('\211PNG\r\n\032\n') + and (data[12:16] == 'IHDR')): + content_type = 'image/png' + w, h = struct.unpack(">LL", data[16:24]) + width = int(w) + height = int(h) + + # Maybe this is for an older PNG version. + elif (size >= 16) and data.startswith('\211PNG\r\n\032\n'): + # Check to see if we have the right content type + content_type = 'image/png' + w, h = struct.unpack(">LL", data[8:16]) + width = int(w) + height = int(h) + + # handle JPEGs + elif (size >= 2) and data.startswith('\377\330'): + content_type = 'image/jpeg' + jpeg = StringIO.StringIO(data) + jpeg.read(2) + b = jpeg.read(1) + try: + while (b and ord(b) != 0xDA): + while (ord(b) != 0xFF): b = jpeg.read(1) + while (ord(b) == 0xFF): b = jpeg.read(1) + if (ord(b) >= 0xC0 and ord(b) <= 0xC3): + jpeg.read(3) + h, w = struct.unpack(">HH", jpeg.read(4)) + break + else: + jpeg.read(int(struct.unpack(">H", jpeg.read(2))[0])-2) + b = jpeg.read(1) + width = int(w) + height = int(h) + except struct.error: + pass + except ValueError: + pass + + return content_type, width, height \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/package-metadata.json b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/package-metadata.json new file mode 100644 index 0000000..c6a63de --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/AutoFileName/package-metadata.json @@ -0,0 +1 @@ +{"url": "https://github.com/BoundInCode/AutoFileName", "version": "2013.01.23.20.19.29", "description": "Sublime Text 2 plugin that autocompletes filenames"} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/.gitignore b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/README.md b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/README.md new file mode 100644 index 0000000..306b125 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/README.md @@ -0,0 +1,29 @@ +## Full completions for the Chai Assertion Library + +This sublime package will install completions for *bdd* and *tdd*: +- [*should*](http://chaijs.com/api/bdd/) +- [*expect*](http://chaijs.com/api/bdd/) +- [*assert*](http://chaijs.com/api/assert/) + +You can read the [full API for chai syntax](http://chaijs.com/api/). + +The completions work in both Javascript and [CoffeeScript](http://coffeescript.org/). + +This package was merged with [pahen's](https://github.com/pahen/) package in Sublime Package Control. + +### Installation +Install with [Sublime Package Control](http://wbond.net/sublime_packages/package_control) if possible. +- Super + Shift + P +- Install Package +- Chai Completions + +or without Sublime Package Control: + +``` +cd ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/ +git clone git://github.com/pensive612/sublime-chai-full-completions.git +``` +restart Sublime Text and you're good to go. + + +Improvements and suggestions are welcome... \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/after.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/after.sublime-snippet new file mode 100644 index 0000000..1a88676 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/after.sublime-snippet @@ -0,0 +1,12 @@ + + + $1 +]]> + + after + + source.coffee + + After + \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/aftereach.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/aftereach.sublime-snippet new file mode 100644 index 0000000..903717d --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/aftereach.sublime-snippet @@ -0,0 +1,12 @@ + + + $1 +]]> + + afte + + source.coffee + + After Each + \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/before.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/before.sublime-snippet new file mode 100644 index 0000000..f8ee5e4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/before.sublime-snippet @@ -0,0 +1,12 @@ + + + $1 +]]> + + bef + + source.coffee + + Before + \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/beforeeach.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/beforeeach.sublime-snippet new file mode 100644 index 0000000..f77a2ba --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/beforeeach.sublime-snippet @@ -0,0 +1,12 @@ + + + $1 +]]> + + befe + + source.coffee + + Before Each + \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/describe.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/describe.sublime-snippet new file mode 100644 index 0000000..b1ff03c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/describe.sublime-snippet @@ -0,0 +1,12 @@ + + + $2 +]]> + + des + + source.coffee + + Describe + \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/it.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/it.sublime-snippet new file mode 100644 index 0000000..963331c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/blocks/it.sublime-snippet @@ -0,0 +1,12 @@ + + + $2 +]]> + + it + + source.coffee + + It + \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/completions/assert-chai-coffee.sublime-completions b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/completions/assert-chai-coffee.sublime-completions new file mode 100644 index 0000000..d384a9a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/completions/assert-chai-coffee.sublime-completions @@ -0,0 +1,54 @@ +{ + "scope": "source.coffee", + "version": "0.10", + "completions": + [ + { "trigger": "assert", "contents": "assert ${1:expression}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.fail", "contents": "assert.fail ${1:actual}, ${2:expected}${3:, \"${4:[message]}\", ${5:[operator]}}$0"}, + { "trigger": "assert.ok", "contents": "assert.ok ${1:object}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.equal", "contents": "assert.equal ${1:actual}, ${2:expected}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.notEqual", "contents": "assert.notEqual ${1:actual}, ${2:expected}${3:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.strictEqual", "contents": "assert.strictEqual ${1:actual}, ${2:expected}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.notStrictEqual", "contents": "assert.notStrictEqual ${1:actual}, ${2:expected}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.deepEqual", "contents": "assert.deepEqual ${1:actual}, ${2:expected}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.notDeepEqual", "contents": "assert.notDeepEqual ${1:actual}, ${2:expected}${3:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isTrue", "contents": "assert.isTrue ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isFalse", "contents": "assert.isFalse ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isNull", "contents": "assert.isNull ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isNotNull", "contents": "assert.isNotNull ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isUndefined", "contents": "assert.isUndefined ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isDefined", "contents": "assert.isDefined ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isFunction", "contents": "assert.isFunction ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isNotFunction", "contents": "assert.isNotFunction ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isObject", "contents": "assert.isObject ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isNotObject", "contents": "assert.isNotObject ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isArray", "contents": "assert.isArray ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isNotArray", "contents": "assert.isNotArray ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isString", "contents": "assert.isString ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isNotString", "contents": "assert.isNotString ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isNumber", "contents": "assert.isNumber ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isNotNumber", "contents": "assert.isNotNumber ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isBoolean", "contents": "assert.isBoolean ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.isNotBoolean", "contents": "assert.isNotBoolean ${1:value}${2:, \"${3:[message]}\"}$0"}, + { "trigger": "assert.typeOf", "contents": "assert.typeOf ${1:value}, ${2:name}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.notTypeOf", "contents": "assert.notTypeOf ${1:value}, ${2:name}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.instanceOf", "contents": "assert.instanceOf ${1:object}, ${2:constructor}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.notInstanceOf", "contents": "assert.notInstanceOf ${1:object}, ${2:constructor}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.include", "contents": "assert.include ${1:haystack}, ${2:needle}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.match", "contents": "assert.match ${1:value}, ${2:regexp}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.notMatch", "contents": "assert.notMatch ${1:value}, ${2:regexp}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.property", "contents": "assert.property ${1:object}, ${2:property}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.notProperty", "contents": "assert.notProperty ${1:object}, ${2:property}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.deepProperty", "contents": "assert.deepProperty ${1:object}, ${2:property}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.notDeepProperty", "contents": "assert.notDeepProperty ${1:object}, ${2:property}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.propertyVal", "contents": "assert.notDeepProperty ${1:object}, ${2:property}, ${3:value}${4:, \"${5:[message]}\"}$0"}, + { "trigger": "assert.propertyNotVal", "contents": "assert.propertyNotVal ${1:object}, ${2:property} ${3:value}${4:, \"${5:[message]}\"}$0"}, + { "trigger": "assert.deepPropertyVal", "contents": "assert.deepPropertyVal ${1:object}, ${2:property} ${3:value}${4:, \"${5:[message]}\"}$0"}, + { "trigger": "assert.deepPropertyNotVal", "contents": "assert.deepPropertyNotVal ${1:object}, ${2:property}, ${3:value}${4:, \"${5:[message]}\"}$0"}, + { "trigger": "assert.lengthOf", "contents": "assert.lengthOf ${1:object}, ${2:length}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.throws", "contents": "assert.throws ${1:function}, ${2:constructor/regexp}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.doesNotThrow", "contents": "assert.doesNotThrow ${1:function}, ${2:constructor/regexp}${3:, \"${4:[message]}\"}$0"}, + { "trigger": "assert.operator", "contents": "assert.operator ${1:val1}, ${2:operator}, ${3:val2}${4:, \"${5:[message]}\"}$0"}, + { "trigger": "assert.closeTo", "contents": "assert.closeTo ${1:actual}, ${2:expected}, ${3:delta}${4:, \"${5:[message]}\"}$0" } + ] +} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/completions/expect-chai-coffee.sublime-completions b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/completions/expect-chai-coffee.sublime-completions new file mode 100644 index 0000000..b66fbac --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/completions/expect-chai-coffee.sublime-completions @@ -0,0 +1,56 @@ +{ + "scope": "source.coffee", + "version": "0.10", + "completions": + [ + { "trigger": "expect", "contents": "expect(${1:value}).to.$0" }, + { "trigger": "expect.to.be.a", "contents": "expect(${1:value}).to.be.a \"${2:type}\"$0" }, + { "trigger": "expect.to.be.an", "contents": "expect(${1:value}).to.be.an \"${2:type}\"$0" }, + { "trigger": "expect.to.be.an.instanceof", "contents": "expect(${1:value}).to.be.an.instanceof ${2:object}$0" }, + { "trigger": "expect.to.include", "contents": "expect(${1:value}).to.include ${2:value}$0" }, + { "trigger": "expect.to.contain", "contents": "expect(${1:value}).to.contain \"${2:string}\"$0" }, + { "trigger": "expect.to.include.keys", "contents": "expect(${1:value}).to.include.keys \"${2:string}\"$0" }, + { "trigger": "expect.to.be.ok", "contents": "expect(${1:value}).to.be.ok$0" }, + { "trigger": "expect.to.not.be.ok", "contents": "expect(${1:value}).to.not.be.ok$0" }, + { "trigger": "expect.to.be.true", "contents": "expect(${1:value}).to.be.true$0" }, + { "trigger": "expect.to.not.be.true", "contents": "expect(${1:value}).to.not.be.true$0" }, + { "trigger": "expect.to.be.false", "contents": "expect(${1:value}).to.be.false$0" }, + { "trigger": "expect.to.not.be.false", "contents": "expect(${1:value}).to.not.be.false$0" }, + { "trigger": "expect.to.be.null", "contents": "expect(${1:value}).to.be.null$0" }, + { "trigger": "expect.to.not.be.null", "contents": "expect(${1:value}).to.not.be.null$0" }, + { "trigger": "expect.to.be.undefined", "contents": "expect(${1:value}).to.be.undefined$0" }, + { "trigger": "expect.to.not.be.undefined", "contents": "expect(${1:value}).to.not.be.undefined$0" }, + { "trigger": "expect.to.exist", "contents": "expect(${1:value}).to.exist$0" }, + { "trigger": "expect.to.not.exist", "contents": "expect(${1:value}).to.not.exist$0" }, + { "trigger": "expect.to.be.empty", "contents": "expect(${1:value}).to.be.empty$0" }, + { "trigger": "expect.to.not.be.empty", "contents": "expect(${1:value}).to.not.be.empty$0" }, + { "trigger": "expect.to.be.arguments", "contents": "expect(${1:value}).to.be.arguments ${2:value}$0" }, + { "trigger": "expect.to.equal", "contents": "expect(${1:value}).to.equal ${2:value}$0" }, + { "trigger": "expect.to.not.equal", "contents": "expect(${1:value}).to.not.equal ${2:value}$0" }, + { "trigger": "expect.to.eql", "contents": "expect(${1:value}).to.eql ${2:value}$0" }, + { "trigger": "expect.to.not.eql", "contents": "expect(${1:value}).to.not.eql ${2:value}$0" }, + { "trigger": "expect.to.be.above", "contents": "expect(${1:value}).to.be.above ${2:value}$0" }, + { "trigger": "expect.to.have.length.above", "contents": "expect(${1:value}).to.have.length.above ${2:value}$0" }, + { "trigger": "expect.to.be.at.least", "contents": "expect(${1:value}).to.be.at.least ${2:value}$0" }, + { "trigger": "expect.to.be.below", "contents": "expect(${1:value}).to.be.below ${2:value}$0" }, + { "trigger": "expect.to.be.at.most", "contents": "expect(${1:value}).to.be.at.most ${2:value}$0" }, + { "trigger": "expect.to.have.length.of.at.most", "contents": "expect(${1:value}).to.have.length.of.at.most ${2:value}$0" }, + { "trigger": "expect.to.be.within", "contents": "expect(${1:value}).to.be.within ${2:start}, ${3:finish}$0" }, + { "trigger": "expect.to.have.length.within", "contents": "expect(${1:value}).to.have.length.within ${2:start}, ${3:finish}$0" }, + { "trigger": "expect.to.have.property", "contents": "expect(${1:value}).to.have.property \"${2:value}\"$0" }, + { "trigger": "expect.to.have.deep.property", "contents": "expect(${1:value}).to.have.deep.property \"${2:value}\"$0" }, + { "trigger": "expect.to.have.ownProperty", "contents": "expect(${1:value}).to.have.ownProperty \"${2:value}\"$0" }, + { "trigger": "expect.to.have.length", "contents": "expect(${1:value}).to.have.length ${2:value}$0" }, + { "trigger": "expect.to.have.length.above", "contents": "expect(${1:value}).to.have.length.above ${2:value}$0" }, + { "trigger": "expect.to.have.length.below", "contents": "expect(${1:value}).to.have.length.below ${2:value}$0" }, + { "trigger": "expect.to.have.length.within", "contents": "expect(${1:value}).to.have.length.within ${2:start}, ${3:finish}$0" }, + { "trigger": "expect.to.match", "contents": "expect(${1:value}).to.match /${2:regex}/$0" }, + { "trigger": "expect.to.have.string", "contents": "expect(${1:value}).to.have.string \"${2:string}\"$0" }, + { "trigger": "expect.to.have.keys", "contents": "expect(${1:value}).to.have.keys \"${2:string}\"$0" }, + { "trigger": "expect.to.throw", "contents": "expect(${1:value}).to.throw ${2:error}$0" }, + { "trigger": "expect.to.not.throw", "contents": "expect(${1:value}).to.not.throw ${2:error}$0" }, + { "trigger": "expect.to.respondTo", "contents": "expect(${1:value}).to.respondTo ${2:string}$0" }, + { "trigger": "expect.to.satisfy", "contents": "expect(${1:value}).to.satisfy ${2:function}$0" }, + { "trigger": "expect.to.be.closeTo", "contents": "expect(${1:value}).to.be.closeTo ${2:expected}, ${3:delta}$0" } + ] +} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/completions/should-chai-coffee.sublime-completions b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/completions/should-chai-coffee.sublime-completions new file mode 100644 index 0000000..7d036b8 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/coffee/completions/should-chai-coffee.sublime-completions @@ -0,0 +1,56 @@ +{ + "scope": "source.coffee", + "version": "0.10", + "completions": + [ + { "trigger": "should", "contents": "should.$0" }, + { "trigger": "should.be.a", "contents": "should.be.a \"${1:type}\"$0" }, + { "trigger": "should.be.an", "contents": "should.be.an \"${1:type}\"$0" }, + { "trigger": "should.be.an.instanceof", "contents": "should.be.an.instanceof ${1:object}$0" }, + { "trigger": "should.include", "contents": "should.include ${1:value}$0" }, + { "trigger": "should.contain", "contents": "should.contain \"${1:string}\"$0" }, + { "trigger": "should.include.keys", "contents": "should.include.keys \"${1:string}\"$0" }, + { "trigger": "should.be.ok", "contents": "should.be.ok$0" }, + { "trigger": "should.not.be.ok", "contents": "should.not.be.ok$0" }, + { "trigger": "should.be.true", "contents": "should.be.true$0" }, + { "trigger": "should.not.be.true", "contents": "should.not.be.true$0" }, + { "trigger": "should.be.false", "contents": "should.be.false$0" }, + { "trigger": "should.not.be.false", "contents": "should.not.be.false$0" }, + { "trigger": "should.be.null", "contents": "should.be.null$0" }, + { "trigger": "should.not.be.null", "contents": "should.not.be.null$0" }, + { "trigger": "should.be.undefined", "contents": "should.be.undefined$0" }, + { "trigger": "should.not.be.undefined", "contents": "should.not.be.undefined$0" }, + { "trigger": "should.exist", "contents": "should.exist$0" }, + { "trigger": "should.not.exist", "contents": "should.not.exist$0" }, + { "trigger": "should.be.empty", "contents": "should.be.empty$0" }, + { "trigger": "should.not.be.empty", "contents": "should.not.be.empty$0" }, + { "trigger": "should.be.arguments", "contents": "should.be.arguments ${1:value}$0" }, + { "trigger": "should.equal", "contents": "should.equal ${1:value}$0" }, + { "trigger": "should.not.equal", "contents": "should.not.equal ${1:value}$0" }, + { "trigger": "should.eql", "contents": "should.eql ${1:value}$0" }, + { "trigger": "should.not.eql", "contents": "should.not.eql ${1:value}$0" }, + { "trigger": "should.be.above", "contents": "should.be.above ${1:value}$0" }, + { "trigger": "should.have.length.above", "contents": "should.have.length.above ${1:value}$0" }, + { "trigger": "should.be.at.least", "contents": "should.be.at.least ${1:value}$0" }, + { "trigger": "should.be.below", "contents": "should.be.below ${1:value}$0" }, + { "trigger": "should.be.at.most", "contents": "should.be.at.most ${1:value}$0" }, + { "trigger": "should.have.length.of.at.most", "contents": "should.have.length.of.at.most ${1:value}$0" }, + { "trigger": "should.be.within", "contents": "should.be.within ${1:start}, ${2:finish}$0" }, + { "trigger": "should.have.length.within", "contents": "should.have.length.within ${1:start}, ${2:finish}$0" }, + { "trigger": "should.have.property", "contents": "should.have.property \"${1:value}\"$0" }, + { "trigger": "should.have.deep.property", "contents": "should.have.deep.property \"${1:value}\"$0" }, + { "trigger": "should.have.ownProperty", "contents": "should.have.ownProperty \"${1:value}\"$0" }, + { "trigger": "should.have.length", "contents": "should.have.length ${1:value}$0" }, + { "trigger": "should.have.length.above", "contents": "should.have.length.above ${1:value}$0" }, + { "trigger": "should.have.length.below", "contents": "should.have.length.below ${1:value}$0" }, + { "trigger": "should.have.length.within", "contents": "should.have.length.within ${1:start}, ${2:finish}$0" }, + { "trigger": "should.match", "contents": "should.match /${1:regex}/$0" }, + { "trigger": "should.have.string", "contents": "should.have.string \"${1:string}\"$0" }, + { "trigger": "should.have.keys", "contents": "should.have.keys \"${1:string}\"$0" }, + { "trigger": "should.throw", "contents": "should.throw ${1:error}$0" }, + { "trigger": "should.not.throw", "contents": "should.not.throw ${1:error}$0" }, + { "trigger": "should.respondTo", "contents": "should.respondTo ${1:string}$0" }, + { "trigger": "should.satisfy", "contents": "should.satisfy ${1:function}$0" }, + { "trigger": "should.be.closeTo", "contents": "should.be.closeTo ${1:expected}, ${2:delta}$0" } + ] +} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/after.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/after.sublime-snippet new file mode 100644 index 0000000..9de0c4c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/after.sublime-snippet @@ -0,0 +1,13 @@ + + + + after + + source.js + + After + \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/aftereach.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/aftereach.sublime-snippet new file mode 100644 index 0000000..eed95b5 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/aftereach.sublime-snippet @@ -0,0 +1,13 @@ + + + + aftereach + + source.js + + After Each + \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/before.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/before.sublime-snippet new file mode 100644 index 0000000..341fb8b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/before.sublime-snippet @@ -0,0 +1,13 @@ + + + + before + + source.js + + Before + \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/beforeeach.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/beforeeach.sublime-snippet new file mode 100644 index 0000000..1d00262 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/beforeeach.sublime-snippet @@ -0,0 +1,13 @@ + + + + beforeeach + + source.js + + Before Each + \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/describe.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/describe.sublime-snippet new file mode 100644 index 0000000..a514380 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/describe.sublime-snippet @@ -0,0 +1,13 @@ + + + + describe + + source.js + + Describe + \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/it.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/it.sublime-snippet new file mode 100644 index 0000000..56468f7 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/blocks/it.sublime-snippet @@ -0,0 +1,13 @@ + + + + it + + source.js + + It + \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/completions/assert-chai-coffee.sublime-completions b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/completions/assert-chai-coffee.sublime-completions new file mode 100644 index 0000000..a35a5f0 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/completions/assert-chai-coffee.sublime-completions @@ -0,0 +1,54 @@ +{ + "scope": "source.js", + "version": "0.10", + "completions": + [ + { "trigger": "assert", "contents": "assert(${1:expression}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.fail", "contents": "assert.fail(${1:actual}, ${2:expected}${3:, \"${4:[message]}\", ${5:[operator]}});$0"}, + { "trigger": "assert.ok", "contents": "assert.ok(${1:object}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.equal", "contents": "assert.equal(${1:actual}, ${2:expected}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.notEqual", "contents": "assert.notEqual(${1:actual}, ${2:expected}${3:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.strictEqual", "contents": "assert.strictEqual(${1:actual}, ${2:expected}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.notStrictEqual", "contents": "assert.notStrictEqual(${1:actual}, ${2:expected}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.deepEqual", "contents": "assert.deepEqual(${1:actual}, ${2:expected}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.notDeepEqual", "contents": "assert.notDeepEqual(${1:actual}, ${2:expected}${3:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isTrue", "contents": "assert.isTrue(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isFalse", "contents": "assert.isFalse(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isNull", "contents": "assert.isNull(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isNotNull", "contents": "assert.isNotNull(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isUndefined", "contents": "assert.isUndefined(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isDefined", "contents": "assert.isDefined(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isFunction", "contents": "assert.isFunction(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isNotFunction", "contents": "assert.isNotFunction(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isObject", "contents": "assert.isObject(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isNotObject", "contents": "assert.isNotObject(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isArray", "contents": "assert.isArray(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isNotArray", "contents": "assert.isNotArray(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isString", "contents": "assert.isString(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isNotString", "contents": "assert.isNotString(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isNumber", "contents": "assert.isNumber(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isNotNumber", "contents": "assert.isNotNumber(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isBoolean", "contents": "assert.isBoolean(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.isNotBoolean", "contents": "assert.isNotBoolean(${1:value}${2:, \"${3:[message]}\"});$0"}, + { "trigger": "assert.typeOf", "contents": "assert.typeOf(${1:value}, ${2:name}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.notTypeOf", "contents": "assert.notTypeOf(${1:value}, ${2:name}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.instanceOf", "contents": "assert.instanceOf(${1:object}, ${2:constructor}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.notInstanceOf", "contents": "assert.notInstanceOf(${1:object}, ${2:constructor}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.include", "contents": "assert.include(${1:haystack}, ${2:needle}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.match", "contents": "assert.match(${1:value}, ${2:regexp}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.notMatch", "contents": "assert.notMatch(${1:value}, ${2:regexp}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.property", "contents": "assert.property(${1:object}, ${2:property}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.notProperty", "contents": "assert.notProperty(${1:object}, ${2:property}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.deepProperty", "contents": "assert.deepProperty(${1:object}, ${2:property}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.notDeepProperty", "contents": "assert.notDeepProperty(${1:object}, ${2:property}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.propertyVal", "contents": "assert.notDeepProperty(${1:object}, ${2:property}, ${3:value}${4:, \"${5:[message]}\"});$0"}, + { "trigger": "assert.propertyNotVal", "contents": "assert.propertyNotVal(${1:object}, ${2:property} ${3:value}${4:, \"${5:[message]}\"});$0"}, + { "trigger": "assert.deepPropertyVal", "contents": "assert.deepPropertyVal(${1:object}, ${2:property} ${3:value}${4:, \"${5:[message]}\"});$0"}, + { "trigger": "assert.deepPropertyNotVal", "contents": "assert.deepPropertyNotVal(${1:object}, ${2:property}, ${3:value}${4:, \"${5:[message]}\"});$0"}, + { "trigger": "assert.lengthOf", "contents": "assert.lengthOf(${1:object}, ${2:length}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.throws", "contents": "assert.throws(${1:function}, ${2:constructor/regexp}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.doesNotThrow", "contents": "assert.doesNotThrow(${1:function}, ${2:constructor/regexp}${3:, \"${4:[message]}\"});$0"}, + { "trigger": "assert.operator", "contents": "assert.operator(${1:val1}, ${2:operator}, ${3:val2}${4:, \"${5:[message]}\"});$0"}, + { "trigger": "assert.closeTo", "contents": "assert.closeTo(${1:actual}, ${2:expected}, ${3:delta}${4:, \"${5:[message]}\"}$0" } + ] +} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/completions/expect-chai-coffee.sublime-completions b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/completions/expect-chai-coffee.sublime-completions new file mode 100644 index 0000000..7020c48 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/completions/expect-chai-coffee.sublime-completions @@ -0,0 +1,56 @@ +{ + "scope": "source.js", + "version": "0.10", + "completions": + [ + { "trigger": "expect", "contents": "expect(${1:value}).to.;$0"}, + { "trigger": "expect.to.be.a", "contents": "expect(${1:value}).to.be.a(\"${2:type}\");$0"}, + { "trigger": "expect.to.be.an", "contents": "expect(${1:value}).to.be.an(\"${2:type}\");$0"}, + { "trigger": "expect.to.be.an.instanceof", "contents": "expect(${1:value}).to.be.an.instanceof(${2:object});$0"}, + { "trigger": "expect.to.include", "contents": "expect(${1:value}).to.include(${2:value});$0"}, + { "trigger": "expect.to.contain", "contents": "expect(${1:value}).to.contain(\"${2:string}\");$0"}, + { "trigger": "expect.to.include.keys", "contents": "expect(${1:value}).to.include.keys(\"${2:string}\");$0"}, + { "trigger": "expect.to.be.ok", "contents": "expect(${1:value}).to.be.ok;$0"}, + { "trigger": "expect.to.not.be.ok", "contents": "expect(${1:value}).to.not.be.ok;$0"}, + { "trigger": "expect.to.be.true", "contents": "expect(${1:value}).to.be.true;$0"}, + { "trigger": "expect.to.not.be.true", "contents": "expect(${1:value}).to.not.be.true;$0"}, + { "trigger": "expect.to.be.false", "contents": "expect(${1:value}).to.be.false;$0"}, + { "trigger": "expect.to.not.be.false", "contents": "expect(${1:value}).to.not.be.false;$0"}, + { "trigger": "expect.to.be.null", "contents": "expect(${1:value}).to.be.null;$0"}, + { "trigger": "expect.to.not.be.null", "contents": "expect(${1:value}).to.not.be.null;$0"}, + { "trigger": "expect.to.be.undefined", "contents": "expect(${1:value}).to.be.undefined;$0"}, + { "trigger": "expect.to.not.be.undefined", "contents": "expect(${1:value}).to.not.be.undefined;$0"}, + { "trigger": "expect.to.exist", "contents": "expect(${1:value}).to.exist;$0"}, + { "trigger": "expect.to.not.exist", "contents": "expect(${1:value}).to.not.exist;$0"}, + { "trigger": "expect.to.be.empty", "contents": "expect(${1:value}).to.be.empty;$0"}, + { "trigger": "expect.to.not.be.empty", "contents": "expect(${1:value}).to.not.be.empty;$0"}, + { "trigger": "expect.to.be.arguments", "contents": "expect(${1:value}).to.be.arguments(${2:value});$0"}, + { "trigger": "expect.to.equal", "contents": "expect(${1:value}).to.equal(${2:value});$0"}, + { "trigger": "expect.to.not.equal", "contents": "expect(${1:value}).to.not.equal(${2:value});$0"}, + { "trigger": "expect.to.eql", "contents": "expect(${1:value}).to.eql(${2:value});$0"}, + { "trigger": "expect.to.not.eql", "contents": "expect(${1:value}).to.not.eql(${2:value});$0"}, + { "trigger": "expect.to.be.above", "contents": "expect(${1:value}).to.be.above(${2:value});$0"}, + { "trigger": "expect.to.have.length.above", "contents": "expect(${1:value}).to.have.length.above(${2:value});$0"}, + { "trigger": "expect.to.be.at.least", "contents": "expect(${1:value}).to.be.at.least(${2:value});$0"}, + { "trigger": "expect.to.be.below", "contents": "expect(${1:value}).to.be.below(${2:value});$0"}, + { "trigger": "expect.to.be.at.most", "contents": "expect(${1:value}).to.be.at.most(${2:value});$0"}, + { "trigger": "expect.to.have.length.of.at.most", "contents": "expect(${1:value}).to.have.length.of.at.most(${2:value});$0"}, + { "trigger": "expect.to.be.within", "contents": "expect(${1:value}).to.be.within(${2:start}, ${3:finish});$0"}, + { "trigger": "expect.to.have.length.within", "contents": "expect(${1:value}).to.have.length.within(${2:start}, ${3:finish});$0"}, + { "trigger": "expect.to.have.property", "contents": "expect(${1:value}).to.have.property(\"${2:value}\");$0"}, + { "trigger": "expect.to.have.deep.property", "contents": "expect(${1:value}).to.have.deep.property(\"${2:value}\");$0"}, + { "trigger": "expect.to.have.ownProperty", "contents": "expect(${1:value}).to.have.ownProperty(\"${2:value}\");$0"}, + { "trigger": "expect.to.have.length", "contents": "expect(${1:value}).to.have.length(${2:value});$0"}, + { "trigger": "expect.to.have.length.above", "contents": "expect(${1:value}).to.have.length.above(${2:value});$0"}, + { "trigger": "expect.to.have.length.below", "contents": "expect(${1:value}).to.have.length.below(${2:value});$0"}, + { "trigger": "expect.to.have.length.within", "contents": "expect(${1:value}).to.have.length.within(${2:start}, ${3:finish});$0"}, + { "trigger": "expect.to.match", "contents": "expect(${1:value}).to.match(/${2:regex}/);$0"}, + { "trigger": "expect.to.have.string", "contents": "expect(${1:value}).to.have.string(\"${2:string}\");$0"}, + { "trigger": "expect.to.have.keys", "contents": "expect(${1:value}).to.have.keys(\"${2:string}\");$0"}, + { "trigger": "expect.to.throw", "contents": "expect(${1:value}).to.throw(${2:error});$0"}, + { "trigger": "expect.to.not.throw", "contents": "expect(${1:value}).to.not.throw(${2:error});$0"}, + { "trigger": "expect.to.respondTo", "contents": "expect(${1:value}).to.respondTo(${2:string});$0"}, + { "trigger": "expect.to.satisfy", "contents": "expect(${1:value}).to.satisfy(${2:function});$0"}, + { "trigger": "expect.to.be.closeTo", "contents": "expect(${1:value}).to.be.closeTo(${2:expected}, ${3:delta});$0"} + ] +} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/completions/should-chai-coffee.sublime-completions b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/completions/should-chai-coffee.sublime-completions new file mode 100644 index 0000000..d08ccaa --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/js/completions/should-chai-coffee.sublime-completions @@ -0,0 +1,56 @@ +{ + "scope": "source.js", + "version": "0.10", + "completions": + [ + { "trigger": "should", "contents": "should.$0"}, + { "trigger": "should.be.a", "contents": "should.be.a(\"${1:type}\");$0"}, + { "trigger": "should.be.an", "contents": "should.be.an(\"${1:type}\");$0"}, + { "trigger": "should.be.an.instanceof", "contents": "should.be.an.instanceof(${1:object});$0"}, + { "trigger": "should.include", "contents": "should.include(${1:value});$0"}, + { "trigger": "should.contain", "contents": "should.contain(\"${1:string}\");$0"}, + { "trigger": "should.include.keys", "contents": "should.include.keys(\"${1:string}\");$0"}, + { "trigger": "should.be.ok", "contents": "should.be.ok;$0"}, + { "trigger": "should.not.be.ok", "contents": "should.not.be.ok;$0"}, + { "trigger": "should.be.true", "contents": "should.be.true;$0"}, + { "trigger": "should.not.be.true", "contents": "should.not.be.true;$0"}, + { "trigger": "should.be.false", "contents": "should.be.false;$0"}, + { "trigger": "should.not.be.false", "contents": "should.not.be.false;$0"}, + { "trigger": "should.be.null", "contents": "should.be.null;$0"}, + { "trigger": "should.not.be.null", "contents": "should.not.be.null;$0"}, + { "trigger": "should.be.undefined", "contents": "should.be.undefined;$0"}, + { "trigger": "should.not.be.undefined", "contents": "should.not.be.undefined;$0"}, + { "trigger": "should.exist", "contents": "should.exist;$0"}, + { "trigger": "should.not.exist", "contents": "should.not.exist;$0"}, + { "trigger": "should.be.empty", "contents": "should.be.empty;$0"}, + { "trigger": "should.not.be.empty", "contents": "should.not.be.empty;$0"}, + { "trigger": "should.be.arguments", "contents": "should.be.arguments(${1:value}$0"}, + { "trigger": "should.equal", "contents": "should.equal(${1:value});$0"}, + { "trigger": "should.not.equal", "contents": "should.not.equal(${1:value});$0"}, + { "trigger": "should.eql", "contents": "should.eql(${1:value});$0"}, + { "trigger": "should.not.eql", "contents": "should.not.eql(${1:value});$0"}, + { "trigger": "should.be.above", "contents": "should.be.above(${1:value});$0"}, + { "trigger": "should.have.length.above", "contents": "should.have.length.above(${1:value});$0"}, + { "trigger": "should.be.at.least", "contents": "should.be.at.least(${1:value});$0"}, + { "trigger": "should.be.below", "contents": "should.be.below(${1:value});$0"}, + { "trigger": "should.be.at.most", "contents": "should.be.at.most(${1:value});$0"}, + { "trigger": "should.have.length.of.at.most", "contents": "should.have.length.of.at.most(${1:value});$0"}, + { "trigger": "should.be.within", "contents": "should.be.within(${1:start}, ${2:finish});$0"}, + { "trigger": "should.have.length.within", "contents": "should.have.length.within(${1:start}, ${2:finish});$0"}, + { "trigger": "should.have.property", "contents": "should.have.property(\"${1:value}\");$0"}, + { "trigger": "should.have.deep.property", "contents": "should.have.deep.property(\"${1:value}\");$0"}, + { "trigger": "should.have.ownProperty", "contents": "should.have.ownProperty(\"${1:value}\");$0"}, + { "trigger": "should.have.length", "contents": "should.have.length(${1:value});$0"}, + { "trigger": "should.have.length.above", "contents": "should.have.length.above(${1:value});$0"}, + { "trigger": "should.have.length.below", "contents": "should.have.length.below(${1:value});$0"}, + { "trigger": "should.have.length.within", "contents": "should.have.length.within(${1:start}, ${2:finish});$0"}, + { "trigger": "should.match", "contents": "should.match(/${1:regex}/);$0"}, + { "trigger": "should.have.string", "contents": "should.have.string(\"${1:string}\");$0"}, + { "trigger": "should.have.keys", "contents": "should.have.keys(\"${1:string}\");$0"}, + { "trigger": "should.throw", "contents": "should.throw(${1:error});$0"}, + { "trigger": "should.not.throw", "contents": "should.not.throw(${1:error});$0"}, + { "trigger": "should.respondTo", "contents": "should.respondTo(${1:string});$0"}, + { "trigger": "should.satisfy", "contents": "should.satisfy(${1:function});$0"}, + { "trigger": "should.be.closeTo", "contents": "should.be.closeTo(${1:expected}, ${2:delta});$0"} + ] +} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/package-metadata.json b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/package-metadata.json new file mode 100644 index 0000000..77fd6b1 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Chai Completions/package-metadata.json @@ -0,0 +1 @@ +{"url": "https://github.com/pensive612/sublime-chai-full-completions", "version": "2013.02.01.13.38.42", "description": "Full completions for Chai Library: should, expect and assert syntax. Works with Javascript and CoffeeScript."} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/.gitignore b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/.gitignore new file mode 100644 index 0000000..0d20b64 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/.gitignore @@ -0,0 +1 @@ +*.pyc diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeAutocomplete.py b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeAutocomplete.py new file mode 100644 index 0000000..7b5ae97 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeAutocomplete.py @@ -0,0 +1,236 @@ +import sublime, sublime_plugin +import re +import os +import threading +import coffee_utils +from coffee_utils import debug +from copy import copy + +COFFEESCRIPT_AUTOCOMPLETE_STATUS_KEY = "coffee_autocomplete" +COFFEESCRIPT_AUTOCOMPLETE_STATUS_MESSAGE = "Coffee: Autocompleting \"%s\"..." + +final_completions = [] +status = {"working": False} + +# TODO: +# - Type hinting using comments containing square brackets [Type] on same line or previous line +# - Codo docs searching for function parameter types +# - Better symbol parsing. Assignment lookups should consider the entire set of operands. +# X Consider all super classes (support extends) +# - Consider another feature: Override/implement methods +# - Full assignment traceback (that = this, a = b = c, knows what c is) +# - Check contents of currently open views +# - Built in types + +class CoffeeAutocomplete(sublime_plugin.EventListener): + + def on_query_completions(self, view, prefix, locations): + + completions = copy(final_completions) + working = status["working"] + + # If there is a word selection and we're looking at a coffee file... + if not completions and coffee_utils.is_coffee_syntax(view) and not working: + + status["working"] = True + + current_location = locations[0] + + # Get the window + self.window = sublime.active_window() + + # http://www.sublimetext.com/forum/viewtopic.php?f=6&t=9076 + settings = sublime.load_settings(coffee_utils.SETTINGS_FILE_NAME) + + built_in_types_settings = sublime.load_settings(coffee_utils.BUILT_IN_TYPES_SETTINGS_FILE_NAME) + built_in_types = built_in_types_settings.get(coffee_utils.BUILT_IN_TYPES_SETTINGS_KEY) + if not built_in_types: + built_in_types = [] + + custom_types_settings = sublime.load_settings(coffee_utils.CUSTOM_TYPES_SETTINGS_FILE_NAME) + custom_types = custom_types_settings.get(coffee_utils.CUSTOM_TYPES_SETTINGS_KEY) + if not custom_types: + custom_types = [] + + built_in_types.extend(custom_types) + + # Pull the excluded dirs from preferences + excluded_dirs = settings.get(coffee_utils.PREFERENCES_COFFEE_EXCLUDED_DIRS) + if not excluded_dirs: + excluded_dirs = [] + + restricted_to_dirs = settings.get(coffee_utils.PREFERENCES_COFFEE_RESTRICTED_TO_PATHS) + if not restricted_to_dirs: + restricted_to_dirs = [] + + # List of all project folders + project_folder_list = self.window.folders() + + if restricted_to_dirs: + specific_project_folders = [] + for next_restricted_dir in restricted_to_dirs: + for next_project_folder in project_folder_list: + next_specific_folder = os.path.normpath(os.path.join(next_project_folder, next_restricted_dir)) + specific_project_folders.append(next_specific_folder) + project_folder_list = specific_project_folders + + function_return_types = settings.get(coffee_utils.FUNCTION_RETURN_TYPES_SETTINGS_KEY) + if not function_return_types: + function_return_types = [] + + this_aliases = settings.get(coffee_utils.PREFERENCES_THIS_ALIASES) + if not this_aliases: + this_aliases = [] + + member_exclusion_regexes = settings.get(coffee_utils.PREFERENCES_MEMBER_EXCLUSION_REGEXES) + if not member_exclusion_regexes: + member_exclusion_regexes = [] + + # Lines for the current file in view + current_file_lines = coffee_utils.get_view_content_lines(view) + + # TODO: Smarter previous word selection + preceding_symbol = coffee_utils.get_preceding_symbol(view, prefix, locations) + immediately_preceding_symbol = coffee_utils.get_preceding_symbol(view, "", locations) + + preceding_function_call = coffee_utils.get_preceding_function_call(view).strip() + + # Determine preceding token, if any (if a period was typed). + token = coffee_utils.get_preceding_token(view).strip() + + # TODO: Smarter region location + symbol_region = sublime.Region(locations[0] - len(prefix), locations[0] - len(prefix)) + + if (preceding_function_call or token or coffee_utils.THIS_SUGAR_SYMBOL == preceding_symbol) and coffee_utils.is_autocomplete_trigger(immediately_preceding_symbol): + self.window.active_view().run_command('hide_auto_complete') + + thread = CoffeeAutocompleteThread(project_folder_list, excluded_dirs, this_aliases, current_file_lines, preceding_symbol, prefix, preceding_function_call, function_return_types, token, symbol_region, built_in_types, member_exclusion_regexes) + thread.start() + self.check_operation(thread, final_completions, current_location, token, status) + else: + status["working"] = False + + elif completions: + self.clear_completions(final_completions) + + return completions + + def check_operation(self, thread, final_completions, current_location, token, status, previous_progress_indicator_tuple=None): + + if not thread.is_alive(): + if thread.completions: + final_completions.extend(thread.completions) + # Hide the default auto-complete and show ours + self.window.active_view().run_command('hide_auto_complete') + sublime.set_timeout(lambda: self.window.active_view().run_command('auto_complete'), 1) + + self.window.active_view().erase_status(COFFEESCRIPT_AUTOCOMPLETE_STATUS_KEY) + status["working"] = False + else: + token = thread.token + # Create the command's goto definition text, including the selected word. For the status bar. + status_text = COFFEESCRIPT_AUTOCOMPLETE_STATUS_MESSAGE % token + # Get a tuple containing the progress text, progress position, and progress direction. + # This is used to animate a progress indicator in the status bar. + current_progress_indicator_tuple = coffee_utils.get_progress_indicator_tuple(previous_progress_indicator_tuple) + # Get the progress text + progress_indicator_status_text = current_progress_indicator_tuple[0] + # Set the status bar text so the user knows what's going on + self.window.active_view().set_status(COFFEESCRIPT_AUTOCOMPLETE_STATUS_KEY, status_text + " " + progress_indicator_status_text) + # Check again momentarily to see if the operation has completed. + sublime.set_timeout(lambda: self.check_operation(thread, final_completions, current_location, token, status, current_progress_indicator_tuple), 100) + + def clear_completions(self, final_completions): + debug("Clearing completions...") + while len(final_completions) > 0: + final_completions.pop() + +class CoffeeAutocompleteThread(threading.Thread): + + def __init__(self, project_folder_list, excluded_dirs, this_aliases, current_file_lines, preceding_symbol, prefix, preceding_function_call, function_return_types, token, symbol_region, built_in_types, member_exclusion_regexes): + + self.project_folder_list = project_folder_list + self.excluded_dirs = excluded_dirs + self.this_aliases = this_aliases + self.current_file_lines = current_file_lines + self.preceding_symbol = preceding_symbol + self.prefix = prefix + self.preceding_function_call = preceding_function_call + self.function_return_types = function_return_types + self.token = token + self.symbol_region = symbol_region + self.built_in_types = built_in_types + self.member_exclusion_regexes = member_exclusion_regexes + + # None if no completions found, or an array of the completion tuples + self.completions = None + threading.Thread.__init__(self) + + def run(self): + + project_folder_list = self.project_folder_list + excluded_dirs = self.excluded_dirs + this_aliases = self.this_aliases + current_file_lines = self.current_file_lines + preceding_symbol = self.preceding_symbol + prefix = self.prefix + preceding_function_call = self.preceding_function_call + function_return_types = self.function_return_types + token = self.token + symbol_region = self.symbol_region + built_in_types = self.built_in_types + member_exclusion_regexes = self.member_exclusion_regexes + + selected_word = token[token.rfind(".") + 1:] + + completions = [] + + # First see if it is a special function return definition, like $ for $("#selector") + if preceding_function_call: + for next_return_type in function_return_types: + function_names = next_return_type[coffee_utils.FUNCTION_RETURN_TYPE_FUNCTION_NAMES_KEY] + if preceding_function_call in function_names: + return_type = next_return_type[coffee_utils.FUNCTION_RETURN_TYPE_TYPE_NAME_KEY] + completions = coffee_utils.get_completions_for_class(return_type, False, None, prefix, None, built_in_types, member_exclusion_regexes, False) + + if not completions: + # Prepare to search globally if we need to... + # Coffeescript filename regex + coffeescript_filename_regex = coffee_utils.COFFEE_FILENAME_REGEX + # All coffeescript file paths + all_coffee_file_paths = coffee_utils.get_files_in(project_folder_list, coffeescript_filename_regex, excluded_dirs) + + # If @ typed, process as "this." + if preceding_symbol == coffee_utils.THIS_SUGAR_SYMBOL: + # Process as "this." + this_type = coffee_utils.get_this_type(current_file_lines, symbol_region) + if this_type: + completions = coffee_utils.get_completions_for_class(this_type, False, current_file_lines, prefix, all_coffee_file_paths, built_in_types, member_exclusion_regexes, True) + pass + elif preceding_symbol == coffee_utils.PERIOD_OPERATOR: + # If "this" or a substitute for it, process as "this." + if selected_word == coffee_utils.THIS_KEYWORD or selected_word in this_aliases: + # Process as "this." + this_type = coffee_utils.get_this_type(current_file_lines, symbol_region) + if this_type: + completions = coffee_utils.get_completions_for_class(this_type, False, current_file_lines, prefix, all_coffee_file_paths, built_in_types, member_exclusion_regexes, True) + else: + # If TitleCase, assume a class, and that we want static properties and functions. + if coffee_utils.is_capitalized(selected_word): + # Assume it is either in the current view or in a coffee file somewhere + completions = coffee_utils.get_completions_for_class(selected_word, True, current_file_lines, prefix, all_coffee_file_paths, built_in_types, member_exclusion_regexes, False) + if not completions: + # Now we search globally... + completions = coffee_utils.get_completions_for_class(selected_word, True, None, prefix, all_coffee_file_paths, built_in_types, member_exclusion_regexes, False) + + # If nothing yet, assume a variable. + if not completions: + variable_type = coffee_utils.get_variable_type(current_file_lines, token, symbol_region, all_coffee_file_paths, built_in_types, []) + if variable_type: + # Assume it is either in the current view or in a coffee file somewhere + completions = coffee_utils.get_completions_for_class(variable_type, False, current_file_lines, prefix, all_coffee_file_paths, built_in_types, member_exclusion_regexes, False) + if not completions: + # Now we search globally for a class... Maybe they're making a static call on something lowercase? Bad design, but check anyways. + completions = coffee_utils.get_completions_for_class(selected_word, True, None, prefix, all_coffee_file_paths, built_in_types, member_exclusion_regexes, False) + if completions: + self.completions = completions \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Built-In Types.sublime-settings b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Built-In Types.sublime-settings new file mode 100644 index 0000000..8e5e73f --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Built-In Types.sublime-settings @@ -0,0 +1,337 @@ +{ + "coffee_autocomplete_plus_built_in_types": + [ + { + "name": "Array", + "enabled": true, + "constructors": [], + "static_properties": [], + "static_methods": + [ + {"name":"isArray", "args": [{"name": "obj"}]} + ], + "instance_properties": + [ + {"name": "length"} + ], + "instance_methods": + [ + {"name":"concat", "args": [{"name": "vals…"}]}, + {"name":"every", "args": [{"name": "cb()", "insertion": "(val, index, arr) ->"}]}, + {"name":"every", "args": [{"name": "cb()", "insertion": "(val, index, arr) ->"}, {"name": "thisArg"}]}, + {"name":"filter", "args": [{"name": "cb()", "insertion": "(val, index, arr) ->"}]}, + {"name":"filter", "args": [{"name": "cb()", "insertion": "(val, index, arr) ->"}, {"name": "thisArg"}]}, + {"name":"forEach", "args": [{"name": "cb()", "insertion": "(val, index, arr) ->"}]}, + {"name":"forEach", "args": [{"name": "cb()", "insertion": "(val, index, arr) ->"}, {"name": "thisArg"}]}, + {"name":"indexOf", "args": [{"name": "val"}]}, + {"name":"indexOf", "args": [{"name": "val"}, {"name": "start"}]}, + {"name":"join", "args": []}, + {"name":"join", "args": [{"name": "separator"}]}, + {"name":"lastIndexOf", "args": [{"name": "val"}]}, + {"name":"lastIndexOf", "args": [{"name": "val"}, {"name": "start"}]}, + {"name":"map", "args": [{"name": "cb()", "insertion": "(val, index, arr) ->"}]}, + {"name":"map", "args": [{"name": "cb()", "insertion": "(val, index, arr) ->"}, {"name": "thisArg"}]}, + {"name":"pop", "args": []}, + {"name":"push", "args": [{"name": "vals…"}]}, + {"name":"reduce", "args": [{"name": "cb()", "insertion": "(prevVal, curVal, index, arr) ->"}]}, + {"name":"reduce", "args": [{"name": "cb()", "insertion": "(prevVal, curVal, index, arr) ->"}, {"name": "initVal"}]}, + {"name":"reduceRight", "args": [{"name": "cb()", "insertion": "(prevVal, curVal, index, arr) ->"}]}, + {"name":"reduceRight", "args": [{"name": "cb()", "insertion": "(prevVal, curVal, index, arr) ->"}, {"name": "initVal"}]}, + {"name":"reverse", "args": []}, + {"name":"shift", "args": []}, + {"name":"slice", "args": [{"name": "start"}]}, + {"name":"slice", "args": [{"name": "start"}, {"name": "end"}]}, + {"name":"some", "args": [{"name": "cb()", "insertion": "(val, index, arr) ->"}]}, + {"name":"some", "args": [{"name": "cb()", "insertion": "(val, index, arr) ->"}, {"name": "thisArg"}]}, + {"name":"sort", "args": []}, + {"name":"sort", "args": [{"name": "compare()", "insertion": "(a, b) ->"}]}, + {"name":"splice", "args": [{"name": "start"}, {"name": "del"}]}, + {"name":"splice", "args": [{"name": "start"}, {"name": "del"}, {"name": "vals…"}]}, + {"name":"unshift", "args": [{"name": "vals…"}]} + ] + }, + { + "name": "Boolean", + "enabled": true, + "constructors": [], + "static_properties": [], + "static_methods": [], + "instance_properties": [], + "instance_methods": [] + }, + { + "name": "Date", + "enabled": true, + "constructors": [], + "static_properties": [], + "static_methods": + [ + {"name":"now", "args": []}, + {"name":"parse", "args": [{"name": "dateStr"}]}, + {"name":"UTC", "args": [{"name": "year"}, {"name": "month"}]}, + {"name":"UTC", "args": [{"name": "year"}, {"name": "month"}, {"name": "day"}]}, + {"name":"UTC", "args": [{"name": "year"}, {"name": "month"}, {"name": "day"}, {"name": "hrs"}]}, + {"name":"UTC", "args": [{"name": "year"}, {"name": "month"}, {"name": "day"}, {"name": "hrs"}, {"name": "min"}]}, + {"name":"UTC", "args": [{"name": "year"}, {"name": "month"}, {"name": "day"}, {"name": "hrs"}, {"name": "min"}, {"name": "sec"}]}, + {"name":"UTC", "args": [{"name": "year"}, {"name": "month"}, {"name": "day"}, {"name": "hrs"}, {"name": "min"}, {"name": "sec"}, {"name": "ms"}]} + ], + "instance_properties": [], + "instance_methods": + [ + {"name":"getDate", "args": []}, + {"name":"getDay", "args": []}, + {"name":"getFullYear", "args": []}, + {"name":"getHours", "args": []}, + {"name":"getMilliseconds", "args": []}, + {"name":"getMinutes", "args": []}, + {"name":"getMonth", "args": []}, + {"name":"getSeconds", "args": []}, + {"name":"getTime", "args": []}, + {"name":"getTimezoneOffset", "args": []}, + {"name":"getUTCDate", "args": []}, + {"name":"getUTCDay", "args": []}, + {"name":"getUTCFullYear", "args": []}, + {"name":"getUTCHours", "args": []}, + {"name":"getUTCMilliseconds", "args": []}, + {"name":"getUTCMinutes", "args": []}, + {"name":"getUTCMonth", "args": []}, + {"name":"getUTCSeconds", "args": []}, + {"name":"setDate", "args": [{"name": "day"}]}, + {"name":"setFullYear", "args": [{"name": "year"}]}, + {"name":"setFullYear", "args": [{"name": "year"}, {"name": "month"}]}, + {"name":"setFullYear", "args": [{"name": "year"}, {"name": "month"}, {"name": "day"}]}, + {"name":"setHours", "args": [{"name": "hrs"}]}, + {"name":"setHours", "args": [{"name": "hrs"}, {"name": "min"}]}, + {"name":"setHours", "args": [{"name": "hrs"}, {"name": "min"}, {"name": "sec"}]}, + {"name":"setHours", "args": [{"name": "hrs"}, {"name": "min"}, {"name": "sec"}, {"name": "ms"}]}, + {"name":"setMilliseconds", "args": [{"name": "ms"}]}, + {"name":"setMinutes", "args": [{"name": "min"}]}, + {"name":"setMinutes", "args": [{"name": "min"}, {"name": "sec"}]}, + {"name":"setMinutes", "args": [{"name": "min"}, {"name": "sec"}, {"name": "ms"}]}, + {"name":"setMonth", "args": [{"name": "month"}]}, + {"name":"setMonth", "args": [{"name": "month"}, {"name": "day"}]}, + {"name":"setSeconds", "args": [{"name": "sec"}]}, + {"name":"setSeconds", "args": [{"name": "sec"}, {"name": "ms"}]}, + {"name":"setTime", "args": [{"name": "timeVal"}]}, + {"name":"setUTCDate", "args": [{"name": "day"}]}, + {"name":"setUTCFullYear", "args": [{"name": "year"}]}, + {"name":"setUTCFullYear", "args": [{"name": "year"}, {"name": "month"}]}, + {"name":"setUTCFullYear", "args": [{"name": "year"}, {"name": "month"}, {"name": "day"}]}, + {"name":"setUTCHours", "args": [{"name": "hrs"}]}, + {"name":"setUTCHours", "args": [{"name": "hrs"}, {"name": "min"}]}, + {"name":"setUTCHours", "args": [{"name": "hrs"}, {"name": "min"}, {"name": "sec"}]}, + {"name":"setUTCHours", "args": [{"name": "hrs"}, {"name": "min"}, {"name": "sec"}, {"name": "ms"}]}, + {"name":"setUTCMilliseconds", "args": [{"name": "ms"}]}, + {"name":"setUTCMinutes", "args": [{"name": "min"}]}, + {"name":"setUTCMinutes", "args": [{"name": "min"}, {"name": "sec"}]}, + {"name":"setUTCMinutes", "args": [{"name": "min"}, {"name": "sec"}, {"name": "ms"}]}, + {"name":"setUTCMonth", "args": [{"name": "month"}]}, + {"name":"setUTCMonth", "args": [{"name": "month"}, {"name": "day"}]}, + {"name":"setUTCSeconds", "args": [{"name": "sec"}]}, + {"name":"setUTCSeconds", "args": [{"name": "sec"}, {"name": "ms"}]}, + {"name":"toDateString", "args": []}, + {"name":"toISOString", "args": []}, + {"name":"toJSON", "args": []}, + {"name":"toLocaleDateString", "args": []}, + {"name":"toLocaleString", "args": []}, + {"name":"toLocaleTimeString", "args": []}, + {"name":"toTimeString", "args": []}, + {"name":"toUTCString", "args": []} + ] + }, + { + "name": "Function", + "enabled": true, + "constructors": [], + "static_properties": [], + "static_methods": [], + "instance_properties": + [ + {"name": "length"}, + {"name": "prototype"} + ], + "instance_methods": + [ + {"name":"apply", "args": [{"name": "thisArg"}]}, + {"name":"apply", "args": [{"name": "thisArg"}, {"name": "args…"}]}, + {"name":"bind", "args": [{"name": "obj"}]}, + {"name":"bind", "args": [{"name": "obj"}, {"name": "args…"}]}, + {"name":"call", "args": [{"name": "thisArg"}]}, + {"name":"call", "args": [{"name": "thisArg"}, {"name": "args…"}]} + ] + }, + { + "name": "Number", + "enabled": true, + "constructors": [], + "static_properties": + [ + {"name": "MAX_VALUE"}, + {"name": "MIN_VALUE"}, + {"name": "NaN"}, + {"name": "NEGATIVE_INFINITY"}, + {"name": "POSITIVE_INFINITY"} + ], + "static_methods": [], + "instance_properties": [], + "instance_methods": + [ + {"name":"toExponential", "args": []}, + {"name":"toExponential", "args": [{"name": "digits"}]}, + {"name":"toFixed", "args": []}, + {"name":"toFixed", "args": [{"name": "digits"}]}, + {"name":"toPrecision", "args": []}, + {"name":"toPrecision", "args": [{"name": "precision"}]}, + {"name":"toString", "args": []}, + {"name":"toString", "args": [{"name": "radix"}]} + ] + }, + { + "name": "Object", + "enabled": true, + "constructors": [], + "static_properties": [], + "static_methods": + [ + {"name":"create", "args": [{"name": "proto"}]}, + {"name":"create", "args": [{"name": "proto"}, {"name": "propsObj"}]}, + {"name":"defineProperties", "args": [{"name": "obj"}, {"name": "descs"}]}, + {"name":"defineProperty", "args": [{"name": "obj"}, {"name": "prop"}, {"name": "desc"}]}, + {"name":"freeze", "args": [{"name": "obj"}]}, + {"name":"getOwnPropertyDescriptor", "args": [{"name": "obj"}, {"name": "prop"}]}, + {"name":"getOwnPropertyNames", "args": [{"name": "obj"}]}, + {"name":"getPrototypeOf", "args": [{"name": "obj"}]}, + {"name":"isExtensible", "args": [{"name": "obj"}]}, + {"name":"isFrozen", "args": [{"name": "obj"}]}, + {"name":"isSealed", "args": [{"name": "obj"}]}, + {"name":"keys", "args": [{"name": "obj"}]}, + {"name":"preventExtensions", "args": [{"name": "obj"}]}, + {"name":"seal", "args": [{"name": "obj"}]} + ], + "instance_properties": [{"name": "constructor"}], + "instance_methods": + [ + {"name":"hasOwnProperty", "args": [{"name": "prop"}]}, + {"name":"isPrototypeOf", "args": [{"name": "obj"}]}, + {"name":"propertyIsEnumerable", "args": [{"name": "prop"}]}, + {"name":"toLocaleString", "args": []}, + {"name":"toString", "args": []}, + {"name":"valueOf", "args": []} + ] + }, + { + "name": "RegExp", + "enabled": true, + "constructors": [], + "static_properties": [], + "static_methods": [], + "instance_properties": [ + {"name": "global"}, + {"name": "ignoreCase"}, + {"name": "lastIndex"}, + {"name": "multiline"}, + {"name": "source"} + ], + "instance_methods": [ + {"name":"exec", "args": [{"name": "str"}]}, + {"name":"test", "args": [{"name": "str"}]} + ] + }, + { + "name": "String", + "enabled": true, + "constructors": [], + "static_properties": [], + "static_methods": + [ + {"name":"fromCharCode", "args": [{"name": "codes…"}]} + ], + "instance_properties": [{"name": "length"}], + "instance_methods": + [ + {"name":"charAt", "args": [{"name": "index"}]}, + {"name":"charCodeAt", "args": [{"name": "index"}]}, + {"name":"concat", "args": [{"name": "strs…"}]}, + {"name":"indexOf", "args": [{"name": "substr"}]}, + {"name":"indexOf", "args": [{"name": "substr"}, {"name": "start"}]}, + {"name":"lastIndexOf", "args": [{"name": "substr"}]}, + {"name":"lastIndexOf", "args": [{"name": "substr"}, {"name": "start"}]}, + {"name":"localeCompare", "args": [{"name": "target"}]}, + {"name":"match", "args": [{"name": "regexp"}]}, + {"name":"replace", "args": [{"name": "substr"}, {"name": "repl"}]}, + {"name":"replace", "args": [{"name": "substr"}, {"name": "repl()", "insertion": "(match, submatches…, pos, str) ->"}]}, + {"name":"replace", "args": [{"name": "regexp"}, {"name": "repl"}]}, + {"name":"replace", "args": [{"name": "regexp"}, {"name": "repl()", "insertion": "(match, submatches…, pos, str) ->"}]}, + {"name":"search", "args": [{"name": "regexp"}]}, + {"name":"slice", "args": [{"name": "start"}]}, + {"name":"slice", "args": [{"name": "start"}, {"name": "end"}]}, + {"name":"split", "args": []}, + {"name":"split", "args": [{"name": "separator"}]}, + {"name":"split", "args": [{"name": "separator"}, {"name": "limit"}]}, + {"name":"substring", "args": [{"name": "from"}]}, + {"name":"substring", "args": [{"name": "from"}, {"name": "to"}]}, + {"name":"toLocaleLowerCase", "args": []}, + {"name":"toLocaleUpperCase", "args": []}, + {"name":"toLowerCase", "args": []}, + {"name":"toUpperCase", "args": []}, + {"name":"trim", "args": []} + ] + }, + { + "name": "JSON", + "enabled": true, + "constructors": [], + "static_properties": [], + "static_methods": + [ + {"name":"parse", "args": [{"name": "str"}]}, + {"name":"parse", "args": [{"name": "str"}, {"name": "reviver()", "insertion": "(prop, val) ->"}]}, + {"name":"stringify", "args": [{"name": "val"}]}, + {"name":"stringify", "args": [{"name": "val"}, {"name": "filterArr"}]}, + {"name":"stringify", "args": [{"name": "val"}, {"name": "filterArr"}, {"name": "indent"}]}, + {"name":"stringify", "args": [{"name": "val"}, {"name": "filter()", "insertion": "(prop, val) ->"}]}, + {"name":"stringify", "args": [{"name": "val"}, {"name": "filter()", "insertion": "(prop, val) ->"}, {"name": "indent"}]} + ], + "instance_properties": [], + "instance_methods": [] + }, + { + "name": "Math", + "enabled": true, + "constructors": [], + "static_properties": [ + {"name": "E"}, + {"name": "LN10"}, + {"name": "LN2"}, + {"name": "LOG10E"}, + {"name": "LOG2E"}, + {"name": "PI"}, + {"name": "SQRT1_2"}, + {"name": "SQRT2"} + ], + "static_methods": + [ + {"name":"abs", "args": [{"name": "x"}]}, + {"name":"acos", "args": [{"name": "x"}]}, + {"name":"asin", "args": [{"name": "x"}]}, + {"name":"atan", "args": [{"name": "x"}]}, + {"name":"atan2", "args": [{"name": "y"}, {"name": "x"}]}, + {"name":"ceil", "args": [{"name": "x"}]}, + {"name":"cos", "args": [{"name": "x"}]}, + {"name":"exp", "args": [{"name": "x"}]}, + {"name":"floor", "args": [{"name": "x"}]}, + {"name":"log", "args": [{"name": "x"}]}, + {"name":"max", "args": [{"name": "vals…"}]}, + {"name":"min", "args": [{"name": "vals…"}]}, + {"name":"pow", "args": [{"name": "x"}, {"name": "y"}]}, + {"name":"random", "args": []}, + {"name":"round", "args": [{"name": "x"}]}, + {"name":"sin", "args": [{"name": "x"}]}, + {"name":"sqrt", "args": [{"name": "x"}]}, + {"name":"tan", "args": [{"name": "x"}]} + ], + "instance_properties": [], + "instance_methods": [] + } + ] +} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Custom Types.sublime-settings b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Custom Types.sublime-settings new file mode 100644 index 0000000..d748ea9 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Custom Types.sublime-settings @@ -0,0 +1,428 @@ +{ + "coffee_autocomplete_plus_custom_types": + [ + // { + // "name": "MyType", + // "constructors": [{"args": []}], + // "static_properties": [{"name": "CONSTANT_ONE"}, {"name": "CONSTANT_TWO"}], + // "static_methods": + // [ + // {"name":"myStaticMethod", "args": [{"name": "arg1"}, {"name": "arg2"}]}, + // {"name":"myStaticMethodTwo", "args": []} + // ], + // "instance_properties": [{"name": "thingOne"}, {"name": "thingTwo"}, {"name": "thingThree"}], + // "instance_methods": + // [ + // {"name":"doStuff", "args": [{"name": "numTimes"}]}, + // {"name":"doMoreStuff", "args": [{"name": "numTimes"}, {"name": "extraAmount"}]} + // ] + // }, + { + "name": "$", + "enabled": true, + "constructors": [{"args": []}], + "static_properties": + [ + {"name":"boxModel"}, + {"name":"browser"}, + {"name":"cssHooks"}, + {"name":"fx.interval"}, + {"name":"fx.off"}, + {"name":"support"} + ], + "static_methods": + [ + {"name":"ajax", "args": [{"name": "url"}]}, + {"name":"ajax", "args": [{"name": "url"}, {"name": "settings"}]}, + {"name":"ajax", "args": []}, + {"name":"ajax", "args": [{"name": "settings"}]}, + {"name":"ajaxPrefilter", "args": [{"name": "handler(options, originalOptions, jqXHR)"}]}, + {"name":"ajaxPrefilter", "args": [{"name": "dataTypes"}, {"name": "handler(options, originalOptions, jqXHR)"}]}, + {"name":"ajaxSetup", "args": [{"name": "options"}]}, + {"name":"ajaxTransport", "args": [{"name": "handler(options, originalOptions, jqXHR)"}]}, + {"name":"ajaxTransport", "args": [{"name": "dataType"}, {"name": "handler(options, originalOptions, jqXHR)"}]}, + {"name":"Callbacks", "args": [{"name": "flags"}]}, + {"name":"contains", "args": [{"name": "container"}, {"name": "contained"}]}, + {"name":"data", "args": [{"name": "element"}]}, + {"name":"data", "args": [{"name": "element"}, {"name": "key"}]}, + {"name":"data", "args": [{"name": "element"}, {"name": "key"}, {"name": "value"}]}, + {"name":"Deferred", "args": []}, + {"name":"Deferred", "args": [{"name": "[beforeStart]"}]}, + {"name":"dequeue", "args": [{"name": "element"}]}, + {"name":"dequeue", "args": [{"name": "element"}, {"name": "queueName"}]}, + {"name":"each", "args": [{"name": "collection"}]}, + {"name":"each", "args": [{"name": "collection"}, {"name": "callback(indexInArray, valueOfElement)"}]}, + {"name":"error", "args": [{"name": "message"}]}, + {"name":"extend", "args": [{"name": "target"}, {"name": "object1"}]}, + {"name":"extend", "args": [{"name": "target"}, {"name": "object1"}, {"name": "obj2 .. objN"}]}, + {"name":"extend", "args": [{"name": "deep"}, {"name": "target"}, {"name": "obj1 .. objN"}]}, + {"name":"get", "args": [{"name": "url"}]}, + {"name":"get", "args": [{"name": "url"}, {"name": "data"}]}, + {"name":"get", "args": [{"name": "url"}, {"name": "data"}, {"name": "success(data, textStatus, jqXHR)"}]}, + {"name":"get", "args": [{"name": "url"}, {"name": "data"}, {"name": "success(data, textStatus, jqXHR)"}, {"name": "dataType"}]}, + {"name":"getJSON", "args": [{"name": "url"}]}, + {"name":"getJSON", "args": [{"name": "url"}, {"name": "data"}]}, + {"name":"getJSON", "args": [{"name": "url"}, {"name": "data"}, {"name": "success(data, textStatus, jqXHR)"}]}, + {"name":"getScript", "args": [{"name": "url"}]}, + {"name":"getScript", "args": [{"name": "url"}, {"name": "success(script, textStatus, jqXHR)"}]}, + {"name":"globalEval", "args": [{"name": "code"}]}, + {"name":"grep", "args": [{"name": "array"}, {"name": "function(elementOfArray, indexInArray)"}]}, + {"name":"grep", "args": [{"name": "array"}, {"name": "function(elementOfArray, indexInArray)"}, {"name": "invert"}]}, + {"name":"hasData", "args": [{"name": "element"}]}, + {"name":"holdReady", "args": [{"name": "hold"}]}, + {"name":"inArray", "args": [{"name": "valueE"}, {"name": "array"}]}, + {"name":"inArray", "args": [{"name": "valueE"}, {"name": "array"}, {"name": "fromIndex"}]}, + {"name":"isArray", "args": [{"name": "obj"}]}, + {"name":"isEmptyObject", "args": [{"name": "object"}]}, + {"name":"isFunction", "args": [{"name": "obj"}]}, + {"name":"isNumeric", "args": [{"name": "value"}]}, + {"name":"isPlainObject", "args": [{"name": "object"}]}, + {"name":"isWindow", "args": [{"name": "obj"}]}, + {"name":"isXMLDoc", "args": [{"name": "node"}]}, + {"name":"makeArray", "args": [{"name": "obj"}]}, + {"name":"map", "args": [{"name": "array"}, {"name": "callback(elementOfArray, indexInArray)"}]}, + {"name":"map", "args": [{"name": "arrayOrObject"}, {"name": "callback(value, indexOrKey)"}]}, + {"name":"merge", "args": [{"name": "first"}, {"name": "second"}]}, + {"name":"noConflict", "args": []}, + {"name":"noConflict", "args": [{"name": "removeAll"}]}, + {"name":"noop", "args": []}, + {"name":"now", "args": []}, + {"name":"param", "args": [{"name": "obj"}]}, + {"name":"param", "args": [{"name": "obj"}, {"name": "traditional"}]}, + {"name":"parseHTML", "args": [{"name": "data"}]}, + {"name":"parseHTML", "args": [{"name": "data"}, {"name": "context"}]}, + {"name":"parseHTML", "args": [{"name": "data"}, {"name": "context"}, {"name": "keepScripts"}]}, + {"name":"parseJSON", "args": [{"name": "json"}]}, + {"name":"parseXML", "args": [{"name": "data"}]}, + {"name":"post", "args": [{"name": "url"}]}, + {"name":"post", "args": [{"name": "url"}, {"name": "data"}]}, + {"name":"post", "args": [{"name": "url"}, {"name": "data"}, {"name": "success(data, textStatus, jqXHR)"}]}, + {"name":"post", "args": [{"name": "url"}, {"name": "data"}, {"name": "success(data, textStatus, jqXHR)"}, {"name": "dataType"}]}, + {"name":"proxy", "args": [{"name": "function"}, {"name": "context"}]}, + {"name":"proxy", "args": [{"name": "context"}, {"name": "name"}]}, + {"name":"proxy", "args": [{"name": "function"}, {"name": "context"}]}, + {"name":"proxy", "args": [{"name": "function"}, {"name": "context"}, {"name": "additionalArguments"}]}, + {"name":"proxy", "args": [{"name": "context"}, {"name": "name"}]}, + {"name":"proxy", "args": [{"name": "context"}, {"name": "name"}, {"name": "additionalArguments"}]}, + {"name":"queue", "args": [{"name": "element"}]}, + {"name":"queue", "args": [{"name": "element"}, {"name": "queueName"}]}, + {"name":"queue", "args": [{"name": "element"}, {"name": "queueName"}, {"name": "newQueue"}]}, + {"name":"queue", "args": [{"name": "element"}, {"name": "queueName"}, {"name": "callback()"}]}, + {"name":"removeData", "args": [{"name": "element"}]}, + {"name":"removeData", "args": [{"name": "element"}, {"name": "name"}]}, + {"name":"sub", "args": []}, + {"name":"trim", "args": [{"name": "str"}]}, + {"name":"type", "args": [{"name": "obj"}]}, + {"name":"unique", "args": [{"name": "array"}]}, + {"name":"when", "args": [{"name": "deferreds"}]} + ], + "instance_properties": + [ + {"name":"context"}, + {"name":"jquery"}, + {"name":"length"}, + {"name":"selector"} + ], + "instance_methods": + [ + {"name":"add", "args": [{"name": "selector"}]}, + {"name":"add", "args": [{"name": "elements"}]}, + {"name":"add", "args": [{"name": "html"}]}, + {"name":"add", "args": [{"name": "jQueryObject"}]}, + {"name":"add", "args": [{"name": "selector"}, {"name": "context"}]}, + {"name":"addBack", "args": []}, + {"name":"addBack", "args": [{"name": "selector"}]}, + {"name":"addClass", "args": [{"name": "className"}]}, + {"name":"addClass", "args": [{"name": "function(index, currentClass)"}]}, + {"name":"after", "args": [{"name": "content"}]}, + {"name":"after", "args": [{"name": "content"}, {"name": "additionalContent"}]}, + {"name":"after", "args": [{"name": "function(index)"}]}, + {"name":"ajaxComplete", "args": [{"name": "handler(event, XMLHttpRequest, ajaxOptions)"}]}, + {"name":"ajaxError", "args": [{"name": "handler(event, jqXHR, ajaxSettings, thrownError)"}]}, + {"name":"ajaxSend", "args": [{"name": "handler(event, jqXHR, ajaxOptions)"}]}, + {"name":"ajaxStart", "args": [{"name": "handler()"}]}, + {"name":"ajaxStop", "args": [{"name": "handler()", "insertion": "->"}]}, + {"name":"ajaxSuccess", "args": [{"name": "handler(event, XMLHttpRequest, ajaxOptions)"}]}, + {"name":"andSelf", "args": []}, + {"name":"animate", "args": [{"name": "properties"}, {"name": "[duration_default_400]"}, {"name": "[easing_default_swing]"}, {"name": "[complete()]"}]}, + {"name":"animate", "args": [{"name": "properties"}, {"name": "options"}]}, + {"name":"append", "args": [{"name": "content"}]}, + {"name":"append", "args": [{"name": "content"}, {"name": "additionalContent"}]}, + {"name":"append", "args": [{"name": "function(index, html)"}]}, + {"name":"appendTo", "args": [{"name": "target"}]}, + {"name":"attr", "args": [{"name": "attributeName"}]}, + {"name":"attr", "args": [{"name": "attributeName"}, {"name": "value"}]}, + {"name":"attr", "args": [{"name": "attributes"}]}, + {"name":"attr", "args": [{"name": "attributeName"}, {"name": "function(index, attr)"}]}, + {"name":"before", "args": [{"name": "content"}]}, + {"name":"before", "args": [{"name": "content"}, {"name": "additionalContent"}]}, + {"name":"bind", "args": [{"name": "eventType"}, {"name": "[eventData]"}, {"name": "[handler(eventObject)]"}]}, + {"name":"bind", "args": [{"name": "eventType"}, {"name": "[eventData]"}, {"name": "preventBubble"}]}, + {"name":"bind", "args": [{"name": "events"}]}, + {"name":"blur", "args": []}, + {"name":"blur", "args": [{"name": "handler(eventObject)"}]}, + {"name":"blur", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"change", "args": [{"name": "handler(eventObject)"}]}, + {"name":"change", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"change", "args": []}, + {"name":"children", "args": [{"name": "[selector]"}]}, + {"name":"clearQueue", "args": [{"name": "[queueName]"}]}, + {"name":"click", "args": [{"name": "handler(eventObject)"}]}, + {"name":"click", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"click", "args": []}, + {"name":"clone", "args": [{"name": "withDataAndEvents"}]}, + {"name":"clone", "args": [{"name": "withDataAndEvents"}, {"name": "[deepWithDataAndEvents] "}]}, + {"name":"closest", "args": [{"name": "selector"}, {"name": "[context]"}]}, + {"name":"closest", "args": [{"name": "jQueryObject"}]}, + {"name":"closest", "args": [{"name": "element"}]}, + {"name":"contents", "args": []}, + {"name":"css", "args": [{"name": "propertyName"}]}, + {"name":"css", "args": [{"name": "propertyNames"}]}, + {"name":"css", "args": [{"name": "propertyName"}, {"name": "value"}]}, + {"name":"css", "args": [{"name": "propertyName"}, {"name": "function(index, value)"}]}, + {"name":"css", "args": [{"name": "properties"}]}, + {"name":"data", "args": [{"name": "key"}, {"name": "value"}]}, + {"name":"data", "args": [{"name": "obj"}]}, + {"name":"data", "args": [{"name": "key"}]}, + {"name":"data", "args": []}, + {"name":"dblclick", "args": [{"name": "handler(eventObject)"}]}, + {"name":"dblclick", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"dblclick", "args": []}, + {"name":"delay", "args": [{"name": "duration"}, {"name": "[queueName]"}]}, + {"name":"delegate", "args": [{"name": "selector"}, {"name": "eventType"}, {"name": "handler(eventObject)"}]}, + {"name":"delegate", "args": [{"name": "selector"}, {"name": "eventType"}, {"name": "eventData"}, {"name": "handler(eventObject)"}]}, + {"name":"delegate", "args": [{"name": "selector"}, {"name": "events"}]}, + {"name":"dequeue", "args": [{"name": "[queueName]"}]}, + {"name":"detach", "args": [{"name": "[selector]"}]}, + {"name":"die", "args": []}, + {"name":"die", "args": [{"name": "eventType"}, {"name": "[handler]"}]}, + {"name":"die", "args": [{"name": "events"}]}, + {"name":"each", "args": [{"name": "function(index, Element)"}]}, + {"name":"empty", "args": []}, + {"name":"end", "args": []}, + {"name":"eq", "args": [{"name": "index"}]}, + {"name":"eq", "args": [{"name": "-index"}]}, + {"name":"error", "args": [{"name": "handler(eventObject)"}]}, + {"name":"error", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"fadeIn", "args": [{"name": "[duration_default_400]"}, {"name": "[complete()]"}]}, + {"name":"fadeIn", "args": [{"name": "options"}]}, + {"name":"fadeIn", "args": [{"name": "[duration_default_400]"}, {"name": "[easing_default_swing]"}, {"name": "[complete()]"}]}, + {"name":"fadeOut", "args": [{"name": "[duration_default_400]"}, {"name": "[complete()]"}]}, + {"name":"fadeOut", "args": [{"name": "options"}]}, + {"name":"fadeOut", "args": [{"name": "[duration_default_400]"}, {"name": "[easing_default_swing]"}, {"name": "[complete()]"}]}, + {"name":"fadeTo", "args": [{"name": "duration"}, {"name": "opacity"}, {"name": "[complete]"}]}, + {"name":"fadeTo", "args": [{"name": "duration"}, {"name": "opacity"}, {"name": "[easing]"}, {"name": "[complete()]"}]}, + {"name":"fadeToggle", "args": [{"name": "[duration_default_400]"}, {"name": "[easing_default_swing]"}, {"name": "[complete()]"}]}, + {"name":"fadeToggle", "args": [{"name": "options"}]}, + {"name":"filter", "args": [{"name": "selector"}]}, + {"name":"filter", "args": [{"name": "function(index)"}]}, + {"name":"filter", "args": [{"name": "element"}]}, + {"name":"filter", "args": [{"name": "jQueryObject"}]}, + {"name":"find", "args": [{"name": "selector"}]}, + {"name":"find", "args": [{"name": "jQueryObject"}]}, + {"name":"find", "args": [{"name": "element"}]}, + {"name":"finish", "args": [{"name": "[queue]"}]}, + {"name":"first", "args": []}, + {"name":"focus", "args": [{"name": "handler(eventObject)"}]}, + {"name":"focus", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"focus", "args": []}, + {"name":"focusin", "args": [{"name": "handler(eventObject)"}]}, + {"name":"focusin", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"focusout", "args": [{"name": "handler(eventObject)"}]}, + {"name":"focusout", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"get", "args": [{"name": "[index]"}]}, + {"name":"has", "args": [{"name": "selector"}]}, + {"name":"has", "args": [{"name": "contained"}]}, + {"name":"hasClass", "args": [{"name": "className"}]}, + {"name":"height", "args": []}, + {"name":"height", "args": [{"name": "value"}]}, + {"name":"height", "args": [{"name": "function(index, height)"}]}, + {"name":"hide", "args": []}, + {"name":"hide", "args": [{"name": "[duration_default_400]"}, {"name": "[complete]"}]}, + {"name":"hide", "args": [{"name": "options"}]}, + {"name":"hide", "args": [{"name": "[duration_default_400]"}, {"name": "[easing_default_swing]"}, {"name": "[complete()]"}]}, + {"name":"hover", "args": [{"name": "handlerIn(eventObject)"}, {"name": "handlerOut(eventObject)"}]}, + {"name":"html", "args": []}, + {"name":"html", "args": [{"name": "htmlString"}]}, + {"name":"html", "args": [{"name": "function(index, oldhtml)"}]}, + {"name":"index", "args": []}, + {"name":"index", "args": [{"name": "selector"}]}, + {"name":"index", "args": [{"name": "element"}]}, + {"name":"innerHeight", "args": []}, + {"name":"innerWidth", "args": []}, + {"name":"insertAfter", "args": [{"name": "target"}]}, + {"name":"insertBefore", "args": [{"name": "target"}]}, + {"name":"is", "args": [{"name": "selector"}]}, + {"name":"is", "args": [{"name": "function(index)"}]}, + {"name":"is", "args": [{"name": "jQueryObject"}]}, + {"name":"is", "args": [{"name": "element"}]}, + {"name":"keydown", "args": []}, + {"name":"keydown", "args": [{"name": "handler(eventObject)"}]}, + {"name":"keydown", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"keypress", "args": []}, + {"name":"keypress", "args": [{"name": "handler(eventObject)"}]}, + {"name":"keypress", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"keyup", "args": []}, + {"name":"keyup", "args": [{"name": "handler(eventObject)"}]}, + {"name":"keyup", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"last", "args": []}, + {"name":"live", "args": [{"name": "events"}, {"name": "handler(eventObject)"}]}, + {"name":"live", "args": [{"name": "events"}, {"name": "data"}, {"name": "handler(eventObject)"}]}, + {"name":"live", "args": [{"name": "events"}]}, + {"name":"load", "args": [{"name": "url"}, {"name": "[data]"}, {"name": "[complete(responseText, textStatus, XMLHttpRequest)]"}]}, + {"name":"load", "args": [{"name": "handler(eventObject)"}]}, + {"name":"load", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"map", "args": [{"name": "callback(index, domElement)"}]}, + {"name":"mousedown", "args": []}, + {"name":"mousedown", "args": [{"name": "handler(eventObject)"}]}, + {"name":"mousedown", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"mouseenter", "args": []}, + {"name":"mouseenter", "args": [{"name": "handler(eventObject)"}]}, + {"name":"mouseenter", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"mouseleave", "args": []}, + {"name":"mouseleave", "args": [{"name": "handler(eventObject)"}]}, + {"name":"mouseleave", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"mousemove", "args": []}, + {"name":"mousemove", "args": [{"name": "handler(eventObject)"}]}, + {"name":"mousemove", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"mouseout", "args": []}, + {"name":"mouseout", "args": [{"name": "handler(eventObject)"}]}, + {"name":"mouseout", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"mouseover", "args": []}, + {"name":"mouseover", "args": [{"name": "handler(eventObject)"}]}, + {"name":"mouseover", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"mouseup", "args": []}, + {"name":"mouseup", "args": [{"name": "handler(eventObject)"}]}, + {"name":"mouseup", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"next", "args": [{"name": "[selector]"}]}, + {"name":"nextAll", "args": [{"name": "[selector]"}]}, + {"name":"nextUntil", "args": [{"name": "[selector]"}, {"name": "[filter]"}]}, + {"name":"nextUntil", "args": [{"name": "[element]"}, {"name": "[filter]"}]}, + {"name":"not", "args": [{"name": "selector"}]}, + {"name":"not", "args": [{"name": "elements"}]}, + {"name":"not", "args": [{"name": "function(index)"}]}, + {"name":"not", "args": [{"name": "jQueryObject"}]}, + {"name":"off", "args": [{"name": "events"}, {"name": "[selector]"}, {"name": "handler(eventObject)"}]}, + {"name":"off", "args": [{"name": "events"}, {"name": "[selector]"}]}, + {"name":"offset", "args": []}, + {"name":"offset", "args": [{"name": "coordinates"}]}, + {"name":"offset", "args": [{"name": "function(index, coords)"}]}, + {"name":"offsetParent", "args": []}, + {"name":"on", "args": [{"name": "events"}, {"name": "[selector]"}, {"name": "[data]"}, {"name": "handler(eventObject)"}]}, + {"name":"on", "args": [{"name": "events"}, {"name": "[selector]"}, {"name": "[data]"}]}, + {"name":"one", "args": [{"name": "events"}, {"name": "[data]"}, {"name": "handler(eventObject)"}]}, + {"name":"one", "args": [{"name": "events"}, {"name": "[selector]"}, {"name": "[data]"}, {"name": "handler(eventObject)"}]}, + {"name":"one", "args": [{"name": "events"}, {"name": "[selector]"}, {"name": "[data]"}]}, + {"name":"outerHeight", "args": [{"name": "[includeMargin]"}]}, + {"name":"outerWidth", "args": [{"name": "[includeMargin]"}]}, + {"name":"parent", "args": [{"name": "[selector]"}]}, + {"name":"parents", "args": [{"name": "[selector]"}]}, + {"name":"parentsUntil", "args": [{"name": "[selector]"}, {"name": "[filter]"}]}, + {"name":"parentsUntil", "args": [{"name": "[element]"}, {"name": "[filter]"}]}, + {"name":"position", "args": []}, + {"name":"prepend", "args": [{"name": "content"}, {"name": "[additionalContent]"}]}, + {"name":"prepend", "args": [{"name": "function(index, html)"}]}, + {"name":"prependTo", "args": [{"name": "target"}]}, + {"name":"prev", "args": [{"name": "[selector]"}]}, + {"name":"prevAll", "args": [{"name": "[selector]"}]}, + {"name":"prevUntil", "args": [{"name": "[selector]"}, {"name": "[filter]"}]}, + {"name":"prevUntil", "args": [{"name": "[element]"}, {"name": "[filter]"}]}, + {"name":"promise", "args": [{"name": "[type_default_fx]"}, {"name": "[target]"}]}, + {"name":"prop", "args": [{"name": "propertyName"}]}, + {"name":"prop", "args": [{"name": "propertyName"}, {"name": "value"}]}, + {"name":"prop", "args": [{"name": "properties"}]}, + {"name":"prop", "args": [{"name": "propertyName"}, {"name": "function(index, oldPropertyValue)"}]}, + {"name":"pushStack", "args": [{"name": "elements"}]}, + {"name":"pushStack", "args": [{"name": "elements"}, {"name": "name"}, {"name": "arguments"}]}, + {"name":"queue", "args": [{"name": "[queueName]"}]}, + {"name":"queue", "args": [{"name": "[queueName]"}, {"name": "newQueue"}]}, + {"name":"queue", "args": [{"name": "[queueName]"}, {"name": "callback(next)"}]}, + {"name":"ready", "args": [{"name": "handler"}]}, + {"name":"remove", "args": [{"name": "[selector]"}]}, + {"name":"removeAttr", "args": [{"name": "attributeName"}]}, + {"name":"removeClass", "args": [{"name": "[className]"}]}, + {"name":"removeClass", "args": [{"name": "function(index, class)"}]}, + {"name":"removeData", "args": [{"name": "[name]"}]}, + {"name":"removeData", "args": [{"name": "[list]"}]}, + {"name":"removeProp", "args": [{"name": "propertyName"}]}, + {"name":"replaceAll", "args": [{"name": "target"}]}, + {"name":"replaceWith", "args": [{"name": "newContent"}]}, + {"name":"replaceWith", "args": [{"name": "function"}]}, + {"name":"resize", "args": [{"name": "handler(eventObject)"}]}, + {"name":"resize", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"resize", "args": []}, + {"name":"scroll", "args": [{"name": "handler(eventObject)"}]}, + {"name":"scroll", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"scroll", "args": []}, + {"name":"scrollLeft", "args": [{"name": "value"}]}, + {"name":"scrollLeft", "args": []}, + {"name":"scrollTop", "args": [{"name": "value"}]}, + {"name":"scrollTop", "args": []}, + {"name":"select", "args": [{"name": "handler(eventObject)"}]}, + {"name":"select", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"select", "args": []}, + {"name":"serialize", "args": []}, + {"name":"serializeArray", "args": []}, + {"name":"show", "args": []}, + {"name":"show", "args": [{"name": "[duration_default_400]"}, {"name": "[complete()]"}]}, + {"name":"show", "args": [{"name": "options"}]}, + {"name":"show", "args": [{"name": "[duration_default_400]"}, {"name": "[easing_default_swing]"}, {"name": "[complete()]"}]}, + {"name":"siblings", "args": [{"name": "[selector]"}]}, + {"name":"size", "args": []}, + {"name":"slice", "args": [{"name": "start"}, {"name": "[end]"}]}, + {"name":"slideDown", "args": [{"name": "[duration_default_400]"}, {"name": "[complete()]"}]}, + {"name":"slideDown", "args": [{"name": "options"}]}, + {"name":"slideDown", "args": [{"name": "[duration_default_400]"}, {"name": "[easing_default_swing]"}, {"name": "[complete()]"}]}, + {"name":"slideToggle", "args": [{"name": "[duration_default_400]"}, {"name": "[complete()]"}]}, + {"name":"slideToggle", "args": [{"name": "options"}]}, + {"name":"slideToggle", "args": [{"name": "[duration_default_400]"}, {"name": "[easing_default_swing]"}, {"name": "[complete()]"}]}, + {"name":"slideUp", "args": [{"name": "[duration_default_400]"}, {"name": "[complete()]"}]}, + {"name":"slideUp", "args": [{"name": "options"}]}, + {"name":"slideUp", "args": [{"name": "[duration_default_400]"}, {"name": "[easing_default_swing]"}, {"name": "[complete()]"}]}, + {"name":"stop", "args": [{"name": "[clearQueue]"}, {"name": "[jumpToEnd]"}]}, + {"name":"stop", "args": [{"name": "[queue]"}, {"name": "[clearQueue]"}, {"name": "[jumpToEnd]"}]}, + {"name":"submit", "args": [{"name": "handler(eventObject)"}]}, + {"name":"submit", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"submit", "args": []}, + {"name":"text", "args": []}, + {"name":"text", "args": [{"name": "textString"}]}, + {"name":"text", "args": [{"name": "function(index, text)"}]}, + {"name":"toArray", "args": []}, + {"name":"toggle", "args": [{"name": "[duration_default_400]"}, {"name": "[complete()]"}]}, + {"name":"toggle", "args": [{"name": "options"}]}, + {"name":"toggle", "args": [{"name": "[duration_default_400]"}, {"name": "[easing_default_swing]"}, {"name": "[complete()]"}]}, + {"name":"toggle", "args": [{"name": "showOrHide"}]}, + {"name":"toggle", "args": [{"name": "evenHandler(eventObject)"}, {"name": "oddHandler(eventObject)"}, {"name": "handler(eventObject)"}]}, + {"name":"toggleClass", "args": [{"name": "className"}]}, + {"name":"toggleClass", "args": [{"name": "className"}, {"name": "switch"}]}, + {"name":"toggleClass", "args": [{"name": "[switch]"}]}, + {"name":"toggleClass", "args": [{"name": "function(index, class, switch)"}, {"name": "[switch]"}]}, + {"name":"trigger", "args": [{"name": "eventType"}, {"name": "[extraParameters]"}]}, + {"name":"trigger", "args": [{"name": "event"}]}, + {"name":"triggerHandler", "args": [{"name": "eventType"}, {"name": "[extraParameters]"}]}, + {"name":"unbind", "args": [{"name": "[eventType]"}, {"name": "[handler(eventObject)]"}]}, + {"name":"unbind", "args": [{"name": "eventType"}, {"name": "false"}]}, + {"name":"unbind", "args": [{"name": "event"}]}, + {"name":"undelegate", "args": []}, + {"name":"undelegate", "args": [{"name": "selector"}, {"name": "eventType"}]}, + {"name":"undelegate", "args": [{"name": "selector"}, {"name": "eventType"}, {"name": "handler(eventObject)"}]}, + {"name":"undelegate", "args": [{"name": "selector"}, {"name": "events"}]}, + {"name":"undelegate", "args": [{"name": "namespace"}]}, + {"name":"unload", "args": [{"name": "handler(eventObject)"}]}, + {"name":"unload", "args": [{"name": "[eventData]"}, {"name": "handler(eventObject)"}]}, + {"name":"unwrap", "args": []}, + {"name":"val", "args": []}, + {"name":"val", "args": [{"name": "value"}]}, + {"name":"val", "args": [{"name": "function(index, value)"}]}, + {"name":"width", "args": []}, + {"name":"width", "args": [{"name": "value"}]}, + {"name":"width", "args": [{"name": "function(index, width)"}]}, + {"name":"wrap", "args": [{"name": "wrappingElement"}]}, + {"name":"wrap", "args": [{"name": "function(index)"}]}, + {"name":"wrapAll", "args": [{"name": "wrappingElement"}]}, + {"name":"wrapInner", "args": [{"name": "wrappingElement"}]}, + {"name":"wrapInner", "args": [{"name": "function(index)"}]} + ] + } + ] +} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Keywords.sublime-completions b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Keywords.sublime-completions new file mode 100644 index 0000000..64f4337 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Keywords.sublime-completions @@ -0,0 +1,107 @@ +{"scope": "source.coffee -comment", + "completions": [ + + // keywords + + {"trigger": "break"}, + {"trigger": "continue"}, + {"trigger": "delete"}, + {"trigger": "extends"}, + {"trigger": "finally"}, + {"trigger": "instanceof"}, + {"trigger": "return"}, + {"trigger": "super"}, + {"trigger": "throw"}, + {"trigger": "typeof"}, + {"trigger": "until"}, + {"trigger": "while"}, + + // classes + + {"trigger": "Array"}, + {"trigger": "Boolean"}, + {"trigger": "Date"}, + {"trigger": "Error"}, + {"trigger": "Function"}, + {"trigger": "JSON"}, + {"trigger": "Math"}, + {"trigger": "Number"}, + {"trigger": "Object"}, + {"trigger": "RegExp"}, + {"trigger": "String"}, + + // globals + + {"trigger": "Infinity"}, + {"trigger": "NaN"}, + {"trigger": "undefined"}, + + {"trigger": "● decodeURI(encURI)", "contents": "decodeURI(${1:encURI})"}, + {"trigger": "● decodeURIComponent(encURI)", "contents": "decodeURIComponent(${1:encURI})"}, + {"trigger": "● encodeURI(URI)", "contents": "encodeURI(${1:URI})"}, + {"trigger": "● encodeURIComponent(str)", "contents": "encodeURIComponent(${1:str})"}, + {"trigger": "● eval(str)", "contents": "eval(${1:str})"}, + {"trigger": "● isFinite(x)", "contents": "isFinite(${1:x})"}, + {"trigger": "● isNaN(val)", "contents": "isNaN(${1:val})"}, + {"trigger": "● parseFloat(str)", "contents": "parseFloat(${1:str})"}, + {"trigger": "● parseInt(str)", "contents": "parseInt(${1:str})"}, + {"trigger": "● parseInt(str, radix)", "contents": "parseInt(${1:str}, ${2:radix})"} + +/* + + // too short + + {"trigger": "and"}, + {"trigger": "by"}, + {"trigger": "do"}, + {"trigger": "else"}, + {"trigger": "false"}, + {"trigger": "for"}, + {"trigger": "if"}, + {"trigger": "in"}, + {"trigger": "is"}, + {"trigger": "isnt"}, + {"trigger": "loop"}, + {"trigger": "new"}, + {"trigger": "no"}, + {"trigger": "not"}, + {"trigger": "null"}, + {"trigger": "of"}, + {"trigger": "off"}, + {"trigger": "on"}, + {"trigger": "or"}, + {"trigger": "then"}, + {"trigger": "this"}, + {"trigger": "true"}, + {"trigger": "try"}, + {"trigger": "when"}, + {"trigger": "yes"}, + + // snippets + + {"trigger": "catch"}, + {"trigger": "class"}, + {"trigger": "switch"}, + {"trigger": "unless"}, + + // rare + + {"trigger": "debugger"}, + {"trigger": "EvalError"}, + {"trigger": "RangeError"}, + {"trigger": "ReferenceError"}, + {"trigger": "SyntaxError"}, + {"trigger": "TypeError"}, + {"trigger": "URIError"}, + + {"trigger": "configurable: "}, + {"trigger": "enumerable: "}, + {"trigger": "value: "}, + {"trigger": "writable: "}, + {"trigger": "get: ()", "contents": "get: ->"}, + {"trigger": "set: (val)", "contents": "set: (val) ->"} + +*/ + + ] +} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus.sublime-settings b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus.sublime-settings new file mode 100644 index 0000000..da7c7a0 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus.sublime-settings @@ -0,0 +1,50 @@ +{ + // These dirs will not be searched when looking for .coffee files. + // These should be dir names only. No relative paths. + "coffee_autocomplete_plus_excluded_dirs": + [ + ".svn", + ".git", + "CVS", + "lib", + "node_modules", + "pub", + "public", + "vendor", + "doc", + "docs", + "build", + "builds", + "bin" + ], + + // List of strings. These paths will be appended to your project's root and searched. + // Leave empty to search all directories in your project's root directory. + "coffee_autocomplete_plus_restricted_to_paths": [], + + // Map function names to types. + "coffee_autocomplete_plus_function_return_types": + [ + { + "function_names": ["$", "jQuery"], + "type_name": "$" + } + ], + // Regular expression of members to exclude from autocomplete. + // This is useful for properties/methods that are regarded "private" and start + // with an underscore. E.g. _privateVariable + "coffee_autocomplete_plus_member_exclusion_regexes": + [ + "^_" // Starts with underscore + ], + // OBSOLETE + // Aliases for "this", like "that" and "self". + // CA+ assignment detection is now able to detect that = this assignments. + "coffee_autocomplete_plus_this_aliases": ["that", "self"], + + // The triggers for autocompletion + "auto_complete_triggers": + [ + {"characters": ".@", "selector": "source.coffee, source.litcoffee, source.coffee.md"} + ] +} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeGotoDefinition.py b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeGotoDefinition.py new file mode 100644 index 0000000..43fd0d6 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/CoffeeGotoDefinition.py @@ -0,0 +1,250 @@ +import sublime, sublime_plugin +import re +import os +import threading +import coffee_utils +from coffee_utils import debug + +COMMAND_NAME = 'coffee_goto_definition' +STATUS_MESSAGE_DEFINITION_FOUND = "Coffee: Definition for \"%s\" found." +STATUS_MESSAGE_NO_DEFINITION_FOUND = "Coffee: No definition for \"%s\" found." +STATUS_MESSAGE_COFFEE_GOTO_DEFINITION = "Coffee: Goto Definition of \"%s\"" + +# SEARCH ORDER: +# Current file class (TitleCaps only) +# Current file function +# Current file assignment +# Global TitleCaps.coffee class +# Global search for class (TitleCaps only) +# Global search for function + +# TODO: +# X Add config for "this" aliases (DONE) +# - Codo docs searching for function parameter types +# X Goto definition knows about function parameters and for loop variables +# - Smarter operand parsing. E.g. Given: this.test = "test", when goto "test", look for "this.test = ", not "test =" +# - Check contents of currently open views +# - Menu integration + +class CoffeeGotoDefinitionCommand(sublime_plugin.TextCommand): + def run(self, edit): + + # Get the window + self.window = sublime.active_window() + + # The current view + view = self.view + # Lines for currently viewed file + current_file_lines = coffee_utils.get_view_content_lines(view) + + # Get currently selected word + coffee_utils.select_current_word(view) + selected_word = coffee_utils.get_selected_word(view) + + selected_region = self.view.sel()[0] + + # http://www.sublimetext.com/forum/viewtopic.php?f=6&t=9076 + settings = sublime.load_settings(coffee_utils.SETTINGS_FILE_NAME) + + # Pull the excluded dirs from preferences + excluded_dirs = settings.get(coffee_utils.PREFERENCES_COFFEE_EXCLUDED_DIRS) + if not excluded_dirs: + excluded_dirs = [] + + restricted_to_dirs = settings.get(coffee_utils.PREFERENCES_COFFEE_RESTRICTED_TO_PATHS) + if not restricted_to_dirs: + restricted_to_dirs = [] + + # List of all project folders + project_folder_list = self.window.folders() + + if restricted_to_dirs: + specific_project_folders = [] + for next_restricted_dir in restricted_to_dirs: + for next_project_folder in project_folder_list: + next_specific_folder = os.path.normpath(os.path.join(next_project_folder, next_restricted_dir)) + specific_project_folders.append(next_specific_folder) + project_folder_list = specific_project_folders + + # If there is a word selection and we're looking at a coffee file... + if len(selected_word) > 0 and coffee_utils.is_coffee_syntax(view): + + thread = CoffeeGotoDefinitionThread(project_folder_list, current_file_lines, selected_word, excluded_dirs, selected_region) + thread.start() + self.check_operation(thread) + + def check_operation(self, thread, previous_progress_indicator_tuple=None): + selected_word = thread.selected_word + if not thread.is_alive(): + + # Flatten any selection ranges + if len(self.view.sel()) > 0: + region = self.view.sel()[0] + debug(region) + end_point = region.end() + region_to_select = sublime.Region(end_point, end_point) + coffee_utils.select_region_in_view(self.view, region_to_select) + + matched_location_tuple = thread.matched_location_tuple + if matched_location_tuple: + # debug("Match found!") + file_to_open = matched_location_tuple[0] + row = matched_location_tuple[1] + 1 + column = matched_location_tuple[2] + 1 + match = matched_location_tuple[3] + row_start_index = matched_location_tuple[4] + # If there is a file to open... + if file_to_open: + # Open the file in the editor + coffee_utils.open_file_at_position(self.window, file_to_open, row, column) + # Otherwise, assume we found the match in the current view + else: + match_end = row_start_index + match.start() + len(match.group()) + region_to_select = sublime.Region(match_end, match_end) + coffee_utils.select_region_in_view(self.view, region_to_select) + self.view.show(region_to_select) + + self.window.active_view().set_status(COMMAND_NAME, STATUS_MESSAGE_DEFINITION_FOUND % selected_word) + else: + self.window.active_view().set_status(COMMAND_NAME, STATUS_MESSAGE_NO_DEFINITION_FOUND % selected_word) + + else: + # Create the command's goto definition text, including the selected word. For the status bar. + goto_definition_status_text = STATUS_MESSAGE_COFFEE_GOTO_DEFINITION % selected_word + # Get a tuple containing the progress text, progress position, and progress direction. + # This is used to animate a progress indicator in the status bar. + current_progress_indicator_tuple = coffee_utils.get_progress_indicator_tuple(previous_progress_indicator_tuple) + # Get the progress text + progress_indicator_status_text = current_progress_indicator_tuple[0] + # Set the status bar text so the user knows what's going on + self.window.active_view().set_status(COMMAND_NAME, goto_definition_status_text + " " + progress_indicator_status_text) + # Check again momentarily to see if the operation has completed. + sublime.set_timeout(lambda: self.check_operation(thread, current_progress_indicator_tuple), 100) + +class CoffeeGotoDefinitionThread(threading.Thread): + + def __init__(self, project_folder_list, current_file_lines, selected_word, excluded_dirs, selected_region): + self.project_folder_list = project_folder_list + self.current_file_lines = current_file_lines + self.selected_word = selected_word + self.excluded_dirs = excluded_dirs + self.selected_region = selected_region + # None if no match was found, or a tuple containing the filename, row, column and match + self.matched_location_tuple = None + threading.Thread.__init__(self) + + def run(self): + + project_folder_list = self.project_folder_list + current_file_lines = self.current_file_lines + selected_word = self.selected_word + excluded_dirs = self.excluded_dirs + selected_region = self.selected_region + + # This will be assigned whem a match is made + matched_location_tuple = None + + # The regular expression used to search for the selected class + class_regex = coffee_utils.CLASS_REGEX % re.escape(selected_word) + # The regex used to search for the selected function + function_regex = coffee_utils.FUNCTION_REGEX % re.escape(selected_word) + # The regex used to search for the selected variable assignment + assignment_regex = coffee_utils.ASSIGNMENT_REGEX % re.escape(selected_word) + # The regex used to search for the selected variable as a parameter in a method + param_regex = coffee_utils.PARAM_REGEX.format(name=re.escape(selected_word)) + + # The regex used to search for the selected variable as a for loop var + for_loop_regex = coffee_utils.FOR_LOOP_REGEX % re.escape(selected_word) + + debug(("Selected: \"%s\"" % selected_word)) + + # ------ CURRENT FILE: CLASS (TitleCaps ONLY) ------------ + + if not matched_location_tuple: + + # If so, we assume it is a class. + debug("Checking for local class %s..." % selected_word) + class_location_search_tuple = coffee_utils.find_location_of_regex_in_files(class_regex, current_file_lines, []) + if class_location_search_tuple: + matched_location_tuple = class_location_search_tuple + + # ------ GLOBAL SEARCH: CLASS ---------------------------- + + if not matched_location_tuple: + + # Coffeescript filename regex + coffeescript_filename_regex = coffee_utils.COFFEE_FILENAME_REGEX + # All coffeescript file paths + all_coffee_file_paths = coffee_utils.get_files_in(project_folder_list, coffeescript_filename_regex, excluded_dirs) + + debug("Checking globally for class %s..." % selected_word) + # Assume it is a file called selected_word.coffee + exact_file_name_regex = "^" + re.escape(selected_word) + coffee_utils.COFFEE_EXTENSION_WITH_DOT + "$" + exact_name_file_paths = coffee_utils.get_files_in(project_folder_list, exact_file_name_regex, excluded_dirs) + exact_location_search_tuple = coffee_utils.find_location_of_regex_in_files(class_regex, None, exact_name_file_paths) + if exact_location_search_tuple: + matched_location_tuple = exact_location_search_tuple + else: + global_class_location_search_tuple = coffee_utils.find_location_of_regex_in_files(class_regex, None, all_coffee_file_paths) + if global_class_location_search_tuple: + matched_location_tuple = global_class_location_search_tuple + + # ------ CURRENT FILE: FUNCTION -------------------------- + if not matched_location_tuple: + debug("Checking for local function %s..." % selected_word) + local_function_location_search_tuple = coffee_utils.find_location_of_regex_in_files(function_regex, current_file_lines, []) + if local_function_location_search_tuple: + matched_location_tuple = local_function_location_search_tuple + + # ------ CURRENT FILE: ASSIGNMENT ------------------------ + + if not matched_location_tuple: + + debug("Checking for local assignment of %s..." % selected_word) + backwards_match_tuple = coffee_utils.search_backwards_for(current_file_lines, assignment_regex, selected_region) + if backwards_match_tuple: + filename_tuple = tuple([None]) + matched_location_tuple = filename_tuple + backwards_match_tuple + else: + # Nothing found. Now let's look backwards for a method parameter + param_match_tuple = coffee_utils.search_backwards_for(current_file_lines, param_regex, selected_region) + if param_match_tuple: + filename_tuple = tuple([None]) + matched_location_tuple = filename_tuple + param_match_tuple + else: + for_loop_match_tuple = coffee_utils.search_backwards_for(current_file_lines, for_loop_regex, selected_region) + if for_loop_match_tuple: + filename_tuple = tuple([None]) + matched_location_tuple = filename_tuple + for_loop_match_tuple + # Otherwise, forwards search for it. It could be defined in the constructor. + else: + forwards_match_tuple = coffee_utils.find_location_of_regex_in_files(assignment_regex, current_file_lines, []) + if forwards_match_tuple: + matched_location_tuple = forwards_match_tuple + + # ------ GLOBAL SEARCH: FUNCTION ------------------------- + + if not matched_location_tuple: + + # Coffeescript filename regex + coffeescript_filename_regex = coffee_utils.COFFEE_FILENAME_REGEX + # All coffeescript file paths + all_coffee_file_paths = coffee_utils.get_files_in(project_folder_list, coffeescript_filename_regex, excluded_dirs) + + debug("Checking globally for function %s..." % selected_word) + global_function_location_search_tuple = coffee_utils.find_location_of_regex_in_files(function_regex, None, all_coffee_file_paths) + if global_function_location_search_tuple: + matched_location_tuple = global_function_location_search_tuple + + # ------ DOT OPERATION LOOKUP (TBD) ---------------------- + # TODO: Pull out dot operator object, determine its assignment type, find class, goto method/property. + # Also, determine where to put this lookup. + + # ------ SUPER METHOD LOOKUP (TBD) ----------------------- + # TODO: If selected_word is "super", assume a function and then attempt to find + # extending class and open it to the function the cursor is within. + + # ------ STORE MATCH RESULTS ----------------------------- + # If not None, then we found something that matched the search! + if matched_location_tuple: + self.matched_location_tuple = matched_location_tuple \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Linux).sublime-keymap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Linux).sublime-keymap new file mode 100644 index 0000000..3144828 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Linux).sublime-keymap @@ -0,0 +1,5 @@ +[ + { + "keys": ["ctrl+alt+d"], "command": "coffee_goto_definition" + } +] \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Linux).sublime-mousemap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Linux).sublime-mousemap new file mode 100644 index 0000000..107d9e4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Linux).sublime-mousemap @@ -0,0 +1,8 @@ +[ + { + "button": "button1", "count": 1, "modifiers": ["ctrl", "alt"], + "press_command": "drag_select", + "command": "coffee_goto_definition", + "press_args": {"by": "words"} + } +] \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (OSX).sublime-keymap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (OSX).sublime-keymap new file mode 100644 index 0000000..3144828 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (OSX).sublime-keymap @@ -0,0 +1,5 @@ +[ + { + "keys": ["ctrl+alt+d"], "command": "coffee_goto_definition" + } +] \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (OSX).sublime-mousemap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (OSX).sublime-mousemap new file mode 100644 index 0000000..107d9e4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (OSX).sublime-mousemap @@ -0,0 +1,8 @@ +[ + { + "button": "button1", "count": 1, "modifiers": ["ctrl", "alt"], + "press_command": "drag_select", + "command": "coffee_goto_definition", + "press_args": {"by": "words"} + } +] \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Windows).sublime-keymap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Windows).sublime-keymap new file mode 100644 index 0000000..3144828 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Windows).sublime-keymap @@ -0,0 +1,5 @@ +[ + { + "keys": ["ctrl+alt+d"], "command": "coffee_goto_definition" + } +] \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Windows).sublime-mousemap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Windows).sublime-mousemap new file mode 100644 index 0000000..107d9e4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default (Windows).sublime-mousemap @@ -0,0 +1,8 @@ +[ + { + "button": "button1", "count": 1, "modifiers": ["ctrl", "alt"], + "press_command": "drag_select", + "command": "coffee_goto_definition", + "press_args": {"by": "words"} + } +] \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default.sublime-commands b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default.sublime-commands new file mode 100644 index 0000000..3c1052a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Default.sublime-commands @@ -0,0 +1,3 @@ +[ + {"caption": "Coffee: Goto Definition", "command": "coffee_goto_definition"} +] \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Main.sublime-menu b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Main.sublime-menu new file mode 100644 index 0000000..2ec9272 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/Main.sublime-menu @@ -0,0 +1,160 @@ +[ + { + "caption": "Preferences", + "mnemonic": "n", + "id": "preferences", + "children": + [ + { + "caption": "Package Settings", + "mnemonic": "P", + "id": "package-settings", + "children": + [ + { + "caption": "CoffeeComplete Plus", + "children": + [ + { // README + "command": "open_file", + "args": {"file": "${packages}/CoffeeComplete Plus (Autocompletion)/README.md"}, + "caption": "README" + }, + { "caption": "-" }, + { // Settings - Default + "command": "open_file", + "args": {"file": "${packages}/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus.sublime-settings"}, + "caption": "Settings – Default" + }, + { // Settings – User + "command": "open_file", + "args": {"file": "${packages}/User/CoffeeComplete Plus.sublime-settings"}, + "caption": "Settings – User" + }, + { "caption": "-" }, + { // Key Bindings – Default (OSX) + "command": "open_file", + "args": { + "file": "${packages}/CoffeeComplete Plus (Autocompletion)/Default (OSX).sublime-keymap", + "platform": "OSX" + }, + "caption": "Key Bindings – Default" + }, + { // Key Bindings – Default (Linux) + "command": "open_file", + "args": { + "file": "${packages}/CoffeeComplete Plus (Autocompletion)/Default (Linux).sublime-keymap", + "platform": "Linux" + }, + "caption": "Key Bindings – Default" + }, + { // Key Bindings – Default (Windows) + "command": "open_file", + "args": { + "file": "${packages}/CoffeeComplete Plus (Autocompletion)/Default (Windows).sublime-keymap", + "platform": "Windows" + }, + "caption": "Key Bindings – Default" + }, + { // Key Bindings – User (OSX) + "command": "open_file", + "args": { + "file": "${packages}/User/Default (OSX).sublime-keymap", + "platform": "OSX" + }, + "caption": "Key Bindings – User" + }, + { // Key Bindings – User (Linux) + "command": "open_file", + "args": { + "file": "${packages}/User/Default (Linux).sublime-keymap", + "platform": "Linux" + }, + "caption": "Key Bindings – User" + }, + { // Key Bindings – User (Windows) + "command": "open_file", + "args": { + "file": "${packages}/User/Default (Windows).sublime-keymap", + "platform": "Windows" + }, + "caption": "Key Bindings – User" + }, + { "caption": "-" }, + { // Mouse Bindings – Default (OSX) + "command": "open_file", + "args": { + "file": "${packages}/CoffeeComplete Plus (Autocompletion)/Default (OSX).sublime-mousemap", + "platform": "OSX" + }, + "caption": "Mouse Bindings – Default" + }, + { // Mouse Bindings – Default (Linux) + "command": "open_file", + "args": { + "file": "${packages}/CoffeeComplete Plus (Autocompletion)/Default (Linux).sublime-mousemap", + "platform": "Linux" + }, + "caption": "Mouse Bindings – Default" + }, + { // Mouse Bindings – Default (Windows) + "command": "open_file", + "args": { + "file": "${packages}/CoffeeComplete Plus (Autocompletion)/Default (Windows).sublime-mousemap", + "platform": "Windows" + }, + "caption": "Mouse Bindings – Default" + }, + { // Mouse Bindings – User (OSX) + "command": "open_file", + "args": { + "file": "${packages}/User/Default (OSX).sublime-mousemap", + "platform": "OSX" + }, + "caption": "Mouse Bindings – User" + }, + { // Mouse Bindings – User (Linux) + "command": "open_file", + "args": { + "file": "${packages}/User/Default (Linux).sublime-mousemap", + "platform": "Linux" + }, + "caption": "Mouse Bindings – User" + }, + { // Mouse Bindings – User (Windows) + "command": "open_file", + "args": { + "file": "${packages}/User/Default (Windows).sublime-mousemap", + "platform": "Windows" + }, + "caption": "Mouse Bindings – User" + }, + { "caption": "-" }, + { // Custom Types – Default + "command": "open_file", + "args": {"file": "${packages}/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Custom Types.sublime-settings"}, + "caption": "Custom Types – Default" + }, + { // Custom Types – User + "command": "open_file", + "args": {"file": "${packages}/User/CoffeeComplete Plus Custom Types.sublime-settings"}, + "caption": "Custom Types – User" + }, + { "caption": "-" }, + { // Built-In Types – Default + "command": "open_file", + "args": {"file": "${packages}/CoffeeComplete Plus (Autocompletion)/CoffeeComplete Plus Built-In Types.sublime-settings"}, + "caption": "Built-In Types – Default" + }, + { // Built-In Types – User + "command": "open_file", + "args": {"file": "${packages}/User/CoffeeComplete Plus Built-In Types.sublime-settings"}, + "caption": "Built-In Types – User" + } + ] + } + ] + } + ] + } +] diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/README.md b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/README.md new file mode 100644 index 0000000..0343c13 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/README.md @@ -0,0 +1,424 @@ +CoffeeComplete Plus +=================== + +CoffeeComplete Plus (CC+) is a [Sublime Text 2](http://www.sublimetext.com/2) plugin that scans your CoffeeScript files on demand and makes autocomplete suggestions for you. + +In addition, this plugin adds the "Coffee: Goto Definition" command, which will look up the class, function or variable definition of the selected token. + +Do you miss the old days? When, at the control-tap of a spacebar, your IDE joyfully came running to you, list in hand, asking, "what would you like, sir?" And that list actually made sense? And suggested items you were interested in? I missed those days, so I decided to do something about it. I learned about [Sublime Text 2](http://www.sublimetext.com/2). Best decision of my life. Then, I learned how to make plugins. My first order of business was to make this plugin—and now it's available for you to use. + +Autocompletions. Zooming to definitions. + +Let start coding again like the old days. With *style*. + +Installation +------------ + +### Package Control + +It is recommended that you use [Sublime Package Control](http://wbond.net/sublime_packages/package_control) to install CoffeeComplete Plus. If you have Package Control installed, use the Package Control: Install Package command and search for CoffeeComplete Plus. Ouila. Start coding easier. + +### Manual Installation + +In order to manually install CoffeeComplete Plus, clone the repository into your Sublime Text 2 `Packages` directory, which can be located by navigating to Preferences -> Browse Packages. Name the directory `CoffeeComplete Plus (Autocompletion)`. + +For your convenience: + +``` +git clone https://github.com/justinmahar/SublimeCSAutocompletePlus.git "CoffeeComplete Plus (Autocompletion)" +``` + +Usage +----- + +### Autocomplete + +Autocomplete can be triggered in coffee files by typing the dot `.` operator or the `@` symbol (which is shorthand for `this`). You can also press `ctrl+space` to trigger autocompletions manually. The plugin will then try to figure out what you're doing and propose a list of suggestions. + +Example usage: Inside a class, you type `this.`. A list of the available methods and properties is presented. + +### Goto Definition + +Looking for where a class, function or variable was defined? Look no further. + +Place your cursor on any word and press `ctrl+alt+d` in Windows/Linux, and `ctrl+alt+d` in OS X, to goto the definition of the selected class, function or variable. Life's good. + +Alternatively, use `ctrl+alt` + `left click` in Windows/Linux, and `ctrl+alt` + `left click` in OS X. + +Features +-------- + +### Autocomplete + +Autocomplete will make suggestions when you trigger autocomplete after a dot operator. It starts with the current view, then branches out to other coffee files. Because of this, most lookups are blazingly fast. You can configure CC+ to exclude certain directories and to only look in others. This will further increase speed as less searching will be needed. + +Autocomplete suggestions alphabetically show properties first, as indicated by a ○ symbol before each property name, followed by alphabetically sorted methods, as indicated by a ● symbol before each method name. Inherited properties and methods will be preceded by a Ⱶ symbol. This creates a nice visual breakdown of what you can do at any given time, and where things are coming from. Badass. + +For example: + + ○ property1 + ○ propertyTwo + ○ someOtherProperty + ● methodOne() + ● methodTwo(arg1, arg2) + ● theLastMethod(arg1, arg2, arg3) + Ⱶ○ inheritedProperty1 + Ⱶ○ inheritedPropertyTwo + Ⱶ● inheritedMethod1() + Ⱶ● inheritedMethod2(arg1, arg2) + +Here are the main features. In the examples, `[autocomplete]` represents the user action of triggering autocomplete, which is typically `ctrl+space`. + +* Suggests instance properties and methods when operating on an instance. + + myLamp = new LavaLamp() + # Suggests all instance properties and methods of LavaLamp. + myLamp.[autocomplete] + +* Suggests static properties and methods when operating on a class. + + # Suggests all static properties and methods of LavaLamp. + LavaLamp.[autocomplete] + +* Supports "this" keyword and any defined aliases. + + class LavaLamp + heatUp: -> + console.log "Heating up!" + coolDown: -> + console.log "Cooling down!" + moveBlobs: -> + # Suggests heatUp() and coolDown() methods + this.[autocomplete] + +* Any variable assigned to `this` in the constructor will be considered an instance property. + + class LavaLamp + constructor: (@color, size) -> + this.size = size + moveBlobs: -> + # Suggests color, size and moveBlobs() + this.[autocomplete] + +* Suggests super class properties and functions. This applies to both instance and static suggestions. + + # In the following example, we have a LavaLamp that extends Appliance. + # Each class has static and non-static properties and methods. + # Given the context, CC+ will suggest either static or non-static, + # and will walk up the class hierarchy. + + class Appliance + # Static + @WARRANTY_YEARS = 10 + @calculateWarrantyExpiration: (currentYear) -> + console.log "Expires: ", currentYear + Appliance.WARRANTY_YEARS + # Non-static + constructor: -> + this.isSwitchedOn = False + toggle: -> + this.isSwitchedOn = !this.isSwitchedOn + + class LavaLamp extends Appliance + # Static + @BEST_COLOR = "Red" + @isLampAwesome: (lamp) -> + if lamp.color == LavaLamp.BEST_COLOR + console.log "Definitely" + else + console.log "Probably" + # Non-static + constructor: (@color, size) -> + this.size = size + + moveBlobs: -> + # Suggests color, isSwitchedOn, size, moveBlobs(), toggle() + this.[autocomplete] + + # Suggests WARRANTY_YEARS and calculateWarrantyExpiration(), which are static. + Appliance.[autocomplete] + + # Suggests BEST_COLOR, WARRANTY_YEARS, calculateWarrantyExpiration(), and isLampAwesome() + # These are all static properties from the complete class heirarchy. + LavaLamp.[autocomplete] + +* After autocompleting a method, tab stops for parameters are provided (if applicable). +* Expects that you don't suck at naming things. Will assume a class is UpperCamelCase and everything else is lowerCamelCase. It still works either way; it will just be faster if things are named properly. +* For every 1 million autocompletions, a beautiful masseuse appears and gives you a massage. You must be tired after all that coding. + +### Support For Built-in Types + +CC+ now supports autocompletion for the following built-in types: + +* Array +* Boolean +* Date +* Function +* Number +* Object +* RegExp +* String +* JSON + +This makes life that much easier. + +In addition, autocomplete suggests inherited properties and methods from Object. + +### Custom Types + +If you find yourself using a third-party library often and would like to have autocompletions for that library, you can create custom type. This is essentially a collection of autocomplete suggestions. CC+ supports jQuery out of the box, but you can always add others. If you do add a custom type and would like to share it, please issue a pull request and I will add it to the plugin. If your library is used as function, like jQuery, you can map that function's return value to a type. See the configuration section for how to do this. + +### Type Hinting + +Document your code and you shall be rewarded in many ways. One of these way is autocompletion. Another of these ways is a warm, fuzzy feeling all over. + +CC+ can detect types using hints you provide it in comments. You can even add method headers with hints for parameters. + +* Variable assignment type hints + - When you assign a variable, you can add a type hint that CC+ will use to look up the class autocompletions for you. This type must be in square brackets, and in a single-line `#` comment on either the same line or the previous line, in the form `[TYPENAME]`. Other text can surround the type hint. + +``` + # The [String] to add type hinting for + myString = someObject.getSomething() + + # Now, CC+ knows that it's a String + myString.[autocomplete] + + # Alternate way to add type hinting + otherString = someObject.getSomethingElse() # It's a [String], son. +``` + +* Parameter type hints + - If you use [Codo](https://github.com/netzpirat/codo), or are in the habit of documenting your classes, you can add type hints for your method parameters as well. These hints must be in a single-line `#` comment above the method signature. The hint can either be in the form `[TYPENAME] parameterName` or `parameterName [TYPENAME]`. Other text can surround the type hint. + +``` + # [Animal] critter + # [Boolean] animalEscapes + feedAlligator: (critter, animalEscapes) -> + if animalEscapes + # CC+ knows that it's an Animal. Will he escape? Autocomplete and choose his destiny! + critter.[autocomplete] +``` + +* Method return type hints + - If a variable is assigned to the return value of a method, type hinting can collected from that method. The method must have a single-line `#` comment on a previous line with the hint `@return [TYPE]`. This is a bonus convenience. Remember, you can always use the regular assignment type hinting mentioned above when assigning variables! + +``` + class Alligator + + # @return [Animal] + getLastMeal: -> + this.lastMeal + + rememberGoodTimes: -> + critter = this.getLastMeal() + # CC+ will detect your return type hint and display suggestions for type Animal + console.log "I remember the time I ate a critter named " + critter.[autocomplete] + +``` + +### Data-Hiding With Private Member Exclusion + +CoffeeScript doesn't provide an explicit way to hide properties and methods of a class. [According to Jeremy Ashkenas](https://groups.google.com/forum/#!topic/coffeescript/jgG7DhvyzzM), creator of coffeescript: + +> The norm in JavaScript is that hiding stuff is not that big of a deal, and you prefix private properties of an object with an underscore, as a convention. + +So, it's left up to you. + +Using an underscore is all well and fine until your autocomplete list is all cluttered up with things you're not supposed to see. + +CC+ to the rescue. You can define regular expressions to exclude any members of your choosing. By default, members starting with an underscore are not shown when working outside of a class (i.e., not using `this.`). See the configuration section for how to add/remove exclusions. + +### Goto Definition + +Goto Definition is useful for finding where a class, function, or variable was defined or declared. Again, searching is performed from the current view and branches out to other files if nothing is found. With this, you can quickly jump between classes and zoom to functions—even ones defined in other files—with ease. + +* Supports classes, functions and variable assignment. +* Searches backwards from selected token for assignment, then forwards. +* Considers variables declared in for loops. +* Considers method parameters. +* Tries to find something rather than nothing. +* Includes both mouse and keyboard shortcuts for convenience. Code your way. + +### General + +* Asynchronous and fast lookups. That means no UI freezing while waiting for completions or Goto Definiton. Hate that. +* You can configure directories to be be excluded from global .coffee search. **(recommended)** +* You can configure the tool to only search in specific locations. **(recommended)** + +Default Key Bindings +-------------------- + +### Windows/Linux: + +Autocomplete: `ctrl+space` (after a dot operator) + +Goto Definition: `ctrl+alt+d` or `ctrl+alt`+`left click` + +### Mac OS X: + +Autocomplete: `ctrl+space` (after a dot operator) + +Goto Definition: `ctrl+alt+d` or `ctrl+alt`+`left click` + +Key bindings can be changed by navigating to Preferences -> Package Settings -> CoffeeComplete Plus -> Key Bindings. It is not recommended that you change the Default settings as they will be overwritten by plugin updates. Instead, make your changes in User settings, which will override the Default settings. + +Configuration +------------- + +CoffeeComplete Plus has the following configurable settings: + +### General Settings + +In `CoffeeComplete Plus.sublime-settings`: + +#### Excluded Directories + +* `coffee_autocomplete_plus_excluded_dirs` — Excluded directories. + - Directories to exclude from searching for CoffeeScript classes, functions and variables. All directories in your project are searched except for the ones that match the names listed in this setting. **This is recommended.** Some excluded directories have already been specified in settings. + - Expected value: Array of directory names. + - Example: + +``` + "coffee_autocomplete_plus_excluded_dirs" : [".git", "SVN", "pub", "docs"] +``` + +#### Path Restrictions + +* `coffee_autocomplete_plus_restricted_to_paths` — Restrict searching to these directories. + - Paths to restrict the search to. If one or more path is specified, searching will be restricted to `PATH_TO_PROJECT/your/defined/path`. For example, you specify `src/coffee`. Now, only `PROJECT_PATH/src/coffee` will be scanned. **This is recommended.** If `[]`, no restrictions are applied. + - Expected value: Array of paths relative to your project directory. + - Example: + +``` + "coffee_autocomplete_plus_restricted_to_paths" : ["src/coffee", "lib/src/coffee"] +``` + +#### Member Exclusion Patterns For Data Hiding + +* `coffee_autocomplete_plus_member_exclusion_regexes` — Regular expressions for members excluded from autocomplete suggestions. + - CoffeeScript doesn't provide a mechanism for making members `private` in the traditional sense. Conventionally, private members are prefixed with an underscore `_`. This configuration setting allows you to define regular expressions for members you would like to exclude. By default, members beginning with an underscore are excluded. + - Expected value: Array of Python regular expression strings. + - Example: + +``` + "coffee_autocomplete_plus_member_exclusion_regexes": ["^_"] // Excludes members prefixed with underscore +``` + +#### Customizing Autocomplete Trigger + +* `auto_complete_triggers` — Characters that trigger the autocomplete menu. + + - Sublime allows for context-specific triggers for the autocompletion menus. This allows the menu to show as soon as `.` or `@` are pressed, which are enabled by default. To customize these, use the following in settings and make the desired changes: + +``` + "auto_complete_triggers": + [ + {"characters": ".@", "selector": "source.coffee"} + ] +``` + +#### Aliases For `this` + +* `coffee_autocomplete_plus_this_aliases` — Aliases for `this` keyword + - Due to lexical scoping you sometimes need to assign an alias for `this`, such as `that` or `self`. Keep in mind, you can use a fat arrow `=>` to have CoffeeScript do this for you under the hood. Regardless, this config setting allows you to add or remove aliases that cause autocomplete to behave just like using `this` would. No futher searching—`this` will be assumed. + - Expected value: Array of alias strings. + - Example: + +``` + "coffee_autocomplete_plus_this_aliases" : ["that", "self"] +``` + +#### Mapped Function Return Types + +* `coffee_autocomplete_plus_function_return_types` — Mappings for the return types of special functions, like jQuery. + - You may want to make calls directly off of the returned values of special functions. For example, when using jQuery, you might type `$(selector).` and want some autocomplete suggestions. If you have a custom type defined, you can map the returns of function names, like `$` and `jQuery`, to that custom type. See the next config section for defining custom types. + - Expected value: Array of objects. Each object has a `function_names` property that maps to an array of string names, and a `type_name` property that maps to the string name of the type the functions return. + - Example: + +``` + "coffee_autocomplete_plus_function_return_types": + [ + { + "function_names": ["$", "jQuery"], + "type_name": "$" + } + ] +``` + +### Custom Types + +In `CoffeeComplete Plus Custom Types.sublime-settings`: + +* `coffee_autocomplete_plus_custom_types` -- Custom types, allowing libraries like jQuery. + - If you would like to define custom types, put them here. Autocomplete will then make the defined suggestions for you. By default, a type for jQuery is defined. + - Method arguments have a `name` property, and an option `insertion`, which will be the text that is actually inserted. For example, this is useful for inserting `->` syntax for callbacks. + - Use the `enabled` property to enable or disable a custom type. + - Use the following example as a starting point: + +``` + { + "name": "MyType", + "enabled": true, + "constructors": [{"args": []}], + "static_properties": [{"name": "CONSTANT_ONE"}, {"name": "CONSTANT_TWO"}], + "static_methods": + [ + {"name":"myStaticMethod", "args": [{"name": "arg1"}, {"name": "arg2"}]}, + {"name":"myStaticMethodTwo", "args": []} + ], + "instance_properties": [{"name": "thingOne"}, {"name": "thingTwo"}, {"name": "thingThree"}], + "instance_methods": + [ + {"name":"doStuffWithCallback", "args": [{"name": "numTimes"}, {"name": "callback()", "insertion": "->"}]}, + {"name":"doMoreStuff", "args": [{"name": "numTimes"}, {"name": "extraAmount"}]} + ] + } +``` + +### Built-In Types + +In `CoffeeComplete Plus Built-In Types.sublime-settings`: + +* `coffee_autocomplete_plus_built_in_types` -- Built-in types, like Object, Array, and String. + - These are JavaScript's build-in types. These specs were gleaned from the [Mozilla MDN](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects). + - Any of the built-in types can be disabled, if you'd like. Change the `enabled` property to `false`. + +To configure these settings, open Preferences -> Package Settings -> CoffeeComplete Plus. It is not recommended that you change the Default settings as they will be overwritten by plugin updates. Instead, make your changes in User settings, which will override the Default settings. + +Limitations and Plans +--------------------- + +> "Conceal a flaw, and the world will imagine the worst." — Marcus Aurelius, 16th Emperor of the Roman Empire + +Autocomplete is smart, but not Mensa smart. Under the hood, we're using regular expressions and lots of scanning. I coded this rather quickly, and it's my first plugin, so there may be (read: probably are) bugs. Please let me know if there are. As I build out functionality, I will try to fix its limitations. + +For now, here is the list of TBDs: + +* Clean up code. Make modular/reusable. First priority. +* Constructor support + - Add constructors to built-in types +* Additional built-in types (Error, etc) +* Optional parameter detection + - Square brackets indicate optional params. + - Example: `methodName(var1, optionalVar2="hey, I'm optional")` will autocomplete to `classInstance.methodName(var1, [optionalVar2])` +* Fix issues +* Goto Definition knows types of objects methods are called on. Right now, it makes a guess. +* Support for built-in types when getting the return type for a method. + +Far too many times I've installed a plugin only to be disappointed because it fell short of my expectations. If you feel this way, please let me know how I can make this plugin better for you and I will do my best. + +Happy coding! + +-Justin + +License +------- +CoffeeComplete Plus is licensed under the MIT license. + +Copyright (c) 2013 Justin Mahar + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/coffee_utils.py b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/coffee_utils.py new file mode 100644 index 0000000..9493f89 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/coffee_utils.py @@ -0,0 +1,1155 @@ +import sublime +import re +import os + +# TODO: +# - Document this file. +# - Split out functionality where possible. + +# This file is what happens when you code non-stop for several days. +# I tried to make the main files as easy to follow along as possible. +# This file, not so much. + +# Set to true to enable debug output +DEBUG = False + +SETTINGS_FILE_NAME = "CoffeeComplete Plus.sublime-settings" +PREFERENCES_COFFEE_EXCLUDED_DIRS = "coffee_autocomplete_plus_excluded_dirs" +PREFERENCES_COFFEE_RESTRICTED_TO_PATHS = "coffee_autocomplete_plus_restricted_to_paths" +PREFERENCES_THIS_ALIASES = "coffee_autocomplete_plus_this_aliases" +PREFERENCES_MEMBER_EXCLUSION_REGEXES = "coffee_autocomplete_plus_member_exclusion_regexes" +BUILT_IN_TYPES_SETTINGS_FILE_NAME = "CoffeeComplete Plus Built-In Types.sublime-settings" +BUILT_IN_TYPES_SETTINGS_KEY = "coffee_autocomplete_plus_built_in_types" +CUSTOM_TYPES_SETTINGS_FILE_NAME = "CoffeeComplete Plus Custom Types.sublime-settings" +CUSTOM_TYPES_SETTINGS_KEY = "coffee_autocomplete_plus_custom_types" +FUNCTION_RETURN_TYPES_SETTINGS_KEY = "coffee_autocomplete_plus_function_return_types" +FUNCTION_RETURN_TYPE_TYPE_NAME_KEY = "type_name" +FUNCTION_RETURN_TYPE_FUNCTION_NAMES_KEY = "function_names" + +COFFEESCRIPT_SYNTAX = r"CoffeeScript" +COFFEE_EXTENSION_WITH_DOT = "\.coffee|\.litcoffee|\.coffee\.md" +CONSTRUCTOR_KEYWORD = "constructor" +THIS_SUGAR_SYMBOL = "@" +THIS_KEYWORD = "this" +PERIOD_OPERATOR = "." +COFFEE_FILENAME_REGEX = r".+?" + re.escape(COFFEE_EXTENSION_WITH_DOT) +CLASS_REGEX = r"class\s+%s((\s*$)|[^a-zA-Z0-9_$])" +CLASS_REGEX_ANY = r"class\s+([a-zA-Z0-9_$]+)((\s*$)|[^a-zA-Z0-9_$])" +CLASS_REGEX_WITH_EXTENDS = r"class\s+%s\s*($|(\s+extends\s+([a-zA-Z0-9_$.]+)))" +SINGLE_LINE_COMMENT_REGEX = r"#.*?$" +TYPE_HINT_COMMENT_REGEX = r"#.*?\[([a-zA-Z0-9_$]+)\].*$" +TYPE_HINT_PARAMETER_COMMENT_REGEX = r"#.*?(\[([a-zA-Z0-9_$]+)\]\s*{var_name}((\s*$)|[^a-zA-Z0-9_$]))|({var_name}\s*\[([a-zA-Z0-9_$]+)\]((\s*$)|[^a-zA-Z0-9_$]))" +# Function regular expression. Matches: +# methodName = (aas,bsa, casd ) -> +FUNCTION_REGEX = r"(^|[^a-zA-Z0-9_$])(%s)\s*[:]\s*(\((.*?)\))?\s*[=\-]>" +FUNCTION_REGEX_ANY = r"(^|[^a-zA-Z0-9_$])(([a-zA-Z0-9_$]+))\s*[:]\s*(\((.*?)\))?\s*[=\-]>" +# Assignment regular expression. Matches: +# asdadasd = +ASSIGNMENT_REGEX = r"(^|[^a-zA-Z0-9_$])%s\s*=" +# Static assignment regex +STATIC_ASSIGNMENT_REGEX = r"^\s*([@]|(this\s*[.]))\s*([a-zA-Z0-9_$]+)\s*[:=]" +# Static function regex +STATIC_FUNCTION_REGEX = r"(^|[^a-zA-Z0-9_$])\s*([@]|(this\s*[.]))\s*([a-zA-Z0-9_$]+)\s*[:]\s*(\((.*?)\))?\s*[=\-]>" +# Regex for finding a function parameter. Call format on the string, with name=var_name +PARAM_REGEX = r"\(\s*(({name})|({name}\s*=?.*?[,].*?)|(.*?[,]\s*{name}\s*=?.*?[,].*?)|(.*?[,]\s*{name}))\s*=?.*?\)\s*[=\-]>" +# Regex for finding a variable declared in a for loop. +FOR_LOOP_REGEX = r"for\s*.*?[^a-zA-Z0-9_$]%s[^a-zA-Z0-9_$]" +# Regex for constructor @ params, used for type hinting. +CONSTRUCTOR_SELF_ASSIGNMENT_PARAM_REGEX = r"constructor\s*[:]\s*\(\s*((@{name})|(@{name}\s*[,].*?)|(.*?[,]\s*@{name}\s*[,].*?)|(.*?[,]\s*@{name}))\s*\)\s*[=\-]>\s*$" + +# Assignment with the value it's being assigned to. Matches: +# blah = new Dinosaur() +ASSIGNMENT_VALUE_WITH_DOT_REGEX = r"(^|[^a-zA-Z0-9_$])%s\s*=\s*(.*)" +ASSIGNMENT_VALUE_WITHOUT_DOT_REGEX = r"(^|[^a-zA-Z0-9_$.])%s\s*=\s*(.*)" + +# Used to determining what class is being created with the new keyword. Matches: +# new Macaroni +NEW_OPERATION_REGEX = r"new\s+([a-zA-Z0-9_$.]+)" + +PROPERTY_INDICATOR = u'\u25CB' +METHOD_INDICATOR = u'\u25CF' +INHERITED_INDICATOR = u'\u2C75' + +BUILT_IN_TYPES_TYPE_NAME_KEY = "name" +BUILT_IN_TYPES_TYPE_ENABLED_KEY = "enabled" +BUILT_IN_TYPES_CONSTRUCTOR_KEY = "constructor" +BUILT_IN_TYPES_STATIC_PROPERTIES_KEY = "static_properties" +BUILT_IN_TYPES_STATIC_PROPERTY_NAME_KEY = "name" +BUILT_IN_TYPES_STATIC_METHODS_KEY = "static_methods" +BUILT_IN_TYPES_STATIC_METHOD_NAME_KEY = "name" +BUILT_IN_TYPES_INSTANCE_PROPERTIES_KEY = "instance_properties" +BUILT_IN_TYPES_INSTANCE_PROPERTY_NAME_KEY = "name" +BUILT_IN_TYPES_INSTANCE_METHODS_KEY = "instance_methods" +BUILT_IN_TYPES_INSTANCE_METHOD_NAME_KEY = "name" +BUILT_IN_TYPES_METHOD_NAME_KEY = "name" +BUILT_IN_TYPES_METHOD_INSERTION_KEY = "insertion" +BUILT_IN_TYPES_METHOD_ARGS_KEY = "args" +BUILT_IN_TYPES_METHOD_ARG_NAME_KEY = "name" +BUILT_IN_TYPES_INHERITS_FROM_OBJECT_KEY = "inherits_from_object" + + +# Utility functions +def debug(message): + if DEBUG: + print message + + +def select_current_word(view): + if len(view.sel()) > 0: + selected_text = view.sel()[0] + word_region = view.word(selected_text) + view.sel().clear() + view.sel().add(word_region) + + +def get_selected_word(view): + word = "" + if len(view.sel()) > 0: + selected_text = view.sel()[0] + word_region = view.word(selected_text) + word = get_word_at(view, word_region) + return word + + +def get_word_at(view, region): + word = "" + word_region = view.word(region) + word = view.substr(word_region) + word = re.sub(r'[^a-zA-Z0-9_$]', '', word) + word = word.strip() + return word + + +def get_token_at(view, region): + token = "" + if len(view.sel()) > 0: + selected_line = view.line(region) + preceding_text = view.substr(sublime.Region(selected_line.begin(), region.begin())).strip() + token_regex = r"[^a-zA-Z0-9_$.@]*?([a-zA-Z0-9_$.@]+)$" + match = re.search(token_regex, preceding_text) + if match: + token = match.group(1) + token = token.strip() + return token + + +def get_preceding_symbol(view, prefix, locations): + index = locations[0] + symbol_region = sublime.Region(index - 1 - len(prefix), index - len(prefix)) + symbol = view.substr(symbol_region) + return symbol + + +def get_preceding_function_call(view): + function_call = "" + if len(view.sel()) > 0: + selected_text = view.sel()[0] + selected_line = view.line(sublime.Region(selected_text.begin() - 1, selected_text.begin() - 1)) + preceding_text = view.substr(sublime.Region(selected_line.begin(), selected_text.begin() - 1)).strip() + function_call_regex = r".*?([a-zA-Z0-9_$]+)\s*\(.*?\)" + match = re.search(function_call_regex, preceding_text) + if match: + function_call = match.group(1) + return function_call + + +def get_preceding_token(view): + token = "" + if len(view.sel()) > 0: + selected_text = view.sel()[0] + if selected_text.begin() > 2: + token_region = sublime.Region(selected_text.begin() - 1, selected_text.begin() - 1) + token = get_token_at(view, token_region) + return token + + +# Complete this. +def get_preceding_call_chain(view): + word = "" + if len(view.sel()) > 0: + selected_text = view.sel()[0] + selected_text = view.sel()[0] + selected_line = view.line(sublime.Region(selected_text.begin() - 1, selected_text.begin() - 1)) + preceding_text = view.substr(sublime.Region(selected_line.begin(), selected_text.begin() - 1)).strip() + function_call_regex = r".*?([a-zA-Z0-9_$]+)\s*\(.*?\)" + match = re.search(function_call_regex, preceding_text) + if match: + #function_call = match.group(1) + pass + return word + + +def is_capitalized(word): + capitalized = False + # Underscores are sometimes used to indicate an internal property, so we + # find the first occurrence of an a-zA-Z character. If not found, we assume lowercase. + az_word = re.sub("[^a-zA-Z]", "", word) + if len(az_word) > 0: + first_letter = az_word[0] + capitalized = first_letter.isupper() + + # Special case for $ + capitalized = capitalized | word.startswith("$") + + return capitalized + + +def get_files_in(directory_list, filename_regex, excluded_dirs): + files = [] + for next_directory in directory_list: + # http://docs.python.org/2/library/os.html?highlight=os.walk#os.walk + for path, dirs, filenames in os.walk(next_directory): + # print str(path) + for next_excluded_dir in excluded_dirs: + try: + dirs.remove(next_excluded_dir) + except: + pass + for next_file_name in filenames: + # http://docs.python.org/2/library/re.html + match = re.search(filename_regex, next_file_name) + if match: + # http://docs.python.org/2/library/os.path.html?highlight=os.path.join#os.path.join + next_full_path = os.path.join(path, next_file_name) + files.append(next_full_path) + return files + + +def get_lines_for_file(file_path): + lines = [] + try: + # http://docs.python.org/2/tutorial/inputoutput.html + opened_file = open(file_path, "r") # r = read only + lines = opened_file.readlines() + except: + pass + return lines + + +# Returns a tuple with (row, column, match, row_start_index), or None +def get_positions_of_regex_match_in_file(file_lines, regex): + found_a_match = False + matched_row = -1 + matched_column = -1 + match_found = None + line_start_index = -1 + + current_row = 0 + + current_line_start_index = 0 + for next_line in file_lines: + # Remove comments + modified_next_line = re.sub(SINGLE_LINE_COMMENT_REGEX, "", next_line) + match = re.search(regex, modified_next_line) + if match: + found_a_match = True + matched_row = current_row + matched_column = match.end() + match_found = match + line_start_index = current_line_start_index + break + current_row = current_row + 1 + current_line_start_index = current_line_start_index + len(next_line) + + positions_tuple = None + if found_a_match: + positions_tuple = (matched_row, matched_column, match_found, line_start_index) + + return positions_tuple + + +def open_file_at_position(window, file_path, row, column): + # Beef + # http://www.sublimetext.com/docs/2/api_reference.html#sublime.Window + path_with_position_encoding = file_path + ":" + str(row) + ":" + str(column) + window.open_file(path_with_position_encoding, sublime.ENCODED_POSITION) + return + + +# Returns a tuple with (file_path, row, column, match, row_start_index) +def find_location_of_regex_in_files(contents_regex, local_file_lines, global_file_path_list=[]): + # The match tuple containing the filename and positions. + # Will be returned as None if no matches are found. + file_match_tuple = None + + if local_file_lines: + # Search the file for the regex. + positions_tuple = get_positions_of_regex_match_in_file(local_file_lines, contents_regex) + if positions_tuple: + # We've found a match! Save the file path plus the positions and the match itself + file_match_tuple = tuple([None]) + positions_tuple + + # If we are to search globally... + if not file_match_tuple and global_file_path_list: + for next_file_path in global_file_path_list: + if next_file_path: + file_lines = get_lines_for_file(next_file_path) + # Search the file for the regex. + positions_tuple = get_positions_of_regex_match_in_file(file_lines, contents_regex) + if positions_tuple: + # We've found a match! Save the file path plus the positions and the match itself + file_match_tuple = tuple([next_file_path]) + positions_tuple + # Stop the for loop + break + return file_match_tuple + + +def select_region_in_view(view, region): + view.sel().clear() + view.sel().add(region) + # Refresh hack. + original_position = view.viewport_position() + view.set_viewport_position((original_position[0], original_position[1] + 1)) + view.set_viewport_position(original_position) + + +def get_progress_indicator_tuple(previous_indicator_tuple): + STATUS_MESSAGE_PROGRESS_INDICATOR = "[%s=%s]" + if not previous_indicator_tuple: + previous_indicator_tuple = ("", 0, 1) + progress_indicator_position = previous_indicator_tuple[1] + progress_indicator_direction = previous_indicator_tuple[2] + # This animates a little activity indicator in the status area. + # It animates an equals symbol bouncing back and fourth between square brackets. + # We calculate the padding around the equal based on the last known position. + num_spaces_before = progress_indicator_position % 8 + num_spaces_after = (7) - num_spaces_before + # When the equals hits the edge, we change directions. + # Direction is -1 for moving left and 1 for moving right. + if not num_spaces_after: + progress_indicator_direction = -1 + if not num_spaces_before: + progress_indicator_direction = 1 + progress_indicator_position += progress_indicator_direction + padding_before = ' ' * num_spaces_before + padding_after = ' ' * num_spaces_after + # Create the progress indication text + progress_indicator_text = STATUS_MESSAGE_PROGRESS_INDICATOR % (padding_before, padding_after) + # Return the progress indication tuple + return (progress_indicator_text, progress_indicator_position, progress_indicator_direction) + + +def get_syntax_name(view): + syntax = os.path.splitext(os.path.basename(view.settings().get('syntax')))[0] + return syntax + + +def is_coffee_syntax(view): + return bool(re.match(COFFEESCRIPT_SYNTAX, get_syntax_name(view))) + + +def get_this_type(file_lines, start_region): + + type_found = None + # Search backwards from current position for the type + # We're looking for a class definition + class_regex = CLASS_REGEX_ANY + + match_tuple = search_backwards_for(file_lines, class_regex, start_region) + if match_tuple: + # debug(str(match_tuple[0]) + ", " + str(match_tuple[1]) + ", " + match_tuple[2].group(1)) + type_found = match_tuple[2].group(1) + else: + debug("No match!") + + return type_found + + +def get_variable_type(file_lines, token, start_region, global_file_path_list, built_in_types, previous_variable_names=[]): + + type_found = None + + # Check for "this" + if token == "this": + type_found = get_this_type(file_lines, start_region) + elif token.startswith("@"): + token = "this." + token[1:] + + # We're looking for a variable assignent + assignment_regex = ASSIGNMENT_VALUE_WITH_DOT_REGEX % token + + # print "Assignment regex: " + assignment_regex + + # Search backwards from current position for the type + if not type_found: + match_tuple = search_backwards_for(file_lines, assignment_regex, start_region) + if match_tuple: + type_found = get_type_from_assignment_match_tuple(token, match_tuple, file_lines, previous_variable_names) + # Well, we found the assignment. But we don't know what it is. + # Let's try to find a variable name and get THAT variable type... + if not type_found: + type_found = get_type_from_assigned_variable_name(file_lines, token, match_tuple, global_file_path_list, built_in_types, previous_variable_names) + + # Let's try searching backwards for parameter hints in comments... + if not type_found: + # The regex used to search for the variable as a parameter in a method + param_regex = PARAM_REGEX.format(name=re.escape(token)) + match_tuple = search_backwards_for(file_lines, param_regex, start_region) + # We found the variable! it's a parameter. Let's find a comment with a type hint. + if match_tuple: + type_found = get_type_from_parameter_match_tuple(token, match_tuple, file_lines, previous_variable_names) + + # If backwards searching isn't working, at least try to find something... + if not type_found: + # Forward search from beginning for assignment: + match_tuple = get_positions_of_regex_match_in_file(file_lines, assignment_regex) + if match_tuple: + type_found = get_type_from_assignment_match_tuple(token, match_tuple, file_lines, previous_variable_names) + if not type_found: + type_found = get_type_from_assigned_variable_name(file_lines, token, match_tuple, global_file_path_list, built_in_types, previous_variable_names) + + # If still nothing, maybe it's an @ parameter in the constructor? + if not type_found: + + # Get the last word in the chain, if it's a chain. + # E.g. Get variableName from this.variableName.[autocomplete] + selected_word = token[token.rfind(".") + 1:] + + if token.startswith(THIS_KEYWORD + ".") or token.startswith(THIS_SUGAR_SYMBOL): + + # The regex used to search for the variable as a parameter in a method + param_regex = CONSTRUCTOR_SELF_ASSIGNMENT_PARAM_REGEX.format(name=re.escape(selected_word)) + + # Forward search from beginning for param: + match_tuple = get_positions_of_regex_match_in_file(file_lines, param_regex) + # We found the variable! it's a parameter. Let's find a comment with a type hint. + if match_tuple: + type_found = get_type_from_parameter_match_tuple(selected_word, match_tuple, file_lines) + + if not type_found: + # Find something. Anything! + word_assignment_regex = ASSIGNMENT_VALUE_WITHOUT_DOT_REGEX % selected_word + + # Forward search from beginning for assignment: + match_tuple = get_positions_of_regex_match_in_file(file_lines, word_assignment_regex) + if match_tuple: + type_found = get_type_from_assignment_match_tuple(token, match_tuple, file_lines, previous_variable_names) + if not type_found: + type_found = get_type_from_assigned_variable_name(file_lines, token, match_tuple, global_file_path_list, built_in_types, previous_variable_names) + + return type_found + + +def get_type_from_assigned_variable_name(file_lines, token, match_tuple, global_file_path_list, built_in_types, previous_variable_names=[]): + + type_found = None + + assignment_value_string = match_tuple[2].group(2).strip() + # row start index + column index + token_index = match_tuple[3] + match_tuple[1] + token_region = sublime.Region(token_index, token_index) + token_match = re.search(r"^([a-zA-Z0-9_$.]+)$", assignment_value_string) + if token_match: + next_token = token_match.group(1) + if next_token not in previous_variable_names: + previous_variable_names.append(token) + type_found = get_variable_type(file_lines, next_token, token_region, global_file_path_list, built_in_types, previous_variable_names) + + # Determine what type a method returns + if not type_found: + # print "assignment_value_string: " + assignment_value_string + method_call_regex = r"([a-zA-Z0-9_$.]+)\s*[.]\s*([a-zA-Z0-9_$]+)\s*\(" + method_call_match = re.search(method_call_regex, assignment_value_string) + if method_call_match: + object_name = method_call_match.group(1) + method_name = method_call_match.group(2) + object_type = get_variable_type(file_lines, object_name, token_region, global_file_path_list, built_in_types, previous_variable_names) + if object_type: + type_found = get_return_type_for_method(object_type, method_name, file_lines, global_file_path_list, built_in_types) + + return type_found + + +def get_return_type_for_method(object_type, method_name, file_lines, global_file_path_list, built_in_types): + + type_found = None + + next_class_to_scan = object_type + + # Search the class and all super classes + while next_class_to_scan and not type_found: + + class_regex = CLASS_REGEX % re.escape(next_class_to_scan) + # (file_path, row, column, match, row_start_index) + class_location_search_tuple = find_location_of_regex_in_files(class_regex, file_lines, global_file_path_list) + if class_location_search_tuple: + + file_found = class_location_search_tuple[0] + + # Consider if it was found locally, in the view + if not file_found: + class_file_lines = file_lines + else: + class_file_lines = get_lines_for_file(file_found) + + # If found, search for the method in question. + method_regex = FUNCTION_REGEX % re.escape(method_name) + positions_tuple = get_positions_of_regex_match_in_file(class_file_lines, method_regex) + # (row, column, match, row_start_index) + if positions_tuple: + # Check for comments, and hopefully the return hint, on previous rows. + matched_row = positions_tuple[0] + row_to_check_index = matched_row - 1 + + non_comment_code_reached = False + while not non_comment_code_reached and row_to_check_index >= 0 and not type_found: + current_row_text = class_file_lines[row_to_check_index] + + # Make sure this line only contains comments. + mod_line = re.sub(SINGLE_LINE_COMMENT_REGEX, "", current_row_text).strip() + # If it wasn't just a comment line... + if len(mod_line) > 0: + non_comment_code_reached = True + else: + # Search for hint: @return [TYPE] + return_type_hint_regex = r"@return\s*\[([a-zA-Z0-9_$]+)\]" + hint_match = re.search(return_type_hint_regex, current_row_text) + if hint_match: + # We found it! + type_found = hint_match.group(1) + row_to_check_index = row_to_check_index - 1 + + # If nothing was found, see if the class extends another one and is inheriting the method. + if not type_found: + extends_regex = CLASS_REGEX_WITH_EXTENDS % next_class_to_scan + # (row, column, match, row_start_index) + extends_match_positions = get_positions_of_regex_match_in_file(class_file_lines, extends_regex) + if extends_match_positions: + extends_match = extends_match_positions[2] + next_class_to_scan = extends_match.group(3) + else: + next_class_to_scan = None + return type_found + + +def get_type_from_assignment_match_tuple(variable_name, match_tuple, file_lines, previous_variable_names=[]): + + type_found = None + if match_tuple: + match = match_tuple[2] + assignment_value_string = match.group(2) + # Check for a type hint on current row or previous row. + # These will override anything else. + matched_row = match_tuple[0] + previous_row = matched_row - 1 + current_row_text = file_lines[matched_row] + hint_match = re.search(TYPE_HINT_COMMENT_REGEX, current_row_text) + if hint_match: + type_found = hint_match.group(1) + if not type_found and previous_row >= 0: + previous_row_text = file_lines[previous_row] + hint_match = re.search(TYPE_HINT_COMMENT_REGEX, previous_row_text) + if hint_match: + type_found = hint_match.group(1) + if not type_found: + assignment_value_string = re.sub(SINGLE_LINE_COMMENT_REGEX, "", assignment_value_string).strip() + type_found = get_type_from_assignment_value(assignment_value_string) + return type_found + + +def get_type_from_parameter_match_tuple(variable_name, match_tuple, file_lines, previous_variable_names=[]): + + type_found = None + if match_tuple: + # Check for comments, and hopefully type hints, on previous rows. + matched_row = match_tuple[0] + row_to_check_index = matched_row - 1 + + non_comment_code_reached = False + while not non_comment_code_reached and row_to_check_index >= 0 and not type_found: + current_row_text = file_lines[row_to_check_index] + + # Make sure this line only contains comments. + mod_line = re.sub(SINGLE_LINE_COMMENT_REGEX, "", current_row_text).strip() + # If it wasn't just a comment line... + if len(mod_line) > 0: + non_comment_code_reached = True + else: + # It's a comment. Let's look for a type hint in the form: + # variable_name [TYPE] ~OR~ [TYPE] variable_name + hint_regex = TYPE_HINT_PARAMETER_COMMENT_REGEX.format(var_name=re.escape(variable_name)) + hint_match = re.search(hint_regex, current_row_text) + if hint_match: + # One of these two groups contains the type... + if hint_match.group(2): + type_found = hint_match.group(2) + else: + type_found = hint_match.group(6) + row_to_check_index = row_to_check_index - 1 + return type_found + + +def get_type_from_assignment_value(assignment_value_string): + determined_type = None + + assignment_value_string = assignment_value_string.strip() + + # Check for built in types + object_regex = r"^\{.*\}$" + if not determined_type: + match = re.search(object_regex, assignment_value_string) + if match: + determined_type = "Object" + double_quote_string_regex = r"(^\".*\"$)|(^.*?\+\s*\".*?\"$)|(^\".*?\"\s*\+.*?$)|(^.*?\s*\+\s*\".*?\"\s*\+\s*.*?$)" + if not determined_type: + match = re.search(double_quote_string_regex, assignment_value_string) + if match: + determined_type = "String" + single_quote_string_regex = r"(^['].*[']$)|(^.*?\+\s*['].*?[']$)|(^['].*?[']\s*\+.*?$)|(^.*?\s*\+\s*['].*?[']\s*\+\s*.*?$)" + if not determined_type: + match = re.search(single_quote_string_regex, assignment_value_string) + if match: + determined_type = "String" + array_regex = r"^\[.*\]\s*$" + if not determined_type: + match = re.search(array_regex, assignment_value_string) + if match: + determined_type = "Array" + boolean_regex = r"^(true)|(false)$" + if not determined_type: + match = re.search(boolean_regex, assignment_value_string) + if match: + determined_type = "Boolean" + # http://stackoverflow.com/questions/4703390/how-to-extract-a-floating-number-from-a-string-in-python + number_regex = r"^[-+]?\d*\.\d+|\d+$" + if not determined_type: + match = re.search(number_regex, assignment_value_string) + if match: + determined_type = "Number" + regexp_regex = r"^/.*/[a-z]*$" + if not determined_type: + match = re.search(regexp_regex, assignment_value_string) + if match: + determined_type = "RegExp" + new_operation_regex = NEW_OPERATION_REGEX + if not determined_type: + match = re.search(new_operation_regex, assignment_value_string) + if match: + determined_type = get_class_from_end_of_chain(match.group(1)) + + return determined_type + + +# Tuple returned: (matched_row, matched_column, match, row_start_index) +def search_backwards_for(file_lines, regex, start_region): + + matched_row = -1 + matched_column = -1 + match_found = None + row_start_index = -1 + + start_index = start_region.begin() + # debug("start: " + str(start_index)) + characters_consumed = 0 + start_line = -1 + indentation_size = 0 + current_line_index = 0 + for next_line in file_lines: + # Find the line we're starting on... + offset = start_index - characters_consumed + if offset <= len(next_line) + 1: + # debug("Start line: " + next_line) + characters_consumed = characters_consumed + len(next_line) + indentation_size = get_indentation_size(next_line) + start_line = current_line_index + break + + characters_consumed = characters_consumed + len(next_line) + current_line_index = current_line_index + 1 + + row_start_index = characters_consumed + + if start_line >= 0: + # debug("start line: " + str(start_line)) + # Go backwards, searching for the class definition. + for i in reversed(range(start_line + 1)): + previous_line = file_lines[i] + # print "Next line: " + previous_line[:-1] + row_start_index = row_start_index - len(previous_line) + # debug("Line " + str(i) + ": " + re.sub("\n", "", previous_line)) + # Returns -1 for empty lines or lines with comments only. + next_line_indentation = get_indentation_size(previous_line) + #debug("Seeking <= indentation_size: " + str(indentation_size) + ", Current: " + str(next_line_indentation)) + # Ignore lines with larger indentation sizes and empty lines (or lines with comments only) + if next_line_indentation >= 0 and next_line_indentation <= indentation_size: + indentation_size = next_line_indentation + # Check for the class + match = re.search(regex, previous_line) + if match: + matched_row = i + matched_column = match.end() + match_found = match + break + match_tuple = None + if match_found: + match_tuple = (matched_row, matched_column, match_found, row_start_index) + return match_tuple + + +def get_indentation_size(line_of_text): + size = -1 + mod_line = re.sub("\n", "", line_of_text) + mod_line = re.sub(SINGLE_LINE_COMMENT_REGEX, "", mod_line) + # If it wasn't just a comment line... + if len(mod_line.strip()) > 0: + mod_line = re.sub(r"[^\t ].*", "", mod_line) + size = len(mod_line) + # debug("Indent size [" + str(size) + "]:\n" + re.sub("\n", "", line_of_text)) + return size + + +def get_completions_for_class(class_name, search_statically, local_file_lines, prefix, global_file_path_list, built_in_types, member_exclusion_regexes, show_private): + + # TODO: Use prefix to make suggestions. + + completions = [] + scanned_classes = [] + original_class_name_found = False + + function_completions = [] + object_completions = [] + + # First, determine if it is a built in type and return those completions... + # Built-in types include String, Number, etc, and are configurable in settings. + for next_built_in_type in built_in_types: + try: + if next_built_in_type[BUILT_IN_TYPES_TYPE_ENABLED_KEY]: + next_class_name = next_built_in_type[BUILT_IN_TYPES_TYPE_NAME_KEY] + if next_class_name == class_name: + # We are looking at a built-in type! Collect completions for it... + completions = get_completions_for_built_in_type(next_built_in_type, search_statically, False, member_exclusion_regexes) + original_class_name_found = True + elif next_class_name == "Function" and not function_completions: + function_completions = get_completions_for_built_in_type(next_built_in_type, False, True, member_exclusion_regexes) + elif next_class_name == "Object" and not object_completions: + object_completions = get_completions_for_built_in_type(next_built_in_type, False, True, member_exclusion_regexes) + except Exception, e: + print repr(e) + + # If we didn't find completions for a built-in type, look further... + if not completions: + current_class_name = class_name + is_inherited = False + while current_class_name and current_class_name not in scanned_classes: + # print "Scanning " + current_class_name + "..." + # (class_found, completions, next_class_to_scan) + completion_tuple = (False, [], None) + if local_file_lines: + # print "Searching locally..." + # Search in local file. + if search_statically: + completion_tuple = collect_static_completions_from_file(local_file_lines, current_class_name, is_inherited, member_exclusion_regexes, show_private) + else: + completion_tuple = collect_instance_completions_from_file(local_file_lines, current_class_name, is_inherited, member_exclusion_regexes, show_private) + + # Search globally if nothing found and not local only... + if global_file_path_list and (not completion_tuple or not completion_tuple[0]): + class_regex = CLASS_REGEX % re.escape(current_class_name) + global_class_location_search_tuple = find_location_of_regex_in_files(class_regex, None, global_file_path_list) + if global_class_location_search_tuple: + # If found, perform Class method collection. + file_to_open = global_class_location_search_tuple[0] + class_file_lines = get_lines_for_file(file_to_open) + if search_statically: + completion_tuple = collect_static_completions_from_file(class_file_lines, current_class_name, is_inherited, member_exclusion_regexes, show_private) + else: + completion_tuple = collect_instance_completions_from_file(class_file_lines, current_class_name, is_inherited, member_exclusion_regexes, show_private) + + if current_class_name == class_name and completion_tuple[0]: + original_class_name_found = True + + # print "Tuple: " + str(completion_tuple) + completions.extend(completion_tuple[1]) + scanned_classes.append(current_class_name) + current_class_name = completion_tuple[2] + is_inherited = True + + if original_class_name_found: + # Add Object completions (if available) -- Everything is an Object + completions.extend(object_completions) + if search_statically: + completions.extend(function_completions) + + # Remove all duplicates + completions = list(set(completions)) + # Sort + completions.sort() + return completions + + +def case_insensitive_startswith(original_string, prefix): + return original_string.lower().startswith(prefix.lower()) + + +def get_completions_for_built_in_type(built_in_type, is_static, is_inherited, member_exclusion_regexes): + completions = [] + if is_static: + static_properties = [] + static_property_objs = built_in_type[BUILT_IN_TYPES_STATIC_PROPERTIES_KEY] + for next_static_property_obj in static_property_objs: + next_static_property = next_static_property_obj[BUILT_IN_TYPES_STATIC_PROPERTY_NAME_KEY] + if not is_member_excluded(next_static_property, member_exclusion_regexes): + static_properties.append(next_static_property) + for next_static_property in static_properties: + next_completion = get_property_completion_tuple(next_static_property, is_inherited) + completions.append(next_completion) + + static_methods = built_in_type[BUILT_IN_TYPES_STATIC_METHODS_KEY] + for next_static_method in static_methods: + method_name = next_static_method[BUILT_IN_TYPES_METHOD_NAME_KEY] + if not is_member_excluded(method_name, member_exclusion_regexes): + method_args = [] + method_insertions = [] + method_args_objs = next_static_method[BUILT_IN_TYPES_METHOD_ARGS_KEY] + for next_method_arg_obj in method_args_objs: + method_arg = next_method_arg_obj[BUILT_IN_TYPES_METHOD_ARG_NAME_KEY] + method_args.append(method_arg) + method_insertion = method_arg + try: + method_insertion = next_method_arg_obj[BUILT_IN_TYPES_METHOD_INSERTION_KEY] + except: + pass + method_insertions.append(method_insertion) + next_completion = get_method_completion_tuple(method_name, method_args, method_insertions, is_inherited) + completions.append(next_completion) + else: + instance_properties = [] + instance_property_objs = built_in_type[BUILT_IN_TYPES_INSTANCE_PROPERTIES_KEY] + for next_instance_property_obj in instance_property_objs: + next_instance_property = next_instance_property_obj[BUILT_IN_TYPES_INSTANCE_PROPERTY_NAME_KEY] + if not is_member_excluded(next_instance_property, member_exclusion_regexes): + instance_properties.append(next_instance_property_obj[BUILT_IN_TYPES_INSTANCE_PROPERTY_NAME_KEY]) + for next_instance_property in instance_properties: + next_completion = get_property_completion_tuple(next_instance_property, is_inherited) + completions.append(next_completion) + + instance_methods = built_in_type[BUILT_IN_TYPES_INSTANCE_METHODS_KEY] + for next_instance_method in instance_methods: + method_name = next_instance_method[BUILT_IN_TYPES_METHOD_NAME_KEY] + if not is_member_excluded(method_name, member_exclusion_regexes): + method_args = [] + method_insertions = [] + method_args_objs = next_instance_method[BUILT_IN_TYPES_METHOD_ARGS_KEY] + for next_method_arg_obj in method_args_objs: + method_arg = next_method_arg_obj[BUILT_IN_TYPES_METHOD_ARG_NAME_KEY] + method_args.append(method_arg) + method_insertion = method_arg + try: + method_insertion = next_method_arg_obj[BUILT_IN_TYPES_METHOD_INSERTION_KEY] + except: + pass + method_insertions.append(method_insertion) + next_completion = get_method_completion_tuple(method_name, method_args, method_insertions, is_inherited) + completions.append(next_completion) + return completions + + +def collect_instance_completions_from_file(file_lines, class_name, is_inherited, member_exclusion_regexes, show_private): + + completions = [] + extended_class = None + class_found = False + + property_completions = [] + function_completions = [] + + class_and_extends_regex = CLASS_REGEX_WITH_EXTENDS % class_name + + # Find class in file lines + match_tuple = get_positions_of_regex_match_in_file(file_lines, class_and_extends_regex) + if match_tuple: + class_found = True + row = match_tuple[0] + match = match_tuple[2] + + extended_class = match.group(3) + if extended_class: + extended_class = get_class_from_end_of_chain(extended_class) + + # If anything is equal to this after the first line, stop looking. + # At that point, the class definition has ended. + indentation_size = get_indentation_size(file_lines[row]) + # print str(indentation_size) + ": " + file_lines[row] + # Let's dig for some info on this class! + if row + 1 < len(file_lines): + inside_constructor = False + constructor_indentation = -1 + for row_index in range(row + 1, len(file_lines)): + next_row = file_lines[row_index] + next_indentation = get_indentation_size(next_row) + # print str(next_indentation) + ": " + next_row + if next_indentation >= 0: + if next_indentation > indentation_size: + if inside_constructor and next_indentation <= constructor_indentation: + inside_constructor = False + if inside_constructor: + this_assignment_regex = "([@]|(this\s*[.]))\s*([a-zA-Z0-9_$]+)\s*=" + match = re.search(this_assignment_regex, next_row) + if match: + prop = match.group(3) + if show_private or not is_member_excluded(prop, member_exclusion_regexes): + prop_completion_alias = get_property_completion_alias(prop, is_inherited) + prop_completion_insertion = get_property_completion_insertion(prop) + prop_completion = (prop_completion_alias, prop_completion_insertion) + if prop_completion not in property_completions: + property_completions.append(prop_completion) + else: # Not in constructor + # Look for method definitions + function_regex = FUNCTION_REGEX_ANY + match = re.search(function_regex, next_row) + if match and not re.search(STATIC_FUNCTION_REGEX, next_row): + function_name = match.group(2) + function_args_string = match.group(5) + if show_private or not is_member_excluded(function_name, member_exclusion_regexes): + if function_name != CONSTRUCTOR_KEYWORD: + function_args_list = [] + if function_args_string: + function_args_list = function_args_string.split(",") + for i in range(len(function_args_list)): + # Fix each one up... + next_arg = function_args_list[i] + next_arg = next_arg.strip() + next_arg = re.sub("[^a-zA-Z0-9_$].*", "", next_arg) + function_args_list[i] = re.sub(THIS_SUGAR_SYMBOL, "", next_arg) + function_alias = get_method_completion_alias(function_name, function_args_list, is_inherited) + function_insertion = get_method_completion_insertion(function_name, function_args_list) + function_completion = (function_alias, function_insertion) + if function_completion not in function_completions: + function_completions.append(function_completion) + else: + function_args_list = [] + if function_args_string: + function_args_list = function_args_string.split(",") + for i in range(len(function_args_list)): + # Check if it starts with @ -- this indicates an auto-set class variable + next_arg = function_args_list[i] + next_arg = next_arg.strip() + if next_arg.startswith(THIS_SUGAR_SYMBOL): + # Clean it up... + next_arg = re.sub(THIS_SUGAR_SYMBOL, "", next_arg) + next_arg = re.sub("[^a-zA-Z0-9_$].*", "", next_arg) + if show_private or not is_member_excluded(next_arg, member_exclusion_regexes): + prop_completion_alias = get_property_completion_alias(next_arg, is_inherited) + prop_completion_insertion = get_property_completion_insertion(next_arg) + prop_completion = (prop_completion_alias, prop_completion_insertion) + if prop_completion not in property_completions: + property_completions.append(prop_completion) + inside_constructor = True + constructor_indentation = get_indentation_size(next_row) + else: + # Indentation limit hit. We're not in the class anymore. + break + + completions = property_completions + function_completions + completion_tuple = (class_found, completions, extended_class) + return completion_tuple + + +def get_class_from_end_of_chain(dot_operation_chain): + class_at_end = dot_operation_chain + next_period_index = class_at_end.find(PERIOD_OPERATOR) + while next_period_index >= 0: + class_at_end = class_at_end[(next_period_index + 1):] + class_at_end.strip() + next_period_index = class_at_end.find(PERIOD_OPERATOR) + if len(class_at_end) == 0: + class_at_end = None + return class_at_end + + +def collect_static_completions_from_file(file_lines, class_name, is_inherited, member_exclusion_regexes, show_private): + + completions = [] + extended_class = None + class_found = False + + property_completions = [] + function_completions = [] + + class_and_extends_regex = CLASS_REGEX_WITH_EXTENDS % class_name + + # Find class in file lines + match_tuple = get_positions_of_regex_match_in_file(file_lines, class_and_extends_regex) + if match_tuple: + class_found = True + row = match_tuple[0] + match = match_tuple[2] + + extended_class = match.group(3) + if extended_class: + # Clean it up. + next_period_index = extended_class.find(PERIOD_OPERATOR) + while next_period_index >= 0: + extended_class = extended_class[(next_period_index + 1):] + extended_class.strip() + next_period_index = extended_class.find(PERIOD_OPERATOR) + if len(extended_class) == 0: + extended_class = None + + # If anything is equal to this after the first line, stop looking. + # At that point, the class definition has ended. + indentation_size = get_indentation_size(file_lines[row]) + + # Let's dig for some info on this class! + if row + 1 < len(file_lines): + + previous_indentation = -1 + + for row_index in range(row + 1, len(file_lines)): + next_row = file_lines[row_index] + next_indentation = get_indentation_size(next_row) + # print str(next_indentation) + ": " + next_row + if next_indentation >= 0: + if next_indentation > indentation_size: + # print "Next: " + str(next_indentation) + ", Prev: " + str(previous_indentation) + # Haven't found anything yet... + # Look for class-level definitions... + # If current line indentation is greater than previous indentation, we're in a definition + if next_indentation > previous_indentation and previous_indentation >= 0: + pass + # Otherwise, save this indentation and examine the current line, as it's class-level + else: + previous_indentation = next_indentation + function_regex = STATIC_FUNCTION_REGEX + match = re.search(function_regex, next_row) + if match: + function_name = match.group(4) + if show_private or not is_member_excluded(function_name, member_exclusion_regexes): + function_args_string = match.group(6) + function_args_list = [] + if function_args_string: + function_args_list = function_args_string.split(",") + for i in range(len(function_args_list)): + # Fix each one up... + next_arg = function_args_list[i] + next_arg = next_arg.strip() + next_arg = re.sub("[^a-zA-Z0-9_$].*", "", next_arg) + function_args_list[i] = next_arg + function_alias = get_method_completion_alias(function_name, function_args_list, is_inherited) + function_insertion = get_method_completion_insertion(function_name, function_args_list) + function_completion = (function_alias, function_insertion) + if function_completion not in function_completions: + function_completions.append(function_completion) + else: + # Look for static assignment + assignment_regex = STATIC_ASSIGNMENT_REGEX + match = re.search(assignment_regex, next_row) + if match: + prop = match.group(3) + if show_private or not is_member_excluded(prop, member_exclusion_regexes): + prop_completion_alias = get_property_completion_alias(prop, is_inherited) + prop_completion_insertion = get_property_completion_insertion(prop) + prop_completion = (prop_completion_alias, prop_completion_insertion) + if prop_completion not in property_completions: + property_completions.append(prop_completion) + else: + # Indentation limit hit. We're not in the class anymore. + break + + completions = property_completions + function_completions + completion_tuple = (class_found, completions, extended_class) + return completion_tuple + + +def get_property_completion_alias(property_name, is_inherited=False): + indicator = PROPERTY_INDICATOR + if is_inherited: + indicator = INHERITED_INDICATOR + indicator + completion_string = indicator + " " + property_name + return completion_string + + +def get_property_completion_insertion(property_name): + completion_string = property_name + completion_string = re.sub("[$]", "\$", completion_string) + return completion_string + + +def get_property_completion_tuple(property_name, is_inherited=False): + completion_tuple = (get_property_completion_alias(property_name, is_inherited), get_property_completion_insertion(property_name)) + return completion_tuple + + +def get_method_completion_alias(method_name, args, is_inherited=False): + indicator = METHOD_INDICATOR + if is_inherited: + indicator = INHERITED_INDICATOR + indicator + completion_string = indicator + " " + method_name + "(" + for i in range(len(args)): + completion_string = completion_string + args[i] + if i < len(args) - 1: + completion_string = completion_string + ", " + completion_string = completion_string + ")" + return completion_string + + +def get_method_completion_insertion(method_name, args): + + no_parens = False + + completion_string = re.sub("[$]", "\$", method_name) + + if len(args) == 1: + function_match = re.search(r".*?[=\-]>.*", args[0]) + if function_match: + no_parens = True + + if no_parens: + completion_string = completion_string + " " + else: + completion_string = completion_string + "(" + + for i in range(len(args)): + escaped_arg = re.sub("[$]", "\$", args[i]) + completion_string = completion_string + "${" + str(i + 1) + ":" + escaped_arg + "}" + if i < len(args) - 1: + completion_string = completion_string + ", " + + if not no_parens: + completion_string = completion_string + ")" + + return completion_string + + +def get_method_completion_tuple(method_name, arg_names, arg_insertions, is_inherited=False): + completion_tuple = (get_method_completion_alias(method_name, arg_names, is_inherited), get_method_completion_insertion(method_name, arg_insertions)) + return completion_tuple + + +def get_view_contents(view): + contents = "" + start = 0 + end = view.size() - 1 + if end > start: + entire_doc_region = sublime.Region(start, end) + contents = view.substr(entire_doc_region) + return contents + + +def convert_file_contents_to_lines(contents): + lines = contents.split("\n") + count = len(lines) + for i in range(count): + # Don't add to the last one--that would put an extra \n + if i < count - 1: + lines[i] = lines[i] + "\n" + return lines + + +def get_view_content_lines(view): + return convert_file_contents_to_lines(get_view_contents(view)) + + +def is_autocomplete_trigger(text): + trigger = False + trigger = trigger or text == THIS_SUGAR_SYMBOL + trigger = trigger or text == PERIOD_OPERATOR + return trigger + + +def is_member_excluded(member, exclusion_regexes): + excluded = False + for next_exclusion_regex in exclusion_regexes: + if re.search(next_exclusion_regex, member): + excluded = True + return excluded diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/messages.json b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/messages.json new file mode 100644 index 0000000..4f51010 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/messages.json @@ -0,0 +1,3 @@ +{ + "install": "README.md" +} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/package-metadata.json b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/package-metadata.json new file mode 100644 index 0000000..6edb4ef --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/CoffeeComplete Plus (Autocompletion)/package-metadata.json @@ -0,0 +1 @@ +{"url": "https://github.com/justinmahar/SublimeCSAutocompletePlus", "version": "2013.03.20.10.00.10", "description": "CoffeeScript autocompletions and more!"} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Add DocBlockr Line Before.sublime-macro b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Add DocBlockr Line Before.sublime-macro new file mode 100644 index 0000000..0db4daf --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Add DocBlockr Line Before.sublime-macro @@ -0,0 +1,7 @@ +[ + {"command": "move_to", "args": {"to": "bol"}}, + {"command": "insert_snippet", "args": { + "contents": "${TM_CURRENT_LINE/^\\s*(\\*\\s*).*$/$1/}\n" + }}, + {"command": "move", "args": {"by": "lines", "forward": false}} +] diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Add DocBlockr Line.sublime-macro b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Add DocBlockr Line.sublime-macro new file mode 100644 index 0000000..2726a69 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Add DocBlockr Line.sublime-macro @@ -0,0 +1,6 @@ +[ + {"command": "move_to", "args": {"to": "hardeol"}}, + {"command": "insert_snippet", "args": { + "contents": "\n${TM_CURRENT_LINE/^\\s*(\\*\\s*).*$/$1/}" + }} +] diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Base File.sublime-settings b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Base File.sublime-settings new file mode 100644 index 0000000..fcf1cb2 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Base File.sublime-settings @@ -0,0 +1,94 @@ +{ + // If true, when in a docblock, pressing tab after a @tag line (like @param, @return) + // will indent to the description. This is useful if you are writing a long description + // and want that block of text to stay aligned. + "jsdocs_deep_indent": true, + + // If true, then pressing enter while in a double-slash comment (like this one) + // will automatically add two slashes to the next line as well + "jsdocs_extend_double_slash": true, + + // the number of spaces to add after the leading * + "jsdocs_indentation_spaces": 1, + + // The number of spaces to add after the leading * in lines under the first line of each + // paragraph. This is only used together with automatic line wrapping. For example, a value + // of 3 might look like this: + // + // /** + // * Duis sed arcu non tellus eleifend ullamcorper quis non erat. Curabitur + // * metus elit, ultrices et tristique a, blandit at justo. + // * @param {String} foo Lorem ipsum dolor sit amet. + // * @param {Number} bar Nullam fringilla feugiat pretium. Quisque + // * consectetur, risus eu pellentesque tincidunt, nulla ipsum imperdiet + // * massa, sit amet adipiscing dolor. + // * @return {[Type]} + // */ + "jsdocs_indentation_spaces_same_para": 1, + + // whether the words following the @tags should align. + // Possible values are 'no', 'shallow', 'deep' + // For backwards compatibility, false is equivalent to 'no', true is equivalent to 'shallow' + // + // 'shallow' will just align the first words after the tag. eg: + // @param {MyCustomClass} myVariable desc1 + // @return {String} foo desc2 + // @property {Number} blahblah desc3 + // + // 'deep' will align each component of the tags, eg: + // @param {MyCustomClass} myVariable desc1 + // @return {String} foo desc2 + // @property {Number} blahblah desc3 + "jsdocs_align_tags": "deep", + + // Any additional boilerplate tags which should be added to each block. Should be an array of strings. + // Note that this only applies when a docblock is opened directly preceding a function. + // Tab points can be added by using snippet syntax, eg: ${1:default text} + "jsdocs_extra_tags": [], + + // A map to determine the value of variables, should hungarian notation (or similar) be in use + "jsdocs_notation_map": [], + + // Since there seems to be no agreed standard for "@return" or "@returns", use this setting to rename it as you wish. + "jsdocs_return_tag": "@return", + + // Add a '[description]' placeholder for the return tag? + "jsdocs_return_description": true, + + // Add a '[description]' placeholder for the param tag? + "jsdocs_param_description": true, + + // Whether there should be blank lines added between the description line, and between tags of different types. + // If true, the output might look like this: + // + // /** + // * [description] + // * + // * @param {String} foo + // * @param {Number} bar + // * + // * @return {[Type]} + // */ + "jsdocs_spacer_between_sections": false, + + // Whether each section should be indented to the same level, or indent each one individually. + // (When true, the @param section will lose the extra space immediately after each '@param'). + "jsdocs_per_section_indent": false, + + // Minimum spaces between cols (default is 1). For example, a value + // of 2 might look like this: + // + // /** + // * Duis sed arcu non tellus eleifend ullamcorper quis non erat. Curabitur + // * + // * @param {String} foo Lorem ipsum dolor sit amet. + // * @param {Number} bar Nullam fringilla feugiat pretium. Quisque + // * + // * @return {[Type]} description + // */ + "jsdocs_min_spaces_between_columns": 1, + + // indicates whether the @method tag should be added automatically + "jsdocs_autoadd_method_tag": false + +} diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default (Linux).sublime-keymap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default (Linux).sublime-keymap new file mode 100644 index 0000000..bab2c68 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default (Linux).sublime-keymap @@ -0,0 +1,7 @@ +[ + { "keys": ["alt+shift+tab"], "command": "jsdocs_reparse", "context": + [ + { "key": "selector", "operator": "equal", "operand": "comment.block" } + ] + } +] diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default (OSX).sublime-keymap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default (OSX).sublime-keymap new file mode 100644 index 0000000..17ed188 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default (OSX).sublime-keymap @@ -0,0 +1,36 @@ +[ + { "keys": ["super+j"], "command": "jsdocs_join", "context": + [ + { "key": "selector", "operator": "equal", "operand": "comment.block" } + ] + }, + { "keys": ["super+j"], "command": "jsdocs_join", "context": + [ + { "key": "selector", "operator": "equal", "operand": "comment.line" } + ] + }, + { "keys": ["super+alt+q"], "command": "jsdocs_wrap_lines", + "context": [ + { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true } + ] + }, + // add line after, in a DocBlock + { "keys": ["super+enter"], "command": "run_macro_file", "args": {"file": "Packages/DocBlockr/Add DocBlockr Line.sublime-macro"}, + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*", "match_all": true } + ] + }, + + // add line before, in a DocBlock + { "keys": ["super+shift+enter"], "command": "run_macro_file", "args": {"file": "Packages/DocBlockr/Add DocBlockr Line Before.sublime-macro"}, + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*", "match_all": true } + ] + } +] diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default.sublime-commands b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default.sublime-commands new file mode 100644 index 0000000..338c837 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default.sublime-commands @@ -0,0 +1,10 @@ +[ + { + "caption": "DocBlockr: Decorate line comment", + "command": "jsdocs_decorate" + }, + { + "caption": "DocBlockr: Reparse comment block", + "command": "jsdocs_reparse" + } +] diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default.sublime-keymap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default.sublime-keymap new file mode 100644 index 0000000..73897e1 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/Default.sublime-keymap @@ -0,0 +1,246 @@ +[ + // open a docblock with enter + { "keys": ["enter"], "command": "jsdocs", + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*(\\/\\*|###)\\*$", "match_all": true } + ] + }, + // open a docblock with keypad enter + { "keys": ["keypad_enter"], "command": "jsdocs", + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*(\\/\\*|###)\\*$", "match_all": true } + ] + }, + // open a docblock with tab + { "keys": ["tab"], "command": "jsdocs", + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*(\\/\\*|###)\\*$", "match_all": true } + ] + }, + // extend a docblock by adding an asterisk at the start + { "keys": ["enter"], "command": "insert_snippet", "args": {"contents": "\n${TM_CURRENT_LINE/^\\s*(\\*\\s*).*$/$1/}"}, + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*\\s*\\S", "match_all": true } + ] + }, + // extend a docblock by adding an asterisk at the start + { "keys": ["enter"], "command": "insert_snippet", "args": {"contents": "\n${TM_CURRENT_LINE/^\\s*(\\*\\s*).*$/$1/}"}, + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*", "match_all": true } + ] + }, + // extend a docblock with keypad enter by adding an asterisk at the start + { "keys": ["keypad_enter"], "command": "insert_snippet", "args": {"contents": "\n${TM_CURRENT_LINE/^\\s*(\\*\\s*).*$/$1/}"}, + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*", "match_all": true } + ] + }, + // trim the automatically added whitespace + { "keys": ["enter"], "command": "jsdocs_trim_auto_whitespace", + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "setting.trim_automatic_white_space", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*\\s*$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\s*$", "match_all": true } + ] + }, + // trim the automatically added whitespace + { "keys": ["keypad_enter"], "command": "jsdocs_trim_auto_whitespace", + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "setting.trim_automatic_white_space", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*\\s*$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\s*$", "match_all": true } + ] + }, + // extend line comments (// and #) + { "keys": ["enter"], "command": "insert_snippet", "args": {"contents": "\n${TM_CURRENT_LINE/^\\s*((?:#|\\/\\/)\\s*).*/$1/}"}, + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "setting.jsdocs_extend_double_slash", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.line", "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*(\\/\\/|#)", "match_all": true } + ] + }, + // extend line comments (// #) with keypad enter + { "keys": ["keypad_enter"], "command": "insert_snippet", "args": {"contents": "\n${TM_CURRENT_LINE/^\\s*((?:#|\\/\\/)\\s*).*$/$1/}"}, + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "setting.jsdocs_extend_double_slash", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.line", "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\/", "match_all": true } + ] + }, + // close a block comment (/* */) + { "keys": ["enter"], "command": "insert_snippet", "args": {"contents": "\n$0\n */"}, + "context": [ + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*$", "match_all": true } + ] + }, + // close a block comment (/* */) + { "keys": ["keypad_enter"], "command": "insert_snippet", "args": {"contents": "\n$0\n */"}, + "context": [ + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*$", "match_all": true } + ] + }, + { "keys": ["tab"], "command": "insert_snippet", "args": {"contents": "\n$0\n */"}, + "context": [ + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*$", "match_all": true } + ] + }, + { "keys": ["enter"], "command": "insert_snippet", "args": {"contents": "\n$0\n "}, "context": + [ + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true}, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*$", "match_all": true}, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\*\\/\\s*$", "match_all": true} + ] + }, + { "keys": ["keypad_enter"], "command": "insert_snippet", "args": {"contents": "\n$0\n "}, "context": + [ + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true}, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*$", "match_all": true}, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\*\\/$", "match_all": true} + ] + }, + // De-indent at the end of a comment block + { "keys": ["enter"], "command": "jsdocs_deindent", + "context": [ + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s+\\*/", "match_all": true } + ] + }, + // de-indent at the end of a comment block with keypad-enter + { "keys": ["keypad_enter"], "command": "jsdocs_deindent", + "context": [ + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s+\\*/", "match_all": true } + ] + }, + // Open an inline docblock (/** */) + { "keys": ["shift+enter"], "command": "jsdocs", "args": {"inline": true}, + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*{2}$", "match_all": true } + ] + }, + // Open an inline docblock + { "keys": ["shift+keypad_enter"], "command": "jsdocs", "args": {"inline": true}, + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*{2}$", "match_all": true } + ] + }, + // show the autocomplete + { "keys": ["@"], "command": "run_macro_file", "args": {"file": "Packages/DocBlockr/jsdocs-auto-complete.sublime-macro"}, + "context": [ + { "key": "setting.auto_complete", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*(?:\\/\\*|###)?\\*\\s*$", "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true } + ] + }, + // show the autocomplete in a coffee doc block + { "keys": ["@"], "command": "run_macro_file", "args": {"file": "Packages/DocBlockr/jsdocs-auto-complete.sublime-macro"}, + "context": [ + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*#\\s*$", "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.line.number-sign.coffee", "match_all": true } + ] + }, + // indent to align with the previous line + { "keys": ["tab"], "command": "jsdocs_indent", + "context": [ + { "key": "setting.jsdocs_deep_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*\\s*$", "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true } + ] + }, + // decorate a double-slash comment + { "keys": ["ctrl+enter"], "command": "jsdocs_decorate", + "context": [ + { "key": "selector", "operator": "equal", "operand": "comment.line.double-slash"} + ] + }, + // decorate a double-slash comment + { "keys": ["ctrl+keypad_enter"], "command": "jsdocs_decorate", + "context": [ + { "key": "selector", "operator": "equal", "operand": "comment.line.double-slash"} + ] + }, + // join lines inside a comment block, stripping the leading asterisk + { "keys": ["ctrl+j"], "command": "jsdocs_join", + "context": [ + { "key": "selector", "operator": "equal", "operand": "comment.block" } + ] + }, + // join lines in a line comment, stripping the leading // or # + { "keys": ["ctrl+j"], "command": "jsdocs_join", + "context": [ + { "key": "selector", "operator": "equal", "operand": "comment.line" } + ] + }, + // reparse a comment block's placeholders + { "keys": ["ctrl+alt+tab"], "command": "jsdocs_reparse", + "context": [ + { "key": "selector", "operator": "equal", "operand": "comment.block" } + ] + }, + { "keys": ["alt+q"], "command": "jsdocs_wrap_lines", + "context": [ + { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true } + ] + }, + + // add line after, in a DocBlock + { "keys": ["ctrl+enter"], "command": "run_macro_file", "args": {"file": "Packages/DocBlockr/Add DocBlockr Line.sublime-macro"}, + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*", "match_all": true } + ] + }, + + // add line before, in a DocBlock + { "keys": ["ctrl+shift+enter"], "command": "run_macro_file", "args": {"file": "Packages/DocBlockr/Add DocBlockr Line Before.sublime-macro"}, + "context": [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*", "match_all": true } + ] + } +] diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/HISTORY.md b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/HISTORY.md new file mode 100644 index 0000000..72063ff --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/DocBlockr/HISTORY.md @@ -0,0 +1,119 @@ +# DocBlockr Extended Changelog + +- **v2.10.0**, *21 February 2013* + - Adds Sublime Text 3 support (thanks to @lxe and @rmarscher) + - YUI-style `@method` tags can be automatically added with the `jsdocs_autoadd_method_tag` setting (thanks to @maheshjag) + - Variables starting with `$` are not wiped out when reparsing a doc block (thanks @ryrun) +- **v2.9.3**, *12 December 2012* + - Fixed bug which stopped regular comments from closing automatically +- **v2.9.2**, *11 December 2012* + - This one goes out to [Thanasis Polychronakis](https://github.com/thanpolas). + - Structure of the modules greatly improved + - Fixes bug with matching languages with hyphens in the name + - Adds support for CUDA-C++ +- **v2.9.1**, *31 October 2012* + - Thanks to [wronex](https://github.com/wronex), Alt+Q will reformat the entire DocBlock, with customisable indentation. + - Thanks to [Pavel Voronin](https://github.com/pavel-voronin), spaces around arguments are handled properly. + - **C/C++**: Array arguments are accepted + - **C/C++**: An argument list containing only `void` doesn't output any `@param` tags + - **PHP**: Arguments with an array as a default value inside multi-line arguments are handled properly + - Ctrl/Cmd + Enter and Ctrl/Cmd + Shift + Enter work inside DocBlocks. +- **v2.9.0**, *1 October 2012* + - Adds ObjectiveC and ObjectiveC++ support, thanks to some help from [Robb Böhnke](https://github.com/robb) + - Very buggy code, support isn't great but it's better than nothing (hopefully). + - Single-line comments inside function definitions are handled + - Notation rules are applied to functions, which means they can define a return type by their name, eg: `strFoo` + - Notation rules can define arbitrary tags, for example: functions with a prefix of "_" should get the `@private` tag. + - Given the above addition, JS functions starting with an underscore are no longer marked as `@private` by default. +- **v2.8.2**, *28 September 2012* + - When a function is defined across many lines, the parser will find the arguments on extra lines. +- **v2.8.1**, *13 September 2012* + - Pressing tab on an empty line will perform a deep indentation instead of moving to the next field + - Functions starting with `_` will get a `@private` tag in Javascript (thanks to [Andrew Hanna](https://github.com/percyhanna)) +- **v2.8.0**, *26 August 2012* + - New feature: Alt+Q to reformat the description field of a docblock to make it fit nicely within your ruler. + - Adds support for C++ (thanks to [Rafał Chłodnicki](https://github.com/rchl)) + - Indenting to the description field works in languages which don't require type information in the docblock. +- **v2.7.4**, *8 August 2012* + - Fix for Actionscript docblocks not working +- **v2.7.3**, *7 August 2012* + - No trailing whitespace added on the spacer lines added when `jsdocs_spacer_between_sections` is on (thanks to [Rafał Chłodnicki](https://github.com/rchl)) + - Fixes a bug with detecting variable names when they have a default value in PHP + - Changes the notation map to not ignore the leading `$` or `_`, meaning that (for example), you could specify that variables starting with `$` are `HTMLElement`s. +- **v2.7.2**, *6 August 2012* + - Small bug fix, thanks to [djuliusl](https://github.com/djuliusl) +- **v2.7.1**, *5 August 2012* + - Adds per-section alignment (can be set using `jsdocs_per_section_indent`) + - Description field for `@return` tag can be disabled using `jsdocs_return_description`. *(Both thanks to [Drarok](https://github.com/Drarok))* +- **v2.7.0**, *5 August 2012* + - Adds support for ASDocs (Actionscript) + - Changes Linux shortcut for reparsing a comment block to Alt+Shift+Tab +- **v2.6.5**, *19 June 2012* + - Bugfix for adding linebreaks when not at the start or end of a line +- **v2.6.4**, *4 June 2012* + - Better support for indentation using tabs + - YUI tags are supported by the autocomplete + - When only whitespace exists on a docblock line, and `trim_automatic_white_space` is set to true, the whitespace is removed. + - Better support for comment blocks opened with `/*` +- **v2.6.3**, *30 April 2012* + - Fixes the join-lines command Ctrl+J for CoffeeScript. +- **v2.6.2**, *22 March 2012* + - PHP `__destruct` functions don't get a return value *(thanks to [Alex Whitman](https://github.com/whitman))*. +- **v2.6.1**, *16 March 2012* + - Fixes bug whereby the return values of functions which are named `set` or `add`, *etc* were not being guessed correctly. + - `@return` tags are now given a description field *(thanks to [Nick Dowdell](https://github.com/mikulad13))*. +- **v2.6.0**, *4 March 2012* + - Added CoffeeScript support +- **v2.5.0**, *11 February 2012* + - Implemented DocBlock reparsing to re-enable tabstop fields. Hotkey is `Ctrl+Alt+Tab`. +- **v2.4.1**, *2 February 2012* + - Fixed bug [#36](https://github.com/spadgos/sublime-jsdocs/issues/36) whereby docblocks were not being properly extended inside of `$0]]> + script + source.php,text.html + <script> + text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Entities/ampersand.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Entities/ampersand.sublime-snippet new file mode 100644 index 0000000..91020d7 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Entities/ampersand.sublime-snippet @@ -0,0 +1,7 @@ + + + & + source.php,text.html + & + text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Entities/non-breaking space.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Entities/non-breaking space.sublime-snippet new file mode 100644 index 0000000..d74934f --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Entities/non-breaking space.sublime-snippet @@ -0,0 +1,7 @@ + + + nbsp + source.php,text.html +   + text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - HTML 5 Shim.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - HTML 5 Shim.sublime-snippet new file mode 100644 index 0000000..b4352ee --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - HTML 5 Shim.sublime-snippet @@ -0,0 +1,6 @@ + + ]]> + ! + IE Conditional Comment: HTML5 Shim + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 5_0 only.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 5_0 only.sublime-snippet new file mode 100644 index 0000000..cf35945 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 5_0 only.sublime-snippet @@ -0,0 +1,6 @@ + + $1]]> + ! + IE Conditional Comment: IE5 only + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 5_5 only.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 5_5 only.sublime-snippet new file mode 100644 index 0000000..735c25a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 5_5 only.sublime-snippet @@ -0,0 +1,6 @@ + + $1]]> + ! + IE Conditional Comment: IE5.5 only + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 5_x.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 5_x.sublime-snippet new file mode 100644 index 0000000..cdb31ff --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 5_x.sublime-snippet @@ -0,0 +1,6 @@ + + $1]]> + ! + IE Conditional Comment: IE5.x + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 6 and below.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 6 and below.sublime-snippet new file mode 100644 index 0000000..22e3877 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 6 and below.sublime-snippet @@ -0,0 +1,6 @@ + + $1]]> + ! + IE Conditional Comment: <IE6 + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 6 only.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 6 only.sublime-snippet new file mode 100644 index 0000000..7e1606d --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 6 only.sublime-snippet @@ -0,0 +1,6 @@ + + $1]]> + ! + IE Conditional Comment: IE6 + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 7 and above.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 7 and above.sublime-snippet new file mode 100644 index 0000000..ef45bed --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 7 and above.sublime-snippet @@ -0,0 +1,6 @@ + + $1]]> + ! + IE Conditional Comment: IE7> + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 7 and below.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 7 and below.sublime-snippet new file mode 100644 index 0000000..c9c8cba --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 7 and below.sublime-snippet @@ -0,0 +1,6 @@ + + $1]]> + ! + IE Conditional Comment: <IE7 + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 8 and below.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 8 and below.sublime-snippet new file mode 100644 index 0000000..6768ec7 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 8 and below.sublime-snippet @@ -0,0 +1,6 @@ + + $1]]> + ! + IE Conditional Comment: <IE8 + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 9 and below.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 9 and below.sublime-snippet new file mode 100644 index 0000000..9f99f2f --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer 9 and below.sublime-snippet @@ -0,0 +1,6 @@ + + $1]]> + ! + IE Conditional Comment: <IE9 + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer.sublime-snippet new file mode 100644 index 0000000..b347030 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - Internet Explorer.sublime-snippet @@ -0,0 +1,6 @@ + + $1]]> + ! + IE Conditional Comment: IE + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - NOT Internet Explorer.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - NOT Internet Explorer.sublime-snippet new file mode 100644 index 0000000..2bb8eb7 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Internet Explorer Conditional Comments/IE Conditional Comment - NOT Internet Explorer.sublime-snippet @@ -0,0 +1,6 @@ + + $1]]> + ! + IE Conditional Comment: Not IE + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Chrome Frame.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Chrome Frame.sublime-snippet new file mode 100644 index 0000000..dcf2ef2 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Chrome Frame.sublime-snippet @@ -0,0 +1,12 @@ + + +]]> + Google AJAX Libraries: Chrome Frame + source.php,text.html + ajax + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Dojo.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Dojo.sublime-snippet new file mode 100644 index 0000000..75e7286 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Dojo.sublime-snippet @@ -0,0 +1,6 @@ + + $0]]> + Google AJAX Libraries: Dojo + text.html + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Ext Core.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Ext Core.sublime-snippet new file mode 100644 index 0000000..4e1409a --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Ext Core.sublime-snippet @@ -0,0 +1,6 @@ + + $0]]> + ajax + Google AJAX Libraries: Ext Core + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - MooTools.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - MooTools.sublime-snippet new file mode 100644 index 0000000..6af0521 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - MooTools.sublime-snippet @@ -0,0 +1,6 @@ + + $0]]> + ajax + Google AJAX Libraries: MooTools + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Prototype.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Prototype.sublime-snippet new file mode 100644 index 0000000..dba0a01 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - Prototype.sublime-snippet @@ -0,0 +1,6 @@ + + $0]]> + ajax + Google AJAX Libraries: Prototype + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - SWFObject.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - SWFObject.sublime-snippet new file mode 100644 index 0000000..eebd6b3 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - SWFObject.sublime-snippet @@ -0,0 +1,6 @@ + + $0]]> + ajax + Google AJAX Libraries: SWFObject + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - WebFont Loader.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - WebFont Loader.sublime-snippet new file mode 100644 index 0000000..adca419 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - WebFont Loader.sublime-snippet @@ -0,0 +1,6 @@ + + $0]]> + ajax + Google AJAX Libraries: WebFont Loader + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - YUI!.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - YUI!.sublime-snippet new file mode 100644 index 0000000..30df7bd --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - YUI!.sublime-snippet @@ -0,0 +1,6 @@ + + $0]]> + ajax + Google AJAX Libraries: YUI! + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - jQuery UI.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - jQuery UI.sublime-snippet new file mode 100644 index 0000000..568be94 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - jQuery UI.sublime-snippet @@ -0,0 +1,6 @@ + + $0]]> + ajax + Google AJAX Libraries: jQuery UI + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - jQuery.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - jQuery.sublime-snippet new file mode 100644 index 0000000..c8017f4 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - jQuery.sublime-snippet @@ -0,0 +1,6 @@ + + $0]]> + ajax + Google AJAX Libraries: jQuery + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - script_aculo_us.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - script_aculo_us.sublime-snippet new file mode 100644 index 0000000..2c7421c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Javascript Libraries/Google AJAX Libraries - script_aculo_us.sublime-snippet @@ -0,0 +1,6 @@ + + $0]]> + ajax + Google AJAX Libraries: Scriptaculous + source.php,text.html + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Macros/Forward Delete All Whitespace.tmMacro b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Macros/Forward Delete All Whitespace.tmMacro new file mode 100644 index 0000000..5e1561c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Macros/Forward Delete All Whitespace.tmMacro @@ -0,0 +1,42 @@ + + + + + commands + + + argument + + action + findNext + findInProjectIgnoreCase + 0 + findString + (?=\S)|\s+ + ignoreCase + 0 + regularExpression + 1 + replaceAllScope + document + wrapAround + 0 + + command + findWithOptions: + + + command + deleteBackward: + + + keyEquivalent + ^~ + name + Forward Delete All Whitespace + scope + text.html + uuid + 7B7E945E-A112-11D9-A5A2-000D93C8BE28 + + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Comments.tmPreferences b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Comments.tmPreferences new file mode 100644 index 0000000..3aab8ef --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Comments.tmPreferences @@ -0,0 +1,30 @@ + + + + + name + Comments + scope + text.html + settings + + shellVariables + + + name + TM_COMMENT_START + value + <!-- + + + name + TM_COMMENT_END + value + --> + + + + uuid + B79BDBCF-D0C9-468E-BE62-744074D7825F + + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Completions HTML Attributes.tmPreferences b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Completions HTML Attributes.tmPreferences new file mode 100644 index 0000000..7891a7b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Completions HTML Attributes.tmPreferences @@ -0,0 +1,346 @@ + + + + + name + Completions HTML Attributes + scope + text.html meta.tag -(entity.other.attribute-name | source | entity.name.tag | string | invalid.illegal.incomplete.html) + settings + + completions + + ABBR + abbr + ABOVE + above + ACCEPT + accept + ACCESSKEY + accesskey + ACTION + action + ALIGN + align + ALINK + alink + ALT + alt + ARCHIVE + archive + AUTOSTART + autostart + AXIS + axis + BACKGROUND + background + BALANCE + balance + BEHAVIOR + behavior + BELOW + below + BGCOLOR + bgcolor + BGPROPERTIES + bgproperties + BORDER + border + BORDERCOLOR + bordercolor + BORDERCOLORDARK + bordercolordark + BORDERCOLORLIGHT + bordercolorlight + BOTTOMMARGIN + bottommargin + CABBASE + cabbase + CELLPADDING + cellpadding + CELLSPACING + cellspacing + CHARSET + charset + CHECKED + checked + CITE + cite + CLASS + class + CLASSID + classid + CLEAR + clear + CLIP + clip + CODE + code + CODEBASE + codebase + CODETYPE + codetype + COLOR + color + COLS + cols + COLSPAN + colspan + COMPACT + compact + CONTENT + content + CONTROLS + controls + COORDS + coords + DATA + data + DATAPAGESIZE + datapagesize + DATETIME + datetime + DECLARE + declare + DEFER + defer + DELAY + delay + DIR + dir + DIRECTION + direction + DISABLED + disabled + DYNSRC + dynsrc + ENCTYPE + enctype + FACE + face + FOR + for + FRAME + frame + FRAMEBORDER + frameborder + FRAMESPACING + framespacing + GUTTER + gutter + HEADERS + headers + HEIGHT + height + HIDDEN + hidden + HREF + href + HREFLANG + hreflang + HSPACE + hspace + HTTP-EQUIV + http-equiv + ID + id + ISMAP + ismap + LABEL + label + LANG + lang + lang + language + LEFT + left + LEFTMARGIN + leftmargin + LINK + link + LONGDESC + longdesc + LOOP + loop + LOWSRC + lowsrc + MARGINHEIGHT + marginheight + MARGINWIDTH + marginwidth + MAXLENGTH + maxlength + MAYSCRIPT + mayscript + MEDIA + media + METHOD + method + MULTIPLE + multiple + NAME + name + NOEXTERNALDATA + noexternaldata + NORESIZE + noresize + NOSHADE + noshade + NOWRAP + nowrap + onBlur + onblur + onChange + onchange + onClick + onclick + onDblClick + ondblclick + onError + onerror + onFocus + onfocus + onKeyDown + onkeydown + onKeyPress + onkeypress + onKeyUp + onkeyup + onLoad + onload + onMouseDown + onmousedown + onMouseMove + onmousemove + onMouseOut + onmouseout + onMouseOver + onmouseover + onMouseUp + onmouseup + onReset + onreset + onResize + onresize + onSelect + onselect + onSubmit + onsubmit + onUnload + onunload + PAGEX + pagex + PAGEY + pagey + POINTSIZE + pointsize + READONLY + readonly + REL + rel + REV + rev + RIGHTMARGIN + rightmargin + ROWS + rows + ROWSPAN + rowspan + RULES + rules + runat + SCOPE + scope + SCROLLAMOUNT + scrollamount + SCROLLDELAY + scrolldelay + SCROLLING + scrolling + SELECTED + selected + SHAPE + shape + SIZE + size + SPAN + span + SRC + src + STANDBY + standby + START + start + STYLE + style + SUMMARY + summary + TABINDEX + tabindex + TARGET + target + TEXT + text + TITLE + title + TOP + top + TOPMARGIN + topmargin + TRUESPEED + truespeed + TYPE + type + USEMAP + usemap + VALIGN + valign + VALUE + value + VALUETYPE + valuetype + VISIBILITY + visibility + VLINK + vlink + VOLUME + volume + VSPACE + vspace + WIDTH + width + WRAP + wrap + xml:lang + xmlns + Z-INDEX + z-index + + disableDefaultCompletion + 1 + shellVariables + + + name + TM_COMPLETION_split + value + , + + + name + TM_COMPLETION_scope + value + html_attributes + + + name + TM_COMPLETIONS + value + <a href="",<a name="",<a title="",<a target="",<a charset="",<a class="",<a id="",<a style="",<a hreflang="",<a accesskey="",<a tabindex="",<a rel="",<a rev="",<a shape="",<a coords="",<a dir="",<a lang="",<a onfocus="",<a onblur="",<a onclick="",<a ondblclick="",<a onmousedown="",<a onmouseup="",<a onmouseover="",<a onmousemove="",<a onmouseout="",<a onkeypress="",<a onkeydown="",<a onkeyup="",<abbr class="",<abbr id="",<abbr style="",<abbr title="",<abbr dir="",<abbr lang="",<abbr onclick="",<abbr ondblclick="",<abbr onmousedown="",<abbr onmouseup="",<abbr onmouseover="",<abbr onmousemove="",<abbr onmouseout="",<abbr onkeypress="",<abbr onkeydown="",<abbr onkeyup="",<acronym class="",<acronym id="",<acronym style="",<acronym title="",<acronym dir="",<acronym lang="",<acronym onclick="",<acronym ondblclick="",<acronym onmousedown="",<acronym onmouseup="",<acronym onmouseover="",<acronym onmousemove="",<acronym onmouseout="",<acronym onkeypress="",<acronym onkeydown="",<acronym onkeyup="",<address class="",<address id="",<address style="",<address title="",<address dir="",<address lang="",<address onclick="",<address ondblclick="",<address onmousedown="",<address onmouseup="",<address onmouseover="",<address onmousemove="",<address onmouseout="",<address onkeypress="",<address onkeydown="",<address onkeyup="",<applet noexternaldata="",<applet code="",<applet codebase="",<applet name="",<applet alt="",<applet width="",<applet height="",<applet hspace="",<applet vspace="",<applet align="",<applet cabbase="",<applet mayscript="",<applet archive="",<applet class="",<applet id="",<applet style="",<area name="",<area value="",<area shape="",<area coords="",<area href="",<area target="",<area alt="",<area disabled="disabled",<area class="",<area id="",<area style="",<area accesskey="",<area tabindex="",<area title="",<area dir="",<area lang="",<area onfocus="",<area onblur="",<area onclick="",<area ondblclick="",<area onmousedown="",<area onmouseup="",<area onmouseover="",<area onmousemove="",<area onmouseout="",<area onkeypress="",<area onkeydown="",<area onkeyup="",<b class="",<b id="",<b style="",<b title="",<b dir="",<b lang="",<b onclick="",<b ondblclick="",<b onmousedown="",<b onmouseup="",<b onmouseover="",<b onmousemove="",<b onmouseout="",<b onkeypress="",<b onkeydown="",<b onkeyup="",<base href="",<base target="",<basefont size="",<basefont face="",<basefont color="#333333",<basefont id="",<bdo dir="",<bdo lang="",<bdo class="",<bdo id="",<bdo style="",<bdo title="",<bgsound src="",<bgsound loop="",<bgsound balance="",<bgsound volume="",<bgsound delay="",<big class="",<big id="",<big style="",<big title="",<big dir="",<big lang="",<big onclick="",<big ondblclick="",<big onmousedown="",<big onmouseup="",<big onmouseover="",<big onmousemove="",<big onmouseout="",<big onkeypress="",<big onkeydown="",<big onkeyup="",<blockquote cite="",<blockquote class="",<blockquote id="",<blockquote style="",<blockquote title="",<blockquote dir="",<blockquote lang="",<blockquote onclick="",<blockquote ondblclick="",<blockquote onmousedown="",<blockquote onmouseup="",<blockquote onmouseover="",<blockquote onmousemove="",<blockquote onmouseout="",<blockquote onkeypress="",<blockquote onkeydown="",<blockquote onkeyup="",<body bgcolor="",<body background="",<body text="",<body link="",<body vlink="",<body alink="",<body leftmargin="",<body topmargin="",<body bgproperties="",<body rightmargin="",<body bottommargin="",<body marginwidth="",<body marginheight="",<body class="",<body id="",<body style="",<body title="",<body dir="",<body lang="",<body onload="",<body onunload="",<body onblur="",<body onerror="",<body onfocus="",<body onresize="",<br clear="",<br class="",<br id="",<br style="",<br title="",<button name="",<button value="",<button type="",<button disabled="disabled",<button class="",<button id="",<button style="",<button accesskey="",<button tabindex="",<button title="",<button dir="",<button lang="",<button onfocus="",<button onblur="",<button onclick="",<button ondblclick="",<button onmousedown="",<button onmouseup="",<button onmouseover="",<button onmousemove="",<button onmouseout="",<button onkeypress="",<button onkeydown="",<button onkeyup="",<caption align="",<caption valign="",<caption class="",<caption id="",<caption style="",<caption title="",<caption dir="",<caption lang="",<caption onclick="",<caption ondblclick="",<caption onmousedown="",<caption onmouseup="",<caption onmouseover="",<caption onmousemove="",<caption onmouseout="",<caption onkeypress="",<caption onkeydown="",<caption onkeyup="",<cite class="",<cite id="",<cite style="",<cite title="",<cite dir="",<cite lang="",<cite onclick="",<cite ondblclick="",<cite onmousedown="",<cite onmouseup="",<cite onmouseover="",<cite onmousemove="",<cite onmouseout="",<cite onkeypress="",<cite onkeydown="",<cite onkeyup="",<code class="",<code id="",<code style="",<code title="",<code dir="",<code lang="",<code onclick="",<code ondblclick="",<code onmousedown="",<code onmouseup="",<code onmouseover="",<code onmousemove="",<code onmouseout="",<code onkeypress="",<code onkeydown="",<code onkeyup="",<col align="",<col valign="",<col span="",<col width="",<col class="",<col id="",<col style="",<col title="",<col dir="",<col lang="",<col onclick="",<col ondblclick="",<col onmousedown="",<col onmouseup="",<col onmouseover="",<col onmousemove="",<col onmouseout="",<col onkeypress="",<col onkeydown="",<col onkeyup="",<colgroup align="",<colgroup valign="",<colgroup span="",<colgroup width="",<colgroup class="",<colgroup id="",<colgroup style="",<colgroup title="",<colgroup dir="",<colgroup lang="",<colgroup onclick="",<colgroup ondblclick="",<colgroup onmousedown="",<colgroup onmouseup="",<colgroup onmouseover="",<colgroup onmousemove="",<colgroup onmouseout="",<colgroup onkeypress="",<colgroup onkeydown="",<colgroup onkeyup="",<dd class="",<dd id="",<dd style="",<dd title="",<dd dir="",<dd lang="",<dd onclick="",<dd ondblclick="",<dd onmousedown="",<dd onmouseup="",<dd onmouseover="",<dd onmousemove="",<dd onmouseout="",<dd onkeypress="",<dd onkeydown="",<dd onkeyup="",<del cite="",<del datetime="",<del class="",<del id="",<del style="",<del title="",<del dir="",<del lang="",<del onclick="",<del ondblclick="",<del onmousedown="",<del onmouseup="",<del onmouseover="",<del onmousemove="",<del onmouseout="",<del onkeypress="",<del onkeydown="",<del onkeyup="",<dfn class="",<dfn id="",<dfn style="",<dfn title="",<dfn dir="",<dfn lang="",<dfn onclick="",<dfn ondblclick="",<dfn onmousedown="",<dfn onmouseup="",<dfn onmouseover="",<dfn onmousemove="",<dfn onmouseout="",<dfn onkeypress="",<dfn onkeydown="",<dfn onkeyup="",<div align="",<div class="",<div id="",<div style="",<div title="",<div dir="",<div lang="",<div onclick="",<div ondblclick="",<div onmousedown="",<div onmouseup="",<div onmouseover="",<div onmousemove="",<div onmouseout="",<div onkeypress="",<div onkeydown="",<div onkeyup="",<dl compact="",<dl class="",<dl id="",<dl style="",<dl title="",<dl dir="",<dl lang="",<dl onclick="",<dl ondblclick="",<dl onmousedown="",<dl onmouseup="",<dl onmouseover="",<dl onmousemove="",<dl onmouseout="",<dl onkeypress="",<dl onkeydown="",<dl onkeyup="",<dt class="",<dt id="",<dt style="",<dt title="",<dt dir="",<dt lang="",<dt onclick="",<dt ondblclick="",<dt onmousedown="",<dt onmouseup="",<dt onmouseover="",<dt onmousemove="",<dt onmouseout="",<dt onkeypress="",<dt onkeydown="",<dt onkeyup="",<em class="",<em id="",<em style="",<em title="",<em dir="",<em lang="",<em onclick="",<em ondblclick="",<em onmousedown="",<em onmouseup="",<em onmouseover="",<em onmousemove="",<em onmouseout="",<em onkeypress="",<em onkeydown="",<em onkeyup="",<embed src="",<embed width="",<embed height="",<embed hspace="",<embed vspace="",<embed hidden="",<embed autostart="",<embed loop="",<embed align="",<embed class="",<embed style="",<embed dir="",<embed lang="",<fieldset class="",<fieldset id="",<fieldset style="",<fieldset title="",<fieldset accesskey="",<fieldset dir="",<fieldset lang="",<fieldset onclick="",<fieldset ondblclick="",<fieldset onmousedown="",<fieldset onmouseup="",<fieldset onmouseover="",<fieldset onmousemove="",<fieldset onmouseout="",<fieldset onkeypress="",<fieldset onkeydown="",<fieldset onkeyup="",<font color="#333333",<font size="",<font face="",<font pointsize="",<font class="",<font id="",<font style="",<font title="",<font dir="",<font lang="",<form action="",<form method="",<form enctype="",<form name="",<form target="",<form class="",<form id="",<form style="",<form title="",<form dir="",<form lang="",<form runat="",<form onsubmit="",<form onreset="",<form onclick="",<form ondblclick="",<form onmousedown="",<form onmouseup="",<form onmouseover="",<form onmousemove="",<form onmouseout="",<form onkeypress="",<form onkeydown="",<form onkeyup="",<frame src="",<frame name="",<frame frameborder="",<frame scrolling="",<frame noresize="",<frame marginwidth="",<frame marginheight="",<frame bordercolor="#CCCCCC",<frame class="",<frame id="",<frame style="",<frame title="",<frame longdesc="",<frameset rows="",<frameset cols="",<frameset framespacing="",<frameset frameborder="",<frameset border="",<frameset bordercolor="#CCCCCC",<frameset class="",<frameset id="",<frameset style="",<frameset title="",<frameset onload="",<frameset onunload="",<h1 align="",<h1 class="",<h1 id="",<h1 style="",<h1 title="",<h1 dir="",<h1 lang="",<h1 onclick="",<h1 ondblclick="",<h1 onmousedown="",<h1 onmouseup="",<h1 onmouseover="",<h1 onmousemove="",<h1 onmouseout="",<h1 onkeypress="",<h1 onkeydown="",<h1 onkeyup="",<h2 align="",<h2 class="",<h2 id="",<h2 style="",<h2 title="",<h2 dir="",<h2 lang="",<h2 onclick="",<h2 ondblclick="",<h2 onmousedown="",<h2 onmouseup="",<h2 onmouseover="",<h2 onmousemove="",<h2 onmouseout="",<h2 onkeypress="",<h2 onkeydown="",<h2 onkeyup="",<h3 align="",<h3 class="",<h3 id="",<h3 style="",<h3 title="",<h3 dir="",<h3 lang="",<h3 onclick="",<h3 ondblclick="",<h3 onmousedown="",<h3 onmouseup="",<h3 onmouseover="",<h3 onmousemove="",<h3 onmouseout="",<h3 onkeypress="",<h3 onkeydown="",<h3 onkeyup="",<h4 align="",<h4 class="",<h4 id="",<h4 style="",<h4 title="",<h4 dir="",<h4 lang="",<h4 onclick="",<h4 ondblclick="",<h4 onmousedown="",<h4 onmouseup="",<h4 onmouseover="",<h4 onmousemove="",<h4 onmouseout="",<h4 onkeypress="",<h4 onkeydown="",<h4 onkeyup="",<h5 align="",<h5 class="",<h5 id="",<h5 style="",<h5 title="",<h5 dir="",<h5 lang="",<h5 onclick="",<h5 ondblclick="",<h5 onmousedown="",<h5 onmouseup="",<h5 onmouseover="",<h5 onmousemove="",<h5 onmouseout="",<h5 onkeypress="",<h5 onkeydown="",<h5 onkeyup="",<h6 align="",<h6 class="",<h6 id="",<h6 style="",<h6 title="",<h6 dir="",<h6 lang="",<h6 onclick="",<h6 ondblclick="",<h6 onmousedown="",<h6 onmouseup="",<h6 onmouseover="",<h6 onmousemove="",<h6 onmouseout="",<h6 onkeypress="",<h6 onkeydown="",<h6 onkeyup="",<hr align="",<hr width="",<hr size="",<hr noshade="",<hr color="#333333",<hr class="",<hr id="",<hr style="",<hr title="",<hr onclick="",<hr ondblclick="",<hr onmousedown="",<hr onmouseup="",<hr onmouseover="",<hr onmousemove="",<hr onmouseout="",<hr onkeypress="",<hr onkeydown="",<hr onkeyup="",<html xmlns="",<html xml:lang="",<html lang="",<html dir="",<i class="",<i id="",<i style="",<i title="",<i dir="",<i lang="",<i onclick="",<i ondblclick="",<i onmousedown="",<i onmouseup="",<i onmouseover="",<i onmousemove="",<i onmouseout="",<i onkeypress="",<i onkeydown="",<i onkeyup="",<iframe src="",<iframe name="",<iframe width="",<iframe marginwidth="",<iframe height="",<iframe marginheight="",<iframe align="",<iframe scrolling="",<iframe frameborder="",<iframe hspace="",<iframe vspace="",<iframe class="",<iframe id="",<iframe style="",<iframe title="",<iframe longdesc="",<ilayer name="",<ilayer id="",<ilayer left="",<ilayer top="",<ilayer pagex="",<ilayer pagey="",<ilayer above="",<ilayer below="",<ilayer z-index="",<ilayer width="",<ilayer height="",<ilayer visibility="",<ilayer clip="",<ilayer bgcolor="",<ilayer background="",<ilayer src="",<ilayer onfocus="",<ilayer onblur="",<ilayer onload="",<ilayer onmouseover="",<ilayer onmouseout="",<img src="",<img alt="",<img name="",<img width="",<img height="",<img hspace="",<img vspace="",<img border="",<img align="",<img usemap="",<img ismap="ismap",<img dynsrc="",<img controls="",<img start="",<img loop="",<img lowsrc="",<img class="",<img id="",<img style="",<img title="",<img longdesc="",<img dir="",<img lang="",<img onclick="",<img ondblclick="",<img onmousedown="",<img onmouseup="",<img onmouseover="",<img onmousemove="",<img onmouseout="",<img onkeypress="",<img onkeydown="",<img onkeyup="",<input name="",<input type="",<input disabled="disabled",<input class="",<input id="",<input style="",<input accesskey="",<input tabindex="",<input title="",<input dir="",<input lang="",<input onfocus="",<input onblur="",<input onselect="",<input onchange="",<input onclick="",<input ondblclick="",<input onmousedown="",<input onmouseup="",<input onmouseover="",<input onmousemove="",<input onmouseout="",<input onkeypress="",<input onkeydown="",<input onkeyup="",<input value="",<input size="",<input maxlength="",<input readonly="readonly",<input checked="checked",<input src="",<input alt="",<input align="",<input usemap="",<input width="",<input height="",<input hspace="",<input vspace="",<input border="",<input accept="",<ins cite="",<ins datetime="",<ins class="",<ins id="",<ins style="",<ins title="",<ins dir="",<ins lang="",<ins onclick="",<ins ondblclick="",<ins onmousedown="",<ins onmouseup="",<ins onmouseover="",<ins onmousemove="",<ins onmouseout="",<ins onkeypress="",<ins onkeydown="",<ins onkeyup="",<kbd class="",<kbd id="",<kbd style="",<kbd title="",<kbd dir="",<kbd lang="",<kbd onclick="",<kbd ondblclick="",<kbd onmousedown="",<kbd onmouseup="",<kbd onmouseover="",<kbd onmousemove="",<kbd onmouseout="",<kbd onkeypress="",<kbd onkeydown="",<kbd onkeyup="",<label for="",<label class="",<label id="",<label style="",<label accesskey="",<label title="",<label dir="",<label lang="",<label onfocus="",<label onblur="",<label onclick="",<label ondblclick="",<label onmousedown="",<label onmouseup="",<label onmouseover="",<label onmousemove="",<label onmouseout="",<label onkeypress="",<label onkeydown="",<label onkeyup="",<layer name="",<layer left="",<layer top="",<layer pagex="",<layer pagey="",<layer above="",<layer below="",<layer z-index="",<layer width="",<layer height="",<layer visibility="",<layer clip="",<layer bgcolor="",<layer background="",<layer src="",<layer onfocus="",<layer onblur="",<layer onload="",<layer onmouseover="",<layer onmouseout="",<legend align="",<legend class="",<legend id="",<legend style="",<legend accesskey="",<legend title="",<legend dir="",<legend lang="",<legend onclick="",<legend ondblclick="",<legend onmousedown="",<legend onmouseup="",<legend onmouseover="",<legend onmousemove="",<legend onmouseout="",<legend onkeypress="",<legend onkeydown="",<legend onkeyup="",<li type="",<li value="",<li class="",<li id="",<li style="",<li title="",<li dir="",<li lang="",<li onclick="",<li ondblclick="",<li onmousedown="",<li onmouseup="",<li onmouseover="",<li onmousemove="",<li onmouseout="",<li onkeypress="",<li onkeydown="",<li onkeyup="",<link href="",<link rel="",<link rev="",<link title="",<link type="",<link media="",<link disabled="disabled",<link class="",<link id="",<link hreflang="",<link style="",<map name="",<map class="",<map id="",<map style="",<map title="",<map dir="",<map lang="",<map onfocus="",<map onblur="",<map onclick="",<map ondblclick="",<map onmousedown="",<map onmouseup="",<map onmouseover="",<map onmousemove="",<map onmouseout="",<map onkeypress="",<map onkeydown="",<map onkeyup="",<var class="",<var id="",<var style="",<var title="",<var dir="",<var lang="",<var onclick="",<var ondblclick="",<var onmousedown="",<var onmouseup="",<var onmouseover="",<var onmousemove="",<var onmouseout="",<var onkeypress="",<var onkeydown="",<var onkeyup="",<ul type="",<ul compact="",<ul class="",<ul id="",<ul style="",<ul title="",<ul dir="",<ul lang="",<ul onclick="",<ul ondblclick="",<ul onmousedown="",<ul onmouseup="",<ul onmouseover="",<ul onmousemove="",<ul onmouseout="",<ul onkeypress="",<ul onkeydown="",<ul onkeyup="",<tt class="",<tt id="",<tt style="",<tt title="",<tt dir="",<tt lang="",<tt onclick="",<tt ondblclick="",<tt onmousedown="",<tt onmouseup="",<tt onmouseover="",<tt onmousemove="",<tt onmouseout="",<tt onkeypress="",<tt onkeydown="",<tt onkeyup="",<tr align="",<tr valign="",<tr bordercolor="#CCCCCC",<tr bordercolorlight="",<tr bordercolordark="",<tr nowrap="",<tr bgcolor="",<tr class="",<tr id="",<tr style="",<tr title="",<tr dir="",<tr lang="en",<tr onclick="",<tr ondblclick="",<tr onmousedown="",<tr onmouseup="",<tr onmouseover="",<tr onmousemove="",<tr onmouseout="",<tr onkeypress="",<tr onkeydown="",<tr onkeyup="",<thead align="",<thead valign="",<thead bgcolor="",<thead class="",<thead id="",<thead style="",<thead title="",<thead dir="",<thead lang="",<thead onclick="",<thead ondblclick="",<thead onmousedown="",<thead onmouseup="",<thead onmouseover="",<thead onmousemove="",<thead onmouseout="",<thead onkeypress="",<thead onkeydown="",<thead onkeyup="",<th width="",<th height="",<th colspan="",<th rowspan="",<th align="",<th valign="",<th nowrap="",<th bordercolor="#CCCCCC",<th bordercolorlight="",<th bordercolordark="",<th background="",<th bgcolor="",<th class="",<th id="",<th style="",<th title="",<th axis="",<th headers="",<th scope="",<th abbr="",<th dir="",<th lang="",<th onclick="",<th ondblclick="",<th onmousedown="",<th onmouseup="",<th onmouseover="",<th onmousemove="",<th onmouseout="",<th onkeypress="",<th onkeydown="",<th onkeyup="",<tfoot align="",<tfoot valign="",<tfoot bgcolor="",<tfoot class="",<tfoot id="",<tfoot style="",<tfoot title="",<tfoot dir="",<tfoot lang="",<tfoot onclick="",<tfoot ondblclick="",<tfoot onmousedown="",<tfoot onmouseup="",<tfoot onmouseover="",<tfoot onmousemove="",<tfoot onmouseout="",<tfoot onkeypress="",<tfoot onkeydown="",<tfoot onkeyup="",<textarea name="",<textarea cols="",<textarea rows="",<textarea disabled="disabled",<textarea readonly="readonly",<textarea wrap="",<textarea class="",<textarea id="",<textarea style="",<textarea accesskey="",<textarea tabindex="",<textarea title="",<textarea dir="",<textarea lang="",<textarea onfocus="",<textarea onblur="",<textarea onselect="",<textarea onchange="",<textarea onclick="",<textarea ondblclick="",<textarea onmousedown="",<textarea onmouseup="",<textarea onmouseover="",<textarea onmousemove="",<textarea onmouseout="",<textarea onkeypress="",<textarea onkeydown="",<textarea onkeyup="",<td width="",<td height="",<td colspan="",<td rowspan="",<td align="",<td valign="",<td nowrap="",<td bordercolor="#CCCCCC",<td bordercolorlight="",<td bordercolordark="",<td background="",<td bgcolor="",<td class="",<td id="",<td style="",<td title="",<td axis="",<td headers="",<td scope="",<td abbr="",<td dir="",<td lang="",<td onclick="",<td ondblclick="",<td onmousedown="",<td onmouseup="",<td onmouseover="",<td onmousemove="",<td onmouseout="",<td onkeypress="",<td onkeydown="",<td onkeyup="",<tbody align="",<tbody valign="",<tbody bgcolor="",<tbody class="",<tbody id="",<tbody style="",<tbody title="",<tbody dir="",<tbody lang="",<tbody onclick="",<tbody ondblclick="",<tbody onmousedown="",<tbody onmouseup="",<tbody onmouseover="",<tbody onmousemove="",<tbody onmouseout="",<tbody onkeypress="",<tbody onkeydown="",<tbody onkeyup="",<table width="",<table height="",<table border="",<table align="",<table cellpadding="0",<table cellspacing="0",<table bordercolor="#CCCCCC",<table bordercolorlight="",<table bordercolordark="",<table datapagesize="",<table background="",<table cols="",<table bgcolor="",<table frame="",<table rules="",<table dir="",<table lang="",<table onclick="",<table ondblclick="",<table onmousedown="",<table onmouseup="",<table onmouseover="",<table onmousemove="",<table onmouseout="",<table onkeypress="",<table onkeydown="",<table onkeyup="",<table class="",<table id="",<table style="",<table title="",<table summary="",<sup class="",<sup id="",<sup style="",<sup title="",<sup dir="",<sup lang="",<sup onclick="",<sup ondblclick="",<sup onmousedown="",<sup onmouseup="",<sup onmouseover="",<sup onmousemove="",<sup onmouseout="",<sup onkeypress="",<sup onkeydown="",<sup onkeyup="",<sub class="",<sub id="",<sub style="",<sub title="",<sub dir="",<sub lang="",<sub onclick="",<sub ondblclick="",<sub onmousedown="",<sub onmouseup="",<sub onmouseover="",<sub onmousemove="",<sub onmouseout="",<sub onkeypress="",<sub onkeydown="",<sub onkeyup="",<style type="",<style media="",<style disabled="disabled",<style title="",<strong class="",<strong id="",<strong style="",<strong title="",<strong dir="",<strong lang="",<strong onclick="",<strong ondblclick="",<strong onmousedown="",<strong onmouseup="",<strong onmouseover="",<strong onmousemove="",<strong onmouseout="",<strong onkeypress="",<strong onkeydown="",<strong onkeyup="",<span class="",<span id="",<span style="",<span title="",<span dir="",<span lang="",<span onclick="",<span ondblclick="",<span onmousedown="",<span onmouseup="",<span onmouseover="",<span onmousemove="",<span onmouseout="",<span onkeypress="",<span onkeydown="",<span onkeyup="",<sound src="",<sound loop="",<sound delay="",<small class="",<small id="",<small style="",<small title="",<small dir="",<small lang="",<small onclick="",<small ondblclick="",<small onmousedown="",<small onmouseup="",<small onmouseover="",<small onmousemove="",<small onmouseout="",<small onkeypress="",<small onkeydown="",<small onkeyup="",<select name="",<select size="",<select multiple="",<select disabled="disabled",<select class="",<select id="",<select style="",<select accesskey="",<select tabindex="",<select title="",<select dir="",<select lang="",<select onfocus="",<select onblur="",<select onchange="",<script language="",<script src="",<script type="",<script runat="",<script defer="defer",<samp class="",<samp id="",<samp style="",<samp title="",<samp dir="",<samp lang="",<samp onclick="",<samp ondblclick="",<samp onmousedown="",<samp onmouseup="",<samp onmouseover="",<samp onmousemove="",<samp onmouseout="",<samp onkeypress="",<samp onkeydown="",<samp onkeyup="",<q cite="",<q class="",<q id="",<q style="",<q title="",<q dir="",<q lang="",<q onclick="",<q ondblclick="",<q onmousedown="",<q onmouseup="",<q onmouseover="",<q onmousemove="",<q onmouseout="",<q onkeypress="",<q onkeydown="",<q onkeyup="",<pre class="",<pre id="",<pre style="",<pre title="",<pre dir="",<pre lang="",<pre onclick="",<pre ondblclick="",<pre onmousedown="",<pre onmouseup="",<pre onmouseover="",<pre onmousemove="",<pre onmouseout="",<pre onkeypress="",<pre onkeydown="",<pre onkeyup="",<param name="",<param value="",<param valuetype="",<param type="",<param id="",<p align="",<p class="",<p id="",<p style="",<p title="",<p dir="",<p lang="",<p onclick="",<p ondblclick="",<p onmousedown="",<p onmouseup="",<p onmouseover="",<p onmousemove="",<p onmouseout="",<p onkeypress="",<p onkeydown="",<p onkeyup="",<option value="",<option selected="",<option disabled="disabled",<option class="",<option id="",<option style="",<option title="",<option label="",<option dir="",<option lang="",<option onfocus="",<option onblur="",<option onchange="",<option onclick="",<option ondblclick="",<option onmousedown="",<option onmouseup="",<option onmouseover="",<option onmousemove="",<option onmouseout="",<option onkeypress="",<option onkeydown="",<option onkeyup="",<optgroup label="",<optgroup disabled="disabled",<optgroup class="",<optgroup id="",<optgroup style="",<optgroup title="",<optgroup dir="",<optgroup lang="",<optgroup onfocus="",<optgroup onblur="",<optgroup onchange="",<optgroup onclick="",<optgroup ondblclick="",<optgroup onmousedown="",<optgroup onmouseup="",<optgroup onmouseover="",<optgroup onmousemove="",<optgroup onmouseout="",<optgroup onkeypress="",<optgroup onkeydown="",<optgroup onkeyup="",<ol start="",<ol type="",<ol compact="",<ol class="",<ol id="",<ol style="",<ol title="",<ol dir="",<ol lang="",<ol onclick="",<ol ondblclick="",<ol onmousedown="",<ol onmouseup="",<ol onmouseover="",<ol onmousemove="",<ol onmouseout="",<ol onkeypress="",<ol onkeydown="",<ol onkeyup="",<object noexternaldata="",<object classid="",<object codebase="",<object codetype="",<object data="",<object type="",<object archive="",<object declare="",<object name="",<object width="",<object height="",<object hspace="",<object vspace="",<object align="",<object border="",<object standby="",<object class="",<object id="",<object style="",<object accesskey="",<object tabindex="",<object title="",<object usemap="",<object dir="",<object lang="",<object onclick="",<object ondblclick="",<object onmousedown="",<object onmouseup="",<object onmouseover="",<object onmousemove="",<object onmouseout="",<object onkeypress="",<object onkeydown="",<object onkeyup="",<noscript class="",<noscript id="",<noscript style="",<noscript title="",<noframes class="",<noframes id="",<noframes style="",<noframes title="",<multicol cols="",<multicol width="",<multicol gutter="",<meta name="",<meta http-equiv="",<meta content="",<marquee behavior="",<marquee align="",<marquee direction="",<marquee bgcolor="",<marquee width="",<marquee hspace="",<marquee height="",<marquee vspace="",<marquee loop="",<marquee scrollamount="",<marquee scrolldelay="",<marquee truespeed="",<marquee class="",<marquee id="",<marquee style="",<marquee title="",<marquee dir="",<marquee lang="",<marquee onclick="",<marquee ondblclick="",<marquee onmousedown="",<marquee onmouseup="",<marquee onmouseover="",<marquee onmousemove="",<marquee onmouseout="",<marquee onkeypress="",<marquee onkeydown="",<marquee onkeyup="",<A HREF="",<A NAME="",<A TITLE="",<A TARGET="",<A CHARSET="",<A CLASS="",<A ID="",<A STYLE="",<A HREFLANG="",<A ACCESSKEY="",<A TABINDEX="",<A REL="",<A REV="",<A SHAPE="",<A COORDS="",<A DIR="",<A LANG="",<A onFocus="",<A onBlur="",<A onClick="",<A onDblClick="",<A onMouseDown="",<A onMouseUp="",<A onMouseOver="",<A onMouseMove="",<A onMouseOut="",<A onKeyPress="",<A onKeyDown="",<A onKeyUp="",<ABBR CLASS="",<ABBR ID="",<ABBR STYLE="",<ABBR TITLE="",<ABBR DIR="",<ABBR LANG="",<ABBR onClick="",<ABBR onDblClick="",<ABBR onMouseDown="",<ABBR onMouseUp="",<ABBR onMouseOver="",<ABBR onMouseMove="",<ABBR onMouseOut="",<ABBR onKeyPress="",<ABBR onKeyDown="",<ABBR onKeyUp="",<ACRONYM CLASS="",<ACRONYM ID="",<ACRONYM STYLE="",<ACRONYM TITLE="",<ACRONYM DIR="",<ACRONYM LANG="",<ACRONYM onClick="",<ACRONYM onDblClick="",<ACRONYM onMouseDown="",<ACRONYM onMouseUp="",<ACRONYM onMouseOver="",<ACRONYM onMouseMove="",<ACRONYM onMouseOut="",<ACRONYM onKeyPress="",<ACRONYM onKeyDown="",<ACRONYM onKeyUp="",<ADDRESS CLASS="",<ADDRESS ID="",<ADDRESS STYLE="",<ADDRESS TITLE="",<ADDRESS DIR="",<ADDRESS LANG="",<ADDRESS onClick="",<ADDRESS onDblClick="",<ADDRESS onMouseDown="",<ADDRESS onMouseUp="",<ADDRESS onMouseOver="",<ADDRESS onMouseMove="",<ADDRESS onMouseOut="",<ADDRESS onKeyPress="",<ADDRESS onKeyDown="",<ADDRESS onKeyUp="",<APPLET NOEXTERNALDATA="",<APPLET CODE="",<APPLET CODEBASE="",<APPLET NAME="",<APPLET ALT="",<APPLET WIDTH="",<APPLET HEIGHT="",<APPLET HSPACE="",<APPLET VSPACE="",<APPLET ALIGN="",<APPLET CABBASE="",<APPLET MAYSCRIPT="",<APPLET ARCHIVE="",<APPLET CLASS="",<APPLET ID="",<APPLET STYLE="",<AREA NAME="",<AREA VALUE="",<AREA SHAPE="",<AREA COORDS="",<AREA HREF="",<AREA TARGET="",<AREA ALT="",<AREA DISABLED="DISABLED",<AREA CLASS="",<AREA ID="",<AREA STYLE="",<AREA ACCESSKEY="",<AREA TABINDEX="",<AREA TITLE="",<AREA DIR="",<AREA LANG="",<AREA onFocus="",<AREA onBlur="",<AREA onClick="",<AREA onDblClick="",<AREA onMouseDown="",<AREA onMouseUp="",<AREA onMouseOver="",<AREA onMouseMove="",<AREA onMouseOut="",<AREA onKeyPress="",<AREA onKeyDown="",<AREA onKeyUp="",<B CLASS="",<B ID="",<B STYLE="",<B TITLE="",<B DIR="",<B LANG="",<B onClick="",<B onDblClick="",<B onMouseDown="",<B onMouseUp="",<B onMouseOver="",<B onMouseMove="",<B onMouseOut="",<B onKeyPress="",<B onKeyDown="",<B onKeyUp="",<BASE HREF="",<BASE TARGET="",<BASEFONT SIZE="",<BASEFONT FACE="",<BASEFONT COLOR="",<BASEFONT ID="",<BDO DIR="",<BDO LANG="",<BDO CLASS="",<BDO ID="",<BDO STYLE="",<BDO TITLE="",<BGSOUND SRC="",<BGSOUND LOOP="",<BGSOUND BALANCE="",<BGSOUND VOLUME="",<BGSOUND DELAY="",<BIG CLASS="",<BIG ID="",<BIG STYLE="",<BIG TITLE="",<BIG DIR="",<BIG LANG="",<BIG onClick="",<BIG onDblClick="",<BIG onMouseDown="",<BIG onMouseUp="",<BIG onMouseOver="",<BIG onMouseMove="",<BIG onMouseOut="",<BIG onKeyPress="",<BIG onKeyDown="",<BIG onKeyUp="",<BLOCKQUOTE CITE="",<BLOCKQUOTE CLASS="",<BLOCKQUOTE ID="",<BLOCKQUOTE STYLE="",<BLOCKQUOTE TITLE="",<BLOCKQUOTE DIR="",<BLOCKQUOTE LANG="",<BLOCKQUOTE onClick="",<BLOCKQUOTE onDblClick="",<BLOCKQUOTE onMouseDown="",<BLOCKQUOTE onMouseUp="",<BLOCKQUOTE onMouseOver="",<BLOCKQUOTE onMouseMove="",<BLOCKQUOTE onMouseOut="",<BLOCKQUOTE onKeyPress="",<BLOCKQUOTE onKeyDown="",<BLOCKQUOTE onKeyUp="",<BODY BGCOLOR="",<BODY BACKGROUND="",<BODY TEXT="",<BODY LINK="",<BODY VLINK="",<BODY ALINK="",<BODY LEFTMARGIN="",<BODY TOPMARGIN="",<BODY BGPROPERTIES="",<BODY RIGHTMARGIN="",<BODY BOTTOMMARGIN="",<BODY MARGINWIDTH="",<BODY MARGINHEIGHT="",<BODY CLASS="",<BODY ID="",<BODY STYLE="",<BODY TITLE="",<BODY DIR="",<BODY LANG="",<BODY onLoad="",<BODY onUnload="",<BODY onBlur="",<BODY onError="",<BODY onFocus="",<BODY onResize="",<BR CLEAR="",<BR CLASS="",<BR ID="",<BR STYLE="",<BR TITLE="",<BUTTON NAME="",<BUTTON VALUE="",<BUTTON TYPE="",<BUTTON DISABLED="DISABLED",<BUTTON CLASS="",<BUTTON ID="",<BUTTON STYLE="",<BUTTON ACCESSKEY="",<BUTTON TABINDEX="",<BUTTON TITLE="",<BUTTON DIR="",<BUTTON LANG="",<BUTTON onFocus="",<BUTTON onBlur="",<BUTTON onClick="",<BUTTON onDblClick="",<BUTTON onMouseDown="",<BUTTON onMouseUp="",<BUTTON onMouseOver="",<BUTTON onMouseMove="",<BUTTON onMouseOut="",<BUTTON onKeyPress="",<BUTTON onKeyDown="",<BUTTON onKeyUp="",<CAPTION ALIGN="",<CAPTION VALIGN="",<CAPTION CLASS="",<CAPTION ID="",<CAPTION STYLE="",<CAPTION TITLE="",<CAPTION DIR="",<CAPTION LANG="",<CAPTION onClick="",<CAPTION onDblClick="",<CAPTION onMouseDown="",<CAPTION onMouseUp="",<CAPTION onMouseOver="",<CAPTION onMouseMove="",<CAPTION onMouseOut="",<CAPTION onKeyPress="",<CAPTION onKeyDown="",<CAPTION onKeyUp="",<CITE CLASS="",<CITE ID="",<CITE STYLE="",<CITE TITLE="",<CITE DIR="",<CITE LANG="",<CITE onClick="",<CITE onDblClick="",<CITE onMouseDown="",<CITE onMouseUp="",<CITE onMouseOver="",<CITE onMouseMove="",<CITE onMouseOut="",<CITE onKeyPress="",<CITE onKeyDown="",<CITE onKeyUp="",<CODE CLASS="",<CODE ID="",<CODE STYLE="",<CODE TITLE="",<CODE DIR="",<CODE LANG="",<CODE onClick="",<CODE onDblClick="",<CODE onMouseDown="",<CODE onMouseUp="",<CODE onMouseOver="",<CODE onMouseMove="",<CODE onMouseOut="",<CODE onKeyPress="",<CODE onKeyDown="",<CODE onKeyUp="",<COL ALIGN="",<COL VALIGN="",<COL SPAN="",<COL WIDTH="",<COL CLASS="",<COL ID="",<COL STYLE="",<COL TITLE="",<COL DIR="",<COL LANG="",<COL onClick="",<COL onDblClick="",<COL onMouseDown="",<COL onMouseUp="",<COL onMouseOver="",<COL onMouseMove="",<COL onMouseOut="",<COL onKeyPress="",<COL onKeyDown="",<COL onKeyUp="",<COLGROUP ALIGN="",<COLGROUP VALIGN="",<COLGROUP SPAN="",<COLGROUP WIDTH="",<COLGROUP CLASS="",<COLGROUP ID="",<COLGROUP STYLE="",<COLGROUP TITLE="",<COLGROUP DIR="",<COLGROUP LANG="",<COLGROUP onClick="",<COLGROUP onDblClick="",<COLGROUP onMouseDown="",<COLGROUP onMouseUp="",<COLGROUP onMouseOver="",<COLGROUP onMouseMove="",<COLGROUP onMouseOut="",<COLGROUP onKeyPress="",<COLGROUP onKeyDown="",<COLGROUP onKeyUp="",<DD CLASS="",<DD ID="",<DD STYLE="",<DD TITLE="",<DD DIR="",<DD LANG="",<DD onClick="",<DD onDblClick="",<DD onMouseDown="",<DD onMouseUp="",<DD onMouseOver="",<DD onMouseMove="",<DD onMouseOut="",<DD onKeyPress="",<DD onKeyDown="",<DD onKeyUp="",<DEL CITE="",<DEL DATETIME="",<DEL CLASS="",<DEL ID="",<DEL STYLE="",<DEL TITLE="",<DEL DIR="",<DEL LANG="",<DEL onClick="",<DEL onDblClick="",<DEL onMouseDown="",<DEL onMouseUp="",<DEL onMouseOver="",<DEL onMouseMove="",<DEL onMouseOut="",<DEL onKeyPress="",<DEL onKeyDown="",<DEL onKeyUp="",<DFN CLASS="",<DFN ID="",<DFN STYLE="",<DFN TITLE="",<DFN DIR="",<DFN LANG="",<DFN onClick="",<DFN onDblClick="",<DFN onMouseDown="",<DFN onMouseUp="",<DFN onMouseOver="",<DFN onMouseMove="",<DFN onMouseOut="",<DFN onKeyPress="",<DFN onKeyDown="",<DFN onKeyUp="",<DIV ALIGN="",<DIV CLASS="",<DIV ID="",<DIV STYLE="",<DIV TITLE="",<DIV DIR="",<DIV LANG="",<DIV onClick="",<DIV onDblClick="",<DIV onMouseDown="",<DIV onMouseUp="",<DIV onMouseOver="",<DIV onMouseMove="",<DIV onMouseOut="",<DIV onKeyPress="",<DIV onKeyDown="",<DIV onKeyUp="",<DL COMPACT="",<DL CLASS="",<DL ID="",<DL STYLE="",<DL TITLE="",<DL DIR="",<DL LANG="",<DL onClick="",<DL onDblClick="",<DL onMouseDown="",<DL onMouseUp="",<DL onMouseOver="",<DL onMouseMove="",<DL onMouseOut="",<DL onKeyPress="",<DL onKeyDown="",<DL onKeyUp="",<DT CLASS="",<DT ID="",<DT STYLE="",<DT TITLE="",<DT DIR="",<DT LANG="",<DT onClick="",<DT onDblClick="",<DT onMouseDown="",<DT onMouseUp="",<DT onMouseOver="",<DT onMouseMove="",<DT onMouseOut="",<DT onKeyPress="",<DT onKeyDown="",<DT onKeyUp="",<EM CLASS="",<EM ID="",<EM STYLE="",<EM TITLE="",<EM DIR="",<EM LANG="",<EM onClick="",<EM onDblClick="",<EM onMouseDown="",<EM onMouseUp="",<EM onMouseOver="",<EM onMouseMove="",<EM onMouseOut="",<EM onKeyPress="",<EM onKeyDown="",<EM onKeyUp="",<EMBED SRC="",<EMBED WIDTH="",<EMBED HEIGHT="",<EMBED HSPACE="",<EMBED VSPACE="",<EMBED HIDDEN="",<EMBED AUTOSTART="",<EMBED LOOP="",<EMBED ALIGN="",<EMBED CLASS="",<EMBED STYLE="",<EMBED DIR="",<EMBED LANG="",<FIELDSET CLASS="",<FIELDSET ID="",<FIELDSET STYLE="",<FIELDSET TITLE="",<FIELDSET ACCESSKEY="",<FIELDSET DIR="",<FIELDSET LANG="",<FIELDSET onClick="",<FIELDSET onDblClick="",<FIELDSET onMouseDown="",<FIELDSET onMouseUp="",<FIELDSET onMouseOver="",<FIELDSET onMouseMove="",<FIELDSET onMouseOut="",<FIELDSET onKeyPress="",<FIELDSET onKeyDown="",<FIELDSET onKeyUp="",<FONT COLOR="",<FONT SIZE="",<FONT FACE="",<FONT POINTSIZE="",<FONT CLASS="",<FONT ID="",<FONT STYLE="",<FONT TITLE="",<FONT DIR="",<FONT LANG="",<FORM ACTION="",<FORM METHOD="",<FORM ENCTYPE="",<FORM NAME="",<FORM TARGET="",<FORM CLASS="",<FORM ID="",<FORM STYLE="",<FORM TITLE="",<FORM DIR="",<FORM LANG="",<FORM runat="",<FORM onSubmit="",<FORM onReset="",<FORM onClick="",<FORM onDblClick="",<FORM onMouseDown="",<FORM onMouseUp="",<FORM onMouseOver="",<FORM onMouseMove="",<FORM onMouseOut="",<FORM onKeyPress="",<FORM onKeyDown="",<FORM onKeyUp="",<FRAME SRC="",<FRAME NAME="",<FRAME FRAMEBORDER="",<FRAME SCROLLING="",<FRAME NORESIZE="",<FRAME MARGINWIDTH="",<FRAME MARGINHEIGHT="",<FRAME BORDERCOLOR="",<FRAME CLASS="",<FRAME ID="",<FRAME STYLE="",<FRAME TITLE="",<FRAME LONGDESC="",<FRAMESET ROWS="",<FRAMESET COLS="",<FRAMESET FRAMESPACING="",<FRAMESET FRAMEBORDER="",<FRAMESET BORDER="",<FRAMESET BORDERCOLOR="",<FRAMESET CLASS="",<FRAMESET ID="",<FRAMESET STYLE="",<FRAMESET TITLE="",<FRAMESET onLoad="",<FRAMESET onUnload="",<H1 ALIGN="",<H1 CLASS="",<H1 ID="",<H1 STYLE="",<H1 TITLE="",<H1 DIR="",<H1 LANG="",<H1 onClick="",<H1 onDblClick="",<H1 onMouseDown="",<H1 onMouseUp="",<H1 onMouseOver="",<H1 onMouseMove="",<H1 onMouseOut="",<H1 onKeyPress="",<H1 onKeyDown="",<H1 onKeyUp="",<H2 ALIGN="",<H2 CLASS="",<H2 ID="",<H2 STYLE="",<H2 TITLE="",<H2 DIR="",<H2 LANG="",<H2 onClick="",<H2 onDblClick="",<H2 onMouseDown="",<H2 onMouseUp="",<H2 onMouseOver="",<H2 onMouseMove="",<H2 onMouseOut="",<H2 onKeyPress="",<H2 onKeyDown="",<H2 onKeyUp="",<H3 ALIGN="",<H3 CLASS="",<H3 ID="",<H3 STYLE="",<H3 TITLE="",<H3 DIR="",<H3 LANG="",<H3 onClick="",<H3 onDblClick="",<H3 onMouseDown="",<H3 onMouseUp="",<H3 onMouseOver="",<H3 onMouseMove="",<H3 onMouseOut="",<H3 onKeyPress="",<H3 onKeyDown="",<H3 onKeyUp="",<H4 ALIGN="",<H4 CLASS="",<H4 ID="",<H4 STYLE="",<H4 TITLE="",<H4 DIR="",<H4 LANG="",<H4 onClick="",<H4 onDblClick="",<H4 onMouseDown="",<H4 onMouseUp="",<H4 onMouseOver="",<H4 onMouseMove="",<H4 onMouseOut="",<H4 onKeyPress="",<H4 onKeyDown="",<H4 onKeyUp="",<H5 ALIGN="",<H5 CLASS="",<H5 ID="",<H5 STYLE="",<H5 TITLE="",<H5 DIR="",<H5 LANG="",<H5 onClick="",<H5 onDblClick="",<H5 onMouseDown="",<H5 onMouseUp="",<H5 onMouseOver="",<H5 onMouseMove="",<H5 onMouseOut="",<H5 onKeyPress="",<H5 onKeyDown="",<H5 onKeyUp="",<H6 ALIGN="",<H6 CLASS="",<H6 ID="",<H6 STYLE="",<H6 TITLE="",<H6 DIR="",<H6 LANG="",<H6 onClick="",<H6 onDblClick="",<H6 onMouseDown="",<H6 onMouseUp="",<H6 onMouseOver="",<H6 onMouseMove="",<H6 onMouseOut="",<H6 onKeyPress="",<H6 onKeyDown="",<H6 onKeyUp="",<HR ALIGN="",<HR WIDTH="",<HR SIZE="",<HR NOSHADE="",<HR COLOR="",<HR CLASS="",<HR ID="",<HR STYLE="",<HR TITLE="",<HR onClick="",<HR onDblClick="",<HR onMouseDown="",<HR onMouseUp="",<HR onMouseOver="",<HR onMouseMove="",<HR onMouseOut="",<HR onKeyPress="",<HR onKeyDown="",<HR onKeyUp="",<HTML xmlns="",<HTML xml:lang="",<HTML lang="",<HTML dir="",<I CLASS="",<I ID="",<I STYLE="",<I TITLE="",<I DIR="",<I LANG="",<I onClick="",<I onDblClick="",<I onMouseDown="",<I onMouseUp="",<I onMouseOver="",<I onMouseMove="",<I onMouseOut="",<I onKeyPress="",<I onKeyDown="",<I onKeyUp="",<IFRAME SRC="",<IFRAME NAME="",<IFRAME WIDTH="",<IFRAME MARGINWIDTH="",<IFRAME HEIGHT="",<IFRAME MARGINHEIGHT="",<IFRAME ALIGN="",<IFRAME SCROLLING="",<IFRAME FRAMEBORDER="",<IFRAME HSPACE="",<IFRAME VSPACE="",<IFRAME CLASS="",<IFRAME ID="",<IFRAME STYLE="",<IFRAME TITLE="",<IFRAME LONGDESC="",<ILAYER NAME="",<ILAYER ID="",<ILAYER LEFT="",<ILAYER TOP="",<ILAYER PAGEX="",<ILAYER PAGEY="",<ILAYER ABOVE="",<ILAYER BELOW="",<ILAYER Z-INDEX="",<ILAYER WIDTH="",<ILAYER HEIGHT="",<ILAYER VISIBILITY="",<ILAYER CLIP="",<ILAYER BGCOLOR="",<ILAYER BACKGROUND="",<ILAYER SRC="",<ILAYER onFocus="",<ILAYER onBlur="",<ILAYER onLoad="",<ILAYER onMouseOver="",<ILAYER onMouseOut="",<IMG SRC="",<IMG ALT="",<IMG NAME="",<IMG WIDTH="",<IMG HEIGHT="",<IMG HSPACE="",<IMG VSPACE="",<IMG BORDER="",<IMG ALIGN="",<IMG USEMAP="",<IMG ISMAP="ISMAP",<IMG DYNSRC="",<IMG CONTROLS="",<IMG START="",<IMG LOOP="",<IMG LOWSRC="",<IMG CLASS="",<IMG ID="",<IMG STYLE="",<IMG TITLE="",<IMG LONGDESC="",<IMG DIR="",<IMG LANG="",<IMG onClick="",<IMG onDblClick="",<IMG onMouseDown="",<IMG onMouseUp="",<IMG onMouseOver="",<IMG onMouseMove="",<IMG onMouseOut="",<IMG onKeyPress="",<IMG onKeyDown="",<IMG onKeyUp="",<INPUT NAME="",<INPUT TYPE="",<INPUT DISABLED="DISABLED",<INPUT CLASS="",<INPUT ID="",<INPUT STYLE="",<INPUT ACCESSKEY="",<INPUT TABINDEX="",<INPUT TITLE="",<INPUT DIR="",<INPUT LANG="",<INPUT onFocus="",<INPUT onBlur="",<INPUT onSelect="",<INPUT onChange="",<INPUT onClick="",<INPUT onDblClick="",<INPUT onMouseDown="",<INPUT onMouseUp="",<INPUT onMouseOver="",<INPUT onMouseMove="",<INPUT onMouseOut="",<INPUT onKeyPress="",<INPUT onKeyDown="",<INPUT onKeyUp="",<INPUT VALUE="",<INPUT SIZE="",<INPUT MAXLENGTH="",<INPUT READONLY="READONLY",<INPUT CHECKED="CHECKED",<INPUT SRC="",<INPUT ALT="",<INPUT ALIGN="",<INPUT USEMAP="",<INPUT WIDTH="",<INPUT HEIGHT="",<INPUT HSPACE="",<INPUT VSPACE="",<INPUT BORDER="",<INPUT ACCEPT="",<INS CITE="",<INS DATETIME="",<INS CLASS="",<INS ID="",<INS STYLE="",<INS TITLE="",<INS DIR="",<INS LANG="",<INS onClick="",<INS onDblClick="",<INS onMouseDown="",<INS onMouseUp="",<INS onMouseOver="",<INS onMouseMove="",<INS onMouseOut="",<INS onKeyPress="",<INS onKeyDown="",<INS onKeyUp="",<KBD CLASS="",<KBD ID="",<KBD STYLE="",<KBD TITLE="",<KBD DIR="",<KBD LANG="",<KBD onClick="",<KBD onDblClick="",<KBD onMouseDown="",<KBD onMouseUp="",<KBD onMouseOver="",<KBD onMouseMove="",<KBD onMouseOut="",<KBD onKeyPress="",<KBD onKeyDown="",<KBD onKeyUp="",<LABEL FOR="",<LABEL CLASS="",<LABEL ID="",<LABEL STYLE="",<LABEL ACCESSKEY="",<LABEL TITLE="",<LABEL DIR="",<LABEL LANG="",<LABEL onFocus="",<LABEL onBlur="",<LABEL onClick="",<LABEL onDblClick="",<LABEL onMouseDown="",<LABEL onMouseUp="",<LABEL onMouseOver="",<LABEL onMouseMove="",<LABEL onMouseOut="",<LABEL onKeyPress="",<LABEL onKeyDown="",<LABEL onKeyUp="",<LAYER NAME="",<LAYER LEFT="",<LAYER TOP="",<LAYER PAGEX="",<LAYER PAGEY="",<LAYER ABOVE="",<LAYER BELOW="",<LAYER Z-INDEX="",<LAYER WIDTH="",<LAYER HEIGHT="",<LAYER VISIBILITY="",<LAYER CLIP="",<LAYER BGCOLOR="",<LAYER BACKGROUND="",<LAYER SRC="",<LAYER onFocus="",<LAYER onBlur="",<LAYER onLoad="",<LAYER onMouseOver="",<LAYER onMouseOut="",<LEGEND ALIGN="",<LEGEND CLASS="",<LEGEND ID="",<LEGEND STYLE="",<LEGEND ACCESSKEY="",<LEGEND TITLE="",<LEGEND DIR="",<LEGEND LANG="",<LEGEND onClick="",<LEGEND onDblClick="",<LEGEND onMouseDown="",<LEGEND onMouseUp="",<LEGEND onMouseOver="",<LEGEND onMouseMove="",<LEGEND onMouseOut="",<LEGEND onKeyPress="",<LEGEND onKeyDown="",<LEGEND onKeyUp="",<LI TYPE="",<LI VALUE="",<LI CLASS="",<LI ID="",<LI STYLE="",<LI TITLE="",<LI DIR="",<LI LANG="",<LI onClick="",<LI onDblClick="",<LI onMouseDown="",<LI onMouseUp="",<LI onMouseOver="",<LI onMouseMove="",<LI onMouseOut="",<LI onKeyPress="",<LI onKeyDown="",<LI onKeyUp="",<LINK HREF="",<LINK REL="",<LINK REV="",<LINK TITLE="",<LINK TYPE="",<LINK MEDIA="",<LINK DISABLED="DISABLED",<LINK CLASS="",<LINK ID="",<LINK HREFLANG="",<LINK STYLE="",<MAP NAME="",<MAP CLASS="",<MAP ID="",<MAP STYLE="",<MAP TITLE="",<MAP DIR="",<MAP LANG="",<MAP onFocus="",<MAP onBlur="",<MAP onClick="",<MAP onDblClick="",<MAP onMouseDown="",<MAP onMouseUp="",<MAP onMouseOver="",<MAP onMouseMove="",<MAP onMouseOut="",<MAP onKeyPress="",<MAP onKeyDown="",<MAP onKeyUp="",<VAR CLASS="",<VAR ID="",<VAR STYLE="",<VAR TITLE="",<VAR DIR="",<VAR LANG="",<VAR onClick="",<VAR onDblClick="",<VAR onMouseDown="",<VAR onMouseUp="",<VAR onMouseOver="",<VAR onMouseMove="",<VAR onMouseOut="",<VAR onKeyPress="",<VAR onKeyDown="",<VAR onKeyUp="",<UL TYPE="",<UL COMPACT="",<UL CLASS="",<UL ID="",<UL STYLE="",<UL TITLE="",<UL DIR="",<UL LANG="",<UL onClick="",<UL onDblClick="",<UL onMouseDown="",<UL onMouseUp="",<UL onMouseOver="",<UL onMouseMove="",<UL onMouseOut="",<UL onKeyPress="",<UL onKeyDown="",<UL onKeyUp="",<TT CLASS="",<TT ID="",<TT STYLE="",<TT TITLE="",<TT DIR="",<TT LANG="",<TT onClick="",<TT onDblClick="",<TT onMouseDown="",<TT onMouseUp="",<TT onMouseOver="",<TT onMouseMove="",<TT onMouseOut="",<TT onKeyPress="",<TT onKeyDown="",<TT onKeyUp="",<TR ALIGN="",<TR VALIGN="",<TR BORDERCOLOR="",<TR BORDERCOLORLIGHT="",<TR BORDERCOLORDARK="",<TR NOWRAP="",<TR BGCOLOR="",<TR CLASS="",<TR ID="",<TR STYLE="",<TR TITLE="",<TR DIR="",<TR LANG="",<TR onClick="",<TR onDblClick="",<TR onMouseDown="",<TR onMouseUp="",<TR onMouseOver="",<TR onMouseMove="",<TR onMouseOut="",<TR onKeyPress="",<TR onKeyDown="",<TR onKeyUp="",<THEAD ALIGN="",<THEAD VALIGN="",<THEAD BGCOLOR="",<THEAD CLASS="",<THEAD ID="",<THEAD STYLE="",<THEAD TITLE="",<THEAD DIR="",<THEAD LANG="",<THEAD onClick="",<THEAD onDblClick="",<THEAD onMouseDown="",<THEAD onMouseUp="",<THEAD onMouseOver="",<THEAD onMouseMove="",<THEAD onMouseOut="",<THEAD onKeyPress="",<THEAD onKeyDown="",<THEAD onKeyUp="",<TH WIDTH="",<TH HEIGHT="",<TH COLSPAN="",<TH ROWSPAN="",<TH ALIGN="",<TH VALIGN="",<TH NOWRAP="",<TH BORDERCOLOR="",<TH BORDERCOLORLIGHT="",<TH BORDERCOLORDARK="",<TH BACKGROUND="",<TH BGCOLOR="",<TH CLASS="",<TH ID="",<TH STYLE="",<TH TITLE="",<TH AXIS="",<TH HEADERS="",<TH SCOPE="",<TH ABBR="",<TH DIR="",<TH LANG="",<TH onClick="",<TH onDblClick="",<TH onMouseDown="",<TH onMouseUp="",<TH onMouseOver="",<TH onMouseMove="",<TH onMouseOut="",<TH onKeyPress="",<TH onKeyDown="",<TH onKeyUp="",<TFOOT ALIGN="",<TFOOT VALIGN="",<TFOOT BGCOLOR="",<TFOOT CLASS="",<TFOOT ID="",<TFOOT STYLE="",<TFOOT TITLE="",<TFOOT DIR="",<TFOOT LANG="",<TFOOT onClick="",<TFOOT onDblClick="",<TFOOT onMouseDown="",<TFOOT onMouseUp="",<TFOOT onMouseOver="",<TFOOT onMouseMove="",<TFOOT onMouseOut="",<TFOOT onKeyPress="",<TFOOT onKeyDown="",<TFOOT onKeyUp="",<TEXTAREA NAME="",<TEXTAREA COLS="",<TEXTAREA ROWS="",<TEXTAREA DISABLED="DISABLED",<TEXTAREA READONLY="READONLY",<TEXTAREA WRAP="",<TEXTAREA CLASS="",<TEXTAREA ID="",<TEXTAREA STYLE="",<TEXTAREA ACCESSKEY="",<TEXTAREA TABINDEX="",<TEXTAREA TITLE="",<TEXTAREA DIR="",<TEXTAREA LANG="",<TEXTAREA onFocus="",<TEXTAREA onBlur="",<TEXTAREA onSelect="",<TEXTAREA onChange="",<TEXTAREA onClick="",<TEXTAREA onDblClick="",<TEXTAREA onMouseDown="",<TEXTAREA onMouseUp="",<TEXTAREA onMouseOver="",<TEXTAREA onMouseMove="",<TEXTAREA onMouseOut="",<TEXTAREA onKeyPress="",<TEXTAREA onKeyDown="",<TEXTAREA onKeyUp="",<TD WIDTH="",<TD HEIGHT="",<TD COLSPAN="",<TD ROWSPAN="",<TD ALIGN="",<TD VALIGN="",<TD NOWRAP="",<TD BORDERCOLOR="",<TD BORDERCOLORLIGHT="",<TD BORDERCOLORDARK="",<TD BACKGROUND="",<TD BGCOLOR="",<TD CLASS="",<TD ID="",<TD STYLE="",<TD TITLE="",<TD AXIS="",<TD HEADERS="",<TD SCOPE="",<TD ABBR="",<TD DIR="",<TD LANG="",<TD onClick="",<TD onDblClick="",<TD onMouseDown="",<TD onMouseUp="",<TD onMouseOver="",<TD onMouseMove="",<TD onMouseOut="",<TD onKeyPress="",<TD onKeyDown="",<TD onKeyUp="",<TBODY ALIGN="",<TBODY VALIGN="",<TBODY BGCOLOR="",<TBODY CLASS="",<TBODY ID="",<TBODY STYLE="",<TBODY TITLE="",<TBODY DIR="",<TBODY LANG="",<TBODY onClick="",<TBODY onDblClick="",<TBODY onMouseDown="",<TBODY onMouseUp="",<TBODY onMouseOver="",<TBODY onMouseMove="",<TBODY onMouseOut="",<TBODY onKeyPress="",<TBODY onKeyDown="",<TBODY onKeyUp="",<TABLE WIDTH="",<TABLE HEIGHT="",<TABLE BORDER="",<TABLE ALIGN="",<TABLE CELLPADDING="0",<TABLE CELLSPACING="0",<TABLE BORDERCOLOR="",<TABLE BORDERCOLORLIGHT="",<TABLE BORDERCOLORDARK="",<TABLE DATAPAGESIZE="",<TABLE BACKGROUND="",<TABLE COLS="",<TABLE BGCOLOR="",<TABLE FRAME="",<TABLE RULES="",<TABLE DIR="",<TABLE LANG="",<TABLE onClick="",<TABLE onDblClick="",<TABLE onMouseDown="",<TABLE onMouseUp="",<TABLE onMouseOver="",<TABLE onMouseMove="",<TABLE onMouseOut="",<TABLE onKeyPress="",<TABLE onKeyDown="",<TABLE onKeyUp="",<TABLE CLASS="",<TABLE ID="",<TABLE STYLE="",<TABLE TITLE="",<TABLE SUMMARY="",<SUP CLASS="",<SUP ID="",<SUP STYLE="",<SUP TITLE="",<SUP DIR="",<SUP LANG="",<SUP onClick="",<SUP onDblClick="",<SUP onMouseDown="",<SUP onMouseUp="",<SUP onMouseOver="",<SUP onMouseMove="",<SUP onMouseOut="",<SUP onKeyPress="",<SUP onKeyDown="",<SUP onKeyUp="",<SUB CLASS="",<SUB ID="",<SUB STYLE="",<SUB TITLE="",<SUB DIR="",<SUB LANG="",<SUB onClick="",<SUB onDblClick="",<SUB onMouseDown="",<SUB onMouseUp="",<SUB onMouseOver="",<SUB onMouseMove="",<SUB onMouseOut="",<SUB onKeyPress="",<SUB onKeyDown="",<SUB onKeyUp="",<STYLE TYPE="",<STYLE MEDIA="",<STYLE DISABLED="DISABLED",<STYLE TITLE="",<STRONG CLASS="",<STRONG ID="",<STRONG STYLE="",<STRONG TITLE="",<STRONG DIR="",<STRONG LANG="",<STRONG onClick="",<STRONG onDblClick="",<STRONG onMouseDown="",<STRONG onMouseUp="",<STRONG onMouseOver="",<STRONG onMouseMove="",<STRONG onMouseOut="",<STRONG onKeyPress="",<STRONG onKeyDown="",<STRONG onKeyUp="",<SPAN CLASS="",<SPAN ID="",<SPAN STYLE="",<SPAN TITLE="",<SPAN DIR="",<SPAN LANG="",<SPAN onClick="",<SPAN onDblClick="",<SPAN onMouseDown="",<SPAN onMouseUp="",<SPAN onMouseOver="",<SPAN onMouseMove="",<SPAN onMouseOut="",<SPAN onKeyPress="",<SPAN onKeyDown="",<SPAN onKeyUp="",<SOUND SRC="",<SOUND LOOP="",<SOUND DELAY="",<SMALL CLASS="",<SMALL ID="",<SMALL STYLE="",<SMALL TITLE="",<SMALL DIR="",<SMALL LANG="",<SMALL onClick="",<SMALL onDblClick="",<SMALL onMouseDown="",<SMALL onMouseUp="",<SMALL onMouseOver="",<SMALL onMouseMove="",<SMALL onMouseOut="",<SMALL onKeyPress="",<SMALL onKeyDown="",<SMALL onKeyUp="",<SELECT NAME="",<SELECT SIZE="",<SELECT MULTIPLE="",<SELECT DISABLED="DISABLED",<SELECT CLASS="",<SELECT ID="",<SELECT STYLE="",<SELECT ACCESSKEY="",<SELECT TABINDEX="",<SELECT TITLE="",<SELECT DIR="",<SELECT LANG="",<SELECT onFocus="",<SELECT onBlur="",<SELECT onChange="",<SCRIPT language="",<SCRIPT SRC="",<SCRIPT TYPE="",<SCRIPT runat="",<SCRIPT DEFER="DEFER",<SAMP CLASS="",<SAMP ID="",<SAMP STYLE="",<SAMP TITLE="",<SAMP DIR="",<SAMP LANG="",<SAMP onClick="",<SAMP onDblClick="",<SAMP onMouseDown="",<SAMP onMouseUp="",<SAMP onMouseOver="",<SAMP onMouseMove="",<SAMP onMouseOut="",<SAMP onKeyPress="",<SAMP onKeyDown="",<SAMP onKeyUp="",<Q CITE="",<Q CLASS="",<Q ID="",<Q STYLE="",<Q TITLE="",<Q DIR="",<Q LANG="",<Q onClick="",<Q onDblClick="",<Q onMouseDown="",<Q onMouseUp="",<Q onMouseOver="",<Q onMouseMove="",<Q onMouseOut="",<Q onKeyPress="",<Q onKeyDown="",<Q onKeyUp="",<PRE CLASS="",<PRE ID="",<PRE STYLE="",<PRE TITLE="",<PRE DIR="",<PRE LANG="",<PRE onClick="",<PRE onDblClick="",<PRE onMouseDown="",<PRE onMouseUp="",<PRE onMouseOver="",<PRE onMouseMove="",<PRE onMouseOut="",<PRE onKeyPress="",<PRE onKeyDown="",<PRE onKeyUp="",<PARAM NAME="",<PARAM VALUE="",<PARAM VALUETYPE="",<PARAM TYPE="",<PARAM ID="",<P ALIGN="",<P CLASS="",<P ID="",<P STYLE="",<P TITLE="",<P DIR="",<P LANG="",<P onClick="",<P onDblClick="",<P onMouseDown="",<P onMouseUp="",<P onMouseOver="",<P onMouseMove="",<P onMouseOut="",<P onKeyPress="",<P onKeyDown="",<P onKeyUp="",<OPTION VALUE="",<OPTION SELECTED="",<OPTION DISABLED="DISABLED",<OPTION CLASS="",<OPTION ID="",<OPTION STYLE="",<OPTION TITLE="",<OPTION LABEL="",<OPTION DIR="",<OPTION LANG="",<OPTION onFocus="",<OPTION onBlur="",<OPTION onChange="",<OPTION onClick="",<OPTION onDblClick="",<OPTION onMouseDown="",<OPTION onMouseUp="",<OPTION onMouseOver="",<OPTION onMouseMove="",<OPTION onMouseOut="",<OPTION onKeyPress="",<OPTION onKeyDown="",<OPTION onKeyUp="",<OPTGROUP LABEL="",<OPTGROUP DISABLED="DISABLED",<OPTGROUP CLASS="",<OPTGROUP ID="",<OPTGROUP STYLE="",<OPTGROUP TITLE="",<OPTGROUP DIR="",<OPTGROUP LANG="",<OPTGROUP onFocus="",<OPTGROUP onBlur="",<OPTGROUP onChange="",<OPTGROUP onClick="",<OPTGROUP onDblClick="",<OPTGROUP onMouseDown="",<OPTGROUP onMouseUp="",<OPTGROUP onMouseOver="",<OPTGROUP onMouseMove="",<OPTGROUP onMouseOut="",<OPTGROUP onKeyPress="",<OPTGROUP onKeyDown="",<OPTGROUP onKeyUp="",<OL START="",<OL type="",<OL COMPACT="",<OL CLASS="",<OL ID="",<OL STYLE="",<OL TITLE="",<OL DIR="",<OL LANG="",<OL onClick="",<OL onDblClick="",<OL onMouseDown="",<OL onMouseUp="",<OL onMouseOver="",<OL onMouseMove="",<OL onMouseOut="",<OL onKeyPress="",<OL onKeyDown="",<OL onKeyUp="",<OBJECT NOEXTERNALDATA="",<OBJECT CLASSID="",<OBJECT CODEBASE="",<OBJECT CODETYPE="",<OBJECT DATA="",<OBJECT TYPE="",<OBJECT ARCHIVE="",<OBJECT DECLARE="",<OBJECT NAME="",<OBJECT WIDTH="",<OBJECT HEIGHT="",<OBJECT HSPACE="",<OBJECT VSPACE="",<OBJECT ALIGN="",<OBJECT BORDER="",<OBJECT STANDBY="",<OBJECT CLASS="",<OBJECT ID="",<OBJECT STYLE="",<OBJECT ACCESSKEY="",<OBJECT TABINDEX="",<OBJECT TITLE="",<OBJECT USEMAP="",<OBJECT DIR="",<OBJECT LANG="",<OBJECT onClick="",<OBJECT onDblClick="",<OBJECT onMouseDown="",<OBJECT onMouseUp="",<OBJECT onMouseOver="",<OBJECT onMouseMove="",<OBJECT onMouseOut="",<OBJECT onKeyPress="",<OBJECT onKeyDown="",<OBJECT onKeyUp="",<NOSCRIPT CLASS="",<NOSCRIPT ID="",<NOSCRIPT STYLE="",<NOSCRIPT TITLE="",<NOFRAMES CLASS="",<NOFRAMES ID="",<NOFRAMES STYLE="",<NOFRAMES TITLE="",<MULTICOL COLS="",<MULTICOL WIDTH="",<MULTICOL GUTTER="",<META NAME="",<META HTTP-EQUIV="",<META CONTENT="",<MARQUEE BEHAVIOR="",<MARQUEE ALIGN="",<MARQUEE DIRECTION="",<MARQUEE BGCOLOR="",<MARQUEE WIDTH="",<MARQUEE HSPACE="",<MARQUEE HEIGHT="",<MARQUEE VSPACE="",<MARQUEE LOOP="",<MARQUEE SCROLLAMOUNT="",<MARQUEE SCROLLDELAY="",<MARQUEE TRUESPEED="",<MARQUEE CLASS="",<MARQUEE ID="",<MARQUEE STYLE="",<MARQUEE TITLE="",<MARQUEE DIR="",<MARQUEE LANG="",<MARQUEE onClick="",<MARQUEE onDblClick="",<MARQUEE onMouseDown="",<MARQUEE onMouseUp="",<MARQUEE onMouseOver="",<MARQUEE onMouseMove="",<MARQUEE onMouseOut="",<MARQUEE onKeyPress="",<MARQUEE onKeyDown="",<MARQUEE onKeyUp="", + + + + uuid + 69BD9C8F-15C0-4F67-8B7E-64E48B5E9E71 + + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Completions HTML Tags.tmPreferences b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Completions HTML Tags.tmPreferences new file mode 100644 index 0000000..8470801 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Completions HTML Tags.tmPreferences @@ -0,0 +1,30 @@ + + + + + name + Completions HTML Tags + scope + text.html -(meta.tag | source), invalid.illegal.incomplete.html -source + settings + + shellVariables + + + name + TM_COMPLETION_split + value + , + + + name + TM_COMPLETIONS + value + html,head,title,base,link,meta,style,script,noscript,body,section,nav,article,aside,h1,h2,h3,h4,h5,h6,hgroup,header,footer,address,p,hr,br,pre,dialog,blockquote,ol,ul,li,dl,dt,dd,a,q,cite,em,strong,small,mark,dfn,abbr,time,progress,meter,code,var,samp,kbd,sub,sup,span,i,b,bdo,ruby,rt,rp,ins,del,figure,img,iframe,embed,object,param,video,audio,source,canvas,map,area,table,caption,colgroup,col,tbody,thead,tfoot,tr,td,th,form,fieldset,label,input,button,select,datalist,optgroup,option,textarea,output,details,datagrid,command,bb,menu,legend,div + + + + uuid + 4720ADB8-DD17-4F97-A715-AFD72E22CE45 + + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Miscellaneous.tmPreferences b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Miscellaneous.tmPreferences new file mode 100644 index 0000000..b875dff --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Miscellaneous.tmPreferences @@ -0,0 +1,93 @@ + + + + + name + Miscellaneous + scope + text.html + settings + + decreaseIndentPattern + (?x) + ^\s* + (</(?!html) + [A-Za-z0-9]+\b[^>]*> + |--> + |<\?(php)?\s+(else(if)?|end(if|for(each)?|while)) + |\} + ) + highlightPairs + + + ( + ) + + + { + } + + + [ + ] + + + + + + + < + > + + + increaseIndentPattern + (?x) + <(?!\?|area|base|br|col|frame|hr|html|img|input|link|meta|param|[^>]*/>) + ([A-Za-z0-9]+)(?=\s|>)\b[^>]*>(?!.*</\1>) + |<!--(?!.*-->) + |<\?php.+?\b(if|else(?:if)?|for(?:each)?|while)\b.*:(?!.*end\1) + |\{[^}"']*$ + + indentNextLinePattern + <!DOCTYPE(?!.*>) + shellVariables + + + name + TM_HTML_EMPTY_TAGS + value + area|base|basefont|br|col|frame|hr|img|input|isindex|link|meta|param + + + smartTypingPairs + + + " + " + + + ( + ) + + + { + } + + + [ + ] + + + + + + + < + > + + + + uuid + FC34BE82-69DC-47B0-997A-37A8763D4E69 + + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Symbol List - ID.tmPreferences b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Symbol List - ID.tmPreferences new file mode 100644 index 0000000..6769182 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Symbol List - ID.tmPreferences @@ -0,0 +1,17 @@ + + + + + name + Symbol List: ID + scope + text.html meta.toc-list.id.html + settings + + symbolTransformation + s/^/ID: / + + uuid + E7C5859E-122D-4382-84BE-5AB584DC2409 + + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Tag Preferences.tmPreferences b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Tag Preferences.tmPreferences new file mode 100644 index 0000000..85b6497 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Tag Preferences.tmPreferences @@ -0,0 +1,48 @@ + + + + + name + Tag Preferences + scope + meta.tag + settings + + smartTypingPairs + + + " + " + + + ( + ) + + + { + } + + + [ + ] + + + + + + + < + > + + + ' + ' + + + spellChecking + 0 + + uuid + 73251DBE-EBD2-470F-8148-E6F2EC1A9641 + + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Typing Pairs - Empty Tag.tmPreferences b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Typing Pairs - Empty Tag.tmPreferences new file mode 100644 index 0000000..8ca2a5e --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Preferences/Typing Pairs - Empty Tag.tmPreferences @@ -0,0 +1,26 @@ + + + + + name + Typing Pairs: Empty Tag + scope + text.html invalid.illegal.incomplete + settings + + smartTypingPairs + + + ? + ? + + + % + % + + + + uuid + 6D6B631D-0D6C-413C-B4FA-1D535CBCE890 + + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/entities.txt b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/entities.txt new file mode 100644 index 0000000..2949b04 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/entities.txt @@ -0,0 +1,252 @@ +160 nbsp +161 iexcl +162 cent +163 pound +164 curren +165 yen +166 brvbar +167 sect +168 uml +169 copy +170 ordf +171 laquo +172 not +173 shy +174 reg +175 macr +176 deg +177 plusmn +178 sup2 +179 sup3 +180 acute +181 micro +182 para +183 middot +184 cedil +185 sup1 +186 ordm +187 raquo +188 frac14 +189 frac12 +190 frac34 +191 iquest +192 Agrave +193 Aacute +194 Acirc +195 Atilde +196 Auml +197 Aring +198 AElig +199 Ccedil +200 Egrave +201 Eacute +202 Ecirc +203 Euml +204 Igrave +205 Iacute +206 Icirc +207 Iuml +208 ETH +209 Ntilde +210 Ograve +211 Oacute +212 Ocirc +213 Otilde +214 Ouml +215 times +216 Oslash +217 Ugrave +218 Uacute +219 Ucirc +220 Uuml +221 Yacute +222 THORN +223 szlig +224 agrave +225 aacute +226 acirc +227 atilde +228 auml +229 aring +230 aelig +231 ccedil +232 egrave +233 eacute +234 ecirc +235 euml +236 igrave +237 iacute +238 icirc +239 iuml +240 eth +241 ntilde +242 ograve +243 oacute +244 ocirc +245 otilde +246 ouml +247 divide +248 oslash +249 ugrave +250 uacute +251 ucirc +252 uuml +253 yacute +254 thorn +255 yuml +402 fnof +913 Alpha +914 Beta +915 Gamma +916 Delta +917 Epsilon +918 Zeta +919 Eta +920 Theta +921 Iota +922 Kappa +923 Lambda +924 Mu +925 Nu +926 Xi +927 Omicron +928 Pi +929 Rho +931 Sigma +932 Tau +933 Upsilon +934 Phi +935 Chi +936 Psi +937 Omega +945 alpha +946 beta +947 gamma +948 delta +949 epsilon +950 zeta +951 eta +952 theta +953 iota +954 kappa +955 lambda +956 mu +957 nu +958 xi +959 omicron +960 pi +961 rho +962 sigmaf +963 sigma +964 tau +965 upsilon +966 phi +967 chi +968 psi +969 omega +977 thetasym +978 upsih +982 piv +8226 bull +8230 hellip +8242 prime +8243 Prime +8254 oline +8260 frasl +8472 weierp +8465 image +8476 real +8482 trade +8501 alefsym +8592 larr +8593 uarr +8594 rarr +8595 darr +8596 harr +8629 crarr +8656 lArr +8657 uArr +8658 rArr +8659 dArr +8660 hArr +8704 forall +8706 part +8707 exist +8709 empty +8711 nabla +8712 isin +8713 notin +8715 ni +8719 prod +8721 sum +8722 minus +8727 lowast +8730 radic +8733 prop +8734 infin +8736 ang +8743 and +8744 or +8745 cap +8746 cup +8747 int +8756 there4 +8764 sim +8773 cong +8776 asymp +8800 ne +8801 equiv +8804 le +8805 ge +8834 sub +8835 sup +8836 nsub +8838 sube +8839 supe +8853 oplus +8855 otimes +8869 perp +8901 sdot +8968 lceil +8969 rceil +8970 lfloor +8971 rfloor +9001 lang +9002 rang +9674 loz +9824 spades +9827 clubs +9829 hearts +9830 diams +34 quot +38 amp +60 lt +62 gt +338 OElig +339 oelig +352 Scaron +353 scaron +376 Yuml +710 circ +732 tilde +8194 ensp +8195 emsp +8201 thinsp +8204 zwnj +8205 zwj +8206 lrm +8207 rlm +8211 ndash +8212 mdash +8216 lsquo +8217 rsquo +8218 sbquo +8220 ldquo +8221 rdquo +8222 bdquo +8224 dagger +8225 Dagger +8240 permil +8249 lsaquo +8250 rsaquo +8364 euro diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/nibs/Insert Entity.nib/classes.nib b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/nibs/Insert Entity.nib/classes.nib new file mode 100644 index 0000000..a731b33 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/nibs/Insert Entity.nib/classes.nib @@ -0,0 +1,7 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + {ACTIONS = {performButtonClick = id; }; CLASS = NSObject; LANGUAGE = ObjC; } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/nibs/Insert Entity.nib/info.nib b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/nibs/Insert Entity.nib/info.nib new file mode 100644 index 0000000..42c6d2f --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/nibs/Insert Entity.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 69 14 356 240 0 0 1920 1178 + IBFramework Version + 446.1 + IBOpenObjects + + 5 + + IBSystem Version + 8L127 + + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/nibs/Insert Entity.nib/keyedobjects.nib b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Support/nibs/Insert Entity.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..2a9ea60514caae50ceddf4a23f3c2cfa19aec25f GIT binary patch literal 11362 zcma)C34Bvk*1yY3)1+zhvNcK5tPeyHOIs+b2xUj4EPNe2Sh{#X9h)3HUVW35s^g!7gS{V&U-IuQJMLs`L%h=UC#ZV|5@(2omd?X z#S{7Ydk{thQN$q?N<(U-9n~Tb3r-GA6JsM=z@K<18X4Xq5v?BCB0BL-F_?&#^ZFA1 zK(SV=C{8vsB7EP{ohTh?#trD1r!=bwBmxYtHDDdeKsr=_ickmC72S$@px$UCnuH=~ z8k&w~pjtE&)uGv_0o{YiUwe&K*La%a&!yG|ha+KpZ6_>`TxpYp$X}Jte$7OO^ z_%NsEc=Q8j;EbG!%jWD{?uZtVnsE3CZ$z0W3+WM$49JK~$c!u~8(EPJ*-;L1pj_lc zF62fY(RYjiVegKj~2s4dEui8)vyX=xx_BLY?JCH~@IP>jbz z6GP!pqPABw5&;rNV+xIXg#+=p7*|@4F7XczRm6eX@i8U-l0cOxUym#CC!0xc{yL=8 zM;TzOGC*o>zQkV|f{DXoStwEwogOc35tQbW22{iV+mi0&sgz!Dmt27|ne|WdUn5}O z7)Urh8k+)r`bHy(L4io1QjCp)@x&PkXjod}9~O-!*ntL|&c0g$j6K1gVo$SY*ebS$tz+-757;)glNt7*QD`(8gT|t9Ak%o1k0zi1nuvm^ z0*QcXZ!w+-MFI&>6QBwT84^fLE-Ufh5tt~3%lTYDIyA8-=r$CoY$8^v;xnN`@(sY} zkJiM3A|uSoEIeV^%*M2PP$f({8HLcDXbK9WDxhyUtXkG$#gJHZMlC?pry?Yy0KoPZ zfju#?LLvq;GP8zdD3C-^*-BK6rlJ^%qXg5jOqRv;jAw?CVk8ktgv9vxxEKc7ixqvO z2el&;lf}W)BVufPC=wTAiQ>5Od~^_a6pMz#VoXuUEL6W7)uX#)%_bF69E$~N0R{Pc zC#-=nlhXQbRM`ltDpKz5MRS&;Ip{uARL&by6atu%6M%-BZ@{XgsX<(YI9)u|0g2uT z0CU_Q-i&U3p-eL$J-8e_h#r!rv0PUpfF0-wCQ~f`&srDJLbM39{s?G&G1D?Hb2ATU zDCYor3_XsPpeN9iO}Yw$rj*Z8v<$A6m-FTl|B#pnFisQWei>%qOF8e8tVj&R;(bG5 zSOzqy2n7QPad2dSjJez>2TWIfJq)N83qf?f=A})dy`;9}L$M<18p`=>fPY#P98aIB z>O^hRtQzTuIhjkt911s9qOxUZ70YFYvWif=Ivl9|gT_{)H7mfoC$(fqD)m~uc#`PL z+V0{}cm%TNrKmOb+6JKMzqa@@;EU1g=nVk;O#ply%VFJES9U7^E*wB_p$+J5v=P07 zHlcUXdqA%D(Pp#-eSrQ6VE-F!MIVAT0j$tWu(?5j_!Mwf!zDLS8WN`irTUA33NhA8 z42QvZ28AMJp$ge#l5@T+KG0d-DnTmi#|j9%6UMqXCOGGG8V0gRP>65qcKS~aK-X9 z_yd1Ub#*kBfN3Rw0Y53sNVE412P)%|J*2J+*-h+bb^~k4+8VirD-aro>_MNSFJR(> z=ny)Lj-W5WyZb{kMfj5ZG&q?_@-V*Q9w2Kgb|cS^y`v@=stELp1tJxqVl2nd*Ny0F zR0O@Gkg*$mgHFJp-vZ1h!KBM3hZ3S}m>|8sIuH~G=I6DOehNExMy$0m$Z2$@5uHIr z&_Q0>Uby)l#yJZkokQo*59mj9Qd*jXfg~Kb(p~^`I9e%(lst9|pT^p-)}{X1ctVsM z-(*>BO<<+u`c;yvXMWSnzoSbl(Is>lT|rkRdk4s6_*$L2Yay(J}q!d zd;@NU!uTfK8tub3<2LvfoQK;2io>GQ`-`E<$qBfYqo|~Hd6`m}2R2tnLA?^!fM4K* zKwjXv3=1frrYZs{OD-@y7O1QQn^8iMWI27Ku{)x{fCNylXbggZwA6AQyv_h%C&a68 zSfT**QRW8*_lZb$Qvq}Ji-i=9!_(o@WagFg?*A}NNi-tQ1SCy0wf=P$+4|)4N|C#` z2GX>orTY`LVbNDS5AYq&#=>VJuV>{xpgP!Rh3P8%Y=#?y0r`5sH>>117QBX+xBwR_ zyks3%k;Falp_1c*VD~4ZO>z%+l(+}<@1Xoh^uK06bPjh-4w%O}DFgD!0h?$nn+xuN zF0V*YR(aAB_iDtD$wM) zLZ?B%(=wEYN8!=nwfr>`C3eNxD2CWVwg}>FU0p%D!Zx0Q!umFzx=wJ_uCTuT5FUre zOMVh#T#hH;0E{vbeS(ANQ(OU7#^Fjl5Qp%ccnS{VDjY$3aJ9^6NNxH|tqH+8!8=0o z2&OB=PDsJT0acLP0dV_%%vRt)gB^NWU<+XQ8^BK5yC9cIYaUGt8iohC_=3qi8XCv(x#OadNr|cTm2v$8Q z8mmf<9S#MjD8tRhY&mAvWPykm#|U*(Hrl`qC~|EzLWB4a*?-Ol>3mZeJOGc*%cEGmAc zizgU}3=^xO)5Nmmqft#yn%TY?KZ}>*W#FA3XG@s>5MGW~;FWk4ehxp6U%)Tom+)$! z;2QigUJHwV1;2`4!>{8v@S9)<>+pK~7TzGo5@nkv`x?nX%G^<&Nj?G`A!rJ63dsQj z%ak|6Ly2(noxE=X9w_gILGA`O{$NZLVI9GQ)ITso>fh8x(lgKU=% zifY#(zrKE)0w%-iZg{T@VL% z<2`sU^!N<#lbwnfGHb$oLST>bKATaYrb|-|9*kGP7_8=txE`e|ORTl9zDq9XR9Ki>n*_|xH z44*d%e+r+*XJ857P4RcI(vKi*An==qf5boGp8?gL{p92au6jpGY)o@%>iDXi>Rcz)-iz@lHrbM(`Kd&g2r4b9-unKJ;*(pai7F=OdjxLK`0J2I#H!U+M zww>gxAUTTIQkonNRZHOQm*N-6Re&H);*v1O9}yqELIl!+v;;B?55y`($-uzb2O)aE zBPH#V(H_mFuqt2ox}Q5U*tkR3l7W+DC@4~pt{+=o5ls=Pivr_Kr1eVDI<*cd1SZ*c zpjjfk8)aW3Q(I6{2&5_?g~^$t(#-V_A7BvU>~(dw6y)c(@koE05GW|BuZMgDq=Gk{ z3?qIroQ#k| zG`WpQ~@ z56CK4My|=}a9c7e$@URjAMRsytcD-RX0o_3y|_Se)q2SW)TEVe?76eqxCPpnCZaW;q5uzF*94@neu z7i&2pC>1Ic&rk!NflOnwCC|`})WV!INj+hZCFV_m!c!xuBeU4u?4Cw)7n#i%Yhd?| zD;^1zvS2J!Ep4;P`J4VEL!U@6S^=j8O#+lkY3}gaYOxfeIiypHvCSd(EhqPpxl+Ud zl_w)kZzzhusDW55(7yTRPk<>*NLuX!Wd2GrKb3OJgj4`++7l`hK13EgM;4HW$-hlWyayR+mt zn)3>!^DDS+x#F5+7XwaA2}zwLe^yY?5!MSKt)QLc(F(!S<=)$ zfxNw(yshNPP^^Pm;NTia+Mq6zOp}{ZNxY40f>d$`WGqiYDmiaVq&fL$YJ@h+jkZCg zmKw#IUVy@&H-zwc@{4x+o6E~&ySy)3OgqKRZD6x%ECHi%Y(Wt)jZF20ogojuEz zK{gIPG^aXMF6`o&^vC+)sHRuo%>MK)WwHmzL2{&#d`^b46>M4~IYbV#Mz)--l#QXO z6bTi8sz3rr-&-jSO5A|$WpcYISN;N_NZivx-gqiteof{!N;Z1E#hoDE!s1SnQ&8C3 z3`=@}J;$DBFT#@AmGdnsqBT%FfS4YfQXH$SsR9q2swXyWb-}E!(@gf-O8q)n0ZlFR zJo%9vSw?=2b|s8V?X%ZQ1InpmW1#z3;v-Q_O}Ait4|+ChCOuhjNn75lsrJ@iDQ%X6Rg8s=;H6GZSkerx?y~@_gE|jK$3#DrI3Nt`S zM5b|)(tYIY+XF`03;G729f2OzkuWO{5N*o7`<~VC&gi>}_ek37HV&YuD$%$kdyZTt3=Dl1pG4 zlS)2-M$sEnCpU^|k>AiTdNXYU6W&7eqzUC90#u(Ciq=RdDm!9O>N@rw+r-{w?<;~7 zq^2wUUx6Lf)FUNfd)g7~jTX@kY%|-^NPYtRUXl>JzNACwZL~W`+JhF$mhv(jO#Pev zll_ZrRcz(f>lnfREFQS(>vd1b+K=8Y$=aU|U>~xN{=2M5M1DGy4g*>JbhxZWEgYZi zU>~#X>=OmQ+yuZOHkq6C*p08=S#cW?%?ryKu{2vA6TY^7_wh>nY01j)hHdIDI?t@ zjU-jz-~)xaWzy~uP9EWdOXS=^s>2Z&L)s$}`O`xh33k@>5jy)NNeXBy%h4=_ECWeO z(JVu<-%{vDm(fPLoUWiN=_>jheV)ERU!*UwgX|DH%#N@x*-`ctJI20d$JsY*zmy5d zdmU+yQ2>ET$q5R^!f}<@D(;a_51SshFID0(_yxr)dQ$F7k^2ogdueJ7>#n)pKxePz zU3do^<_?4--OX@>I{+{p3WvG<(PA_R66xE~Ff;;C8VE>#gh~M?Kdk=_K)(c)py9A$ zI~?$80IOAS*!waZ@IC{_zBzE<8;7Icb#Tz@2hC^!pPhi^JD{m2Ktny?IQWBVG6+K43rpM_w^aTBuo}{PfX?li!N57|M={b6y%%VTipXkr@0{w;l zN`GUg*%|g7`<|U;=h%7n1N)Kv#C~QM*e~o?_8Ys%erK21Wp;&KZGf%&Jq;NC1BEnT z+JLzRtZKk;9clxYS0m?=4{-grM2FJ=P0%`eKYbkN^Df;+4*)=?0FtxxJV5a?z;KaX zqF11}OX2@N)bO7lIxdUj;lDi`Tr2J-?q;q%*NyAT4dqHXk(NJUhf%ByOt>Z~eOO;Fvb zimPf=(^a*qI#s=DwyHt(h-!sut!k6%J=JE_7S%shJ5&c$U#JeLj;M~Rj;W5TzE@pN zOG~q)dD3o5%TMc`)-Uajw34*4w6SSoS~#sCZ9&?LY3tLrqp>b;5niiUy zG_5slGzFS=njxABO|@pGW{zf&=I@%NnnukE%_`0Fnl+lWnpZUMYqn}W(d^e8(j3to z)g05D)BL8nqE%^)+8k{wZ98p|_BL%V?Lh4WZCE=~J4<_)mTB+S-m9IjeMbADc8zwe zcD;6scAxg7_Ja0uhAX2@MqWmKMqx(#j1C!{GP-5-$mp5j&ls68I%8}`dB&=Y*D^L` ze424E-7e`NpI0x^>)2O@6_L*zfs>>-&S9s@1XCd@2>B!_vAho8gGb{cjYzBgPls*HN0&6r~pjIE8g8v7VajDF(?<9K7pIK^0H zj2fpJGO0~DCc)I&)W(!& z$~P67#+XD?)KqJ#Gu4}Bn;J~_nC6(~njSDcXnNGN#Pp=;Y14D2^`;G`jiz@^@0<3U zj+#!Hel=q=XHGMxn=NLWImg`ATwrczE;4sC7n@7We)9v-k<$>_QCAK*+;UE zW`C3YZT6|`Guh{}FIdy9POIDMwF=gj)~?pDHDax{#;ghJG;5u;-pZ_VtaGgktShX0 zt-o6@Td&%%EzOp0)7o@4qs?J+**rF%t*x!2?N-}uwjQ=Vwtlt&wt==$wmG&3ZI9ZX zw!LP1*S6Po*mlx(*`8*%*adrA`>pm-_A&Nx_Hz3Kd(bZ0EA6xGZ`l7~UvJ-F-)P@t z-(uft|H%Ha{e=CT{gVAk4$9Hw7;~&Sx8$_V>6o^w3s z`<$O0I)~HYc6c3vqot$3(bLh}(bv)6al2!TW1OSh5pV<@_c|6h7CIhrEOtERSmJon z@wDSD#}>z4$5)OMj+2hlj&qJ596vcO|la)Y^IZe?yLcS>$mZZ!9? z+|{|8a<}E~$o({TckbTYeYxK_vD4>l;k?0lqqDWMjWf@g@9gFr;vDMqJ4ZOjI|I(3 zQ*_RCE_6Qbe9iflE5l`TIb2Sc$K`XiaCLJHc2&D#u7qovYlds4YnJOS*ORX0u2)>I zyWVuIcWrQObRBj5;`+_?yX&&+svEnhTjf@}ySn?hhq=q#qugWM6WkNs74Avy`R<3@ z54#t+|K@(w{kZ!H_fziA-RIp`Jk+D|s69GQmWTHkJsmxrJzYKBJl#FTo?f0lo_?N5 zo+{71o<*L;p2s{-c%Je+2EC#;;*EP}c^~yY?tQ}hl=m6$v)*Oi<=&Ov z=e#d?U-GW;uJx|>e&XHf-R<4$-RC{v{la_5d&GOxd(3;>d%}Cpr}k-l8NN)P-e>Tc zd={V8XZJaLPM_O%i?5@vx39!E!dL05_D%K0eY1S^zS+KczJL2Z^lkHP_kH5q>D%qw z>)Yo$;QPXN$alnd)OXBx+;_rv(s$bTo$svgyzfWf&%R%LzxjUmUG`lSus{WskR=Qf z1`9(4zc4~56GjPRgmFT-5DCM1`qBT&NMI3p0gT!ffGgVU93Qm@h04 z772e79u*!Jo)DfAo)MlEmI=#+mBMqv3&Kmn8ey&Qs_?q-rm#+UOL$v&M|f9wU)Umi nENmA(5%voQgfE1zh2z2r;hgX@lvm-05apY5E8nTVEx7*!VM-OW literal 0 HcmV?d00001 diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Syntaxes/HTML 5.tmLanguage b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Syntaxes/HTML 5.tmLanguage new file mode 100644 index 0000000..454da19 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Syntaxes/HTML 5.tmLanguage @@ -0,0 +1,938 @@ + + + + + fileTypes + + html + htm + shtml + xhtml + phtml + php + inc + tmpl + tpl + ctp + + firstLineMatch + <!DOCTYPE|doctype|<(?i:html)|<\?(?i:php) + foldingStartMarker + (?x) + (<(?i:a|article|aside|audio|blockquote|body|canvas|datalist|details|div|dl|fieldset|figcaption|figure|footer|form|head|header|hgroup|li|mark|meter|nav|ol|output|p|progress|rp|rt|ruby|script|section|select|small|style|summary|table|tbody|tfoot|thead|time|tr|ul|video)\b.*?> + |<!--(?!.*--\s*>) + |^<!--\ \#tminclude\ (?>.*?-->)$ + |<\?(?:php)?.*\b(if|for(each)?|while)\b.+: + |\{\{?(if|foreach|capture|literal|foreach|php|section|strip) + |\{\s*($|\?>\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/))) + ) + foldingStopMarker + (?x) + (</(?i:a|article|aside|audio|blockquote|body|canvas|datalist|details|div|dl|fieldset|figcaption|figure|footer|form|head|header|hgroup|li|mark|meter|nav|ol|output|p|progress|rp|rt|ruby|script|section|select|small|style|summary|table|tbody|tfoot|thead|time|tr|ul|video)> + |^(?!.*?<!--).*?--\s*> + |^<!--\ end\ tminclude\ -->$ + |<\?(?:php)?.*\bend(if|for(each)?|while)\b + |\{\{?/(if|foreach|capture|literal|foreach|php|section|strip) + |^[^{]*\} + ) + keyEquivalent + ^~H + name + HTML5 + patterns + + + begin + (<)([a-zA-Z0-9:]+)(?=[^>]*></\2>) + beginCaptures + + 1 + + name + punctuation.definition.tag.html + + 2 + + name + entity.name.tag.html + + + end + (>(<)/)(\2)(>) + endCaptures + + 1 + + name + punctuation.definition.tag.html + + 2 + + name + meta.scope.between-tag-pair.html + + 3 + + name + entity.name.tag.html + + 4 + + name + punctuation.definition.tag.html + + + name + meta.tag.any.html + patterns + + + include + #tag-stuff + + + + + begin + (<\?)(xml) + captures + + 1 + + name + punctuation.definition.tag.html + + 2 + + name + entity.name.tag.xml.html + + + end + (\?>) + name + meta.tag.preprocessor.xml.html + patterns + + + include + #tag-generic-attribute + + + include + #string-double-quoted + + + include + #string-single-quoted + + + + + begin + <!-- + captures + + 0 + + name + punctuation.definition.comment.html + + + end + --\s*> + name + comment.block.html + patterns + + + match + -- + name + invalid.illegal.bad-comments-or-CDATA.html + + + include + #embedded-code + + + + + begin + <! + captures + + 0 + + name + punctuation.definition.tag.html + + + end + > + name + meta.tag.sgml.html + patterns + + + begin + (DOCTYPE|doctype) + captures + + 1 + + name + entity.name.tag.doctype.html + + + end + (?=>) + name + meta.tag.sgml.doctype.html + patterns + + + match + "[^">]*" + name + string.quoted.double.doctype.identifiers-and-DTDs.html + + + + + begin + \[CDATA\[ + end + ]](?=>) + name + constant.other.inline-data.html + + + match + (\s*)(?!--|>)\S(\s*) + name + invalid.illegal.bad-comments-or-CDATA.html + + + + + include + #embedded-code + + + begin + (?:^\s+)?(<)((?i:style))\b(?![^>]*/>) + captures + + 1 + + name + punctuation.definition.tag.html + + 2 + + name + entity.name.tag.style.html + + 3 + + name + punctuation.definition.tag.html + + + end + (</)((?i:style))(>)(?:\s*\n)? + name + source.css.embedded.html + patterns + + + include + #tag-stuff + + + begin + (>) + beginCaptures + + 1 + + name + punctuation.definition.tag.html + + + end + (?=</(?i:style)) + patterns + + + include + #embedded-code + + + include + source.css + + + + + + + begin + (?:^\s+)?(<)((?i:script))\b(?![^>]*/>) + beginCaptures + + 1 + + name + punctuation.definition.tag.html + + 2 + + name + entity.name.tag.script.html + + + end + (?<=</(script|SCRIPT))(>)(?:\s*\n)? + endCaptures + + 2 + + name + punctuation.definition.tag.html + + + name + source.js.embedded.html + patterns + + + include + #tag-stuff + + + begin + (?<!</(?:script|SCRIPT))(>) + captures + + 1 + + name + punctuation.definition.tag.html + + 2 + + name + entity.name.tag.script.html + + + end + (</)((?i:script)) + patterns + + + captures + + 1 + + name + punctuation.definition.comment.js + + + match + (//).*?((?=</script)|$\n?) + name + comment.line.double-slash.js + + + begin + /\* + captures + + 0 + + name + punctuation.definition.comment.js + + + end + \*/|(?=</script) + name + comment.block.js + + + include + #php + + + include + source.js + + + + + + + begin + (</?)((?i:body|head|html)\b) + captures + + 1 + + name + punctuation.definition.tag.html + + 2 + + name + entity.name.tag.structure.any.html + + + end + (>) + name + meta.tag.structure.any.html + patterns + + + include + #tag-stuff + + + + + begin + (</?)((?i:address|blockquote|dd|div|header|section|footer|aside|nav|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) + captures + + 1 + + name + punctuation.definition.tag.html + + 2 + + name + entity.name.tag.block.any.html + + + end + (>) + name + meta.tag.block.any.html + patterns + + + include + #tag-stuff + + + + + begin + (</?)((?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) + captures + + 1 + + name + punctuation.definition.tag.html + + 2 + + name + entity.name.tag.inline.any.html + + + end + ((?: ?/)?>) + name + meta.tag.inline.any.html + patterns + + + include + #tag-stuff + + + + + begin + (</?)([a-zA-Z0-9:]+) + captures + + 1 + + name + punctuation.definition.tag.html + + 2 + + name + entity.name.tag.other.html + + + end + (>) + name + meta.tag.other.html + patterns + + + include + #tag-stuff + + + + + include + #entities + + + match + <> + name + invalid.illegal.incomplete.html + + + match + < + name + invalid.illegal.bad-angle-bracket.html + + + repository + + embedded-code + + patterns + + + include + #ruby + + + include + #php + + + include + #smarty + + + include + #python + + + + entities + + patterns + + + captures + + 1 + + name + punctuation.definition.entity.html + + 3 + + name + punctuation.definition.entity.html + + + match + (&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;) + name + constant.character.entity.html + + + match + & + name + invalid.illegal.bad-ampersand.html + + + + php + + begin + (?=(^\s*)?<\?) + end + (?!(^\s*)?<\?) + patterns + + + include + source.php + + + + python + + begin + (?:^\s*)<\?python(?!.*\?>) + end + \?>(?:\s*$\n)? + name + source.python.embedded.html + patterns + + + include + source.python + + + + ruby + + patterns + + + begin + <%+# + captures + + 0 + + name + punctuation.definition.comment.erb + + + end + %> + name + comment.block.erb + + + begin + <%+(?!>)=? + captures + + 0 + + name + punctuation.section.embedded.ruby + + + end + -?%> + name + source.ruby.embedded.html + patterns + + + captures + + 1 + + name + punctuation.definition.comment.ruby + + + match + (#).*?(?=-?%>) + name + comment.line.number-sign.ruby + + + include + source.ruby + + + + + begin + <\?r(?!>)=? + captures + + 0 + + name + punctuation.section.embedded.ruby.nitro + + + end + -?\?> + name + source.ruby.nitro.embedded.html + patterns + + + captures + + 1 + + name + punctuation.definition.comment.ruby.nitro + + + match + (#).*?(?=-?\?>) + name + comment.line.number-sign.ruby.nitro + + + include + source.ruby + + + + + + smarty + + patterns + + + begin + (\{(literal)\}) + captures + + 1 + + name + source.smarty.embedded.html + + 2 + + name + support.function.built-in.smarty + + + end + (\{/(literal)\}) + + + begin + {{|{ + disabled + 1 + end + }}|} + name + source.smarty.embedded.html + patterns + + + include + source.smarty + + + + + + string-double-quoted + + begin + " + beginCaptures + + 0 + + name + punctuation.definition.string.begin.html + + + end + " + endCaptures + + 0 + + name + punctuation.definition.string.end.html + + + name + string.quoted.double.html + patterns + + + include + #embedded-code + + + include + #entities + + + + string-single-quoted + + begin + ' + beginCaptures + + 0 + + name + punctuation.definition.string.begin.html + + + end + ' + endCaptures + + 0 + + name + punctuation.definition.string.end.html + + + name + string.quoted.single.html + patterns + + + include + #embedded-code + + + include + #entities + + + + tag-generic-attribute + + match + \b([a-zA-Z\-:]+) + name + entity.other.attribute-name.html + + tag-id-attribute + + begin + \b(id)\b\s*(=) + captures + + 1 + + name + entity.other.attribute-name.id.html + + 2 + + name + punctuation.separator.key-value.html + + + end + (?<='|") + name + meta.attribute-with-value.id.html + patterns + + + begin + " + beginCaptures + + 0 + + name + punctuation.definition.string.begin.html + + + contentName + meta.toc-list.id.html + end + " + endCaptures + + 0 + + name + punctuation.definition.string.end.html + + + name + string.quoted.double.html + patterns + + + include + #embedded-code + + + include + #entities + + + + + begin + ' + beginCaptures + + 0 + + name + punctuation.definition.string.begin.html + + + contentName + meta.toc-list.id.html + end + ' + endCaptures + + 0 + + name + punctuation.definition.string.end.html + + + name + string.quoted.single.html + patterns + + + include + #embedded-code + + + include + #entities + + + + + + tag-stuff + + patterns + + + include + #tag-id-attribute + + + include + #tag-generic-attribute + + + include + #string-double-quoted + + + include + #string-single-quoted + + + include + #embedded-code + + + + + scopeName + text.html.basic + uuid + 6F87DAE1-56E0-4193-A940-8D68BC76874C + + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Wrap Selection in Open -Close Tag.sublime-snippet b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Wrap Selection in Open -Close Tag.sublime-snippet new file mode 100644 index 0000000..09840ed --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/Wrap Selection in Open -Close Tag.sublime-snippet @@ -0,0 +1,6 @@ + + $SELECTION]]> + ^W + source.php,text.html + Wrap Selection in Open/Close Tag + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/info.plist b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/info.plist new file mode 100644 index 0000000..bd15797 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/info.plist @@ -0,0 +1,531 @@ + + + + + mainMenu + + excludedItems + + 3C44EABE-8D6F-4B1B-AB91-F419FAD1A0AD + 0658019F-3635-462E-AAC2-74E4FE508A9B + 2ED44A32-C353-447F-BAE4-E3522DB6944D + CBD82CF3-74E9-4E7A-B3F6-9348754EB5AA + 3463E85F-F500-49A0-8631-D78ED85F9D60 + 7B7E945E-A112-11D9-A5A2-000D93C8BE28 + + items + + 1274DFD1-175E-43A0-B226-58EF777D0285 + 637CEA2B-578C-429C-BB74-30E8D42BFA22 + 16E02FC6-2D39-406B-8927-E2770AFC72BA + ------------------------------------ + A7283C84-9E44-4D4A-983A-0F185F68BB71 + B002A609-8235-4368-BBA8-B35FBF4F676E + 7E81E32E-BAB1-4BD3-BFDC-17E319F6244D + ------------------------------------ + 98F922A8-AE66-4787-9CE2-50F3E5924E36 + 2E2E84F9-D2E2-44E2-9B31-6FEC64E0D277 + ------------------------------------ + F1601C6B-65F1-4614-BFFB-BDA644E6920D + EF47CF92-CB4E-417D-BA8A-F24D46A7A5EC + ------------------------------------ + B8651C6E-A05E-11D9-86AC-000D93C8BE28 + 970EE6B4-A091-11D9-A5A2-000D93C8BE28 + ------------------------------------ + 20D760B5-A127-11D9-A5A2-000D93C8BE28 + BC8B8AE2-5F16-11D9-B9C3-000D93589AF6 + 991E7EBD-F3F5-469A-BA01-DC30E04AD472 + + submenus + + 2E2E84F9-D2E2-44E2-9B31-6FEC64E0D277 + + items + + 3DD8406C-A116-11D9-A5A2-000D93C8BE28 + 43C9E8AE-3E53-4B82-A1AF-56697BB3EF09 + 6B024865-6095-4CE3-8EDD-DC6F2230C2FF + C183920D-A126-11D9-A5A2-000D93C8BE28 + 2C4C9673-B166-432A-8938-75A5CA622481 + 9B13543F-8356-443C-B6E7-D9259B604927 + + name + URL escapes + + 511CD76D-8D49-448E-8114-71836FAE1D09 + + items + + 65EB1ADC-76BC-4CBB-AEFA-FCE33E490A93 + 5B30570C-13C1-4CEF-84AE-C6C153434B25 + 6AF6D81C-1242-4B8E-89AC-5C628F87F15C + C0446BA4-B6E9-4181-8C71-65F13F8DFE1F + FB0C19EC-B5EC-4558-8B34-45865217E821 + 72AFB7AB-63FB-4EF0-8ECD-8706416AB79F + B0DA1BE6-1A64-48F7-869F-A78E7F3EB770 + A3F0F503-4775-42DD-8E0A-71D2EBBFFE4E + 63A80A54-B877-453B-8E24-200F493DEE47 + F216C3A5-7288-4816-997D-0F79894DDC18 + + name + Sections + + 515E8765-CC12-47C9-8DF1-C57975CA0CCB + + items + + D8D4017E-BB4E-4002-BBBD-E69161E551C9 + FF93F160-ECB8-4279-A976-4A7D4F91C607 + 908BA846-F4B0-4855-975F-AA0B4AF3D1A9 + 2593C830-3C1E-4BB5-86B1-2DFA51888C75 + 8C79DB07-1D44-4AFD-A9A6-E64AED876C54 + 187ED135-0799-4E06-80AD-A3E5C7FA2E49 + 9A3939A7-BC78-40EC-9C58-E12BFE53BF38 + BF5EB4C0-0F10-44EE-9587-411750DA7845 + 828CFBFA-C61E-4957-9554-0BC59534BFDD + 1882B588-F340-4CEE-8E96-3F0776596457 + 343372EA-958B-44B9-AE79-ED367E475B18 + 55498DAC-4699-4296-809B-90C021DD3F5C + BCC2AC1B-8AA0-42B6-9FDD-D5251F7F7E30 + 571EAAE4-24D0-4D50-88F1-D015E56DFA60 + C02BD316-2F58-4F37-9C24-8BDB0A63BBC8 + + name + Embedded content + + 5878F656-3EBC-4FEF-A2B7-356F6236F268 + + items + + 176E2E83-9B9D-4F85-BA4C-52AB8073622E + 72C5D28E-6A44-4293-8F6A-5105A190E218 + 3E008E42-A5C9-11D9-9BCD-000D93C8BE28 + 0A2DD7D0-F48D-47E6-A8B3-1C676B176611 + AB3FE377-10F9-4837-AAA8-8BA4E4178AB9 + B859CBE9-1B75-4938-B62D-7FBF02AEA3D5 + BC696789-359A-4663-AC9D-FD96ACEDC5FD + E523A7AE-A923-4E4B-A286-84D5EC588E1A + 9057B333-A8EB-494A-80DD-E188849F12A0 + 2E052273-464E-4EA1-9C38-1041527F8634 + EBE37587-6235-4BE1-A389-FECE0325198E + BD8EB824-A106-4FE4-BF41-339BDE48AAEF + + name + Grouping content + + 7E81E32E-BAB1-4BD3-BFDC-17E319F6244D + + items + + 067A025E-9E05-493D-A57F-2B563927213D + 13A82635-CD7A-4EDC-B1BB-306F905DF2BE + + name + Comments + + 8A265312-483B-4666-B129-79D6AECAED87 + + items + + 232C2E8B-A08E-11D9-A5A2-000D93C8BE28 + 9BD2BE01-A854-4D55-B584-725D04C075C0 + 576036C0-A60E-11D9-ABD6-000D93C8BE28 + 9BF7061E-F2AC-492A-A532-B5B2CC0D2922 + D8DCCC81-749A-4E2A-B4BC-D109D5799CAA + E14F25E5-CD93-4E44-8729-9A836EE7E91D + F225A3D3-7958-4B05-81F1-9107933D1870 + 4C145C29-48B4-4A63-9451-3D499AF962D3 + B62CE929-D9CB-4D94-A8F1-D3D5B6BC142D + 0F493D1E-7F8E-43A1-93D3-CDBD16FB70D6 + 59A9E8E1-A161-4B57-92AF-2A869C31FCCB + 5883EC93-ED49-4DCA-8C1B-E9400298203A + 0483EF5E-42F2-4BF5-8233-FA1A77EB8B25 + 976E3238-D6FF-410F-AAD7-00A70D4449B3 + D45E99AC-E273-4C60-87E0-D76061B624E9 + AD249766-BC28-408C-ABE4-9E5964148F48 + 06146486-AA88-47E8-9C53-78E0C38605F9 + 21CA431A-CEE5-41BD-921D-F3369D24B855 + 1A834330-07D9-44C7-8B67-4A57CE1AD4E9 + 897B22FB-E495-4C67-A21B-4B1CE25D6859 + AA97B975-76D8-440F-A64A-E445565AB4C0 + 84A78FA1-46DA-4DDE-A803-BAACE4E84845 + 8B144B82-FDDE-4E96-9E85-BA34107207C7 + F6B0C187-0D11-4678-A0EB-D4E98A5D2C13 + F296AF7A-DB65-48F3-8F08-180E9BF2DD30 + A79FB8FF-A8AE-462B-8768-EC9B6984A43D + 3D193589-7F16-4369-836F-73675EB112CE + 44180979-A08E-11D9-A5A2-000D93C8BE28 + FE789948-0498-4209-BA0C-FC7CB600F35A + 26023CFF-C73F-4EF5-9803-E4DBA2CBEADD + F806B6F2-4896-4681-8ACD-DD89C78D6F51 + 63C7CC12-ECF8-443F-AC02-846550D4F398 + 5820372E-A093-4F38-B25C-B0CCC50A0FC4 + AAC9D7B8-A12C-11D9-A5A2-000D93C8BE28 + 9E6F15F4-69A8-49B8-A928-4F6102131608 + 6FF2530E-99F5-493F-8D29-25B7AC8E3DE0 + BF1FB951-2E7A-4703-9818-DB70D4F4139C + 988E575B-9158-48E4-BF80-83A3328F648C + + name + Forms + + 909160DB-D37B-47E3-A90B-1F6E69E0A45C + + items + + 942BCB25-1F1E-4F51-9D16-BE62A481B39F + D14DE56E-D23C-410B-A580-8BD33AFB4D6C + + name + Edits + + 95F1910C-ABF2-4CD9-85C2-E5048AD11C3E + + items + + 9E586FE2-E066-440D-880C-5493FD54FA33 + 81DA4C74-A530-11D9-9BCD-000D93C8BE28 + EBB98620-3292-4621-BA38-D8A9A65D9551 + 4117D930-B6FA-4022-97E7-ECCAF4E70F63 + 76CAFE9F-4C6D-454B-BF2C-34555DF7B534 + 2512A1D9-7CFF-4233-89BA-92056FA647D8 + 28149211-5F22-4E40-97C5-D0E3A6959992 + 9CCF1FDD-A66B-41E4-90D6-3BF48D00A105 + 5E9C1787-987F-4ACB-8307-2B30333D6D56 + C2FC35FB-041E-45AC-BAF5-1813DD69EA2F + E438992B-3762-4F98-8ABF-1D8E7DE016D7 + C7399601-B555-4051-9828-8DA76BC36697 + 553B07F3-D33C-40B1-B78C-17DED3BD3FC7 + AAAE2350-580D-47CB-B9DE-7BC1325A6F7A + F81E1BBE-8FC9-438C-B9E5-501E37B7BCD1 + 1C55A2AC-97B1-4B32-BFDF-0CB7DB438CF6 + B476570F-987F-4DA9-B548-426D1CA7A5CE + 7CE2862C-ED73-45AF-A7E4-2846A6890D0A + EA4FD535-4DCF-4D5D-AB5B-DD6C2860A61A + CA26794E-8751-4813-BEE3-8EA4A5E30806 + BF09850D-AA80-493B-93C2-8B909783889F + 3CF8BA96-B4D5-43EF-B02A-E5B5CE533720 + D5A80705-04F2-4C05-8022-B020FA53E9B9 + EBBBB55D-4424-43C0-96C0-EC86A282EFED + + name + Text-level semantics + + 980CF231-E644-4852-82F1-93B2AD0CBC24 + + items + + 7D36AE50-5C5F-445C-9FD2-B6AFBFAD29A9 + DA80E7E5-2832-434F-9BCF-A86C3FC99E88 + 389C2FDE-B363-44DE-9B3E-3339EF88CB4E + 84DC4FE8-DB87-46B1-9783-D83909545074 + + name + Interactive elements + + 98F922A8-AE66-4787-9CE2-50F3E5924E36 + + items + + 89E5CC0A-3EFF-4DEF-A299-2E9651DE6529 + 73B40BAE-A295-11D9-87F7-000D93C8BE28 + + name + Entities + + B002A609-8235-4368-BBA8-B35FBF4F676E + + items + + 172060BD-346E-4B95-95E7-57D3F9995DCB + B7C071AB-FC12-4E93-8937-A212D5640C3A + 6592050A-A087-11D9-A5A2-000D93C8BE28 + 511CD76D-8D49-448E-8114-71836FAE1D09 + 5878F656-3EBC-4FEF-A2B7-356F6236F268 + 95F1910C-ABF2-4CD9-85C2-E5048AD11C3E + 909160DB-D37B-47E3-A90B-1F6E69E0A45C + 515E8765-CC12-47C9-8DF1-C57975CA0CCB + EFFECF63-B3A8-401D-90C2-06679D6D6235 + 8A265312-483B-4666-B129-79D6AECAED87 + 980CF231-E644-4852-82F1-93B2AD0CBC24 + + name + Elements + + B7C071AB-FC12-4E93-8937-A212D5640C3A + + items + + EE9882E9-DEB6-46BB-9CF2-038A4AC6DD73 + 091B74AF-45E9-4F78-9013-79943E2319D2 + 4462A6B8-A08A-11D9-A5A2-000D93C8BE28 + EE92C22E-948C-41B4-9F44-BC5B0F953316 + D92E1546-77AB-43E9-8C63-D7749E045BEB + 58735A26-840E-4F3B-AC60-19ADA7732060 + 526CA680-5A5C-401A-AEA3-EDB17AD3DD2A + C6469B90-D3FB-42FE-B33F-416BA7D1E193 + 8EFB1A8D-B4D6-4BAD-B718-43FB277F3AE6 + 883D7DD9-4E34-457F-B019-04B382233FFB + 5EF160F9-5735-4611-9053-99F93F2E8D91 + 77BFD0C0-A08A-11D9-A5A2-000D93C8BE28 + DA99AC44-A083-11D9-A5A2-000D93C8BE28 + 9D101904-8090-4F6C-B63B-2EF2EB79CB5F + 3C518074-A088-11D9-A5A2-000D93C8BE28 + + name + Document metadata + + EF47CF92-CB4E-417D-BA8A-F24D46A7A5EC + + items + + E4C05331-DBD8-47D5-9CAF-2E4C2509D1FC + 363DDC2B-0E64-424E-9B1F-0D13DB0DBE48 + 303A4EE5-A97F-4478-A347-8DB682354B2C + 315EEBED-BBF9-4CE6-AEB6-65022CC31532 + A150DD2B-3CBB-415E-A76D-80772CF725D3 + 08C01157-7A32-4D3B-A15B-32FE02F288A9 + 34438ACE-808E-4D60-8589-826FB7C6CBE0 + F3BE0F2E-93D8-40FD-BA2B-4636F7726DDC + 157E2240-DC62-40C7-8BEE-2EA193E575F4 + 8415F03D-0CE4-4478-808B-65ED611D5BCD + CEF25D24-ED3B-445E-890E-124984B1C842 + + name + Javascript Libraries + + EFFECF63-B3A8-401D-90C2-06679D6D6235 + + items + + 57176082-A12F-11D9-A5A2-000D93C8BE28 + 16E03CBE-8F97-43A8-971B-49FB6F9C4B4C + 7C1CF811-3622-4311-ACEF-03BBC88505F7 + 75AB9A5D-A2BE-4D4D-8A83-7A9124B4A9C4 + FE67502A-0B4C-4114-9B94-29A6D2C32C09 + EF4250A0-0407-437D-9B84-4151232A1706 + 4CE017E0-0B8B-4451-8F4A-DD2B085CD4D3 + 93D2BF9E-D92B-4123-91B1-E2984E457C78 + C034D9F7-3866-4CCA-B50A-F564F7E80735 + 9A6AB468-1233-48D9-9CD8-DF0B2DA8E049 + + name + Tabular data + + F1601C6B-65F1-4614-BFFB-BDA644E6920D + + items + + 0ED6DA73-F38F-4A65-B18F-3379D2BA9387 + 3A517A94-001E-464D-8184-1FE56D0D0D70 + E3F8984E-7269-4981-9D30-967AB56A6ACE + F3512848-7889-45DA-993B-0547976C8E6D + 32BBB9AB-8732-4F91-A587-354941A27B69 + 48DF7485-52EA-49B3-88AF-3A41F933F325 + CBC24AF4-88E0-498B-BE50-934B9CF29EC7 + F00170EE-4A82-413F-A88B-85293E69A88B + 069239F5-589C-4564-9354-79369058937F + + name + Internet Explorer conditional comments + + + + name + HTML5 + ordering + + 6F87DAE1-56E0-4193-A940-8D68BC76874C + A7283C84-9E44-4D4A-983A-0F185F68BB71 + 172060BD-346E-4B95-95E7-57D3F9995DCB + EE9882E9-DEB6-46BB-9CF2-038A4AC6DD73 + 091B74AF-45E9-4F78-9013-79943E2319D2 + 4462A6B8-A08A-11D9-A5A2-000D93C8BE28 + EE92C22E-948C-41B4-9F44-BC5B0F953316 + D92E1546-77AB-43E9-8C63-D7749E045BEB + 58735A26-840E-4F3B-AC60-19ADA7732060 + 526CA680-5A5C-401A-AEA3-EDB17AD3DD2A + C6469B90-D3FB-42FE-B33F-416BA7D1E193 + 8EFB1A8D-B4D6-4BAD-B718-43FB277F3AE6 + 883D7DD9-4E34-457F-B019-04B382233FFB + 5EF160F9-5735-4611-9053-99F93F2E8D91 + 77BFD0C0-A08A-11D9-A5A2-000D93C8BE28 + C8B717C2-6B33-11D9-BB47-000D93589AF6 + DA99AC44-A083-11D9-A5A2-000D93C8BE28 + 9D101904-8090-4F6C-B63B-2EF2EB79CB5F + 3C518074-A088-11D9-A5A2-000D93C8BE28 + 6592050A-A087-11D9-A5A2-000D93C8BE28 + 52124611-B363-40AD-B9F0-0A811941CD20 + 65EB1ADC-76BC-4CBB-AEFA-FCE33E490A93 + 5B30570C-13C1-4CEF-84AE-C6C153434B25 + 6AF6D81C-1242-4B8E-89AC-5C628F87F15C + C0446BA4-B6E9-4181-8C71-65F13F8DFE1F + FB0C19EC-B5EC-4558-8B34-45865217E821 + 72AFB7AB-63FB-4EF0-8ECD-8706416AB79F + B0DA1BE6-1A64-48F7-869F-A78E7F3EB770 + A3F0F503-4775-42DD-8E0A-71D2EBBFFE4E + 63A80A54-B877-453B-8E24-200F493DEE47 + F216C3A5-7288-4816-997D-0F79894DDC18 + 176E2E83-9B9D-4F85-BA4C-52AB8073622E + 72C5D28E-6A44-4293-8F6A-5105A190E218 + 3E008E42-A5C9-11D9-9BCD-000D93C8BE28 + 0A2DD7D0-F48D-47E6-A8B3-1C676B176611 + AB3FE377-10F9-4837-AAA8-8BA4E4178AB9 + B859CBE9-1B75-4938-B62D-7FBF02AEA3D5 + BC696789-359A-4663-AC9D-FD96ACEDC5FD + E523A7AE-A923-4E4B-A286-84D5EC588E1A + 9057B333-A8EB-494A-80DD-E188849F12A0 + 2E052273-464E-4EA1-9C38-1041527F8634 + EBE37587-6235-4BE1-A389-FECE0325198E + BD8EB824-A106-4FE4-BF41-339BDE48AAEF + 9E586FE2-E066-440D-880C-5493FD54FA33 + 81DA4C74-A530-11D9-9BCD-000D93C8BE28 + B23D6E15-6B33-11D9-86C1-000D93589AF6 + EBB98620-3292-4621-BA38-D8A9A65D9551 + 4117D930-B6FA-4022-97E7-ECCAF4E70F63 + 76CAFE9F-4C6D-454B-BF2C-34555DF7B534 + 2512A1D9-7CFF-4233-89BA-92056FA647D8 + 28149211-5F22-4E40-97C5-D0E3A6959992 + 9CCF1FDD-A66B-41E4-90D6-3BF48D00A105 + 5E9C1787-987F-4ACB-8307-2B30333D6D56 + C2FC35FB-041E-45AC-BAF5-1813DD69EA2F + E438992B-3762-4F98-8ABF-1D8E7DE016D7 + C7399601-B555-4051-9828-8DA76BC36697 + 553B07F3-D33C-40B1-B78C-17DED3BD3FC7 + AAAE2350-580D-47CB-B9DE-7BC1325A6F7A + F81E1BBE-8FC9-438C-B9E5-501E37B7BCD1 + 1C55A2AC-97B1-4B32-BFDF-0CB7DB438CF6 + B476570F-987F-4DA9-B548-426D1CA7A5CE + 7CE2862C-ED73-45AF-A7E4-2846A6890D0A + EA4FD535-4DCF-4D5D-AB5B-DD6C2860A61A + CA26794E-8751-4813-BEE3-8EA4A5E30806 + BF09850D-AA80-493B-93C2-8B909783889F + 3CF8BA96-B4D5-43EF-B02A-E5B5CE533720 + D5A80705-04F2-4C05-8022-B020FA53E9B9 + EBBBB55D-4424-43C0-96C0-EC86A282EFED + 942BCB25-1F1E-4F51-9D16-BE62A481B39F + D14DE56E-D23C-410B-A580-8BD33AFB4D6C + D8D4017E-BB4E-4002-BBBD-E69161E551C9 + FF93F160-ECB8-4279-A976-4A7D4F91C607 + 908BA846-F4B0-4855-975F-AA0B4AF3D1A9 + CD6D2CC6-6B33-11D9-BDFD-000D93589AF6 + 2593C830-3C1E-4BB5-86B1-2DFA51888C75 + 8C79DB07-1D44-4AFD-A9A6-E64AED876C54 + 187ED135-0799-4E06-80AD-A3E5C7FA2E49 + 9A3939A7-BC78-40EC-9C58-E12BFE53BF38 + BF5EB4C0-0F10-44EE-9587-411750DA7845 + 828CFBFA-C61E-4957-9554-0BC59534BFDD + 1882B588-F340-4CEE-8E96-3F0776596457 + 343372EA-958B-44B9-AE79-ED367E475B18 + 55498DAC-4699-4296-809B-90C021DD3F5C + BCC2AC1B-8AA0-42B6-9FDD-D5251F7F7E30 + 571EAAE4-24D0-4D50-88F1-D015E56DFA60 + C02BD316-2F58-4F37-9C24-8BDB0A63BBC8 + 57176082-A12F-11D9-A5A2-000D93C8BE28 + 16E03CBE-8F97-43A8-971B-49FB6F9C4B4C + 7C1CF811-3622-4311-ACEF-03BBC88505F7 + 75AB9A5D-A2BE-4D4D-8A83-7A9124B4A9C4 + FE67502A-0B4C-4114-9B94-29A6D2C32C09 + EF4250A0-0407-437D-9B84-4151232A1706 + 4CE017E0-0B8B-4451-8F4A-DD2B085CD4D3 + 93D2BF9E-D92B-4123-91B1-E2984E457C78 + C034D9F7-3866-4CCA-B50A-F564F7E80735 + 9A6AB468-1233-48D9-9CD8-DF0B2DA8E049 + 232C2E8B-A08E-11D9-A5A2-000D93C8BE28 + 9BD2BE01-A854-4D55-B584-725D04C075C0 + 576036C0-A60E-11D9-ABD6-000D93C8BE28 + 9BF7061E-F2AC-492A-A532-B5B2CC0D2922 + D8DCCC81-749A-4E2A-B4BC-D109D5799CAA + E14F25E5-CD93-4E44-8729-9A836EE7E91D + F225A3D3-7958-4B05-81F1-9107933D1870 + 4C145C29-48B4-4A63-9451-3D499AF962D3 + B62CE929-D9CB-4D94-A8F1-D3D5B6BC142D + 0F493D1E-7F8E-43A1-93D3-CDBD16FB70D6 + 59A9E8E1-A161-4B57-92AF-2A869C31FCCB + 5883EC93-ED49-4DCA-8C1B-E9400298203A + 0483EF5E-42F2-4BF5-8233-FA1A77EB8B25 + 976E3238-D6FF-410F-AAD7-00A70D4449B3 + D45E99AC-E273-4C60-87E0-D76061B624E9 + AD249766-BC28-408C-ABE4-9E5964148F48 + 06146486-AA88-47E8-9C53-78E0C38605F9 + 21CA431A-CEE5-41BD-921D-F3369D24B855 + 1A834330-07D9-44C7-8B67-4A57CE1AD4E9 + 897B22FB-E495-4C67-A21B-4B1CE25D6859 + AA97B975-76D8-440F-A64A-E445565AB4C0 + 84A78FA1-46DA-4DDE-A803-BAACE4E84845 + 8B144B82-FDDE-4E96-9E85-BA34107207C7 + F6B0C187-0D11-4678-A0EB-D4E98A5D2C13 + F296AF7A-DB65-48F3-8F08-180E9BF2DD30 + A79FB8FF-A8AE-462B-8768-EC9B6984A43D + 3D193589-7F16-4369-836F-73675EB112CE + 44180979-A08E-11D9-A5A2-000D93C8BE28 + FE789948-0498-4209-BA0C-FC7CB600F35A + 26023CFF-C73F-4EF5-9803-E4DBA2CBEADD + F806B6F2-4896-4681-8ACD-DD89C78D6F51 + 63C7CC12-ECF8-443F-AC02-846550D4F398 + 5820372E-A093-4F38-B25C-B0CCC50A0FC4 + AAC9D7B8-A12C-11D9-A5A2-000D93C8BE28 + 9E6F15F4-69A8-49B8-A928-4F6102131608 + 6FF2530E-99F5-493F-8D29-25B7AC8E3DE0 + BF1FB951-2E7A-4703-9818-DB70D4F4139C + 988E575B-9158-48E4-BF80-83A3328F648C + 7D36AE50-5C5F-445C-9FD2-B6AFBFAD29A9 + DA80E7E5-2832-434F-9BCF-A86C3FC99E88 + 389C2FDE-B363-44DE-9B3E-3339EF88CB4E + 84DC4FE8-DB87-46B1-9783-D83909545074 + 637CEA2B-578C-429C-BB74-30E8D42BFA22 + 1274DFD1-175E-43A0-B226-58EF777D0285 + 16E02FC6-2D39-406B-8927-E2770AFC72BA + 7B7E945E-A112-11D9-A5A2-000D93C8BE28 + 3463E85F-F500-49A0-8631-D78ED85F9D60 + 4720ADB8-DD17-4F97-A715-AFD72E22CE45 + CBD82CF3-74E9-4E7A-B3F6-9348754EB5AA + 69BD9C8F-15C0-4F67-8B7E-64E48B5E9E71 + 2ED44A32-C353-447F-BAE4-E3522DB6944D + 0658019F-3635-462E-AAC2-74E4FE508A9B + 3C44EABE-8D6F-4B1B-AB91-F419FAD1A0AD + 991E7EBD-F3F5-469A-BA01-DC30E04AD472 + BC8B8AE2-5F16-11D9-B9C3-000D93589AF6 + 3DD8406C-A116-11D9-A5A2-000D93C8BE28 + 43C9E8AE-3E53-4B82-A1AF-56697BB3EF09 + 6B024865-6095-4CE3-8EDD-DC6F2230C2FF + C183920D-A126-11D9-A5A2-000D93C8BE28 + 2C4C9673-B166-432A-8938-75A5CA622481 + 9B13543F-8356-443C-B6E7-D9259B604927 + 89E5CC0A-3EFF-4DEF-A299-2E9651DE6529 + 20D760B5-A127-11D9-A5A2-000D93C8BE28 + 970EE6B4-A091-11D9-A5A2-000D93C8BE28 + B8651C6E-A05E-11D9-86AC-000D93C8BE28 + B79BDBCF-D0C9-468E-BE62-744074D7825F + E7C5859E-122D-4382-84BE-5AB584DC2409 + 73251DBE-EBD2-470F-8148-E6F2EC1A9641 + 6D6B631D-0D6C-413C-B4FA-1D535CBCE890 + FC34BE82-69DC-47B0-997A-37A8763D4E69 + 73B40BAE-A295-11D9-87F7-000D93C8BE28 + 0ED6DA73-F38F-4A65-B18F-3379D2BA9387 + 3A517A94-001E-464D-8184-1FE56D0D0D70 + E3F8984E-7269-4981-9D30-967AB56A6ACE + F3512848-7889-45DA-993B-0547976C8E6D + 32BBB9AB-8732-4F91-A587-354941A27B69 + 48DF7485-52EA-49B3-88AF-3A41F933F325 + CBC24AF4-88E0-498B-BE50-934B9CF29EC7 + F00170EE-4A82-413F-A88B-85293E69A88B + 069239F5-589C-4564-9354-79369058937F + E4C05331-DBD8-47D5-9CAF-2E4C2509D1FC + 363DDC2B-0E64-424E-9B1F-0D13DB0DBE48 + 303A4EE5-A97F-4478-A347-8DB682354B2C + 315EEBED-BBF9-4CE6-AEB6-65022CC31532 + A150DD2B-3CBB-415E-A76D-80772CF725D3 + 08C01157-7A32-4D3B-A15B-32FE02F288A9 + 34438ACE-808E-4D60-8589-826FB7C6CBE0 + F3BE0F2E-93D8-40FD-BA2B-4636F7726DDC + 157E2240-DC62-40C7-8BEE-2EA193E575F4 + 8415F03D-0CE4-4478-808B-65ED611D5BCD + CEF25D24-ED3B-445E-890E-124984B1C842 + 067A025E-9E05-493D-A57F-2B563927213D + 13A82635-CD7A-4EDC-B1BB-306F905DF2BE + + uuid + 79DE1A1A-DCD0-4E2F-B20B-8FEFE97A7270 + + diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/package-metadata.json b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/package-metadata.json new file mode 100644 index 0000000..c39e45b --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/HTML5/package-metadata.json @@ -0,0 +1 @@ +{"url": "https://github.com/mrmartineau/HTML5", "version": "2013.03.15.05.45.36", "description": "HTML5 bundle for Sublime Text 2"} \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/.gitignore b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/.gitignore new file mode 100644 index 0000000..52e4e61 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/.gitignore @@ -0,0 +1,2 @@ +*.pyc +*.pyo diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/CHANGELOG.md b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/CHANGELOG.md new file mode 100644 index 0000000..6f49360 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/CHANGELOG.md @@ -0,0 +1,133 @@ +# Changelog for Hayaku + +## 1.3.3 2013.03.02 + +- **New setting:** `hayaku_CSS_syntax_quote_symbol` for used quote symbol ([#71][]) + +- **New setting:** `hayaku_CSS_syntax_url_quotes` for wrapping clipboarded links in urls with quotes ([#208][]) + +- Added support for `user-select` property ([#207][]) + +- Fixing values in abbreviations for `opacity` property ([#209][]) + +- Don't add units if the value could be unitless (like `line-height`), also `hayaku_CSS_units_for_unitless_numbers` setting for this ([#153][]) + +[#71]: https://github.com/hayaku/hayaku/issues/71 +[#207]: https://github.com/hayaku/hayaku/issues/207 +[#208]: https://github.com/hayaku/hayaku/issues/208 +[#209]: https://github.com/hayaku/hayaku/issues/209 +[#153]: https://github.com/hayaku/hayaku/issues/153 + +## 1.3.2 2013.02.27 + +- Fix the importing method for ST3 again, now should work from the `.sublime-package`. + +## 1.3.1 2013.02.08 + +- Fix the importing method, now the plugin would work from PC in ST3 ([#205][]) + +[#205]: https://github.com/hayaku/hayaku/issues/205 + +## 1.3.0 2013.02.07 + +- **Support for [Sublime Text 3](http://www.sublimetext.com/3) ([#201][])** + +- Fixed inline comment setting for OS X and Linux ([#200][], thanks to @freshmango) + +- Disable inline commenting in functions and quotes ([#203][]) + +[#200]: https://github.com/hayaku/hayaku/issues/200 +[#201]: https://github.com/hayaku/hayaku/issues/201 +[#203]: https://github.com/hayaku/hayaku/issues/203 + +## 1.2.1 2012.12.23 + +- Hotfixing automatic new line after expand's bug ([#190][]) + +[#190]: https://github.com/hayaku/hayaku/issues/190 + +## 1.2.0 2012.12.23 + +- **New feature:** [basic clipboard defaults](https://github.com/hayaku/hayaku/#clipboard-defaults) (for colors and urls) ([#180][]) +- **New setting:** optional [automatic new line after expand](https://github.com/hayaku/hayaku/#automatic-new-line-after-expand) (not by default) ([#123][]) +- Better handling of multiple carets in snippets ([#188][]) +- Fixed an issue with color postexpands and their default values ([#189][]) +- Restructured the repo, so it would be better updatable and maintainable. + +[#123]: https://github.com/hayaku/hayaku/issues/123 +[#180]: https://github.com/hayaku/hayaku/issues/180 +[#188]: https://github.com/hayaku/hayaku/issues/188 +[#189]: https://github.com/hayaku/hayaku/issues/189 + +## 1.1.1 2012.12.16 + +- Fixed bug with more than 99 completion parts in a snippet (`display: inline` affected) ([#182][]) +- Fixed bug with wrong position of color postexpand in prefixed clusters ([#183][]) +- Better handling for values that can be parts of other values in postexpands ([#184][]) +- Overall refactoring of the postexpands, not completed, but already fixed some minor issues and the code is almost ready for moving the postexpands to the dictionaries. + +[#182]: https://github.com/hayaku/hayaku/issues/182 +[#183]: https://github.com/hayaku/hayaku/issues/183 +[#184]: https://github.com/hayaku/hayaku/issues/184 + +## 1.1.0 2012.12.10 + +- **Changed default setting**: now when you use the block expand it expands to the more common code style. +- **New feature:** added [importance to the postexpand](https://github.com/hayaku/hayaku/#postexpand-for-importance) ([#156][]) +- **New setting:** disabling the [inline comment](https://github.com/hayaku/hayaku/#inline-comments) shortcut for CSS ([#169][]) +- **New setting:** [handling the case of expanded colors](https://github.com/hayaku/hayaku/#colors-case) ([#177][]) +- **New setting:** [handling the length of expanded colors](https://github.com/hayaku/hayaku/#shorthand-colors) ([#50][]) +- Moved the default syntax settings to code, so no restart needed for them to apply ([#160][]) +- Don't indent prefixed properties when using Stylus or Sass ([#176][]) + +[#169]: https://github.com/hayaku/hayaku/issues/169 +[#156]: https://github.com/hayaku/hayaku/issues/156 +[#160]: https://github.com/hayaku/hayaku/issues/160 +[#176]: https://github.com/hayaku/hayaku/issues/176 +[#177]: https://github.com/hayaku/hayaku/issues/177 +[#50]: https://github.com/hayaku/hayaku/issues/50 + +## 1.0.4 2012.11.29 + +- Fixed jumping to newline with proper indentation by tab/enter in non-CSS syntaxes ([#166][]) +- Fixed the occasional removing of the content right to the point where the tab/enter happened ([#168][]) +- Allowing expand to work on a line with other properties (“single line” code style) ([#170][]) +- Some minor refactoring. + +[#166]: https://github.com/hayaku/hayaku/issues/166 +[#168]: https://github.com/hayaku/hayaku/issues/168 +[#170]: https://github.com/hayaku/hayaku/issues/170 + +## 1.0.3 2012.11.27 + +- **New feature:** Added a way to write [color abbreviations for rgba](https://github.com/hayaku/hayaku/#rgba-values), like `cF.5` to `color: rgba(255,255,255,.5)` etc. ([#66][]) +- Removed colons from default Stylus syntax ([#161][]) +- Fixed possible leaks of default values ([#164][]) + +[#66]: https://github.com/hayaku/hayaku/issues/66 +[#161]: https://github.com/hayaku/hayaku/issues/161 +[#164]: https://github.com/hayaku/hayaku/issues/164 + +## 1.0.2 2012.11.26 + +- Tab didn't work at the empty line after the last statement in Stylus/Sass ([#146][]) +- Enhanced the behaviour of the `enter`/`tab` at the end of the prefixed cluster ([#52][]) +- Fixed strange bugs in expands, when the `` token could show up ([#155][]) +- Upgraded expand code block action (you can press `enter` inside the brackets — in this position: `{|}` — to create a block), so it is not hardcoded now ([#159][]) +- Added an option to disable postexpand ([#152][]) + +[#146]: https://github.com/hayaku/hayaku/issues/146 +[#52]: https://github.com/hayaku/hayaku/issues/52 +[#155]: https://github.com/hayaku/hayaku/issues/155 +[#159]: https://github.com/hayaku/hayaku/issues/159 +[#152]: https://github.com/hayaku/hayaku/issues/152 + +## 1.0.1 2012.11.23 + +- Updated installation instructions ([#147][]) + +[#147]: https://github.com/hayaku/hayaku/issues/147 + +## 1.0.0 2012.11.22 + +- Initial public alpha \ No newline at end of file diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Default (Linux).sublime-keymap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Default (Linux).sublime-keymap new file mode 100644 index 0000000..1c0aad1 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Default (Linux).sublime-keymap @@ -0,0 +1,92 @@ +[ + // Main Hayaku context + { + "keys": ["tab"], + "command": "hayaku", + "context": [{"key": "hayaku_css_context"}] + } + + // tab or enter at the end of a line should jump to a correct line + , { + "keys": ["tab"], + "command": "hayaku_add_line", + "context": [ + {"key": "hayaku_add_line"}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_single_caret"} + ] + } + , { + "keys": ["enter"], + "command": "hayaku_add_line", + "context": [ + {"key": "hayaku_add_line"}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_single_caret"} + ] + } + + // Temporary fix for the semicolon inserting (bad bad whitespace after) + , { "keys": [":"], "command": "insert_snippet", "args": {"contents": ":$0"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "hayaku_at_css" }, + { "key": "hayaku_single_caret" }, + { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\}|$)", "match_all": true } + ] + } + + // Temporary inline comment for CSS (would be replaced by a more useful command) + , { + "keys": ["/","/"], + "command": "insert_snippet", + "args": {"contents": "/* ${1} */$0"}, + "context": [ + { "key": "selector", "operator": "equal", "operand": "source.css -comment.block.css -punctuation.section.function.css -string.quoted", "match_all": true }, + { "key": "setting.hayaku_CSS_disable_inline_comment", "operator": "not_equal", "operand": true } + ] + } + + // Command for inserting CSS code block + , { + "keys": ["ctrl+enter"], + "command": "hayaku_add_code_block", + "context": [ + {"key": "hayaku_add_code_block"}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_single_caret"} + ] + } + + // Command for inserting right indent for code block by enter in braces + , { + "keys": ["enter"], + "command": "hayaku_expand_code_block", + "context": [ + {"key": "hayaku_at_css"}, + {"key": "hayaku_single_caret"}, + {"key": "preceding_text", "operator": "regex_match", "operand": ".*\\{$" }, + {"key": "following_text", "operator": "regex_match", "operand": "^\\}" } + ] + }, + + // Commands to jump out of multiple selections in CSS + { + "keys": ["up"], + "command": "clear_fields", + "context": [ + {"key": "has_next_field", "operator": "equal", "operand": true}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_going_up"} + ] + }, + { + "keys": ["down"], + "command": "clear_fields", + "context": [ + {"key": "has_next_field", "operator": "equal", "operand": true}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_going_down"} + ] + } +] diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Default (OSX).sublime-keymap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Default (OSX).sublime-keymap new file mode 100644 index 0000000..2d4ba50 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Default (OSX).sublime-keymap @@ -0,0 +1,92 @@ +[ + // Main Hayaku context + { + "keys": ["tab"], + "command": "hayaku", + "context": [{"key": "hayaku_css_context"}] + } + + // tab or enter at the end of a line should jump to a correct line + , { + "keys": ["tab"], + "command": "hayaku_add_line", + "context": [ + {"key": "hayaku_add_line"}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_single_caret"} + ] + } + , { + "keys": ["enter"], + "command": "hayaku_add_line", + "context": [ + {"key": "hayaku_add_line"}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_single_caret"} + ] + } + + // Temporary fix for the semicolon inserting (bad bad whitespace after) + , { "keys": [":"], "command": "insert_snippet", "args": {"contents": ":$0"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "hayaku_at_css" }, + { "key": "hayaku_single_caret" }, + { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\}|$)", "match_all": true } + ] + } + + // Temporary inline comment for CSS (would be replaced by a more useful command) + , { + "keys": ["/","/"], + "command": "insert_snippet", + "args": {"contents": "/* ${1} */$0"}, + "context": [ + { "key": "selector", "operator": "equal", "operand": "source.css -comment.block.css -punctuation.section.function.css -string.quoted", "match_all": true }, + { "key": "setting.hayaku_CSS_disable_inline_comment", "operator": "not_equal", "operand": true } + ] + } + + // Command for inserting CSS code block + , { + "keys": ["super+enter"], + "command": "hayaku_add_code_block", + "context": [ + {"key": "hayaku_add_code_block"}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_single_caret"} + ] + } + + // Command for inserting right indent for code block by enter in braces + , { + "keys": ["enter"], + "command": "hayaku_expand_code_block", + "context": [ + {"key": "hayaku_at_css"}, + {"key": "hayaku_single_caret"}, + {"key": "preceding_text", "operator": "regex_match", "operand": ".*\\{$" }, + {"key": "following_text", "operator": "regex_match", "operand": "^\\}" } + ] + }, + + // Commands to jump out of multiple selections in CSS + { + "keys": ["up"], + "command": "clear_fields", + "context": [ + {"key": "has_next_field", "operator": "equal", "operand": true}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_going_up"} + ] + }, + { + "keys": ["down"], + "command": "clear_fields", + "context": [ + {"key": "has_next_field", "operator": "equal", "operand": true}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_going_down"} + ] + } +] diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Default (Windows).sublime-keymap b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Default (Windows).sublime-keymap new file mode 100644 index 0000000..1c0aad1 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Default (Windows).sublime-keymap @@ -0,0 +1,92 @@ +[ + // Main Hayaku context + { + "keys": ["tab"], + "command": "hayaku", + "context": [{"key": "hayaku_css_context"}] + } + + // tab or enter at the end of a line should jump to a correct line + , { + "keys": ["tab"], + "command": "hayaku_add_line", + "context": [ + {"key": "hayaku_add_line"}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_single_caret"} + ] + } + , { + "keys": ["enter"], + "command": "hayaku_add_line", + "context": [ + {"key": "hayaku_add_line"}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_single_caret"} + ] + } + + // Temporary fix for the semicolon inserting (bad bad whitespace after) + , { "keys": [":"], "command": "insert_snippet", "args": {"contents": ":$0"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "hayaku_at_css" }, + { "key": "hayaku_single_caret" }, + { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\}|$)", "match_all": true } + ] + } + + // Temporary inline comment for CSS (would be replaced by a more useful command) + , { + "keys": ["/","/"], + "command": "insert_snippet", + "args": {"contents": "/* ${1} */$0"}, + "context": [ + { "key": "selector", "operator": "equal", "operand": "source.css -comment.block.css -punctuation.section.function.css -string.quoted", "match_all": true }, + { "key": "setting.hayaku_CSS_disable_inline_comment", "operator": "not_equal", "operand": true } + ] + } + + // Command for inserting CSS code block + , { + "keys": ["ctrl+enter"], + "command": "hayaku_add_code_block", + "context": [ + {"key": "hayaku_add_code_block"}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_single_caret"} + ] + } + + // Command for inserting right indent for code block by enter in braces + , { + "keys": ["enter"], + "command": "hayaku_expand_code_block", + "context": [ + {"key": "hayaku_at_css"}, + {"key": "hayaku_single_caret"}, + {"key": "preceding_text", "operator": "regex_match", "operand": ".*\\{$" }, + {"key": "following_text", "operator": "regex_match", "operand": "^\\}" } + ] + }, + + // Commands to jump out of multiple selections in CSS + { + "keys": ["up"], + "command": "clear_fields", + "context": [ + {"key": "has_next_field", "operator": "equal", "operand": true}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_going_up"} + ] + }, + { + "keys": ["down"], + "command": "clear_fields", + "context": [ + {"key": "has_next_field", "operator": "equal", "operand": true}, + {"key": "hayaku_at_css"}, + {"key": "hayaku_going_down"} + ] + } +] diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/LICENSE b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/LICENSE new file mode 100644 index 0000000..b189e6c --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2012 Roman Komarov , Sergey Mezentsev + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Preferences.sublime-settings b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Preferences.sublime-settings new file mode 100644 index 0000000..bd65b06 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/Preferences.sublime-settings @@ -0,0 +1,54 @@ +{ + "disable_tab_abbreviations_for_scopes": "css,less,sass,scss,stylus", + "auto_complete_selector": "source -comment -source.css -source.sass -source.scss -source.stylus", + + +// Unused settings, work in progress + +// Code Style + + // "hayaku_CSS_colors_use_names": false, // Would expand `#000` to `black` when `true` + // "hayaku_CSS_numbers_leading_zero": true, // Would expand `.3` to `0.3` when `true` + + // "hayaku_CSS_default_unit": "px", // `w10` -> `width: 10px` + // "hayaku_CSS_default_unit_decimal": "em" // `w.5` -> `width: 10em` + + + // DO NOT EDIT + "hayaku_css_dict_snippets": { + "": { + ".": "em" + }, + "": { + "percentage": "%" + }, + "": { + "linear-gradient()" : "linear-gradient(${1:top}, ${2:#000} ${3:0}, ${4:#FFF} ${5:100%})", + "repeating-linear-gradient()" : "repeating-linear-gradient(${1:center}, ${2:#000} ${3:0}, ${4:#FFF} ${5:25%})", + "radial-gradient()" : "radial-gradient(${1:center}, ${2:#000} ${3:0}, ${4:#FFF} ${5:100%})", + "repeating-radial-gradient()" : "repeating-radial-gradient(${1:center}, ${2:#000} ${3:0}, ${4:#FFF} ${5:25%})" + }, + // "box-shadow": { + // "inset" : "inset ${1:0} ${2:0} ${3:0} ${4:rgba(0,0,0,.5)}", + // "[${1:0} ${2:0} ${3:0} ${4:rgba(0,0,0,.5)}]" + // }, + // "text-shadow": { + // "[${1:0} ${2:0} ${3:0} ${4:rgba(255,255,255,.5)}]" + // }, + // "content": { + // "[\"$1\"]" + // }, + "quotes": { + "english": "\"\\201C\" \"\\201D\" \"\\2018\" \"\\2019\"", + "russian": "\"\\00AB\" \"\\00BB\" \"\\201E\" \"\\201C\"" + }, + "font": { + "arial" : "1em/1.4 \"Helvetica Neue\", Arial, sans-serif", + "verdana" : "86%/1.4 Verdana, sans-serif" + } + // "transition" : { + // "[${1:all} ${2:linear} ${3:.3s}]" + // } +} + +} diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/README.md b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/README.md new file mode 100644 index 0000000..b161b56 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/README.md @@ -0,0 +1,404 @@ +# Hayaku [1.3.3](https://github.com/hayaku/hayaku/blob/master/CHANGELOG.md) + +Hayaku is a bundle of useful scripts aiming for rapid front-end web development. + +The main aim of Hayaku is to create the fastest way to write and maintain CSS code in an editor. + +# Table of Contents + +1. [Install Hayaku for Sublime Text](#install-hayaku-for-sublime-text) + +2. [Features](#features) + - [Smart CSS Abbreviations](#smart-css-abbreviations) + - [Fuzzy CSS property abbreviations](#fuzzy-css-property-abbreviations) + - [Smart CSS values abbreviations](#smart-css-values-abbreviations) + - [Numeric values in abbreviations](#numeric-values-in-abbreviations) + - [Color values in abbreviations](#color-values-in-abbreviations) with [RGBA values](#rgba-values) + - [Importance modifier](#importance-modifier) + - [Default values](#Default-values) + - [Clipboard defaults](#clipoard-defaults) + - [Postexpands](#postexpands) + - [Simple property postexpands](#simple-property-postexpands) + - [Postexpands for units](#postexpands-for-units) + - [Postexpands for colors](#postexpands-for-colors) + - [Postexpand for importance](#postexpand-for-importance) + - [Creating new CSS rule blocks](#creating-new-css-rule-blocks) + - [Inline comments](#inline-comments) +

+ +3. [Settings and Preferences](#settings-and-preferences) + - [Autoguessing the code style](#autoguessing-the-code-style) + - [Single code style](#single-code-style) + - [Automatic new line after expand](#automatic-new-line-after-expand) + - [Quotes and URLs](#quotes-and-urls) + - [Units for unitless values](#units-for-unitless-values) + - [Prefixes options](#prefixes-options) + - [The aligning for the prefixes](#the-aligning-for-the-prefixes) + - [Using only specific prefixes](#using-only-specific-prefixes) + - [Options for colors](#options-for-colors) + - [Colors' case](#colors-case) + - [Shorthand colors](#shorthand-colors) +

+ +4. [Using Hayaku with CSS Preprocessors](#using-hayaku-with-css-preprocessors) + +5. [License and copyrights](#license-and-copyrights) + + +# Install Hayaku for [Sublime Text](http://www.sublimetext.com/2) + +Right now Hayaku is available only for Sublime Text (even for third version!), but when it would be complete, we would port it to some other editors. + +#### Using [Package Control](http://wbond.net/sublime_packages/package_control): + +1. Run `Package Control: Install Package` command +2. Search for `Hayaku - tools for writing CSS faster` (`Hayaku` should be enough) and wait for it to be installed +3. Restart Sublime Text (required to make default settings for different syntaxes to work) + +#### Or manually, using git: + +Clone repository into Packages directory (can be found using `Preferences: Browse Packages` command in Sublime Text) +``` sh +git clone git://github.com/hayaku/hayaku.git +``` + +And then restart Sublime Text. + +# Features + +## Smart CSS Abbreviations + +Hayaku is not your average snippet engine. Most of the CSS snippets to date are static — you need to remember all the abbreviations if you want to use them. + +Hayaku offers a better and faster way: you don't need to remember anything, you can just try to write the shortest abbreviation for a thing you want to write in CSS — and Hayaku would try to guess it when you press `tab`. + +There are a lot of things Hayaku can do in abbeviations, here are some of them: + +### Fuzzy CSS property abbreviations + +This is the first basic thing: Hayaku don't have any premade snippets for CSS, it have a dictionary with a lot of CSS properties, so when you write some abrakadabra, it tries to parse it and guess what you meant. For most properties those abbreviations could be rather short, but you're not sticked to them: you can write as much letters for a property as you wish. + +So, writing `w`, `wi` or `wid` would give you `width`. And don't forget about the fuzzy part: `wdt` and `wdth` would work too. + +Sometimes you would guess that some abbreviations must become other things, but in most cases all the variants have some logic beyound. `b` could be expanded to `background` or `border`, but expanded to `bottom` instead — it's becouse all the “sides” values are abbreviated to just one letter: **l**eft, **r**eft, **t**op, so **b**ottom goes by this path. + +However, if you feel that some abbreviation just need to be not that is expands to, feel free to [fill up an issue](https://github.com/hayaku/hayaku/issues/new). + +### Smart CSS values abbreviations + +Here comes the second basic thing of Hayaku, the awesome one. You can expand abbreviations for the property+value parts, but you don't need to use any delimiters in those abbreviations! That's right — you can just write something like `por` and get `position: relative`! + +This works also fuzzy, so to get `position: relative` you could use any number of letters: `pore`, `posrel`, `pstnrltv` etc. Also, if you want, you can still use a delimiter — just add a colon between the property and value and get the same result. So, if you want to stick to Zen style, use it — `pos:r` would work as intended. And `p:r` would work too — while `pr` would expand to `padding-right`, adding delimiter could help by removing ambiguity — padding can't have any values containing `r`, so hayaku falls to `position`. + +### Numeric values in abbreviations + +Hayaku understands a lot of ways of writing numeric abbreviations. + +- You can just write a number after abbreviation to treat it as a value: `w10` would expand to `width: 10px` (see? automatic pixels!). + +- Negative numbers supported too: `ml-10` would expand to `margin-left: -10px`. + +- If you'd write a dot somewhere in abbreviation, Hayaku would guess what you need `em`s, so `w10.5` would expand to `width: 10.5em`. + +- There are some abbreviations for some units, like `percents` for `%`, or `.` for em, so `100p` would expand to `100%` and `10.` to `10em`. + +- All other units are supported, `h2pt` would expand to `height:2pt` and so on. Fuzzy guess is there too: if you'd want `vh` you could write just `w10h` and get `width: 10vh`. + +### Color values in abbreviations + +Actually, you can not only expand strings and numbers, you can expand even colors using abbreviations! You can use different ways to achieve that (as anything in Hayaku), so just look at those examples: + +- `c0` → `color: #000` +- `cF` → `color: #FFF` (use uppercase to tell Hayaku it's a color) +- `cFA` → `color: #FAFAFA` +- `c#fa` → `color: #FAFAFA` (no need in uppercase if you use `#`) + +And, of course, this works everywhere you would expect colors to work, so `brc0` would expand to `border-right-color: #000;` + +#### RGBA values + +There is also a way to expand `rgba` values for colors — you can either use rgba's alpha after the dot, either use hexadecimal alpha after the full color, if you'd like. This would look like this: + +- `c0.5` → `color: rgba(0,0,0,.5)` +- `cF.2` → `color: rgba(255,255,255,.2)` +- `cABCD` → `color: rgba(170,187,204,0.87)` +- `cABC80` → `color: rgba(170,187,204,0.5)` + +You can also write just the dot and get the placeholder on the `alpha` part of the `rgba`: + +- `cF00.` → `color: rgba(255,0,0,.[5])` + +### Importance modifier + +A nice little feature: add `!` after abbreviation and get ` !important` at the end. Not that importance is something you would want to use everyday, but still. + +`dn!` would give you `display:none !important;`, yeah. + +### Automatic vendor prefixes + +If you need some vendor prefixes, Hayaku could provide them! + +`bra1.5` would expand to this: + +``` CSS +-webkit-border-radius: 1.5em; + border-radius: 1.5em; +``` + +Right now there are no prefixes for values (like gradients etc.) but someday they'd be there. + +### Default values + +If you'd write something that is only a property (as Hayaku would guess), Hayaku would insert a snippet with some default value already selected for you, so you could start writing your own value to replace it or to press `tab` again to keep it and move forward. So, writing `w` would actually expand to `width: [100%]` (braces mean that this value is selected by default). + +### Clipboard defaults + +Aside from the normal defaults, Hayaku would try to use your clipboard for getting the value from it as the default value. + +Right now it's available for colors and images urls: + +- If you'd have color in hexadecimal, rgb(a) or hsl(a) in your clipboard, Hayaku would use it as a default shown value. That would work even is the value is hashless, so if you've copied `808080` from anywhere, then on expanding `c` you would get `color: #[808080]`. + +- If you'd have an image url in your clipboard (even relative, Hayaku would look at extension), you'd have it added as default values along inside an `url()`. Also, see [quotes and URLs](#quotes-and-urls) settings on how to adjust the quoting of the inserted url if you want. + +#### Configure clipboard defaults + +Hayaku offers a setting to set up the behavior of the Clipboard defaults: `hayaku_CSS_clipboard_defaults`. It is an array of the value types that Hayaku could accept as the defaults. So, to disable all the clipboard defaults you could use this setting: + +``` JSON +{ + "hayaku_CSS_clipboard_defaults": [""] +} +``` + +## Postexpands + +“Postexpands” is a nice Hayaku's feature, that allows you to expand only the property at first and then use instant autocomplete for the values of numbers. + +That must be said is that postexpand is a bit different from the usual abbreviation expands — it don't have any fuzzy search inside, so only the first letters matter. However, as you'd use it you would see that it is still a powerfull feature. + +### Simple property postexpands + +The simplest postexpand feature is autocomplete for the string values of different properties. + +If you'd expand some property like `po` to `position: |;`, then you could start writing any of it's values and get they expanded right after the cursor. So, writing `a` would give you `position: a|bsolute;`. + +### Postexpands for units + +Another postexpand feature would allow you to firstly expand the property that can have numeric values, like `width` and then write only the digits and let Hayaku place the corresponding units automatically. + +So, when you expand, for example, `w` to `width: |;`, you'd get different options: + +- write any iteger like `10` and you'd get `width: 10|px;` +- write any float like `1.5` and you'd get `width: 1.5|em;` +- write an integer and them `e`, so you'd get `width: 10e|m;` +- if the value have any string values, you can also use them: writing `a` would give you `width: a|uto;` + +Negative numbers could still be used and if you'd like any other unit, you could just write it down, the autocompleted units won't bother you. + +### Postexpands for colors + +As you can use shortcuts to colors in abbreviations, you could also write the color values after expanding only the property. The basics are the same: `color: |;` + `F` would give you `color: #F|FF;`, and so on. You can use or don't use the hash symbol. + +Another somewhat obscure (but helpful) feature is postexpand for `rgba` colors. This is triggered by writing the comma after decimal value. There is also a shortcut to the alpha value. + +- `color: 255,|` would transform to `color: rgba(255,|255,255,1);` +- `color: 255,.|` would transform to `color: rgba(255,255,255,.|5);` + +There are a lot of things we could improve there, so stay tuned. + +### Postexpand for importance + +If you'd like to make some value important, you could just write the first symbols of `!important` keyword and Hayaku would autocomplete it for you. + +### Disabling postexpands + +If you'd wish to disable postexpands at all for some reason, you could use this setting for this: `"hayaku_CSS_disable_postexpand": true` + +## Creating new CSS rule blocks + +In Hayaku there is a simple but powerful feature: when you wrote a selector, you could just press `CMD+Enter` to get a block for writing CSS here. + +## Inline comments + +Another little helper: write `//` in CSS to have it expanded to `/* | */` (where the pipe is a caret placement). + +If you'd wish to disable inline comments, you could use this setting: `"hayaku_CSS_disable_inline_comment": true` + +*This feature is in development, we plan on adding a lot of things to make commenting fun.* + +# Settings and Preferences + +Hayaku have **a lot** of different configurable options, both for your code style and for different features you'd wish to use. + +## Autoguessing the code style + +The easiest way to set the basic settings for your codestyle, is to use `hayaku_CSS_syntax_autoguess` option: + +``` JSON +{ + "hayaku_CSS_syntax_autoguess": [ + " selector { ", + " property: value; ", + " } " + ] +} +``` + +There you can use any whitespaces between the predefined keywords and they would be used by Hayaku. A few notes regarding this setting: + +- You should use the newline symbol `\n` or multiple array items, because JSON don't support multiline well. +- For your convenience you can use any leading of trailing spaces. Trailing spaces would be stripped at all, leading spaces would be stripped as if there weren't spaces at the start of the selector. + +Maybe someday there'd be a _real_ autoguessing, that would read your open stylesheet and find what better suits it, but not today. + +## Single code style + +If you don't want to use autoguessing, then you could define single options one by one. This would also be helpful if you'd want to redefine only some of the code styling settings in other project or syntax. + +Here is a JSON with all the available single code styling options: + +``` JSON +{ + "hayaku_CSS_whitespace_after_colon": " ", + "hayaku_CSS_whitespace_block_start_before": " ", + "hayaku_CSS_whitespace_block_start_after": "\n\t", + "hayaku_CSS_whitespace_block_end_before": "\n\t", + "hayaku_CSS_whitespace_block_end_after": "" +} +``` + +The names speak for themselves there. + +The important thing is that the single code style settings always override the autoguessed one. + +## Automatic new line after expand + +That's somewhat experimental feature, that is disabled by default. To enable it use this setting: + +``` JSON +{ + "hayaku_CSS_newline_after_expand": true +} +``` + +With this setting you could save a bit more time, cause Hayaku would add a new line after you expand your abbreviations. The only downside is that you'll need to delete a line when you finish with the selector or when you're inserting something between existing lines. + +## Quotes and URLs + +By default Hayaku uses double quotes for different CSS stuff (like `content: ""`). You can change this by setting this: + +``` JSON +{ + "hayaku_CSS_syntax_quote_symbol": "'" +} +``` + +Also, by default the image urls wouldn't have quotes in CSS-like syntaxes and would have them in Sass or Stylus, you can override this automatic behaviour by setting `hayaku_CSS_syntax_url_quotes` setting to `true` or `false`. + +## Units for unitless values + +By default Hayaku won't add `em` or `px` after values for properties like `line-height`. If you're not using unit less values for those properties, you could enable them like this: + +``` JSON +{ + "hayaku_CSS_units_for_unitless_numbers": true +} +``` + +## Prefixes options + +If you don't want to use any prefixes at all (as if you're using some mixins for it in Stylus, or use prefix-free), you can disable them with that option: + +``` JSON +{ + "hayaku_CSS_prefixes_disable": true +} +``` + +### The aligning for the prefixes + +By default Hayaku aligns expanded prefixed properties in this nice way: + +``` CSS +.foo { + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); + } +``` + +This way it's easier to spot changes to a single prefixed property and to use multiline edit on them. + +However, if you'd want to expand such properties left aligned, set + +``` JSON +{ + "hayaku_CSS_prefixes_align": false +} +``` + +### Using only specific prefixes + +This is not something that you would use often, but if you'd need, you could use only prefixes for browsers you want. There are two settigns for this: + +``` JSON +{ + "hayaku_CSS_prefixes_only": ["webkit","moz","o"], + "hayaku_CSS_prefixes_no_unprefixed": true +} +``` + +- `hayaku_CSS_prefixes_only` is an array of the prefixes you'd want to use **only**. In the upper example I excuded `ms` prefix, so if you'd use meta to emulate all IE versions to IE7 for example, then you could remove `ms` prefix, so your CSS would be a bit cleaner. +- when `hayaku_CSS_prefixes_no_unprefixed` is set to `True`, such prefixed clusters won't contain the official unprefixed variant. + +Right now there is no easy way to adjust prefixes per property, but it would be there in a near feature, so stay tuned! + +## Options for colors + +Note that those settings would work for every pre-set and expanded colors, like the default color values, but they won't work for postexpands due to their mechanics. + +### Colors' case + +You can tell Hayaku if you prefer `lowercase` or `uppercase` for color values, so it would change the case while expanding abbreviations like `c#f`, `cF` etc. + +The default value is `uppercase`, so `c#f` would become `color: #FFF`. If you'd like to change that to `lowercase`, you can set it this way: + +``` JSON +{ + "hayaku_CSS_colors_case": "lowercase" +} +``` + +And if you'd like it to leave the color as is, you could use value `initial`. + +### Shorthand colors + +By default Hayaku shortens the colous, so if there could be `#FFFFFF` expanded, Hayaku would make it `#FFF`. + +However, if you wish, you can redefine this behavior using this setting: + +``` JSON +{ + "hayaku_CSS_colors_length": "long" +} +``` + +That would make `cF` to be expanded into `color: #FFFFFF`. + + +# Using Hayaku with CSS Preprocessors + +“Hey! I don't need to write CSS faster — I use Preprocessors!” you could say. But, well, you would still need to write all those extra symbols, so abbreviations would fit preprocessors well. And as Hayaku is highly customizable, you could use it with any preprocessor: Sass, Less, Stylus etc. + +Right now only basic things are available, but in feature you could expand different mixins and functions too, so just wait for it. + +- - - + +And this is just the start, there would be a lot of other nice features, so still tuned and follow the [official bundle's twitter](http://twitter.com/#!/hayakubundle)! + +# License and copyrights + +This software is released under the terms of the [MIT license](https://github.com/hayaku/hayaku/blob/master/LICENSE). diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/add_code_block.py b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/add_code_block.py new file mode 100644 index 0000000..19fde65 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/add_code_block.py @@ -0,0 +1,159 @@ +#!/usr/bin/python +import re +import sublime +import sublime_plugin + + +# __all__ = [ +# 'HayakuAddCodeBlockCommand', +# 'HayakuExpandCodeBlockCommand', +# ] + +# Guessing the codestyle 1 2 3 4 5 6 7 8 9 +GUESS_REGEX = re.compile(r'selector(\s*)(\{)?(\s*)property(:)?(\s*)value(;)?(\s*)(\})?(\s*)', re.IGNORECASE) + + +def get_hayaku_options(self): + settings = self.view.settings() + options = {} + match = {} + # Autoguessing the options + if settings.get("hayaku_CSS_syntax_autoguess"): + autoguess = settings.get("hayaku_CSS_syntax_autoguess") + offset = len(autoguess[0]) - len(autoguess[0].lstrip()) + autoguess = [ s[offset:].rstrip() for s in autoguess] + + match = GUESS_REGEX.search('\n'.join(autoguess)) + + # Helper to set an option got from multiple sources + def get_setting(setting, fallback, match_group = False): + if match_group and match: + fallback = match.group(match_group) + single_setting = False + if settings.has("hayaku_" + setting): + single_setting = settings.get("hayaku_" + setting, fallback) + options[setting] = single_setting or fallback + + # Some hardcode for different scopes + # (could this be defined better?) + scope_name = self.view.scope_name(self.view.sel()[0].a) + is_sass = sublime.score_selector(scope_name, 'source.sass') > 0 + is_stylus = sublime.score_selector(scope_name, 'source.stylus') > 0 + + disable_braces = is_stylus or is_sass + if is_stylus and match and match.group(2) and match.group(8): + disable_braces = False + + disable_colons = is_stylus + if match and match.group(4): + disable_colons = False + + disable_semicolons = is_stylus or is_sass + if is_stylus and match and match.group(6): + disable_semicolons = False + + # Calling helper, getting all the needed options + get_setting("CSS_whitespace_block_start_before", " ", 1 ) + get_setting("CSS_whitespace_block_start_after", "\n\t", 3 ) + get_setting("CSS_whitespace_block_end_before", "\n", 7 ) + get_setting("CSS_whitespace_block_end_after", "", 9 ) + get_setting("CSS_whitespace_after_colon", " ", 5 ) + get_setting("CSS_newline_after_expand", False) + get_setting("CSS_syntax_no_curly_braces", disable_braces ) + get_setting("CSS_syntax_no_colons", disable_colons ) + get_setting("CSS_syntax_no_semicolons", disable_semicolons ) + get_setting("CSS_syntax_url_quotes", (is_stylus or is_sass) ) + get_setting("CSS_syntax_quote_symbol", "\"" ) # or "'" + get_setting("CSS_prefixes_disable", False ) + get_setting("CSS_prefixes_align", not (is_stylus or is_sass) ) + get_setting("CSS_prefixes_only", [] ) + get_setting("CSS_prefixes_no_unprefixed", False ) + get_setting("CSS_disable_postexpand", False ) + get_setting("CSS_units_for_unitless_numbers", False ) + get_setting("CSS_colors_case", "uppercase" ) # or "lowercase" or "initial" + get_setting("CSS_colors_length", "short" ) # or "long" or "initial" + get_setting("CSS_clipboard_defaults", ["colors","images"] ) + + return options + +def hayaku_get_block_snippet(options, inside = False): + start_before = options["CSS_whitespace_block_start_before"] + start_after = options["CSS_whitespace_block_start_after"] + end_before = options["CSS_whitespace_block_end_before"] + end_after = options["CSS_whitespace_block_end_after"] + opening_brace = "{" + closing_brace = "}" + + if options["CSS_syntax_no_curly_braces"]: + opening_brace = "" + closing_brace = "" + start_after = "" + end_after = "" + + if inside: + opening_brace = "" + closing_brace = "" + start_before = "" + end_after = "" + + return ''.join([ + start_before + , opening_brace + , start_after + , "$0" + , end_before + , closing_brace + , end_after + ]) + +# Command +class HayakuExpandCodeBlockCommand(sublime_plugin.TextCommand): + def run(self, edit): + # TODO: consume the braces and whitespaces around and inside + self.view.run_command("insert_snippet", {"contents": hayaku_get_block_snippet(get_hayaku_options(self),True)}) + +class HayakuAddCodeBlockCommand(sublime_plugin.TextCommand): + def run(self, edit): + result = '/* OVERRIDE ME */' + + # Determine the limits for place searching + regions = self.view.sel() + region = regions[0] + line = self.view.line(region) + stop_point = self.view.find('[}]\s*',line.begin()) + if stop_point is not None and not (-1, -1): + end = stop_point.end() + else: + end = self.view.find('[^}]*',line.begin()).end() + where_to_search = self.view.substr( + sublime.Region( + line.begin(), + end + ) + ) + + options = get_hayaku_options(self) + + # Insert a code block if we must + found_insert_position = re.search('^([^}{]*?[^;,}{\s])\s*(?=\n|$)',where_to_search) + if found_insert_position is not None: + self.view.sel().clear() + self.view.sel().add(sublime.Region(len(found_insert_position.group(1)) + line.begin(), len(found_insert_position.group(1)) + line.begin())) + + result = hayaku_get_block_snippet(options) + else: + # Place a caret + create a new line otherwise + # FIXME: the newline is not perfectly inserted. Must rethink it so there wouldn't + # be replacement of all whitespaces and would be better insertion handling + found_insert_rule = re.search('^(([^}]*?[^;]?)\s*)(?=\})',where_to_search) + if found_insert_rule: + self.view.sel().clear() + self.view.sel().add(sublime.Region(len(found_insert_rule.group(2)) + line.begin(), len(found_insert_rule.group(1)) + line.begin())) + + result = ''.join([ + options["CSS_whitespace_block_start_after"] + , "$0" + , options["CSS_whitespace_block_end_before"] + ]) + + self.view.run_command("insert_snippet", {"contents": result}) diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/contexts.py b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/contexts.py new file mode 100644 index 0000000..ac86901 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/contexts.py @@ -0,0 +1,141 @@ +#!/usr/bin/python +import re +import sublime +import sublime_plugin + +REGEX_WHITESPACES = re.compile(r'^\s*$') + +class HayakuSingleCaretContext(sublime_plugin.EventListener): + def on_query_context(self, view, key, *args): + if key != "hayaku_single_caret": + return None + + # Multiple blocks inserting doesn't make sense + if len(view.sel()) > 1: + return None + + # TODO: understand selection, but don't replace it on code block inserting + if not view.sel()[0].empty(): + return None + + return True + +class HayakuAtCssContext(sublime_plugin.EventListener): + def on_query_context(self, view, key, *args): + if key != "hayaku_at_css": + return None + + # Looking for the scope + if not view.score_selector(view.sel()[0].begin(),'source.css, source.stylus, source.sass, source.scss'): + return None + + return True + +class HayakuAddCodeBlockContext(sublime_plugin.EventListener): + def on_query_context(self, view, key, *args): + if key != "hayaku_add_code_block": + return None + + # Determining the left and the right parts + region = view.sel()[0] + line = view.line(region) + left_part = view.substr(sublime.Region(line.begin(), region.begin())) + right_part = view.substr(sublime.Region(region.begin(), line.end())) + + # Check if the line isn't just a line of whitespace + if REGEX_WHITESPACES.search(left_part + right_part) is not None: + return None + # Simple check if the left part is ok + if left_part.find(';') != -1: + return None + # Simple check if the right part is ok + if right_part.find(';') != -1: + return None + + return True + +class HayakuAddLineContext(sublime_plugin.EventListener): + def on_query_context(self, view, key, *args): + if key != "hayaku_add_line": + return None + + # Determining the left and the right parts + region = view.sel()[0] + line = view.line(region) + left_part = view.substr(sublime.Region(line.begin(), region.begin())) + right_part = view.substr(sublime.Region(region.begin(), line.end())) + + # Simple check if the left part is ok + if re.search(';\s*$|[^\s;\{] [^;\{]+$',left_part) is None: + return None + + # Simple check if the right part is ok + if re.search('^\s*\}?$',right_part) is None: + return None + + return True + + +class HayakuStyleContext(sublime_plugin.EventListener): + def on_query_context(self, view, key, *args): + if key != "hayaku_css_context": + return None + + regions = view.sel() + # We won't do anything for multiple carets for now + if len(regions) > 1: + return None + + region = regions[0] + + # We don't do anything for selection for now + if not region.empty(): + return None + + # Looking for the scope + # TODO: Make it expandable in HTML's attributes (+ left/right fixes) + if view.score_selector(region.begin(),'source.css -meta.selector.css, source.stylus, source.sass, source.scss') == 0: + return None + + # Determining the left and the right parts + line = view.line(region) + left_part = view.substr(sublime.Region(line.begin(), region.begin())) + right_part = view.substr(sublime.Region(region.begin(),line.end())) + + # Simple check if the left part is ok + # 1. Caret is not straight after semicolon, slash or plus sign + # 2. We're not at the empty line + # 3. There were no property/value like entities before caret + # 1 2 3 + if re.search('[;\s\/\+]$|^$|[^\s;\{] [^;\{]+$',left_part) is not None: + return None + + # Simple check if the right part is ok + # 1. The next symbol after caret is not space or curly brace + # 2. There could be only full property+value part afterwards + # 1 2 + if re.search('^[^\s\}]|^\s[^:\}]+[;\}]',right_part) is not None: + return None + + return True + +# Context-commands to jump out of multiple selections in snippets +class HayakuGoingUpContext(sublime_plugin.EventListener): + def on_query_context(self, view, key, *args): + if key != "hayaku_going_up": + return None + if len(view.sel()) > 1: + region = view.sel()[0] + view.sel().clear() + view.sel().add(region) + return None + +class HayakuGoingDownContext(sublime_plugin.EventListener): + def on_query_context(self, view, key, *args): + if key != "hayaku_going_down": + return None + if len(view.sel()) > 1: + region = view.sel()[1] + view.sel().clear() + view.sel().add(region) + return None diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/css_dict_driver.py b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/css_dict_driver.py new file mode 100644 index 0000000..e679441 --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/css_dict_driver.py @@ -0,0 +1,109 @@ +# -*- coding: utf-8 -*- +# (c) 2012 Sergey Mezentsev +import string + +from itertools import chain, product, starmap + + +def parse_dict_json(raw_dict): + result_dict = {} + + valuable = (i for i in raw_dict if 'name' in i and 'values' in i) + + def strip(s): + return string.strip(s) if hasattr(string, 'strip') else s.strip() + + for i in valuable: + name, values, default = i['name'], i['values'], i.get('default') + names = name if isinstance(name, list) else map(strip, name.split(',')) + for n in names: + assert n not in result_dict + + val = { 'values': values } + + if default is not None: + val['default'] = default + + if 'prefixes' in i: + val['prefixes'] = i['prefixes'] + if 'no-unprefixed-property' in i: + val['no-unprefixed-property'] = i['no-unprefixed-property'] + else: + assert 'no-unprefixed-property' not in i + + result_dict[n] = val + + return result_dict + +get_css_dict_cache = None +def get_css_dict(): + global get_css_dict_cache + if get_css_dict_cache is not None: + return get_css_dict_cache + else: + CSS_DICT_DIR = 'dictionaries' + CSS_DICT_FILENAME = 'hayaku_CSS_dictionary.json' + DICT_KEY = 'hayaku_CSS_dictionary' + + import json + import os + try: + import sublime + css_dict = sublime.load_settings(CSS_DICT_FILENAME).get(DICT_KEY) + if css_dict is None: + import zipfile + zf = zipfile.ZipFile(os.path.dirname(os.path.realpath(__file__))) + f = zf.read('{0}/{1}'.format(CSS_DICT_DIR, CSS_DICT_FILENAME)) + css_dict = json.loads(f.decode())[DICT_KEY] + except ImportError: + css_dict_path = os.path.join(CSS_DICT_DIR, CSS_DICT_FILENAME) + css_dict = json.load(open(css_dict_path))[DICT_KEY] + + assert css_dict is not None + get_css_dict_cache = parse_dict_json(css_dict) + return get_css_dict_cache + +def css_defaults(name, css_dict): + """Находит первое значение по-умолчанию + background -> #FFF + color -> #FFF + content -> "" + """ + cur = css_dict.get(name) or css_dict.get(name[1:-1]) + if cur is None: + return None + default = cur.get('default') + if default is not None: + return default + + for v in cur['values']: + if v.startswith('<') and v.endswith('>'): + ret = css_defaults(v, css_dict) + if ret is not None: + return ret + +def css_flat(name, values=None, css_dict=None): + """Все значения у свойства (по порядку) + left -> [u'auto', u'', u'', u'', u'.em', u'.ex', + u'.vw', u'.vh', u'.vmin', u'.vmax', u'.ch', u'.rem', u'.px', u'.cm', + u'.mm', u'.in', u'.pt', u'.pc', u'', u'.%'] + """ + cur = css_dict.get(name) or css_dict.get(name[1:-1]) + if values is None: + values = [] + if cur is None: + return values + for value in cur['values']: + values.append(value) + if value.startswith('<') and value.endswith('>'): + values = css_flat(value, values, css_dict) + return values + +def css_flat_list(name, css_dict): + """Возвращает список кортежей (свойство, возможное значение) + left -> [(left, auto), (left, ), (left, .px)...] + """ + return list(product((name,), css_flat(name, css_dict=get_css_dict()))) + +def get_flat_css(): + return list(chain.from_iterable(starmap(css_flat_list, ((i, get_css_dict()) for i in get_css_dict())))) diff --git a/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/dictionaries/hayaku_CSS_dictionary.json b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/dictionaries/hayaku_CSS_dictionary.json new file mode 100644 index 0000000..12220ba --- /dev/null +++ b/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Hayaku - tools for writing CSS faster/dictionaries/hayaku_CSS_dictionary.json @@ -0,0 +1,533 @@ +{ "hayaku_CSS_dictionary": +[ + {"_Description": [ + " Dictionary for Hayaku Core, http://hayakubundle.com ", + " Copyright © 2011 Roman Komarov, http://kizu.ru/en/ ", + " Licensed under MIT license ", + + " Got inspiration from ", + " Zen Coding snippets for CSS ", + " Copyright © 2008–2011 Vadim Makeev, http://pepelsbey.net ", + " Licensed under MIT license " + ] + },{ + "name": "", + "values": [ "inherit" ], + "_comment": [ + "Common values, that any single property can have", + "Must have lesser priority than any other value" + ] + },{ + "name": "", + "values": [ "", "" ] + },{ + "name": "", + "values": [ + ".em", ".ex", ".vw", ".vh", ".vmin", ".vmax", ".ch", ".rem", + ".px", ".cm", ".mm", ".in", ".pt", ".pc" + ] + },{ + "name": "", + "values": [ ".%" ] + },{ + "name": "", + "values": [ ".deg", ".grad", ".rad", ".turn" ] + },{ + "name": "