diff --git a/snippets/meteor-api-snippets-coffeescript.cson b/snippets/meteor-api-snippets-coffeescript.cson index 225e4ff..1756ff5 100644 --- a/snippets/meteor-api-snippets-coffeescript.cson +++ b/snippets/meteor-api-snippets-coffeescript.cson @@ -374,7 +374,7 @@ 'Template Rendered': 'prefix': 'rendered' - 'body': 'Template.${1:name}.rendered = -> \n\t${2}' + 'body': 'Template.${1:name}.onRendered = -> \n\t${2}' 'Template Events': 'prefix': 'events' 'body': ' @@ -383,13 +383,13 @@ \n\t\t$3' 'Template Created': 'prefix': 'created' - 'body': 'Template.${1:name}.created = -> + 'body': 'Template.${1:name}.onCreated = -> \n\t$2' - 'Template Destroyed': + 'Template destroyed': 'prefix': 'destroyed' 'body': ' - Template.${1:name}.destroyed = -> + Template.${1:name}.onDestroyed = -> \n\t$2' 'Template': @@ -398,9 +398,9 @@ \nTemplate.${1:name}.helpers \n\tcreate: -> \n\t\t$2 - \n\trendered: -> + \n\tonRendered: -> \n\t\t$3 - \n\tdestroyed: -> + \n\tonDestroyed: -> \n\t\t$4 \n\nTemplate.${9:name}.events \n\t"${5:click #foo}": (event, template) -> @@ -409,7 +409,7 @@ 'Template Helpers': 'prefix': 'helpers' - 'body': 'Template.${1:name}.helpers \n\trendered: ->\n\t\t$2\n\t\n' + 'body': 'Template.${1:name}.helpers \n\tonRendered: ->\n\t\t$2\n\t\n' 'Template.registerHelper': 'prefix': 'registerHelper' @@ -628,7 +628,7 @@ \n\t\t\tsetPageTitle "${4:Page Title}" \n \nTemplate.${5:pageTemplate}.helpers - \n\trendered: -> + \n\tonRendered: -> \n\t\t$6 \n\nTemplate.${7:pageTemplate}.events \n\t"${8:click #foo}": (event, template) -> diff --git a/snippets/meteor-api-snippets-javascript.cson b/snippets/meteor-api-snippets-javascript.cson index d9d91fc..115ec91 100644 --- a/snippets/meteor-api-snippets-javascript.cson +++ b/snippets/meteor-api-snippets-javascript.cson @@ -358,6 +358,801 @@ +#=================================================== +# Match Snippets + + 'Match.check': + 'prefix': 'check' + 'body': 'check(${1:variable}, ${2:String});\n${3:}' + + 'Match.test': + 'prefix': 'test' + 'body': 'Match.test(${1:variable}, ${2:String});\n${3:}' + +#=================================================== +# Timers Snippets + + 'Meteor.setTimeout': + 'prefix': 'setTimeout' + 'body': 'Match.setTimeout(function(){ + \n\t${2:} + \n}, ${1:milliseconds});' + + 'Meteor.setInterval': + 'prefix': 'setInterval' + 'body': 'Match.setTimeout(function(){ + \n\t${2:} + \n}, ${1:milliseconds});' + + 'Meteor.clearTimeout': + 'prefix': 'clearTimeout' + 'body': 'Meteor.clearTimeout(${1:id})' + + 'Meteor.clearInterval': + 'prefix': 'clearInterval' + 'body': 'Meteor.clearInterval(${1:id})' + + +#=================================================== +# Tracker + + 'Tracker.autorun': + 'prefix': 'autorun' + 'body': 'Tracker.autorun(function(){ + \n\t${2:} + \n});' + + 'Tracker.flush': + 'prefix': 'flush' + 'body': 'Tracker.flush();' + + 'Tracker.nonreactive': + 'prefix': 'nonreactive' + 'body': 'Tracker.nonreactive(function(){ + \n\t${2:} + \n});' + + 'Tracker.onInvalidate': + 'prefix': 'onInvalidate' + 'body': 'Tracker.onInvalidate(function(){ + \n\t${2:} + \n});' + + 'Tracker.afterFlush': + 'prefix': 'afterFlush' + 'body': 'Tracker.afterFlush(function(){ + \n\t${2:} + \n});' + + 'Tracker.active': + 'prefix': 'active' + 'body': 'Tracker.active;' + + 'Tracker.currentComputation': + 'prefix': 'currentComputation' + 'body': 'Tracker.currentComputation;' + + +#=================================================== +# Templates Snippets + + 'Template Rendered': + 'prefix': 'rendered' + 'body': 'Template.${1:name}.onRendered = function(){\n\t${2}\n}' + 'Template Events': + 'prefix': 'events' + 'body': ' + Template.${1:name}.events({ + \n\t"click ${2:#event}": function(event, template){ + \n\t\t${3:} + \n\t} + \n}); + ' + 'Template Created': + 'prefix': 'created' + 'body': ' + Template.${1:name}.onCreated = function(){ + \n\t${2:} + \n}; + ' + + 'Template Destroyed': + 'prefix': 'destroyed' + 'body': ' + Template.${1:name}.onDestroyed = function(){ + \n\t${2:} + \n}; + ' + + 'Template': + 'prefix': 'Template' + 'body': ' + \nTemplate.${1:name}.helpers({ + \n\tonCreated: function(){ + \n\t\t${2:} + \n\t}, + \n\tonRendered: function(){ + \n\t\t${3:} + \n\t}, + \n\tonDestroyed: function(){ + \n\t\t${4:} + \n\t}, + \n}); + \n\nTemplate.${9:name}.events({ + \n\t"${5:click #foo}": function(event, template){ + \n\t\t${6:} + \n\t} + \n}); + \n${7:} + ' + + 'Template Helpers': + 'prefix': 'helpers' + 'body': 'Template.${1:name}.helpers({\n\tonRendered: function(){\n\t\t${2}\n\t}\n});' + + 'Template.registerHelper': + 'prefix': 'registerHelper' + 'body': 'Template.registerHelper("${1:helperName}", function(${2:argument}){\n\t${3}\n});' + + +#=================================================== +# Blaze Snippets + + 'Blaze.render': + 'prefix': 'render' + 'body': 'Blaze.render(${1:templateOrView}, ${2:parentNode});' + 'Blaze.renderWithData': + 'prefix': 'renderWithData' + 'body': 'Blaze.renderWithData(${1:templateOrView}, ${2:data}, ${3:parentNode});' + 'Blaze.remove': + 'prefix': 'bremove' + 'body': 'Blaze.remove(${1:renderedView});' + 'Blaze.getData': + 'prefix': 'getData' + 'body': 'Blaze.getData(${1:elementOrView});' + 'Blaze.toHTML': + 'prefix': 'toHTML' + 'body': 'Blaze.toHTML(${1:templateOrView});' + 'Blaze.toHTMLWithData': + 'prefix': 'toHTMLWithData' + 'body': 'Blaze.toHTMLWithData(${1:templateOrView}, ${2:data});' + 'Blaze.toHTMLWithData': + 'prefix': 'toHTMLWithData' + 'body': 'Blaze.toHTMLWithData(${1:templateOrView}, ${2:data});' + 'Blaze.isTemplate': + 'prefix': 'isTemplate' + 'body': 'Blaze.isTemplate(${1:value});' + + +#=================================================== +# EJSON Snippets + + 'EJSON.parse': + 'prefix': 'parse' + 'body': 'EJSON.parse(${1:string});' + 'EJSON.stringify': + 'prefix': 'stringify' + 'body': 'EJSON.stringify(${1:string}, {indent: true});' + 'EJSON.clone': + 'prefix': 'clone' + 'body': 'EJSON.clone(${1:object});' + 'EJSON.equals': + 'prefix': 'deeequals' + 'body': 'EJSON.equals(${1:objectA}, ${2:objectB});' + 'EJSON.toJSONValue': + 'prefix': 'toJSON' + 'body': 'EJSON.toJSONValue(${1:value});' + 'EJSON.fromJSONValue': + 'prefix': 'fromJSON' + 'body': 'EJSON.fromJSONValue(${1:value});' + 'EJSON.isBinary': + 'prefix': 'isBinary' + 'body': 'EJSON.isBinary(${1:value});' + +#=================================================== +# HTTP Snippets + + 'HTTP Call': + 'prefix': 'httpcall' + 'body': 'HTTP.call("${1:meteorMethod}", function(error, result){ + \n\tif(error){ + \n\t\tconsole.log("error", error); + \n\t} + \n\tif(result){ + \n\t\t${2:} + \n\t} + \n});' + 'HTTP Get': + 'prefix': 'httpget' + 'body': 'HTTP.get("${1:meteorMethod}", function(error, result){ + \n\tif(error){ + \n\t\tconsole.log("error", error); + \n\t} + \n\tif(result){ + \n\t\t${2:} + \n\t} + \n});' + 'HTTP.post': + 'prefix': 'httppost' + 'body': 'HTTP.post("${1:meteorMethod}", ${2:dataObject}, function(error, result){ + \n\tif(error){ + \n\t\tconsole.log("error", error); + \n\t} + \n\tif(result){ + \n\t\t${3:} + \n\t} + \n});' + 'HTTP.put': + 'prefix': 'http.put' + 'body': 'HTTP.put("${1:meteorMethod}", ${2:dataObject}, function(error, result){ + \n\tif(error){ + \n\t\tconsole.log("error", error); + \n\t} + \n\tif(result){ + \n\t\t${3:} + \n\t} + \n});' + 'HTTP.del': + 'prefix': 'httpdel' + 'body': 'HTTP.del("${1:meteorMethod}", function(error, result){ + \n\tif(error){ + \n\t\tconsole.log("error", error); + \n\t} + \n\tif(result){ + \n\t\t${2:} + \n\t} + \n});' + + + + +#=================================================== +# Email Snippets + + 'Email.send': + 'prefix': 'Email' + 'body': 'Email.send({ + \n\tfrom: "${1:sender@somewhere.net}", + \nif(result){ + \n\t\t${2:} + \n\t} + \n});' + + + + +#=================================================== +# Email Snippets + + 'Email.send': + 'prefix': 'Email' + 'body': 'Email.send({ + \n\tfrom: "${1:sender@somewhere.net}", + \n\tto: "${2:receiver@elsewhere.io}", + \n\tcc: "${3:carboncopy@elsewhere.io}", + \n\tbcc: "${4:lurker@somewhere.io}", + \n\treplyTo: "${5:public@somewhere.net}", + \n\tsubject: "${6:Hello Email}", + \n\ttext: "${7:lorem ispum...}", + \n\thtml: "${8:}", + \n\theaders: "${9:}", + \n});' + + +#=================================================== +# Assets Snippets + + + 'Assets.getText': + 'prefix': 'getText' + 'body': 'Assets.getText("${1:assetPath}", function(error, result){ + \n\tif(error){ + \n\t\tconsole.log("error", error); + \n\t} + \n\tif(result){ + \n\t\t${2:} + \n\t} + \n});' + 'Assets.getBinary': + 'prefix': 'getBinary' + 'body': 'Assets.getBinary("${1:assetPath}", function(error, result){\n\tif(error){ + \n\t\tconsole.log("error", error); + \n\t} + \n\tif(result){ + \n\t\t${2:} + \n\t} + \n});' + + +#=================================================== +# Router Snippets + + 'Router.configure': + 'prefix': 'configure' + 'body': ' + Router.route({ + \n\tlayoutTemplate:"${1:layoutTemplate}", + \n\tnotFoundTemplate:"${2:notFoundTemplate}", + \n\tloadingTemplate:"${3:loadingTemplate}", + \n\tyieldRegions:{ + \n\t\t"${4:myAside}": {to: "aside"}, + \n\t\t"${5:myHeader}": {to: "header"} + \n\t\t"${6:myFooter}": {to: "footer"} + \n\t} + \n}); + ' + 'Router': + 'prefix': 'Router' + 'body': ' + Router.route("${1:routePath}", function(){ + \n\tthis.layout("${2:ApplicationLayout}"); + \n\tthis.render("${5:PostHeader}", {to: "header"}); + \n\tthis.render("${4:PostAside}", {to: "aside"}); + \n\tthis.render("${3:Post}"); + \n\tthis.render("${5:PostFooter}", {to: "footer"}); + \n}); + ' + 'route': + 'prefix': 'route' + 'body': ' + Router.route("${1:routePath}", { + \n\tname:"${2:routeName}", + \n\ttemplate:"${3:templateName}", + \n\twaitOn:function(){ + \n\t\t${4:subscriptions} + \n\t}, + \n\tdata:function(){ + \n\t\t${5: dataFunction} + \n\t}, + \n\tonBeforeAction:function(){ + \n\t\t${6} + \n\t}, + \n\tonAfterAction:function(){ + \n\t\t${7} + \n\t}, + \n\tonRun:function(){ + \n\t\t${8} + \n\t}, + \n\tonReRun:function(){ + \n\t\t${9} + \n\t} + \n}); + ' + 'Upsert Route': + 'prefix': 'UpsertRoute' + 'body': ' + Router.route("/add/${1:routePath},"{ + \n\tname:"${2:routeName}", + \n\ttemplate:"${3:routeTemplate}" + \n}); + + Router.route("/edit/${1:routePath}/:${4:paramId},"{ + \n\tname:"${2:routeName}", + \n\ttemplate:"${3:routeTemplate}" + \n\tdata:function(){ + \n\t\treturn ${5: collectionName}.findOne({_id: this.params.${4:paramId}}); + \n\t}, + \n\tonBeforeAction:function(){ + \n\t\tSession.set("${7}", this.params.${4:paramId}}); + \n\t\t${8} + \n\t\tthis.next(); + \n\t}, + \n\tonAfterAction:function(){ + \n\t\t${9} + \n\t}, + \n}); + ' + + +#=================================================== +# Template + Router + + 'Page': + 'prefix': 'page' + 'body': ' + Router.route("${1:routePath}", { + \n\tname:"${2:routeName}", + \n\ttemplate:"${3:templateName}" + \n}); + \n + \nTemplate.${4:pageTemplate}.helpers({ + \n\tonRendered: function(){ + \n\t\t${5:} + \n\t} + \n}); + \n\nTemplate.${4:pageTemplate}.events({ + \n\t"${6:click} #${7:elementId}": function(event, template){ + \n\t\t${8} + \n\t} + \n}); + ' + +#=================================================== +# Nightwatch + + 'verify.elementPresent': + 'prefix': 'vep' + 'body': '.verify.elementPresent("#${1}")${2}' + + 'verify.elementNotPresent': + 'prefix': 'venp' + 'body': '.verify.elementNotPresent("#${1}")${2}' + + 'waitForElementVisible': + 'prefix': 'wfev' + 'body': '.waitForElementVisible("#${1}", ${2})${3}' + + 'containsText': + 'prefix': 'vct' + 'body': '.verify.containsText("#${1}", "${2}")${3}' + + 'click': + 'prefix': 'click' + 'body': '.click("#${1}").pause(${2})${3}' + + 'attributeEquals': + 'prefix': 'ae' + 'body': '.verify.attributeEquals("#${1}", "value", "${2}")${3}' +# Your snippets +# +# Atom snippets allow you to enter a simple prefix in the editor and hit tab to +# expand the prefix into a larger code block with templated values. +# +# You can create a new snippet in this file by typing "snip" and then hitting +# tab. +# +# An example CoffeeScript snippet to expand log to console.log: +# +# '.source.coffee': +# 'Console log': +# 'prefix': 'log' +# 'body': 'console.log $1' +# + + +#=================================================== +# Javascript Lanaguage Snippets + +'.js': + + 'if, else if, else': + 'prefix': 'ieie' + 'body': ' + if (${1:true}) { + $2 + } else if (${3:false}) { + $4 + } else { + $5 + } + ' + + 'console.log': + 'prefix': 'log' + 'body': 'console.log("${1:message}");\n${2:}' + + 'function()': + 'prefix': 'f' + 'body': 'function(${1:argument}){\n\t${2:}\n},' + + +#=================================================== +# Meteor Core API + + 'Meteor.isClient': + 'prefix': 'isClient' + 'body': 'if(Meteor.isClient){\n\t${1:}\n}' + + 'Meteor.isServer': + 'prefix': 'isServer' + 'body': 'if(Meteor.isServer){\n\t${1:}\n}' + + 'Meteor.isCordova': + 'prefix': 'isCordova' + 'body': 'if(Meteor.isCordova){\n\t${1:}\n}' + + 'Meteor.startup': + 'prefix': 'startup' + 'body': 'Meteor.startup(function(){\n\t${1:}\n});' + + 'Meteor.absoluteUrl': + 'prefix': 'absolute' + 'body': 'Meteor.absoluteUrl("${1:}");' + + +#=================================================== +# Publish & Subscribe + + 'Meteor Publish': + 'prefix': 'publish' + 'body': 'Meteor.publish("${1:name}", function(${2:argument}){\n\t${3:}\n});' + + 'Meteor Subscribe': + 'prefix': 'subscribe' + 'body': 'Meteor.subscribe("${1:name}", ${2:argument});' + + +#=================================================== +# Methods + + 'Meteor Methods': + 'prefix': 'methods' + 'body': 'Meteor.methods({ + \n\t${1:methodName}:function(){ + \n\t\t${2:} + \n\t} + \n});' + + 'Meteor.Error': + 'prefix': 'error' + 'body': 'Meteor.Error(${1:Number}, "${2:description}");' + + + 'Meteor.call': + 'prefix': 'call' + 'body': 'Meteor.call("${1:meteorMethod}", ${2:dataObject}, function(error, result){ + \n\tif(error){ + \n\t\tconsole.log("error", error); + \n\t} + \n\tif(result){ + \n\t\t${3:} + \n\t} + \n});' + + +#=================================================== +# Connections + + 'Meteor.status': + 'prefix': 'status' + 'body': 'Meteor.status()' + + + 'Meteor.reconnect': + 'prefix': 'reconnect' + 'body': 'Meteor.reconnect()' + + + 'Meteor.disconnect': + 'prefix': 'disconnect' + 'body': 'Meteor.disconnect()' + + + 'Meteor.onConnection': + 'prefix': 'onConnection' + 'body': 'Meteor.onConnection(function(){ + \n\t${1:} + \n});' + + +#=================================================== +# Collections + + 'Mongo.Collection.ObjectID': + 'prefix': 'object' + 'body': 'new Mongo.Collection.ObjectID("${1:id}")' + + 'Collection.find': + 'prefix': 'find' + 'body': '${1:Collection}.find({"${2:field}":${3:value}});\n${4:}' + + 'Collection.findOne': + 'prefix': 'findOne' + 'body': '${1:Collection}.findOne({_id:"${2:recordId}"${3:}});\n${4:}' + + 'Collection.insert': + 'prefix': 'insert' + 'body': '${1:Collection}.insert(${2:newRecord});\n${3:}' + + + 'Collection.Update': + 'prefix': 'update' + 'body': '${1:Collection}.update({_id:${2:idSelector}}, {$set:{\n\t${3:}\n}});\n${4:}' + + 'Collection.Upsert': + 'prefix': 'upsert' + 'body': '${1:Collection}.upsert({_id:${2:idSelector}}, {$set:{\n\t${3:}\n}});\n${4:}' + + 'Collection.remove': + 'prefix': 'remove' + 'body': '${1:Collection}.remove({_id:"${2:recordId}"${3:}});\n${4:}' + + 'Collection.allow': + 'prefix': 'allow' + 'body': '${1:Collection}.allow({ + \n\tinsert: function(){ + \n\t\treturn ${2:true}; + \n\t}, + \n\tupdate: function(){ + \n\t\treturn ${3:true}; + \n\t}, + \n\tremove: function(){ + \n\t\treturn ${4:true}; + \n\t} + \n});\n${5:}' + + 'Collection.deny': + 'prefix': 'deny' + 'body': '${1:Collection}.deny({ + \n\tinsert: function(){ + \n\t\treturn ${2:false}; + \n\t}, + \n\tupdate: function(){ + \n\t\treturn ${3:false}; + \n\t}, + \n\tremove: function(){ + \n\t\treturn ${4:false}; + \n\t} + \n});\n${5:}' + + + 'Collection': + 'prefix': 'Collection' + 'body': '${1:CollectionName} = new Mongo.Collection("${2:name}"); + \n${3:CollectionName}.allow({ + \n\tinsert: function(){ + \n\t\treturn ${4:true}; + \n\t}, + \n\tupdate: function(){ + \n\t\treturn ${5:true}; + \n\t}, + \n\tremove: function(){ + \n\t\treturn ${6:true}; + \n\t} + \n});\n${7:}' + + +#=================================================== +# Session Snippets + + 'Session.set': + 'prefix': 'set' + 'body': 'Session.set("${1:variableName}", ${2:value});\n${3:}' + + 'Session.get': + 'prefix': 'get' + 'body': 'Session.get("${1:variableName}");\n${2:}' + + 'Session.equals': + 'prefix': 'equals' + 'body': 'Session.equals("${1:variableName}", ${2:value});\n${3:}' + + 'Session.setDefault': + 'prefix': 'setDefault' + 'body': 'Session.setDefault("${1:variableName}", ${2:value});\n${3:}' + +#=================================================== +# Accounts Snippets + + + 'Meteor.user': + 'prefix': 'user' + 'body': 'Meteor.user()' + 'Meteor.user': + 'prefix': 'varuser' + 'body': 'var user = Meteor.user();' + 'Meteor.userId': + 'prefix': 'userId' + 'body': 'Meteor.userId()' + 'Meteor.users': + 'prefix': 'users' + 'body': 'Meteor.users' + 'Meteor.loggingIn': + 'prefix': 'loggingIn' + 'body': 'Meteor.loggingIn()' + 'Meteor.logout': + 'prefix': 'logout' + 'body': 'Meteor.logout(function(){ + \n\t${1:} + \n});' + 'Meteor.logoutOtherClients': + 'prefix': 'logoutOtherClients' + 'body': 'Meteor.logoutOtherClients(function(){ + \n\t${1:} + \n});' + 'Meteor.loginWithPassword': + 'prefix': 'logoutOtherClients' + 'body': 'Meteor.logoutOtherClients(${1:user}, ${2:password}, function(){ + \n\t${3:} + \n});' + + + 'Accounts': + 'prefix': 'Accounts' + 'body': ' + Accounts.config({ + \n\tsendVerificationEmail: ${1:true}, + \n\tforbidClientAccountCreation: ${2:true}, + \n\trestrictCreationByEmailDomain: "${3:school.edu}", + \n\tloginExpirationDays: ${4:30}, + \n\toauthSecretKey: "${5:wgporjigrpqgdfg}", + \n}); + \nAccounts.ui.config({ + \n\trequestPermissions: ${1:{}}, + \n\trequestOfflineToken: ${1:{}}, + \n\tpasswordSignupFields: "${3:USERNAME_AND_OPTIONAL_EMAIL}", + \n}); + \n${12:} + ' + + 'Accounts.validateNewUser': + 'prefix': 'validateNewUser' + 'body': 'Meteor.validateNewUser(function(){ + \n\t${1:} + \n});' + + 'Accounts.onCreateUser': + 'prefix': 'onCreateUser' + 'body': 'Meteor.onCreateUser(function(options, user){ + \n\t${1:} + \n\treturn ${1:user} + \n});' + 'Accounts.onLogin': + 'prefix': 'onLogin' + 'body': 'Meteor.onLogin(function(){ + \n\t${1:} + \n});' + 'Accounts.onLoginFailure': + 'prefix': 'onLoginFailure' + 'body': 'Meteor.onLoginFailure(function(){ + \n\t${1:} + \n});' + + +#=================================================== +# Passwords Snippets + + + 'Accounts.createUser': + 'prefix': 'createUser' + 'body': ' + var userObject = { + \n\tusername: "${1:username}", + \n\tmail: "${1:email}", + \n\tpassword: "${1:password}" + \n}; + \n + \nAccounts.createUser(${1:userObject}, function(){ + \n\t${1:} + \n});' + 'Accounts.changePassword': + 'prefix': 'changePassword' + 'body': 'Accounts.changePassword(${1:oldPassword}, ${2:newPassword}, function(){ + \n\t${1:} + \n});' + 'Accounts.forgotPassword': + 'prefix': 'forgotPassword' + 'body': 'Accounts.forgotPassword({email: "${1:address}"}, function(){ + \n\t${2:} + \n});' + 'Accounts.resetPassword': + 'prefix': 'resetPassword' + 'body': 'Accounts.resetPassword(${1:token}, ${2:newPassword}, function(){ + \n\t${3:} + \n});' + 'Accounts.setPassword': + 'prefix': 'setPassword' + 'body': 'Accounts.setPassword(${1:userId}, ${2:newPassword});' + 'Accounts.verifyEmail': + 'prefix': 'verifyEmail' + 'body': 'Accounts.verifyEmail(${1:token}, function(){ + \n\t${1:} + \n});' + 'Accounts.sendResetPasswordEmail': + 'prefix': 'sendResetPasswordEmail' + 'body': 'Accounts.sendResetPasswordEmail(${1:userId});' + + 'Accounts.sendEnrollmentEmail': + 'prefix': 'sendEnrollmentEmail' + 'body': 'Accounts.sendEnrollmentEmail(${1:userId});' + + 'Accounts.sendVerificationEmail': + 'prefix': 'sendVerificationEmail' + 'body': 'Accounts.sendVerificationEmail(${1:userId});' + + + + #=================================================== # Match Snippets @@ -469,13 +1264,13 @@ 'prefix': 'Template' 'body': ' \nTemplate.${1:name}.helpers({ - \n\tcreate: function(){ + \n\tonCreated: function(){ \n\t\t${2:} \n\t}, - \n\trendered: function(){ + \n\tonRendered: function(){ \n\t\t${3:} \n\t}, - \n\tdestroyed: function(){ + \n\tonDestroyed: function(){ \n\t\t${4:} \n\t}, \n}); @@ -489,7 +1284,7 @@ 'Template Helpers': 'prefix': 'helpers' - 'body': 'Template.${1:name}.helpers({\n\trendered: function(){\n\t\t${2}\n\t}\n});' + 'body': 'Template.${1:name}.helpers({\n\tonRendered: function(){\n\t\t${2}\n\t}\n});' 'Template.registerHelper': 'prefix': 'registerHelper' @@ -757,7 +1552,7 @@ \n}); \n \nTemplate.${4:pageTemplate}.helpers({ - \n\trendered: function(){ + \n\tonRendered: function(){ \n\t\t${5:} \n\t} \n});