vim-snippets/snippets/javascript/javascript.snippets

246 lines
3.8 KiB
Plaintext
Raw Normal View History

2014-10-09 05:47:38 -04:00
# Functions
2014-08-20 15:05:28 -04:00
# prototype
snippet proto
2014-09-18 10:59:42 -04:00
${1:class_name}.prototype.${2:method_name} = function(${3}) {
${0}
};
# Function
snippet fun
2014-09-18 10:59:42 -04:00
function ${1:function_name}(${2}) {
${0}
}
# Anonymous Function
snippet f
2014-08-20 15:05:28 -04:00
function(${1}) {
${0}
}
# Function assigned to variable
snippet vf
var ${1:function_name} = function $1(${2}) {
${0}
2014-09-15 07:52:04 -04:00
};
# Immediate function
snippet (f
2014-08-20 15:05:28 -04:00
(function(${1}) {
${0}
}(${2}));
2014-10-09 05:47:38 -04:00
# self-defining function
snippet sdf
var ${1:function_name} = function (${2:argument}) {
${3}
$1 = function ($2) {
${0}
};
};
# Flow control
# if
snippet if
if (${1:true}) {
${0}
}
# if ... else
snippet ife
if (${1:true}) {
${2}
} else {
${0}
}
# tertiary conditional
snippet ter
2014-10-09 05:47:38 -04:00
${1:/* condition */} ? ${2:/* if true */} : ${0:/* if false */}
# switch
snippet switch
switch (${1:expression}) {
case '${3:case}':
${4}
break;
${0}
default:
${2}
}
# case
snippet case
case '${1:case}':
${2}
break;
${0}
2014-10-09 05:47:38 -04:00
# try
snippet try
try {
${1}
} catch (${2:e}) {
${0:/* handle error */}
}
# return
snippet ret
return ${0:result};
# Loops
# for loop
snippet for
2013-03-05 23:15:11 -05:00
for (var ${2:i} = 0, l = ${1:arr}.length; $2 < l; $2 ++) {
var ${3:v} = $1[$2];${0:}
}
2014-10-09 05:47:38 -04:00
# Reversed for loop
snippet forr
2013-03-05 23:15:11 -05:00
for (var ${2:i} = ${1:arr}.length - 1; $2 >= 0; $2 --) {
var ${3:v} = $1[$2];${0:}
}
2014-10-09 05:47:38 -04:00
# While loop
snippet wh
while (${1:/* condition */}) {
${0}
}
2014-10-09 05:47:38 -04:00
# Do while loop
snippet do
do {
${0}
} while (${1:/* condition */});
2014-10-09 05:47:38 -04:00
# For in loop
snippet fori
for (var ${1:prop} in ${2:object}) {
${0:$2[$1]}
}
# Objects
# Object Method
snippet :f
2012-05-31 11:23:21 -04:00
${1:method_name}: function (${2:attribute}) {
${0}
}${3:,}
2011-08-03 00:53:21 -04:00
# hasOwnProperty
snippet has
hasOwnProperty(${0})
2011-08-03 00:53:21 -04:00
# singleton
snippet sing
function ${1:Singleton} (${2:argument}) {
// the cached instance
var instance;
2011-08-03 00:53:21 -04:00
// rewrite the constructor
$1 = function $1($2) {
return instance;
};
// carry over the prototype properties
$1.prototype = this;
2011-08-03 00:53:21 -04:00
// the instance
instance = new $1();
2011-08-03 00:53:21 -04:00
// reset the constructor pointer
instance.constructor = $1;
2011-08-03 00:53:21 -04:00
${0}
2011-08-03 00:53:21 -04:00
return instance;
}
# Crockford's object function
snippet obj
function object(o) {
function F() {}
F.prototype = o;
return new F();
}
2013-05-13 11:19:05 -04:00
# Define multiple properties
snippet props
var ${1:my_object} = Object.defineProperties(
${2:new Object()},
2013-05-13 11:19:05 -04:00
{
${3:property} : {
get : function $1_$3_getter() {
// getter code
},
set : function $1_$3_setter(value) {
// setter code
},
value : ${4:value},
writeable : ${5:boolean},
enumerable : ${6:boolean},
configurable : ${0:boolean}
2013-05-13 11:19:05 -04:00
}
}
);
# Define single property
snippet prop
Object.defineProperty(
2013-05-13 11:19:05 -04:00
${1:object},
'${2:property}',
2013-05-13 11:19:05 -04:00
{
get : function $1_$2_getter() {
// getter code
},
set : function $1_$2_setter(value) {
// setter code
},
value : ${3:value},
writeable : ${4:boolean},
enumerable : ${5:boolean},
configurable : ${0:boolean}
2013-05-13 11:19:05 -04:00
}
);
2014-10-09 05:47:38 -04:00
# Documentation
# docstring
snippet /**
/**
* ${0:description}
*
*/
snippet @par
@param {${1:type}} ${2:name} ${0:description}
snippet @ret
@return {${1:type}} ${0:description}
# JSON
# JSON.parse
snippet jsonp
JSON.parse(${0:jstr});
# JSON.stringify
snippet jsons
JSON.stringify(${0:object});
# DOM selectors
# Get elements
snippet get
getElementsBy${1:TagName}('${2}')
# Get element
snippet gett
getElementBy${1:Id}('${2}')
# Elements by class
snippet by.
${document}.getElementsByClassName('${class name})
2014-10-09 05:47:38 -04:00
# Element by ID
snippet by#
${document}.getElementById('${element ID})
2014-10-09 05:47:38 -04:00
# Query selector
snippet qs
${document}.querySelector('${selectors})
2014-10-09 05:47:38 -04:00
# Query selector all
snippet qsa
${document}.querySelectorAll('${selectors})
2014-10-09 05:47:38 -04:00
# Debugging
# console.log
snippet cl
console.log(${0});
# console.debug
snippet cd
console.debug(${0});
# Misc
# setTimeout function
snippet timeout
setTimeout(function () {${0}}${2}, ${1:10});