@enjoys/context-engine 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/completion/awk.json +203 -0
- package/data/completion/crontab.json +203 -0
- package/data/completion/dotenv.json +170 -0
- package/data/completion/graphql.json +181 -0
- package/data/completion/hcl.json +192 -0
- package/data/completion/ini.json +137 -0
- package/data/completion/json.json +170 -0
- package/data/completion/makefile.json +203 -0
- package/data/completion/markdown.json +225 -0
- package/data/completion/nginx.json +280 -0
- package/data/completion/perl.json +203 -0
- package/data/completion/powershell.json +225 -0
- package/data/completion/protobuf.json +181 -0
- package/data/completion/ssh_config.json +159 -0
- package/data/completion/systemd.json +170 -0
- package/data/completion/xml.json +159 -0
- package/data/completion/zsh.json +214 -0
- package/data/defination/awk.json +125 -0
- package/data/defination/crontab.json +107 -0
- package/data/defination/dotenv.json +71 -0
- package/data/defination/graphql.json +119 -0
- package/data/defination/hcl.json +125 -0
- package/data/defination/ini.json +77 -0
- package/data/defination/json.json +83 -0
- package/data/defination/makefile.json +113 -0
- package/data/defination/markdown.json +107 -0
- package/data/defination/nginx.json +131 -0
- package/data/defination/perl.json +101 -0
- package/data/defination/powershell.json +119 -0
- package/data/defination/protobuf.json +119 -0
- package/data/defination/ssh_config.json +89 -0
- package/data/defination/systemd.json +107 -0
- package/data/defination/xml.json +83 -0
- package/data/defination/zsh.json +113 -0
- package/data/hover/awk.json +47 -0
- package/data/hover/crontab.json +47 -0
- package/data/hover/dotenv.json +47 -0
- package/data/hover/graphql.json +47 -0
- package/data/hover/hcl.json +75 -0
- package/data/hover/ini.json +68 -0
- package/data/hover/json.json +89 -0
- package/data/hover/makefile.json +68 -0
- package/data/hover/markdown.json +68 -0
- package/data/hover/nginx.json +89 -0
- package/data/hover/perl.json +47 -0
- package/data/hover/powershell.json +54 -0
- package/data/hover/protobuf.json +47 -0
- package/data/hover/ssh_config.json +47 -0
- package/data/hover/systemd.json +54 -0
- package/data/hover/xml.json +61 -0
- package/data/hover/zsh.json +61 -0
- package/data/manifest.json +210 -6
- package/package.json +1 -1
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "graphql",
|
|
3
|
+
"completions": [
|
|
4
|
+
{
|
|
5
|
+
"label": "type",
|
|
6
|
+
"kind": 7,
|
|
7
|
+
"detail": "Object type",
|
|
8
|
+
"documentation": {
|
|
9
|
+
"value": "Define a GraphQL object type."
|
|
10
|
+
},
|
|
11
|
+
"insertText": "type ${1:Name} {\n ${2:id}: ID!\n ${3:name}: String!\n}",
|
|
12
|
+
"insertTextRules": 4,
|
|
13
|
+
"sortText": "00_type"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"label": "input",
|
|
17
|
+
"kind": 7,
|
|
18
|
+
"detail": "Input type",
|
|
19
|
+
"documentation": {
|
|
20
|
+
"value": "Define an input type for mutations."
|
|
21
|
+
},
|
|
22
|
+
"insertText": "input ${1:CreateInput} {\n ${2:name}: String!\n ${3:email}: String!\n}",
|
|
23
|
+
"insertTextRules": 4,
|
|
24
|
+
"sortText": "00_input"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"label": "enum",
|
|
28
|
+
"kind": 13,
|
|
29
|
+
"detail": "Enum type",
|
|
30
|
+
"documentation": {
|
|
31
|
+
"value": "Define an enum type."
|
|
32
|
+
},
|
|
33
|
+
"insertText": "enum ${1:Status} {\n ${2:ACTIVE}\n ${3:INACTIVE}\n ${4:PENDING}\n}",
|
|
34
|
+
"insertTextRules": 4,
|
|
35
|
+
"sortText": "00_enum"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"label": "interface",
|
|
39
|
+
"kind": 8,
|
|
40
|
+
"detail": "Interface type",
|
|
41
|
+
"documentation": {
|
|
42
|
+
"value": "Define an interface."
|
|
43
|
+
},
|
|
44
|
+
"insertText": "interface ${1:Node} {\n ${2:id}: ID!\n}",
|
|
45
|
+
"insertTextRules": 4,
|
|
46
|
+
"sortText": "00_iface"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"label": "union",
|
|
50
|
+
"kind": 7,
|
|
51
|
+
"detail": "Union type",
|
|
52
|
+
"documentation": {
|
|
53
|
+
"value": "Define a union of multiple types."
|
|
54
|
+
},
|
|
55
|
+
"insertText": "union ${1:SearchResult} = ${2:User} | ${3:Post}",
|
|
56
|
+
"insertTextRules": 4,
|
|
57
|
+
"sortText": "00_union"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"label": "Query type",
|
|
61
|
+
"kind": 7,
|
|
62
|
+
"detail": "Root Query",
|
|
63
|
+
"documentation": {
|
|
64
|
+
"value": "Define the root Query type."
|
|
65
|
+
},
|
|
66
|
+
"insertText": "type Query {\n ${1:users}: [${2:User}!]!\n ${3:user}(id: ID!): ${2:User}\n}",
|
|
67
|
+
"insertTextRules": 4,
|
|
68
|
+
"sortText": "01_query"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"label": "Mutation type",
|
|
72
|
+
"kind": 7,
|
|
73
|
+
"detail": "Root Mutation",
|
|
74
|
+
"documentation": {
|
|
75
|
+
"value": "Define the root Mutation type."
|
|
76
|
+
},
|
|
77
|
+
"insertText": "type Mutation {\n ${1:createUser}(input: ${2:CreateUserInput}!): ${3:User}!\n ${4:deleteUser}(id: ID!): Boolean!\n}",
|
|
78
|
+
"insertTextRules": 4,
|
|
79
|
+
"sortText": "01_mutation"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"label": "Subscription type",
|
|
83
|
+
"kind": 7,
|
|
84
|
+
"detail": "Root Subscription",
|
|
85
|
+
"documentation": {
|
|
86
|
+
"value": "Define the root Subscription type."
|
|
87
|
+
},
|
|
88
|
+
"insertText": "type Subscription {\n ${1:messageAdded}(${2:channelId}: ID!): ${3:Message}!\n}",
|
|
89
|
+
"insertTextRules": 4,
|
|
90
|
+
"sortText": "01_sub"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"label": "query operation",
|
|
94
|
+
"kind": 15,
|
|
95
|
+
"detail": "Query operation",
|
|
96
|
+
"documentation": {
|
|
97
|
+
"value": "Write a query operation."
|
|
98
|
+
},
|
|
99
|
+
"insertText": "query ${1:GetUser}($${2:id}: ID!) {\n ${3:user}(id: $${2:id}) {\n ${4:id\n name\n email}\n }\n}",
|
|
100
|
+
"insertTextRules": 4,
|
|
101
|
+
"sortText": "02_queryop"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"label": "mutation operation",
|
|
105
|
+
"kind": 15,
|
|
106
|
+
"detail": "Mutation operation",
|
|
107
|
+
"documentation": {
|
|
108
|
+
"value": "Write a mutation operation."
|
|
109
|
+
},
|
|
110
|
+
"insertText": "mutation ${1:CreateUser}($input: ${2:CreateUserInput}!) {\n ${3:createUser}(input: $input) {\n ${4:id\n name}\n }\n}",
|
|
111
|
+
"insertTextRules": 4,
|
|
112
|
+
"sortText": "02_mutop"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"label": "fragment",
|
|
116
|
+
"kind": 15,
|
|
117
|
+
"detail": "Fragment",
|
|
118
|
+
"documentation": {
|
|
119
|
+
"value": "Define a reusable fragment."
|
|
120
|
+
},
|
|
121
|
+
"insertText": "fragment ${1:UserFields} on ${2:User} {\n ${3:id\n name\n email}\n}",
|
|
122
|
+
"insertTextRules": 4,
|
|
123
|
+
"sortText": "03_frag"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"label": "directive",
|
|
127
|
+
"kind": 15,
|
|
128
|
+
"detail": "Custom directive",
|
|
129
|
+
"documentation": {
|
|
130
|
+
"value": "Define a custom directive."
|
|
131
|
+
},
|
|
132
|
+
"insertText": "directive @${1:auth}(${2:requires}: ${3:Role} = ${4:ADMIN}) on ${5:FIELD_DEFINITION}",
|
|
133
|
+
"insertTextRules": 4,
|
|
134
|
+
"sortText": "03_directive"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"label": "scalar",
|
|
138
|
+
"kind": 7,
|
|
139
|
+
"detail": "Custom scalar",
|
|
140
|
+
"documentation": {
|
|
141
|
+
"value": "Declare a custom scalar type."
|
|
142
|
+
},
|
|
143
|
+
"insertText": "scalar ${1:DateTime}",
|
|
144
|
+
"insertTextRules": 4,
|
|
145
|
+
"sortText": "03_scalar"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"label": "schema",
|
|
149
|
+
"kind": 15,
|
|
150
|
+
"detail": "Schema definition",
|
|
151
|
+
"documentation": {
|
|
152
|
+
"value": "Define the root schema."
|
|
153
|
+
},
|
|
154
|
+
"insertText": "schema {\n query: Query\n mutation: Mutation\n subscription: Subscription\n}",
|
|
155
|
+
"insertTextRules": 4,
|
|
156
|
+
"sortText": "04_schema"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"label": "extend type",
|
|
160
|
+
"kind": 15,
|
|
161
|
+
"detail": "Extend type",
|
|
162
|
+
"documentation": {
|
|
163
|
+
"value": "Extend an existing type."
|
|
164
|
+
},
|
|
165
|
+
"insertText": "extend type ${1:User} {\n ${2:posts}: [Post!]!\n}",
|
|
166
|
+
"insertTextRules": 4,
|
|
167
|
+
"sortText": "04_extend"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"label": "pagination",
|
|
171
|
+
"kind": 15,
|
|
172
|
+
"detail": "Connection pattern",
|
|
173
|
+
"documentation": {
|
|
174
|
+
"value": "Relay-style cursor pagination."
|
|
175
|
+
},
|
|
176
|
+
"insertText": "type ${1:User}Connection {\n edges: [${1:User}Edge!]!\n pageInfo: PageInfo!\n}\n\ntype ${1:User}Edge {\n node: ${1:User}!\n cursor: String!\n}\n\ntype PageInfo {\n hasNextPage: Boolean!\n endCursor: String\n}",
|
|
177
|
+
"insertTextRules": 4,
|
|
178
|
+
"sortText": "05_page"
|
|
179
|
+
}
|
|
180
|
+
]
|
|
181
|
+
}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "hcl",
|
|
3
|
+
"completions": [
|
|
4
|
+
{
|
|
5
|
+
"label": "resource",
|
|
6
|
+
"kind": 15,
|
|
7
|
+
"detail": "Terraform resource",
|
|
8
|
+
"documentation": {
|
|
9
|
+
"value": "Define an infrastructure resource to create and manage."
|
|
10
|
+
},
|
|
11
|
+
"insertText": "resource \"${1:aws_instance}\" \"${2:name}\" {\n ${3:ami = \"ami-0c55b159cbfafe1f0\"}\n ${4:instance_type = \"t2.micro\"}\n}",
|
|
12
|
+
"insertTextRules": 4,
|
|
13
|
+
"sortText": "00_resource"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"label": "variable",
|
|
17
|
+
"kind": 15,
|
|
18
|
+
"detail": "Input variable",
|
|
19
|
+
"documentation": {
|
|
20
|
+
"value": "Declare an input variable for the module."
|
|
21
|
+
},
|
|
22
|
+
"insertText": "variable \"${1:name}\" {\n description = \"${2:Description}\"\n type = ${3:string}\n default = \"${4:default_value}\"\n}",
|
|
23
|
+
"insertTextRules": 4,
|
|
24
|
+
"sortText": "00_variable"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"label": "output",
|
|
28
|
+
"kind": 15,
|
|
29
|
+
"detail": "Output value",
|
|
30
|
+
"documentation": {
|
|
31
|
+
"value": "Declare an output value to expose from the module."
|
|
32
|
+
},
|
|
33
|
+
"insertText": "output \"${1:name}\" {\n description = \"${2:Description}\"\n value = ${3:resource.name.attribute}\n}",
|
|
34
|
+
"insertTextRules": 4,
|
|
35
|
+
"sortText": "00_output"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"label": "data",
|
|
39
|
+
"kind": 15,
|
|
40
|
+
"detail": "Data source",
|
|
41
|
+
"documentation": {
|
|
42
|
+
"value": "Reference an existing resource or external data source."
|
|
43
|
+
},
|
|
44
|
+
"insertText": "data \"${1:aws_ami}\" \"${2:name}\" {\n ${3:most_recent = true}\n\n filter {\n name = \"${4:name}\"\n values = [\"${5:value}\"]\n }\n}",
|
|
45
|
+
"insertTextRules": 4,
|
|
46
|
+
"sortText": "00_data"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"label": "provider",
|
|
50
|
+
"kind": 15,
|
|
51
|
+
"detail": "Provider configuration",
|
|
52
|
+
"documentation": {
|
|
53
|
+
"value": "Configure a Terraform provider (AWS, GCP, Azure, etc.)."
|
|
54
|
+
},
|
|
55
|
+
"insertText": "provider \"${1:aws}\" {\n region = \"${2:us-east-1}\"\n}",
|
|
56
|
+
"insertTextRules": 4,
|
|
57
|
+
"sortText": "01_provider"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"label": "terraform block",
|
|
61
|
+
"kind": 15,
|
|
62
|
+
"detail": "Terraform settings",
|
|
63
|
+
"documentation": {
|
|
64
|
+
"value": "Configure Terraform settings including required providers and backend."
|
|
65
|
+
},
|
|
66
|
+
"insertText": "terraform {\n required_version = \">= ${1:1.0}\"\n\n required_providers {\n ${2:aws} = {\n source = \"hashicorp/${2:aws}\"\n version = \"~> ${3:5.0}\"\n }\n }\n\n backend \"${4:s3}\" {\n bucket = \"${5:my-terraform-state}\"\n key = \"${6:terraform.tfstate}\"\n region = \"${7:us-east-1}\"\n }\n}",
|
|
67
|
+
"insertTextRules": 4,
|
|
68
|
+
"sortText": "01_terraform"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"label": "module",
|
|
72
|
+
"kind": 15,
|
|
73
|
+
"detail": "Module call",
|
|
74
|
+
"documentation": {
|
|
75
|
+
"value": "Call a reusable Terraform module."
|
|
76
|
+
},
|
|
77
|
+
"insertText": "module \"${1:name}\" {\n source = \"${2:./modules/example}\"\n version = \"${3:1.0.0}\"\n\n ${4:variable_name} = ${5:value}\n}",
|
|
78
|
+
"insertTextRules": 4,
|
|
79
|
+
"sortText": "01_module"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"label": "locals",
|
|
83
|
+
"kind": 15,
|
|
84
|
+
"detail": "Local values",
|
|
85
|
+
"documentation": {
|
|
86
|
+
"value": "Define local values for reuse within a module."
|
|
87
|
+
},
|
|
88
|
+
"insertText": "locals {\n ${1:name} = ${2:value}\n}",
|
|
89
|
+
"insertTextRules": 4,
|
|
90
|
+
"sortText": "01_locals"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"label": "for_each",
|
|
94
|
+
"kind": 14,
|
|
95
|
+
"detail": "for_each meta-argument",
|
|
96
|
+
"documentation": {
|
|
97
|
+
"value": "Create multiple instances of a resource from a map or set."
|
|
98
|
+
},
|
|
99
|
+
"insertText": "for_each = ${1:var.items}\n\n ${2:name} = each.key\n ${3:value} = each.value",
|
|
100
|
+
"insertTextRules": 4,
|
|
101
|
+
"sortText": "02_foreach"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"label": "count",
|
|
105
|
+
"kind": 14,
|
|
106
|
+
"detail": "count meta-argument",
|
|
107
|
+
"documentation": {
|
|
108
|
+
"value": "Create a specific number of resource instances."
|
|
109
|
+
},
|
|
110
|
+
"insertText": "count = ${1:var.instance_count}",
|
|
111
|
+
"insertTextRules": 4,
|
|
112
|
+
"sortText": "02_count"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"label": "dynamic block",
|
|
116
|
+
"kind": 15,
|
|
117
|
+
"detail": "Dynamic block",
|
|
118
|
+
"documentation": {
|
|
119
|
+
"value": "Generate repeated nested blocks dynamically."
|
|
120
|
+
},
|
|
121
|
+
"insertText": "dynamic \"${1:block_name}\" {\n for_each = ${2:var.items}\n content {\n ${3:key} = ${1:block_name}.value\n }\n}",
|
|
122
|
+
"insertTextRules": 4,
|
|
123
|
+
"sortText": "02_dynamic"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"label": "lifecycle",
|
|
127
|
+
"kind": 15,
|
|
128
|
+
"detail": "Lifecycle block",
|
|
129
|
+
"documentation": {
|
|
130
|
+
"value": "Customize resource lifecycle behavior."
|
|
131
|
+
},
|
|
132
|
+
"insertText": "lifecycle {\n ${1:create_before_destroy = true}\n}",
|
|
133
|
+
"insertTextRules": 4,
|
|
134
|
+
"sortText": "02_lifecycle"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"label": "provisioner",
|
|
138
|
+
"kind": 15,
|
|
139
|
+
"detail": "Provisioner",
|
|
140
|
+
"documentation": {
|
|
141
|
+
"value": "Execute actions on the local or remote machine."
|
|
142
|
+
},
|
|
143
|
+
"insertText": "provisioner \"${1:remote-exec}\" {\n inline = [\n \"${2:sudo apt-get update}\",\n ]\n}",
|
|
144
|
+
"insertTextRules": 4,
|
|
145
|
+
"sortText": "03_provisioner"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"label": "tags",
|
|
149
|
+
"kind": 15,
|
|
150
|
+
"detail": "Resource tags",
|
|
151
|
+
"documentation": {
|
|
152
|
+
"value": "Common tags block for cloud resources."
|
|
153
|
+
},
|
|
154
|
+
"insertText": "tags = {\n Name = \"${1:my-resource}\"\n Environment = \"${2:production}\"\n ManagedBy = \"terraform\"\n}",
|
|
155
|
+
"insertTextRules": 4,
|
|
156
|
+
"sortText": "03_tags"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"label": "aws_instance",
|
|
160
|
+
"kind": 15,
|
|
161
|
+
"detail": "AWS EC2 instance",
|
|
162
|
+
"documentation": {
|
|
163
|
+
"value": "AWS EC2 instance resource."
|
|
164
|
+
},
|
|
165
|
+
"insertText": "resource \"aws_instance\" \"${1:web}\" {\n ami = \"${2:ami-0c55b159cbfafe1f0}\"\n instance_type = \"${3:t2.micro}\"\n key_name = \"${4:my-key}\"\n\n tags = {\n Name = \"${1:web}\"\n }\n}",
|
|
166
|
+
"insertTextRules": 4,
|
|
167
|
+
"sortText": "04_ec2"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"label": "aws_s3_bucket",
|
|
171
|
+
"kind": 15,
|
|
172
|
+
"detail": "AWS S3 bucket",
|
|
173
|
+
"documentation": {
|
|
174
|
+
"value": "AWS S3 bucket resource."
|
|
175
|
+
},
|
|
176
|
+
"insertText": "resource \"aws_s3_bucket\" \"${1:bucket}\" {\n bucket = \"${2:my-bucket-name}\"\n\n tags = {\n Name = \"${2:my-bucket-name}\"\n }\n}",
|
|
177
|
+
"insertTextRules": 4,
|
|
178
|
+
"sortText": "04_s3"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"label": "aws_security_group",
|
|
182
|
+
"kind": 15,
|
|
183
|
+
"detail": "AWS security group",
|
|
184
|
+
"documentation": {
|
|
185
|
+
"value": "AWS security group with ingress/egress rules."
|
|
186
|
+
},
|
|
187
|
+
"insertText": "resource \"aws_security_group\" \"${1:sg}\" {\n name = \"${2:allow-web}\"\n description = \"${3:Allow web traffic}\"\n vpc_id = ${4:aws_vpc.main.id}\n\n ingress {\n from_port = ${5:80}\n to_port = ${5:80}\n protocol = \"tcp\"\n cidr_blocks = [\"0.0.0.0/0\"]\n }\n\n egress {\n from_port = 0\n to_port = 0\n protocol = \"-1\"\n cidr_blocks = [\"0.0.0.0/0\"]\n }\n}",
|
|
188
|
+
"insertTextRules": 4,
|
|
189
|
+
"sortText": "04_sg"
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "ini",
|
|
3
|
+
"completions": [
|
|
4
|
+
{
|
|
5
|
+
"label": "[section]",
|
|
6
|
+
"kind": 15,
|
|
7
|
+
"detail": "Section header",
|
|
8
|
+
"documentation": {
|
|
9
|
+
"value": "Define a new section. All key-value pairs below belong to this section until the next section header."
|
|
10
|
+
},
|
|
11
|
+
"insertText": "[${1:section}]\n${2:key} = ${3:value}",
|
|
12
|
+
"insertTextRules": 4,
|
|
13
|
+
"sortText": "00_section"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"label": "key = value",
|
|
17
|
+
"kind": 15,
|
|
18
|
+
"detail": "Key-value pair",
|
|
19
|
+
"documentation": {
|
|
20
|
+
"value": "A configuration key-value pair. Values can be strings, numbers, or booleans."
|
|
21
|
+
},
|
|
22
|
+
"insertText": "${1:key} = ${2:value}",
|
|
23
|
+
"insertTextRules": 4,
|
|
24
|
+
"sortText": "00_kv"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"label": "; comment",
|
|
28
|
+
"kind": 15,
|
|
29
|
+
"detail": "Comment (semicolon)",
|
|
30
|
+
"documentation": {
|
|
31
|
+
"value": "A comment line starting with semicolon."
|
|
32
|
+
},
|
|
33
|
+
"insertText": "; ${1:comment}",
|
|
34
|
+
"insertTextRules": 4,
|
|
35
|
+
"sortText": "00_comment"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"label": "# comment",
|
|
39
|
+
"kind": 15,
|
|
40
|
+
"detail": "Comment (hash)",
|
|
41
|
+
"documentation": {
|
|
42
|
+
"value": "A comment line starting with hash."
|
|
43
|
+
},
|
|
44
|
+
"insertText": "# ${1:comment}",
|
|
45
|
+
"insertTextRules": 4,
|
|
46
|
+
"sortText": "00_comment2"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"label": "[DEFAULT]",
|
|
50
|
+
"kind": 15,
|
|
51
|
+
"detail": "Default section",
|
|
52
|
+
"documentation": {
|
|
53
|
+
"value": "The DEFAULT section provides fallback values for all other sections."
|
|
54
|
+
},
|
|
55
|
+
"insertText": "[DEFAULT]\n${1:key} = ${2:value}",
|
|
56
|
+
"insertTextRules": 4,
|
|
57
|
+
"sortText": "01_default"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"label": "[mysqld]",
|
|
61
|
+
"kind": 15,
|
|
62
|
+
"detail": "MySQL server section",
|
|
63
|
+
"documentation": {
|
|
64
|
+
"value": "MySQL server configuration section (my.cnf)."
|
|
65
|
+
},
|
|
66
|
+
"insertText": "[mysqld]\nport = ${1:3306}\nbind-address = ${2:127.0.0.1}\nmax_connections = ${3:151}\ninnodb_buffer_pool_size = ${4:128M}",
|
|
67
|
+
"insertTextRules": 4,
|
|
68
|
+
"sortText": "02_mysqld"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"label": "[php]",
|
|
72
|
+
"kind": 15,
|
|
73
|
+
"detail": "PHP section (php.ini)",
|
|
74
|
+
"documentation": {
|
|
75
|
+
"value": "PHP configuration section."
|
|
76
|
+
},
|
|
77
|
+
"insertText": "[PHP]\nengine = On\nmemory_limit = ${1:128M}\nupload_max_filesize = ${2:2M}\npost_max_size = ${3:8M}\nmax_execution_time = ${4:30}",
|
|
78
|
+
"insertTextRules": 4,
|
|
79
|
+
"sortText": "02_php"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"label": "[supervisord]",
|
|
83
|
+
"kind": 15,
|
|
84
|
+
"detail": "Supervisord config",
|
|
85
|
+
"documentation": {
|
|
86
|
+
"value": "Supervisor daemon configuration section."
|
|
87
|
+
},
|
|
88
|
+
"insertText": "[supervisord]\nlogfile = /var/log/supervisord.log\npidfile = /var/run/supervisord.pid\nchildlogdir = /var/log/supervisor",
|
|
89
|
+
"insertTextRules": 4,
|
|
90
|
+
"sortText": "02_supervisord"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"label": "[program:name]",
|
|
94
|
+
"kind": 15,
|
|
95
|
+
"detail": "Supervisor program block",
|
|
96
|
+
"documentation": {
|
|
97
|
+
"value": "Define a supervised program in supervisord.conf."
|
|
98
|
+
},
|
|
99
|
+
"insertText": "[program:${1:myapp}]\ncommand = ${2:/usr/bin/python app.py}\ndirectory = ${3:/opt/app}\nautostart = true\nautorestart = true\nstdout_logfile = /var/log/${1:myapp}.log",
|
|
100
|
+
"insertTextRules": 4,
|
|
101
|
+
"sortText": "02_program"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"label": "[uwsgi]",
|
|
105
|
+
"kind": 15,
|
|
106
|
+
"detail": "uWSGI section",
|
|
107
|
+
"documentation": {
|
|
108
|
+
"value": "uWSGI application server configuration."
|
|
109
|
+
},
|
|
110
|
+
"insertText": "[uwsgi]\nmodule = ${1:wsgi}:${2:app}\nmaster = true\nprocesses = ${3:4}\nsocket = ${4:0.0.0.0:8000}\nvacuum = true",
|
|
111
|
+
"insertTextRules": 4,
|
|
112
|
+
"sortText": "02_uwsgi"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"label": "multiline value",
|
|
116
|
+
"kind": 15,
|
|
117
|
+
"detail": "Multi-line value",
|
|
118
|
+
"documentation": {
|
|
119
|
+
"value": "Continue a value on the next line by indenting with whitespace."
|
|
120
|
+
},
|
|
121
|
+
"insertText": "${1:key} = ${2:first line}\n ${3:continuation}",
|
|
122
|
+
"insertTextRules": 4,
|
|
123
|
+
"sortText": "03_multiline"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"label": "interpolation",
|
|
127
|
+
"kind": 15,
|
|
128
|
+
"detail": "Variable interpolation",
|
|
129
|
+
"documentation": {
|
|
130
|
+
"value": "Reference another key value using %(name)s syntax (Python ConfigParser)."
|
|
131
|
+
},
|
|
132
|
+
"insertText": "${1:key} = %(${2:other_key})s",
|
|
133
|
+
"insertTextRules": 4,
|
|
134
|
+
"sortText": "03_interp"
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "json",
|
|
3
|
+
"completions": [
|
|
4
|
+
{
|
|
5
|
+
"label": "object",
|
|
6
|
+
"kind": 15,
|
|
7
|
+
"detail": "JSON Object",
|
|
8
|
+
"documentation": {
|
|
9
|
+
"value": "A JSON object with key-value pairs enclosed in curly braces."
|
|
10
|
+
},
|
|
11
|
+
"insertText": "{\n \"${1:key}\": \"${2:value}\"\n}",
|
|
12
|
+
"insertTextRules": 4,
|
|
13
|
+
"sortText": "00_object"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"label": "array",
|
|
17
|
+
"kind": 15,
|
|
18
|
+
"detail": "JSON Array",
|
|
19
|
+
"documentation": {
|
|
20
|
+
"value": "A JSON array of values enclosed in square brackets."
|
|
21
|
+
},
|
|
22
|
+
"insertText": "[\n ${1:item}\n]",
|
|
23
|
+
"insertTextRules": 4,
|
|
24
|
+
"sortText": "00_array"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"label": "string",
|
|
28
|
+
"kind": 15,
|
|
29
|
+
"detail": "JSON String",
|
|
30
|
+
"documentation": {
|
|
31
|
+
"value": "A double-quoted string value."
|
|
32
|
+
},
|
|
33
|
+
"insertText": "\"${1:value}\"",
|
|
34
|
+
"insertTextRules": 4,
|
|
35
|
+
"sortText": "00_string"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"label": "number",
|
|
39
|
+
"kind": 15,
|
|
40
|
+
"detail": "JSON Number",
|
|
41
|
+
"documentation": {
|
|
42
|
+
"value": "A numeric value (integer or float)."
|
|
43
|
+
},
|
|
44
|
+
"insertText": "${1:0}",
|
|
45
|
+
"insertTextRules": 4,
|
|
46
|
+
"sortText": "00_number"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"label": "boolean true",
|
|
50
|
+
"kind": 15,
|
|
51
|
+
"detail": "Boolean true",
|
|
52
|
+
"documentation": {
|
|
53
|
+
"value": "A boolean true literal."
|
|
54
|
+
},
|
|
55
|
+
"insertText": "true",
|
|
56
|
+
"insertTextRules": 4,
|
|
57
|
+
"sortText": "00_true"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"label": "boolean false",
|
|
61
|
+
"kind": 15,
|
|
62
|
+
"detail": "Boolean false",
|
|
63
|
+
"documentation": {
|
|
64
|
+
"value": "A boolean false literal."
|
|
65
|
+
},
|
|
66
|
+
"insertText": "false",
|
|
67
|
+
"insertTextRules": 4,
|
|
68
|
+
"sortText": "00_false"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"label": "null",
|
|
72
|
+
"kind": 15,
|
|
73
|
+
"detail": "Null value",
|
|
74
|
+
"documentation": {
|
|
75
|
+
"value": "A null value representing absence of a value."
|
|
76
|
+
},
|
|
77
|
+
"insertText": "null",
|
|
78
|
+
"insertTextRules": 4,
|
|
79
|
+
"sortText": "00_null"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"label": "key-value pair",
|
|
83
|
+
"kind": 15,
|
|
84
|
+
"detail": "Key-value pair",
|
|
85
|
+
"documentation": {
|
|
86
|
+
"value": "A key-value pair inside a JSON object."
|
|
87
|
+
},
|
|
88
|
+
"insertText": "\"${1:key}\": \"${2:value}\"",
|
|
89
|
+
"insertTextRules": 4,
|
|
90
|
+
"sortText": "01_kvp"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"label": "nested object",
|
|
94
|
+
"kind": 15,
|
|
95
|
+
"detail": "Nested object",
|
|
96
|
+
"documentation": {
|
|
97
|
+
"value": "A key with a nested object value."
|
|
98
|
+
},
|
|
99
|
+
"insertText": "\"${1:key}\": {\n \"${2:innerKey}\": \"${3:innerValue}\"\n}",
|
|
100
|
+
"insertTextRules": 4,
|
|
101
|
+
"sortText": "01_nested"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"label": "array of objects",
|
|
105
|
+
"kind": 15,
|
|
106
|
+
"detail": "Array of objects",
|
|
107
|
+
"documentation": {
|
|
108
|
+
"value": "An array containing multiple objects."
|
|
109
|
+
},
|
|
110
|
+
"insertText": "\"${1:key}\": [\n {\n \"${2:field}\": \"${3:value}\"\n }\n]",
|
|
111
|
+
"insertTextRules": 4,
|
|
112
|
+
"sortText": "01_arrobj"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"label": "package.json",
|
|
116
|
+
"kind": 15,
|
|
117
|
+
"detail": "package.json template",
|
|
118
|
+
"documentation": {
|
|
119
|
+
"value": "Basic Node.js package.json structure."
|
|
120
|
+
},
|
|
121
|
+
"insertText": "{\n \"name\": \"${1:my-project}\",\n \"version\": \"${2:1.0.0}\",\n \"description\": \"${3:}\",\n \"main\": \"${4:index.js}\",\n \"scripts\": {\n \"start\": \"${5:node index.js}\",\n \"test\": \"${6:echo test}\"\n },\n \"dependencies\": {},\n \"devDependencies\": {}\n}",
|
|
122
|
+
"insertTextRules": 4,
|
|
123
|
+
"sortText": "02_pkg"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"label": "tsconfig.json",
|
|
127
|
+
"kind": 15,
|
|
128
|
+
"detail": "tsconfig.json template",
|
|
129
|
+
"documentation": {
|
|
130
|
+
"value": "Basic TypeScript configuration file."
|
|
131
|
+
},
|
|
132
|
+
"insertText": "{\n \"compilerOptions\": {\n \"target\": \"${1:ES2020}\",\n \"module\": \"${2:commonjs}\",\n \"strict\": true,\n \"outDir\": \"${3:./dist}\",\n \"rootDir\": \"${4:./src}\"\n },\n \"include\": [\"src/**/*\"]\n}",
|
|
133
|
+
"insertTextRules": 4,
|
|
134
|
+
"sortText": "02_tsconfig"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"label": ".eslintrc.json",
|
|
138
|
+
"kind": 15,
|
|
139
|
+
"detail": "ESLint config template",
|
|
140
|
+
"documentation": {
|
|
141
|
+
"value": "Basic ESLint configuration file."
|
|
142
|
+
},
|
|
143
|
+
"insertText": "{\n \"env\": {\n \"browser\": true,\n \"es2021\": true,\n \"node\": true\n },\n \"extends\": [\"eslint:recommended\"],\n \"rules\": {}\n}",
|
|
144
|
+
"insertTextRules": 4,
|
|
145
|
+
"sortText": "02_eslint"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"label": "JSON Schema $schema",
|
|
149
|
+
"kind": 15,
|
|
150
|
+
"detail": "Schema reference",
|
|
151
|
+
"documentation": {
|
|
152
|
+
"value": "JSON Schema $schema reference property."
|
|
153
|
+
},
|
|
154
|
+
"insertText": "\"$schema\": \"${1:https://json-schema.org/draft/2020-12/schema}\"",
|
|
155
|
+
"insertTextRules": 4,
|
|
156
|
+
"sortText": "03_schema"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"label": "comment (workaround)",
|
|
160
|
+
"kind": 15,
|
|
161
|
+
"detail": "Comment workaround",
|
|
162
|
+
"documentation": {
|
|
163
|
+
"value": "JSON does not support comments. Use a _comment or // key as a workaround."
|
|
164
|
+
},
|
|
165
|
+
"insertText": "\"_comment\": \"${1:description}\"",
|
|
166
|
+
"insertTextRules": 4,
|
|
167
|
+
"sortText": "03_comment"
|
|
168
|
+
}
|
|
169
|
+
]
|
|
170
|
+
}
|