1
0
Fork 0
mirror of synced 2024-11-26 18:55:34 -05:00
ultimate-vim/sources_non_forked/vim-snippets/snippets/javascript/javascript.snippets

360 lines
7.1 KiB
Text
Raw Normal View History

# Functions
2014-09-27 11:32:18 -04:00
# prototype
2014-03-11 16:59:33 -04:00
snippet proto
2014-09-27 11:32:18 -04:00
${1:class_name}.prototype.${2:method_name} = function(${3}) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2014-03-11 16:59:33 -04:00
};
# Function
2019-08-22 11:36:17 -04:00
snippet fun "function"
2014-09-27 11:32:18 -04:00
function ${1:function_name}(${2}) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2014-03-11 16:59:33 -04:00
}
2019-11-16 10:28:42 -05:00
# Asynchronous Function
snippet asf "async function"
2019-08-22 11:36:17 -04:00
async function ${1:function_name}(${2}) {
${0:${VISUAL}}
}
2014-03-11 16:59:33 -04:00
# Anonymous Function
2018-06-14 06:31:12 -04:00
snippet anf "" w
2014-09-27 11:32:18 -04:00
function(${1}) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2014-07-02 07:18:18 -04:00
}
2015-03-14 16:02:10 -04:00
# Anonymous Function assigned to variable
snippet vaf
var ${1:function_name} = function(${2}) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2015-03-14 16:02:10 -04:00
};
2014-09-27 11:32:18 -04:00
# Function assigned to variable
snippet vf
var ${1:function_name} = function $1(${2}) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2014-09-27 11:32:18 -04:00
};
2014-03-11 16:59:33 -04:00
# Immediate function
snippet (f
2014-09-27 11:32:18 -04:00
(function(${1}) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2014-03-11 16:59:33 -04:00
}(${2}));
2016-08-02 08:48:32 -04:00
# Minify safe iife
snippet ;fe
;(function(${1}) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2016-08-02 08:48:32 -04:00
}(${2}))
# self-defining function
snippet sdf
var ${1:function_name} = function (${2:argument}) {
${3}
$1 = function ($2) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
};
};
# Flow control
2014-03-11 16:59:33 -04:00
# if
2017-02-11 08:01:38 -05:00
snippet if "if (condition) { ... }"
2014-03-11 16:59:33 -04:00
if (${1:true}) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2014-03-11 16:59:33 -04:00
}
# if ... else
2017-02-11 08:01:38 -05:00
snippet ife "if (condition) { ... } else { ... }"
2014-03-11 16:59:33 -04:00
if (${1:true}) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2014-03-11 16:59:33 -04:00
} else {
2017-02-11 08:01:38 -05:00
${2}
2014-03-11 16:59:33 -04:00
}
# tertiary conditional
snippet ter
${1:/* condition */} ? ${2:/* if true */} : ${0:/* if false */}
2014-03-11 16:59:33 -04:00
# switch
snippet switch
switch (${1:expression}) {
case '${3:case}':
${4}
break;
${0}
default:
${2}
}
2017-02-11 08:01:38 -05:00
snippet case "case 'xyz': ... break"
2014-03-11 16:59:33 -04:00
case '${1:case}':
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2014-03-11 16:59:33 -04:00
break;
2017-02-11 08:01:38 -05:00
snippet try "try { ... } catch(e) { ... }"
try {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
} catch (${1:e}) {
${2:/* handle error */}
}
2017-02-11 08:01:38 -05:00
snippet tryf "try { ... } catch(e) { ... } finally { ... }"
2015-12-08 08:20:04 -05:00
try {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
} catch (${1:e}) {
${2:/* handle error */}
2015-12-08 08:20:04 -05:00
} finally {
${3:/* be executed regardless of the try / catch result*/}
}
# throw Error
snippet terr
throw new Error('${1:error message}')
# return
snippet ret
return ${0:result};
2017-02-11 08:01:38 -05:00
snippet for "for (...) {...}"
2021-05-05 04:25:00 -04:00
for (let ${1:i} = 0, ${2:len} = ${3:Things.length}; $1 < $2; $1++) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2014-03-11 16:59:33 -04:00
}
2017-02-11 08:01:38 -05:00
snippet forr "reversed for (...) {...}"
2021-05-05 04:25:00 -04:00
for (let ${2:i} = ${1:Things.length} - 1; $2 >= 0; $2--) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2014-03-11 16:59:33 -04:00
}
2017-02-11 08:01:38 -05:00
snippet wh "(condition) { ... }"
2014-03-11 16:59:33 -04:00
while (${1:/* condition */}) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2014-03-11 16:59:33 -04:00
}
2017-02-11 08:01:38 -05:00
snippet do "do { ... } while (condition)"
2014-03-11 16:59:33 -04:00
do {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2014-03-11 16:59:33 -04:00
} while (${1:/* condition */});
# For in loop
snippet fori
2021-05-05 04:25:00 -04:00
for (let ${1:prop} in ${2:object}) {
${0:$2[$1]}
}
# Objects
2014-03-11 16:59:33 -04:00
# Object Method
snippet :f
${1:method_name}: function (${2:attribute}) {
2017-02-11 08:01:38 -05:00
${0:${VISUAL}}
2015-02-24 05:45:22 -05:00
},
2014-03-11 16:59:33 -04:00
# hasOwnProperty
snippet has
hasOwnProperty(${0})
# singleton
snippet sing
function ${1:Singleton} (${2:argument}) {
// the cached instance
var instance;
// rewrite the constructor
$1 = function $1($2) {
return instance;
};
// carry over the prototype properties
$1.prototype = this;
// the instance
instance = new $1();
// reset the constructor pointer
instance.constructor = $1;
${0}
return instance;
}
# Crockford's object function
snippet obj
function object(o) {
function F() {}
F.prototype = o;
return new F();
}
# Define multiple properties
snippet props
var ${1:my_object} = Object.defineProperties(
${2:new Object()},
{
${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}
}
}
);
# Define single property
snippet prop
Object.defineProperty(
${1:object},
'${2:property}',
2014-03-11 16:59:33 -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}
}
);
# Documentation
# docstring
snippet /**
/**
* ${0:description}
*
*/
snippet @par
@param {${1:type}} ${2:name} ${0:description}
snippet @ret
@return {${1:type}} ${0:description}
# 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}('${0}')
# Get element
snippet gett
getElementBy${1:Id}('${0}')
# Elements by class
snippet by.
${1:document}.getElementsByClassName('${0:class}')
# Element by ID
snippet by#
${1:document}.getElementById('${0:element ID}')
# Query selector
snippet qs
${1:document}.querySelector('${0:CSS selector}')
# Query selector all
snippet qsa
${1:document}.querySelectorAll('${0:CSS selector}')
# Debugging
2015-07-13 06:22:46 -04:00
snippet de
debugger;
2017-02-11 08:01:38 -05:00
snippet cl "console.log"
console.log(${0});
2017-02-11 08:01:38 -05:00
snippet cd "console.debug"
console.debug(${0});
2017-02-11 08:01:38 -05:00
snippet ce "console.error"
2016-02-20 08:13:10 -05:00
console.error(${0});
2017-02-11 08:01:38 -05:00
snippet cw "console.warn"
2016-10-02 07:37:21 -04:00
console.warn(${0});
2017-02-11 08:01:38 -05:00
snippet ci "console.info"
2016-11-09 12:22:55 -05:00
console.info(${0});
2017-02-11 08:01:38 -05:00
snippet ct "console.trace"
console.trace(${0:label});
2017-02-11 08:01:38 -05:00
snippet ctime "console.time ... console.timeEnd"
console.time("${1:label}");
${0:${VISUAL}}
console.timeEnd("$1");
snippet ctimestamp "console.timeStamp"
console.timeStamp("${1:label}");
snippet ca "console.assert"
console.assert(${1:expression}, ${0:obj});
2017-02-11 08:01:38 -05:00
snippet cclear "console.clear"
console.clear();
snippet cdir "console.dir"
console.dir(${0:obj});
2017-02-11 08:01:38 -05:00
snippet cdirx "console.dirxml"
console.dirxml(${1:object});
snippet cgroup "console.group"
console.group("${1:label}");
${0:${VISUAL}}
console.groupEnd();
snippet cgroupc "console.groupCollapsed"
console.groupCollapsed("${1:label}");
${0:${VISUAL}}
console.groupEnd();
snippet cprof "console.profile"
console.profile("${1:label}");
${0:${VISUAL}}
console.profileEnd();
snippet ctable "console.table"
console.table(${1:"${2:value}"});
2021-05-05 04:25:00 -04:00
snippet clstr "console.log stringified"
console.log(JSON.stringify(${0}, null, 2));
# Misc
2015-03-14 16:02:10 -04:00
snippet us
'use strict';
# setTimeout function
snippet timeout
setTimeout(function () {${0}}${2}, ${1:10});
2019-08-22 11:36:17 -04:00
snippet const
const ${1} = ${0};
2019-11-16 10:28:42 -05:00
snippet constn
const ${1} = new ${0};
2019-08-22 11:36:17 -04:00
snippet let
let ${1} = ${0};
snippet im "import xyz from 'xyz'"
import ${1} from '${2:$1}';
snippet imas "import * as xyz from 'xyz'"
import * as ${1} from '${2:$1}';
snippet imm "import { member } from 'xyz'"
import { ${1} } from '${2}';
snippet cla
class ${1} {
${0:${VISUAL}}
}
snippet clax
class ${1} extends ${2} {
${0:${VISUAL}}
}
snippet clac
class ${1} {
constructor(${2}) {
${0:${VISUAL}}
}
}
snippet foro "for (const prop of object}) { ... }"
for (const ${1:prop} of ${2:object}) {
${0:$1}
}
2020-12-04 16:15:32 -05:00
snippet forl "for (let prop of object}) { ... }"
for (let ${1:prop} of ${2:object}) {
${0:$1}
}
2019-08-22 11:36:17 -04:00
snippet fun*
function* ${1:function_name}(${2}) {
${0:${VISUAL}}
}
snippet c=>
const ${1:function_name} = (${2}) => {
${0:${VISUAL}}
}
2020-12-04 16:15:32 -05:00
snippet ca=>
const ${1:function_name} = async (${2}) => {
${0:${VISUAL}}
}
2019-08-22 11:36:17 -04:00
snippet caf
const ${1:function_name} = (${2}) => {
${0:${VISUAL}}
}
2020-12-04 16:15:32 -05:00
snippet casf
const ${1:function_name} = async (${2}) => {
${0:${VISUAL}}
}
2019-08-22 11:36:17 -04:00
snippet =>
(${1}) => {
${0:${VISUAL}}
}
2020-04-25 21:56:16 -04:00
snippet af "() =>"
(${1}) => ${0:${VISUAL}}
snippet afb "() => {}"
2019-08-22 11:36:17 -04:00
(${1}) => {
${0:${VISUAL}}
}
snippet sym
const ${1} = Symbol('${0}');
snippet ed
export default ${0}
snippet ${
${${1}}${0}
2020-12-04 16:15:32 -05:00
snippet as "async"
async ${0}
2019-08-22 11:36:17 -04:00
snippet aw "await"
await ${0:${VISUAL}}