v0.0.1
This commit is contained in:
commit
3d94211018
7 changed files with 146 additions and 0 deletions
23
.eslintrc.js
Normal file
23
.eslintrc.js
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
/**@type {import('eslint').Linter.Config} */
|
||||||
|
// eslint-disable-next-line no-undef
|
||||||
|
module.exports = {
|
||||||
|
root: true,
|
||||||
|
parser: '@typescript-eslint/parser',
|
||||||
|
plugins: [
|
||||||
|
'@typescript-eslint',
|
||||||
|
],
|
||||||
|
extends: [
|
||||||
|
'eslint:recommended',
|
||||||
|
'plugin:@typescript-eslint/recommended',
|
||||||
|
],
|
||||||
|
rules: {
|
||||||
|
'semi': [
|
||||||
|
2,
|
||||||
|
"always"
|
||||||
|
],
|
||||||
|
'@typescript-eslint/no-unused-vars': 0,
|
||||||
|
'@typescript-eslint/no-explicit-any': 0,
|
||||||
|
'@typescript-eslint/explicit-module-boundary-types': 0,
|
||||||
|
'@typescript-eslint/no-non-null-assertion': 0,
|
||||||
|
}
|
||||||
|
};
|
5
.vscode/extensions.json
vendored
Normal file
5
.vscode/extensions.json
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"dbaeumer.vscode-eslint"
|
||||||
|
]
|
||||||
|
}
|
14
.vscode/launch.json
vendored
Normal file
14
.vscode/launch.json
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Run Extension",
|
||||||
|
"type": "extensionHost",
|
||||||
|
"request": "launch",
|
||||||
|
"runtimeExecutable": "${execPath}",
|
||||||
|
"args": [
|
||||||
|
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"editor.insertSpaces": false
|
||||||
|
}
|
15
README.md
Normal file
15
README.md
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# Golang snippets
|
||||||
|
|
||||||
|
Extensions with frequently used snippets for productive go development.
|
||||||
|
|
||||||
|
Extension in active development! Your contribution is always welcome :)
|
||||||
|
|
||||||
|
| Prefix| Description | Example |
|
||||||
|
| :---- |:-----------:| -------:|
|
||||||
|
| `pkg` | Package header line | `package test` |
|
||||||
|
| `tyi` | Type interface declaration | ```type test interface { }``` |
|
||||||
|
| `tys` | Type structure declaration | ```type test struct { }``` |
|
||||||
|
| `construct` | Constructor for structure type | see in action |
|
||||||
|
| `var` | Variable with type and value | `var test string = "hello"` |
|
||||||
|
| `stack` | Stack from array of types | see in action |
|
||||||
|
|
21
package.json
Normal file
21
package.json
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"name": "gosnippets",
|
||||||
|
"displayName": "Useful Golang snippets",
|
||||||
|
"description": "Snippets for productive work",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"publisher": "Alexander NeonXP Kiryukhin",
|
||||||
|
"engines": {
|
||||||
|
"vscode": "^1.28.0"
|
||||||
|
},
|
||||||
|
"categories": [
|
||||||
|
"Snippets"
|
||||||
|
],
|
||||||
|
"contributes": {
|
||||||
|
"snippets": [
|
||||||
|
{
|
||||||
|
"language": "golang",
|
||||||
|
"path": "./snippets.json"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
65
snippets.json
Normal file
65
snippets.json
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
{
|
||||||
|
"Interface declaration": {
|
||||||
|
"body": [
|
||||||
|
"type $1 interface {",
|
||||||
|
"\t$0",
|
||||||
|
"}"
|
||||||
|
],
|
||||||
|
"description": "go interface type",
|
||||||
|
"prefix": "tyi"
|
||||||
|
},
|
||||||
|
"Package line": {
|
||||||
|
"body": [
|
||||||
|
"package ${TM_DIRECTORY/.+\\/(.+)$/${1:/downcase}/}",
|
||||||
|
"",
|
||||||
|
"$0"
|
||||||
|
],
|
||||||
|
"description": "package header",
|
||||||
|
"prefix": "pkg"
|
||||||
|
},
|
||||||
|
"Stack from array": {
|
||||||
|
"body": [
|
||||||
|
"type ${1:name} []${2:type}",
|
||||||
|
"",
|
||||||
|
"func (s *$1) Push(item $2) {",
|
||||||
|
"\t*s = append(*s, item)",
|
||||||
|
"}",
|
||||||
|
"",
|
||||||
|
"func (s *$1) Pop() (item $2) {",
|
||||||
|
"\tif len(*s) == 0 {",
|
||||||
|
"\t\treturn",
|
||||||
|
"\t}",
|
||||||
|
"",
|
||||||
|
"\t*s, item = (*s)[:len(*s)-1], (*s)[len(*s)-1]",
|
||||||
|
"\treturn item",
|
||||||
|
"}"
|
||||||
|
],
|
||||||
|
"description": "stack from array type",
|
||||||
|
"prefix": "stack"
|
||||||
|
},
|
||||||
|
"Structure constructor": {
|
||||||
|
"body": [
|
||||||
|
"// New instance of $1 type.",
|
||||||
|
"func New${1:type}(${2}) *$1 {",
|
||||||
|
"\t$3",
|
||||||
|
"\treturn &$1{$4}",
|
||||||
|
"}"
|
||||||
|
],
|
||||||
|
"description": "constructor for structure type",
|
||||||
|
"prefix": "construct"
|
||||||
|
},
|
||||||
|
"Structure declaration": {
|
||||||
|
"body": [
|
||||||
|
"type $1 struct {",
|
||||||
|
"\t$0",
|
||||||
|
"}"
|
||||||
|
],
|
||||||
|
"description": "strucutre type",
|
||||||
|
"prefix": "tys"
|
||||||
|
},
|
||||||
|
"Variable declaration": {
|
||||||
|
"body": "var $1 $2 = $3",
|
||||||
|
"description": "variable with type and value",
|
||||||
|
"prefix": "var"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue