This snippet library provides completions for Angular.js’s stable and unstable branch. Sublime Text uses fuzzy searching for snippets and completions therefore you don’t have to write triggers completely. All snippets add Angular’s inline notation for dependencies automatically, so you don’t have to type them twice.
- Package Control: install the package "AngularJS Snippets"
- Manual: copy files to your Sublime Text User folder
Completions won’t show in HTML unless you have added this line to your User.sublime-preferences:
"auto_complete_triggers": [ {"selector": "text.html", "characters": "<"}, {"selector": "text.html meta.tag", "characters": " " } ]
Snippet Categories:
| trigger | completion | 
|---|---|
| config | config([function() {
	|
}]) | 
| constant | constant('{name}', {value}) | 
| controller | controller('{Name}Ctrl', [function ({$scope}) {
	|
}]) | 
| decorator | decorator('{name}', [function ($provide) {
	$provide.decorator('{name}', [function($delegate) {
		return {$delegate}|;
	}]);
}]) | 
| directive | directive('{name}', [function () {
	return {
		restrict: '{A}',
		link: function(scope, iElement, iAttrs) {
			|
		}
	};
}]) | 
| directivelong | directive('{name}', [function () {
	return {|
		priority: 0,
		template: '<div></div>',
		templateUrl: 'directive.html',
		replace: true,
		transclude: true,
		restrict: 'A',
		scope: {},
		controller: function($scope, $element, $attrs, $transclude, otherInjectables) {
 | 
| factory | factory('{name}', [function () {
|
 | 
| otherwise | otherwise({ redirectTo: '/{route}' }) | 
| provider | provider('{name}', [function () {
|
 | 
| run | run([function() {
|
}]) | 
| service | service('{name}', [function () {
|
}]) | 
| value | value('{name}', {value}) | 
| when | when('/{name}', {
templateUrl: '{name}.html',
controller: '{Name}Ctrl'
}) | 
| trigger | completion | 
|---|---|
| ng-animate | ng-animate="{enter: '{example}-enter', leave: '{example}-leave'}" | 
| ng-animates | ng-animate="'{class-prefix}'" | 
| ng-app | ng-app="" | 
| ng-bind | ng-bind="" | 
| ng-bind-html-unsafe | ng-bind-html-unsafe="" | 
| ng-bind-template | ng-bind-template="" | 
| ng-change | ng-change="" | 
| ng-checked | ng-checked="" | 
| ng-class | ng-class="" | 
| ng-class-even | ng-class-even="" | 
| ng-class-odd | ng-class-odd="" | 
| ng-click | ng-click="" | 
| ng-cloak | ng-cloak | 
| ng-controller | ng-controller="{Name}Ctrl" | 
| ng-dblclick | ng-dblclick="" | 
| ng-disabled | ng-disabled="" | 
| ng-form | ng-form="" | 
| ng-hide | ng-hide="" | 
| ng-href | ng-href="" | 
| ng-if | ng-if="" | 
| ng-include | ng-include="{template}" {onload="" autoscroll=""} | 
| ng-init | ng-init="" | 
| ng-keydown | ng-keydown="" | 
| ng-keypress | ng-keypress="" | 
| ng-keyup | ng-keyup="" | 
| ng-list | ng-list="" | 
| ng-model | ng-model="" | 
| ng-mousedown | ng-mousedown="" | 
| ng-mouseenter | ng-mouseenter="" | 
| ng-mouseleave | ng-mouseleave="" | 
| ng-mousemove | ng-mousemove="" | 
| ng-mouseover | ng-mouseover="" | 
| ng-mouseup | ng-mouseup="" | 
| ng-multiple | ng-multiple="" | 
| ng-nbind | ng-non-bindable="" | 
| ng-open | ng-open="" | 
| ng-pluralize | ng-pluralize count="" when="'': '{}'" | 
| ng-readonly | ng-readonly="" | 
| ng-repeat | ng-repeat="{item} in {array}" | 
| ng-selected | ng-selected="" | 
| ng-show | ng-show="" | 
| ng-src | ng-src="" | 
| ng-style | ng-style="" | 
| ng-submit | ng-submit="" | 
| ng-swipe-left | ng-swipe-left="" | 
| ng-swipe-right | ng-swipe-right="" | 
| ng-switch | ng-switch on="" | 
| ng-switch-default | ng-switch-default="" | 
| ng-switch-when | ng-switch-when="" | 
| ng-transclude | ng-transclude | 
| ng-view | ng-view | 
| trigger | completion | 
|---|---|
| angular.bind | angular.bind({self}, {function}) | 
| angular.bootstrap | angular.bootstrap({element}{, [{modules}]}) | 
| angular.copy | angular.copy({source}{, {destination}}) | 
| angular.element | angular.element({element}) | 
| angular.equals | angular.equals({obj1}, {obj2}) | 
| angular.extend | angular.extend({destination}, {source}) | 
| angular.forEach | angular.forEach({obj}, {iterator}) | 
| angular.fromJson | angular.fromJson({jsonString}) | 
| angular.identity | angular.identity() | 
| angular.injector | angular.injector([{modules}]) | 
| angular.isArray | angular.isArray({value}) | 
| angular.isDate | angular.isDate({value}) | 
| angular.isDefined | angular.isDefined({value}) | 
| angular.isElement | angular.isElement({value}) | 
| angular.isFunction | angular.isFunction({value}) | 
| angular.isNumber | angular.isNumber({value}) | 
| angular.isObject | angular.isObject({value}) | 
| angular.isString | angular.isString({value}) | 
| angular.isUndefined | angular.isUndefined({value}) | 
| angular.lowercase | angular.lowercase({string}) | 
| angular.module | angular.module('{moduleName}', []) | 
| angular.noop | angular.noop | 
| angular.toJson | angular.toJson({string}) | 
| angular.uppercase | angular.uppercase({string}) | 
| angular.version | angular.version | 
<tr><th>angular: controller</th><td><pre>controller({name})</pre></td></tr>
<tr><th>angular: injector</th><td><pre>injector()</pre></td></tr>
<tr><th>angular: scope</th><td><pre>scope()</pre></td></tr>
<tr><th>angular: inheritedData</th><td><pre>inheritedData()</pre></td></tr>
| trigger | completion | 
|---|---|
| angular: addClass | addClass({className}) | 
| angular: after | after({el}) | 
| angular: append | append({el}) | 
| angular: attr | attr({el}) | 
| angular: bind | bind({eventType}{, eventData}{, eventHandler}) | 
| angular: children | children() | 
| angular: clone | clone({withDataAndEvents}) | 
| angular: contents | contents({withDataAndEvents}) | 
| angular: css | css({propertyName(s)}) | 
| angular: data | data({key, value | obj}) | 
| angular: eq | eq({index}) | 
| angular: find | find({tag}) | 
| angular: hasClass | hasClass({className}) | 
| angular: html | html() | 
| angular: next | next() | 
| angular: parent | parent() | 
| angular: prepend | prepend({content}) | 
| angular: prop | prop({propertyName}) | 
| angular: ready | ready({handler}) | 
| angular: remove | remove({selector}) | 
| angular: removeAttr | removeAttr({attributeName}) | 
| angular: removeClass | removeClass({className}) | 
| angular: removeData | removeData({name}) | 
| angular: replaceWith | replaceWith({newContent}) | 
| angular: text | text() | 
| angular: toggleClass | toggleClass({className}) | 
| angular: triggerHandler | triggerHandler({eventType}) | 
| angular: unbind | unbind({eventType{, handler}) | 
| angular: val | val({eventType{, handler}) | 
| angular: wrap | wrap({wrappingElement}) | 
| trigger | completion | 
|---|---|
| angular: $apply | apply({exp}) | 
| angular: $broadcast | broadcast({name}{, args}) | 
| angular: $destroy | destroy() | 
| angular: $digest | digest() | 
| angular: $emit | emit({name}{, args}) | 
| angular: $eval | eval({expression}) | 
| angular: $evalAsync | evalAsync({expression}) | 
| angular: $new | new({isolate}) | 
| angular: $on | on({name}, {listener}) | 
| angular: $watch | watch({watchExpression}{, listener}{, objectEquality}) | 
| angular: $watchCollection | watchCollection({obj}, {listener}) | 
| angular: $id | id | 
| trigger | completion | 
|---|---|
| angular: $log.debug | log.debug('{debug}') | 
| angular: $log.error | log.error('{error}') | 
| angular: $log.info | log.info('{info}') | 
| angular: $log.log | log.log('{log}') | 
| angular: $log.warn | log.warn('{warning}') | 
| angular: $log.assertEmpty | log.assertEmpty() | 
| angular: $log.reset | log.reset() | 
| trigger | completion | 
|---|---|
| angular: $angular | angular | 
| angular: $anchorScroll | anchorScroll | 
| angular: $animation | animation | 
| angular: $animator | animator | 
| angular: $cacheFactory | cacheFactory | 
| angular: $compile | compile | 
| angular: $controller | controller | 
| angular: $exceptionHandler | exceptionHandler | 
| angular: $location | location | 
| angular: $locationProvider | locationProvider | 
| angular: $log | log | 
| angular: $parse | parse | 
| angular: $resource | resource | 
| angular: $rootElement | rootElement | 
| angular: $rootScope | rootScope | 
| angular: $route | route | 
| angular: $routeParams | routeParams | 
| angular: $routeProvider | routeProvider | 
| angular: $templateCache | templateCache | 
| angular: $timeout | timeout | 
| angular: $scope | scope | 
The MIT License (MIT)