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)