Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save jlucktay/b1e2601579d89a333745f5e8b05c3910 to your computer and use it in GitHub Desktop.
Save jlucktay/b1e2601579d89a333745f5e8b05c3910 to your computer and use it in GitHub Desktop.
VSCode - Pipe function snippet for Go
{
// Place your snippets for go here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted.
//
// Possible variables are:
// - $1, $2 for tab stops
// - $0 for the final cursor position
// - ${1:label}, ${2:another} for placeholders.
//
// Placeholders with the same ids are connected.
//
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"Pipeline pattern function": {
"prefix": "pipe",
"body": "func pipe(input chan ${1:inpipetype}) chan ${2:outpipetype} {\n\toutput := make(chan ${2:outpipetype})\n\n\tgo func() {\n\t\tfor i := range input {\n\t\t\toutput <- ${0:pipefunc}(i)\n\t\t}\n\n\t\tclose(output)\n\t}()\n\n\treturn output\n}",
"description": "Sample pipeline pattern function, using in/out channels"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment