priority -50

snippet #! "shebang"
#!/usr/bin/env node
endsnippet

snippet vreq "assign a CommonJS-style module to a var"
var ${0:${1/(.+\/)*(\w+)(-|\b|$)(\..+$)?/\u$2/g}} = require('$1');
endsnippet

snippet ex "module.exports"
module.exports = $1;
endsnippet

snippet hcs "http.createServer"
http.createServer($1).listen($2);
endsnippet

snippet ncs "net.createServer"
net.createServer(function(${1:socket}){
	$1.on('data', function(${3:data}){
		$4
	});
	$1.on('end', function(){
		$5
	});
}).listen(${6:8124});
endsnippet

snippet pipe "pipe"
pipe(${1:stream})$2
endsnippet

# Express snippets

snippet eget "express GET"
${1:app}.get('$2', $3);
endsnippet

snippet epost "express POST"
${1:app}.post('$2', $3);
endsnippet

snippet eput "express PUT"
${1:app}.put('$2', $3);
endsnippet

snippet edelete "express DELETE"
${1:app}.delete('$2', $3);
endsnippet

# process snippets

snippet stdout "stdout"
process.stdout
endsnippet

snippet stdin "stdin"
process.stdin
endsnippet

snippet stderr "stderr"
process.stderr
endsnippet

