@enjoys/context-engine 1.1.0 → 1.1.1

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.
Files changed (85) hide show
  1. package/data/codeActions/dart.json +31 -0
  2. package/data/codeActions/docker-compose.json +112 -0
  3. package/data/codeActions/kotlin.json +18 -0
  4. package/data/codeActions/scala.json +26 -0
  5. package/data/codeActions/swift.json +26 -0
  6. package/data/codeLens/dart.json +15 -0
  7. package/data/codeLens/docker-compose.json +4 -0
  8. package/data/codeLens/kotlin.json +10 -0
  9. package/data/codeLens/scala.json +18 -0
  10. package/data/codeLens/swift.json +15 -0
  11. package/data/color/dart.json +37 -0
  12. package/data/color/docker-compose.json +6 -0
  13. package/data/color/kotlin.json +12 -0
  14. package/data/color/scala.json +13 -0
  15. package/data/color/swift.json +37 -0
  16. package/data/commands/kotlin.json +45 -0
  17. package/data/commands/scala.json +171 -0
  18. package/data/commands/swift.json +67 -0
  19. package/data/completion/dart.json +1436 -0
  20. package/data/completion/docker-compose.json +959 -0
  21. package/data/completion/kotlin.json +1580 -0
  22. package/data/completion/scala.json +1076 -0
  23. package/data/completion/swift.json +1742 -0
  24. package/data/declaration/dart.json +25 -0
  25. package/data/declaration/docker-compose.json +42 -0
  26. package/data/declaration/kotlin.json +14 -0
  27. package/data/declaration/scala.json +23 -0
  28. package/data/declaration/swift.json +18 -0
  29. package/data/defination/dart.json +369 -0
  30. package/data/defination/docker-compose.json +347 -0
  31. package/data/defination/kotlin.json +789 -0
  32. package/data/defination/scala.json +285 -0
  33. package/data/defination/swift.json +551 -0
  34. package/data/documentHighlight/dart.json +84 -0
  35. package/data/documentHighlight/docker-compose.json +233 -0
  36. package/data/documentHighlight/kotlin.json +37 -0
  37. package/data/documentHighlight/scala.json +79 -0
  38. package/data/documentHighlight/swift.json +89 -0
  39. package/data/documentSymbol/dart.json +20 -0
  40. package/data/documentSymbol/docker-compose.json +75 -0
  41. package/data/documentSymbol/kotlin.json +15 -0
  42. package/data/documentSymbol/scala.json +21 -0
  43. package/data/documentSymbol/swift.json +17 -0
  44. package/data/formatting/dart.json +16 -0
  45. package/data/formatting/docker-compose.json +24 -0
  46. package/data/formatting/kotlin.json +14 -0
  47. package/data/formatting/scala.json +17 -0
  48. package/data/formatting/swift.json +19 -0
  49. package/data/hover/dart.json +161 -0
  50. package/data/hover/docker-compose.json +404 -0
  51. package/data/hover/kotlin.json +341 -0
  52. package/data/hover/scala.json +209 -0
  53. package/data/hover/swift.json +239 -0
  54. package/data/implementation/dart.json +14 -0
  55. package/data/implementation/docker-compose.json +7 -0
  56. package/data/implementation/kotlin.json +13 -0
  57. package/data/implementation/scala.json +16 -0
  58. package/data/implementation/swift.json +14 -0
  59. package/data/inlayHints/dart.json +29 -0
  60. package/data/inlayHints/docker-compose.json +43 -0
  61. package/data/inlayHints/kotlin.json +23 -0
  62. package/data/inlayHints/scala.json +42 -0
  63. package/data/inlayHints/swift.json +37 -0
  64. package/data/inlineCompletions/dart.json +27 -0
  65. package/data/inlineCompletions/docker-compose.json +89 -0
  66. package/data/inlineCompletions/kotlin.json +19 -0
  67. package/data/inlineCompletions/scala.json +26 -0
  68. package/data/inlineCompletions/swift.json +23 -0
  69. package/data/links/dart.json +16 -0
  70. package/data/links/docker-compose.json +47 -0
  71. package/data/links/kotlin.json +10 -0
  72. package/data/links/scala.json +17 -0
  73. package/data/links/swift.json +13 -0
  74. package/data/manifest.json +38 -0
  75. package/data/references/dart.json +15 -0
  76. package/data/references/docker-compose.json +42 -0
  77. package/data/references/kotlin.json +12 -0
  78. package/data/references/scala.json +15 -0
  79. package/data/references/swift.json +14 -0
  80. package/data/typeDefinition/dart.json +35 -0
  81. package/data/typeDefinition/docker-compose.json +4 -0
  82. package/data/typeDefinition/kotlin.json +33 -0
  83. package/data/typeDefinition/scala.json +52 -0
  84. package/data/typeDefinition/swift.json +56 -0
  85. package/package.json +1 -1
@@ -0,0 +1,1436 @@
1
+ {
2
+ "language": "dart",
3
+ "completions": [
4
+ {
5
+ "label": "abstract",
6
+ "kind": 17,
7
+ "detail": "Abstract class modifier",
8
+ "documentation": {"value": "```dart\nabstract class Name {\n void method();\n}\n```\nMarks a class as abstract; cannot be instantiated directly."},
9
+ "insertText": "abstract",
10
+ "insertTextRules": 4,
11
+ "sortText": "01_keyword_abstract"
12
+ },
13
+ {
14
+ "label": "as",
15
+ "kind": 17,
16
+ "detail": "Type cast operator",
17
+ "documentation": {"value": "```dart\nvar x = obj as String;\n```\nCasts an expression to a specified type."},
18
+ "insertText": "as",
19
+ "insertTextRules": 4,
20
+ "sortText": "01_keyword_as"
21
+ },
22
+ {
23
+ "label": "assert",
24
+ "kind": 17,
25
+ "detail": "Debug assertion",
26
+ "documentation": {"value": "```dart\nassert(condition, 'optional message');\n```\nAsserts a condition is true during development."},
27
+ "insertText": "assert(${1:condition});",
28
+ "insertTextRules": 4,
29
+ "sortText": "01_keyword_assert"
30
+ },
31
+ {
32
+ "label": "async",
33
+ "kind": 17,
34
+ "detail": "Async function modifier",
35
+ "documentation": {"value": "```dart\nFuture<void> fn() async {\n await someOp();\n}\n```\nMarks a function body as asynchronous."},
36
+ "insertText": "async",
37
+ "insertTextRules": 4,
38
+ "sortText": "01_keyword_async"
39
+ },
40
+ {
41
+ "label": "await",
42
+ "kind": 17,
43
+ "detail": "Await expression",
44
+ "documentation": {"value": "```dart\nvar result = await futureValue;\n```\nWaits for the result of a Future."},
45
+ "insertText": "await ${1:expression}",
46
+ "insertTextRules": 4,
47
+ "sortText": "01_keyword_await"
48
+ },
49
+ {
50
+ "label": "break",
51
+ "kind": 17,
52
+ "detail": "Break statement",
53
+ "documentation": {"value": "```dart\nfor (var i in list) {\n if (done) break;\n}\n```\nExits the nearest enclosing loop."},
54
+ "insertText": "break;",
55
+ "insertTextRules": 4,
56
+ "sortText": "01_keyword_break"
57
+ },
58
+ {
59
+ "label": "case",
60
+ "kind": 17,
61
+ "detail": "Switch case clause",
62
+ "documentation": {"value": "```dart\nswitch (value) {\n case 1:\n break;\n}\n```\nDefines a branch in a switch statement."},
63
+ "insertText": "case ${1:value}:",
64
+ "insertTextRules": 4,
65
+ "sortText": "01_keyword_case"
66
+ },
67
+ {
68
+ "label": "catch",
69
+ "kind": 17,
70
+ "detail": "Exception catch clause",
71
+ "documentation": {"value": "```dart\ntry {\n // code\n} catch (e) {\n print(e);\n}\n```\nCatches exceptions thrown in a try block."},
72
+ "insertText": "catch (${1:e})",
73
+ "insertTextRules": 4,
74
+ "sortText": "01_keyword_catch"
75
+ },
76
+ {
77
+ "label": "class",
78
+ "kind": 17,
79
+ "detail": "Class declaration",
80
+ "documentation": {"value": "```dart\nclass MyClass {\n // fields and methods\n}\n```\nDeclares a class."},
81
+ "insertText": "class ${1:Name} {\n $0\n}",
82
+ "insertTextRules": 4,
83
+ "sortText": "01_keyword_class"
84
+ },
85
+ {
86
+ "label": "const",
87
+ "kind": 17,
88
+ "detail": "Compile-time constant",
89
+ "documentation": {"value": "```dart\nconst pi = 3.14159;\nconst list = [1, 2, 3];\n```\nDeclares a compile-time constant."},
90
+ "insertText": "const ${1:name} = ${2:value};",
91
+ "insertTextRules": 4,
92
+ "sortText": "01_keyword_const"
93
+ },
94
+ {
95
+ "label": "continue",
96
+ "kind": 17,
97
+ "detail": "Continue statement",
98
+ "documentation": {"value": "```dart\nfor (var i in items) {\n if (skip) continue;\n}\n```\nSkips to the next iteration of the enclosing loop."},
99
+ "insertText": "continue;",
100
+ "insertTextRules": 4,
101
+ "sortText": "01_keyword_continue"
102
+ },
103
+ {
104
+ "label": "covariant",
105
+ "kind": 17,
106
+ "detail": "Covariant parameter modifier",
107
+ "documentation": {"value": "```dart\nvoid method(covariant num param) {}\n```\nAllows a parameter type to be overridden with a subtype."},
108
+ "insertText": "covariant",
109
+ "insertTextRules": 4,
110
+ "sortText": "01_keyword_covariant"
111
+ },
112
+ {
113
+ "label": "default",
114
+ "kind": 17,
115
+ "detail": "Default switch clause",
116
+ "documentation": {"value": "```dart\nswitch (value) {\n default:\n break;\n}\n```\nDefault branch in a switch statement."},
117
+ "insertText": "default:",
118
+ "insertTextRules": 4,
119
+ "sortText": "01_keyword_default"
120
+ },
121
+ {
122
+ "label": "deferred",
123
+ "kind": 17,
124
+ "detail": "Deferred import modifier",
125
+ "documentation": {"value": "```dart\nimport 'package:lib/lib.dart' deferred as myLib;\n```\nDefers loading of a library until it is needed."},
126
+ "insertText": "deferred",
127
+ "insertTextRules": 4,
128
+ "sortText": "01_keyword_deferred"
129
+ },
130
+ {
131
+ "label": "do",
132
+ "kind": 17,
133
+ "detail": "Do-while loop",
134
+ "documentation": {"value": "```dart\ndo {\n // body\n} while (condition);\n```\nExecutes the body at least once, then repeats while condition is true."},
135
+ "insertText": "do {\n $0\n} while (${1:condition});",
136
+ "insertTextRules": 4,
137
+ "sortText": "01_keyword_do"
138
+ },
139
+ {
140
+ "label": "dynamic",
141
+ "kind": 17,
142
+ "detail": "Dynamic type",
143
+ "documentation": {"value": "```dart\ndynamic value = 'hello';\nvalue = 42;\n```\nDisables static type checking for a variable."},
144
+ "insertText": "dynamic",
145
+ "insertTextRules": 4,
146
+ "sortText": "01_keyword_dynamic"
147
+ },
148
+ {
149
+ "label": "else",
150
+ "kind": 17,
151
+ "detail": "Else branch",
152
+ "documentation": {"value": "```dart\nif (condition) {\n // true\n} else {\n // false\n}\n```\nAlternate branch in an if statement."},
153
+ "insertText": "else {\n $0\n}",
154
+ "insertTextRules": 4,
155
+ "sortText": "01_keyword_else"
156
+ },
157
+ {
158
+ "label": "enum",
159
+ "kind": 17,
160
+ "detail": "Enum declaration",
161
+ "documentation": {"value": "```dart\nenum Color { red, green, blue }\n```\nDeclares an enumeration type."},
162
+ "insertText": "enum ${1:Name} {\n ${2:value1},\n ${3:value2}\n}",
163
+ "insertTextRules": 4,
164
+ "sortText": "01_keyword_enum"
165
+ },
166
+ {
167
+ "label": "export",
168
+ "kind": 17,
169
+ "detail": "Library export directive",
170
+ "documentation": {"value": "```dart\nexport 'src/my_lib.dart';\n```\nRe-exports a library for consumers."},
171
+ "insertText": "export '${1:library}';",
172
+ "insertTextRules": 4,
173
+ "sortText": "01_keyword_export"
174
+ },
175
+ {
176
+ "label": "extends",
177
+ "kind": 17,
178
+ "detail": "Class inheritance",
179
+ "documentation": {"value": "```dart\nclass Dog extends Animal {\n // ...\n}\n```\nInherits from a superclass."},
180
+ "insertText": "extends ${1:SuperClass}",
181
+ "insertTextRules": 4,
182
+ "sortText": "01_keyword_extends"
183
+ },
184
+ {
185
+ "label": "extension",
186
+ "kind": 17,
187
+ "detail": "Extension declaration",
188
+ "documentation": {"value": "```dart\nextension StringExt on String {\n bool get isBlank => trim().isEmpty;\n}\n```\nAdds methods to an existing type."},
189
+ "insertText": "extension ${1:Name} on ${2:Type} {\n $0\n}",
190
+ "insertTextRules": 4,
191
+ "sortText": "01_keyword_extension"
192
+ },
193
+ {
194
+ "label": "external",
195
+ "kind": 17,
196
+ "detail": "External function modifier",
197
+ "documentation": {"value": "```dart\nexternal void platformSpecificFn();\n```\nDeclares a function whose implementation is provided externally."},
198
+ "insertText": "external",
199
+ "insertTextRules": 4,
200
+ "sortText": "01_keyword_external"
201
+ },
202
+ {
203
+ "label": "factory",
204
+ "kind": 17,
205
+ "detail": "Factory constructor",
206
+ "documentation": {"value": "```dart\nclass Logger {\n factory Logger() => _instance;\n}\n```\nDeclares a constructor that doesn't always create a new instance."},
207
+ "insertText": "factory ${1:ClassName}(${2:params}) {\n $0\n}",
208
+ "insertTextRules": 4,
209
+ "sortText": "01_keyword_factory"
210
+ },
211
+ {
212
+ "label": "false",
213
+ "kind": 14,
214
+ "detail": "Boolean literal false",
215
+ "documentation": {"value": "The boolean value `false`."},
216
+ "insertText": "false",
217
+ "insertTextRules": 4,
218
+ "sortText": "01_keyword_false"
219
+ },
220
+ {
221
+ "label": "final",
222
+ "kind": 17,
223
+ "detail": "Final variable declaration",
224
+ "documentation": {"value": "```dart\nfinal name = 'Dart';\nfinal int count = 42;\n```\nDeclares a variable that can only be set once."},
225
+ "insertText": "final ${1:name} = ${2:value};",
226
+ "insertTextRules": 4,
227
+ "sortText": "01_keyword_final"
228
+ },
229
+ {
230
+ "label": "finally",
231
+ "kind": 17,
232
+ "detail": "Finally clause",
233
+ "documentation": {"value": "```dart\ntry {\n // code\n} finally {\n // always runs\n}\n```\nBlock that always executes after try/catch."},
234
+ "insertText": "finally {\n $0\n}",
235
+ "insertTextRules": 4,
236
+ "sortText": "01_keyword_finally"
237
+ },
238
+ {
239
+ "label": "for",
240
+ "kind": 17,
241
+ "detail": "For loop",
242
+ "documentation": {"value": "```dart\nfor (var i = 0; i < n; i++) {\n // body\n}\n```\nIterates with a traditional for loop."},
243
+ "insertText": "for (var ${1:i} = 0; ${1:i} < ${2:length}; ${1:i}++) {\n $0\n}",
244
+ "insertTextRules": 4,
245
+ "sortText": "01_keyword_for"
246
+ },
247
+ {
248
+ "label": "Function",
249
+ "kind": 5,
250
+ "detail": "Function type",
251
+ "documentation": {"value": "```dart\nFunction callback;\nvoid Function(int) handler;\n```\nThe base type for all function types in Dart."},
252
+ "insertText": "Function",
253
+ "insertTextRules": 4,
254
+ "sortText": "02_type_Function"
255
+ },
256
+ {
257
+ "label": "get",
258
+ "kind": 17,
259
+ "detail": "Getter declaration",
260
+ "documentation": {"value": "```dart\nString get name => _name;\n```\nDeclares a getter accessor."},
261
+ "insertText": "${1:Type} get ${2:name} => ${3:value};",
262
+ "insertTextRules": 4,
263
+ "sortText": "01_keyword_get"
264
+ },
265
+ {
266
+ "label": "hide",
267
+ "kind": 17,
268
+ "detail": "Import combinator",
269
+ "documentation": {"value": "```dart\nimport 'lib.dart' hide Foo;\n```\nHides specific names from an import."},
270
+ "insertText": "hide ${1:name}",
271
+ "insertTextRules": 4,
272
+ "sortText": "01_keyword_hide"
273
+ },
274
+ {
275
+ "label": "if",
276
+ "kind": 17,
277
+ "detail": "If statement",
278
+ "documentation": {"value": "```dart\nif (condition) {\n // true branch\n}\n```\nConditional execution."},
279
+ "insertText": "if (${1:condition}) {\n $0\n}",
280
+ "insertTextRules": 4,
281
+ "sortText": "01_keyword_if"
282
+ },
283
+ {
284
+ "label": "implements",
285
+ "kind": 17,
286
+ "detail": "Interface implementation",
287
+ "documentation": {"value": "```dart\nclass MyClass implements MyInterface {\n // ...\n}\n```\nDeclares that a class implements an interface."},
288
+ "insertText": "implements ${1:Interface}",
289
+ "insertTextRules": 4,
290
+ "sortText": "01_keyword_implements"
291
+ },
292
+ {
293
+ "label": "import",
294
+ "kind": 17,
295
+ "detail": "Import directive",
296
+ "documentation": {"value": "```dart\nimport 'dart:async';\nimport 'package:flutter/material.dart';\n```\nImports a library."},
297
+ "insertText": "import '${1:library}';",
298
+ "insertTextRules": 4,
299
+ "sortText": "01_keyword_import"
300
+ },
301
+ {
302
+ "label": "in",
303
+ "kind": 17,
304
+ "detail": "For-in iteration keyword",
305
+ "documentation": {"value": "```dart\nfor (var item in list) {}\n```\nIterates over elements of an Iterable."},
306
+ "insertText": "in",
307
+ "insertTextRules": 4,
308
+ "sortText": "01_keyword_in"
309
+ },
310
+ {
311
+ "label": "interface",
312
+ "kind": 17,
313
+ "detail": "Interface class modifier",
314
+ "documentation": {"value": "```dart\ninterface class Describable {\n void describe();\n}\n```\nDeclares a class that can only be implemented, not extended."},
315
+ "insertText": "interface class ${1:Name} {\n $0\n}",
316
+ "insertTextRules": 4,
317
+ "sortText": "01_keyword_interface"
318
+ },
319
+ {
320
+ "label": "is",
321
+ "kind": 17,
322
+ "detail": "Type test operator",
323
+ "documentation": {"value": "```dart\nif (obj is String) {\n print(obj.length);\n}\n```\nTests if an object is of a given type with automatic promotion."},
324
+ "insertText": "is ${1:Type}",
325
+ "insertTextRules": 4,
326
+ "sortText": "01_keyword_is"
327
+ },
328
+ {
329
+ "label": "late",
330
+ "kind": 17,
331
+ "detail": "Late variable modifier",
332
+ "documentation": {"value": "```dart\nlate String name;\nlate final int count = computeCount();\n```\nDeclares a variable initialized lazily."},
333
+ "insertText": "late ${1:Type} ${2:name};",
334
+ "insertTextRules": 4,
335
+ "sortText": "01_keyword_late"
336
+ },
337
+ {
338
+ "label": "library",
339
+ "kind": 17,
340
+ "detail": "Library directive",
341
+ "documentation": {"value": "```dart\nlibrary my_library;\n```\nDeclares a library name."},
342
+ "insertText": "library ${1:name};",
343
+ "insertTextRules": 4,
344
+ "sortText": "01_keyword_library"
345
+ },
346
+ {
347
+ "label": "mixin",
348
+ "kind": 17,
349
+ "detail": "Mixin declaration",
350
+ "documentation": {"value": "```dart\nmixin Flyable {\n void fly() => print('Flying!');\n}\n```\nDeclares a mixin that can be applied to classes."},
351
+ "insertText": "mixin ${1:Name} {\n $0\n}",
352
+ "insertTextRules": 4,
353
+ "sortText": "01_keyword_mixin"
354
+ },
355
+ {
356
+ "label": "new",
357
+ "kind": 17,
358
+ "detail": "Object creation keyword",
359
+ "documentation": {"value": "```dart\nvar obj = new MyClass();\n```\nCreates an instance (optional in Dart 2+)."},
360
+ "insertText": "new ${1:ClassName}(${2:args})",
361
+ "insertTextRules": 4,
362
+ "sortText": "01_keyword_new"
363
+ },
364
+ {
365
+ "label": "null",
366
+ "kind": 14,
367
+ "detail": "Null literal",
368
+ "documentation": {"value": "The null value representing the absence of a value."},
369
+ "insertText": "null",
370
+ "insertTextRules": 4,
371
+ "sortText": "01_keyword_null"
372
+ },
373
+ {
374
+ "label": "on",
375
+ "kind": 17,
376
+ "detail": "Exception type / mixin constraint",
377
+ "documentation": {"value": "```dart\ntry { } on FormatException { }\nmixin M on S { }\n```\nSpecifies exception type in catch or mixin superclass constraint."},
378
+ "insertText": "on ${1:Type}",
379
+ "insertTextRules": 4,
380
+ "sortText": "01_keyword_on"
381
+ },
382
+ {
383
+ "label": "operator",
384
+ "kind": 17,
385
+ "detail": "Operator overload",
386
+ "documentation": {"value": "```dart\nPoint operator +(Point other) => Point(x + other.x, y + other.y);\n```\nDeclares an operator overload."},
387
+ "insertText": "operator ${1:op}(${2:params})",
388
+ "insertTextRules": 4,
389
+ "sortText": "01_keyword_operator"
390
+ },
391
+ {
392
+ "label": "part",
393
+ "kind": 17,
394
+ "detail": "Part directive",
395
+ "documentation": {"value": "```dart\npart 'src/detail.dart';\npart of 'main.dart';\n```\nSplits a library into multiple files."},
396
+ "insertText": "part '${1:file}';",
397
+ "insertTextRules": 4,
398
+ "sortText": "01_keyword_part"
399
+ },
400
+ {
401
+ "label": "required",
402
+ "kind": 17,
403
+ "detail": "Required named parameter",
404
+ "documentation": {"value": "```dart\nvoid fn({required String name}) {}\n```\nMarks a named parameter as required."},
405
+ "insertText": "required",
406
+ "insertTextRules": 4,
407
+ "sortText": "01_keyword_required"
408
+ },
409
+ {
410
+ "label": "rethrow",
411
+ "kind": 17,
412
+ "detail": "Rethrow exception",
413
+ "documentation": {"value": "```dart\ncatch (e) {\n log(e);\n rethrow;\n}\n```\nRethrows the current exception."},
414
+ "insertText": "rethrow;",
415
+ "insertTextRules": 4,
416
+ "sortText": "01_keyword_rethrow"
417
+ },
418
+ {
419
+ "label": "return",
420
+ "kind": 17,
421
+ "detail": "Return statement",
422
+ "documentation": {"value": "```dart\nreturn value;\n```\nReturns a value from a function."},
423
+ "insertText": "return ${1:value};",
424
+ "insertTextRules": 4,
425
+ "sortText": "01_keyword_return"
426
+ },
427
+ {
428
+ "label": "sealed",
429
+ "kind": 17,
430
+ "detail": "Sealed class modifier",
431
+ "documentation": {"value": "```dart\nsealed class Shape {}\nclass Circle extends Shape {}\n```\nDeclares a sealed class; subclasses must be in the same library."},
432
+ "insertText": "sealed class ${1:Name} {\n $0\n}",
433
+ "insertTextRules": 4,
434
+ "sortText": "01_keyword_sealed"
435
+ },
436
+ {
437
+ "label": "set",
438
+ "kind": 17,
439
+ "detail": "Setter declaration",
440
+ "documentation": {"value": "```dart\nset name(String value) => _name = value;\n```\nDeclares a setter accessor."},
441
+ "insertText": "set ${1:name}(${2:Type} ${3:value}) => ${4:_field} = ${3:value};",
442
+ "insertTextRules": 4,
443
+ "sortText": "01_keyword_set"
444
+ },
445
+ {
446
+ "label": "show",
447
+ "kind": 17,
448
+ "detail": "Import combinator",
449
+ "documentation": {"value": "```dart\nimport 'lib.dart' show Foo, Bar;\n```\nImports only specific names from a library."},
450
+ "insertText": "show ${1:name}",
451
+ "insertTextRules": 4,
452
+ "sortText": "01_keyword_show"
453
+ },
454
+ {
455
+ "label": "static",
456
+ "kind": 17,
457
+ "detail": "Static member modifier",
458
+ "documentation": {"value": "```dart\nclass MyClass {\n static int count = 0;\n static void reset() => count = 0;\n}\n```\nDeclares a static class member."},
459
+ "insertText": "static",
460
+ "insertTextRules": 4,
461
+ "sortText": "01_keyword_static"
462
+ },
463
+ {
464
+ "label": "super",
465
+ "kind": 17,
466
+ "detail": "Superclass reference",
467
+ "documentation": {"value": "```dart\nclass Child extends Parent {\n Child() : super();\n}\n```\nRefers to the superclass."},
468
+ "insertText": "super",
469
+ "insertTextRules": 4,
470
+ "sortText": "01_keyword_super"
471
+ },
472
+ {
473
+ "label": "switch",
474
+ "kind": 17,
475
+ "detail": "Switch statement",
476
+ "documentation": {"value": "```dart\nswitch (value) {\n case 1: break;\n default: break;\n}\n```\nMulti-way branch on a value."},
477
+ "insertText": "switch (${1:value}) {\n case ${2:pattern}:\n $0\n break;\n}",
478
+ "insertTextRules": 4,
479
+ "sortText": "01_keyword_switch"
480
+ },
481
+ {
482
+ "label": "sync",
483
+ "kind": 17,
484
+ "detail": "Synchronous generator modifier",
485
+ "documentation": {"value": "```dart\nIterable<int> gen() sync* {\n yield 1;\n}\n```\nMarks a function as a synchronous generator."},
486
+ "insertText": "sync*",
487
+ "insertTextRules": 4,
488
+ "sortText": "01_keyword_sync"
489
+ },
490
+ {
491
+ "label": "this",
492
+ "kind": 17,
493
+ "detail": "Current instance reference",
494
+ "documentation": {"value": "```dart\nclass Point {\n Point(this.x, this.y);\n}\n```\nRefers to the current instance."},
495
+ "insertText": "this",
496
+ "insertTextRules": 4,
497
+ "sortText": "01_keyword_this"
498
+ },
499
+ {
500
+ "label": "throw",
501
+ "kind": 17,
502
+ "detail": "Throw exception",
503
+ "documentation": {"value": "```dart\nthrow FormatException('Invalid input');\n```\nThrows an exception."},
504
+ "insertText": "throw ${1:Exception}('${2:message}');",
505
+ "insertTextRules": 4,
506
+ "sortText": "01_keyword_throw"
507
+ },
508
+ {
509
+ "label": "true",
510
+ "kind": 14,
511
+ "detail": "Boolean literal true",
512
+ "documentation": {"value": "The boolean value `true`."},
513
+ "insertText": "true",
514
+ "insertTextRules": 4,
515
+ "sortText": "01_keyword_true"
516
+ },
517
+ {
518
+ "label": "try",
519
+ "kind": 17,
520
+ "detail": "Try block",
521
+ "documentation": {"value": "```dart\ntry {\n // code\n} catch (e) {\n // handle\n}\n```\nBegins an exception handling block."},
522
+ "insertText": "try {\n $0\n} catch (${1:e}) {\n ${2:print(e);}\n}",
523
+ "insertTextRules": 4,
524
+ "sortText": "01_keyword_try"
525
+ },
526
+ {
527
+ "label": "typedef",
528
+ "kind": 17,
529
+ "detail": "Type alias",
530
+ "documentation": {"value": "```dart\ntypedef IntList = List<int>;\ntypedef Compare<T> = int Function(T a, T b);\n```\nCreates a type alias."},
531
+ "insertText": "typedef ${1:Name} = ${2:Type};",
532
+ "insertTextRules": 4,
533
+ "sortText": "01_keyword_typedef"
534
+ },
535
+ {
536
+ "label": "var",
537
+ "kind": 17,
538
+ "detail": "Variable declaration",
539
+ "documentation": {"value": "```dart\nvar name = 'Dart';\n```\nDeclares a variable with type inference."},
540
+ "insertText": "var ${1:name} = ${2:value};",
541
+ "insertTextRules": 4,
542
+ "sortText": "01_keyword_var"
543
+ },
544
+ {
545
+ "label": "void",
546
+ "kind": 17,
547
+ "detail": "Void return type",
548
+ "documentation": {"value": "```dart\nvoid main() {}\n```\nIndicates a function returns no value."},
549
+ "insertText": "void",
550
+ "insertTextRules": 4,
551
+ "sortText": "01_keyword_void"
552
+ },
553
+ {
554
+ "label": "when",
555
+ "kind": 17,
556
+ "detail": "Guard clause in patterns",
557
+ "documentation": {"value": "```dart\nswitch (obj) {\n case int n when n > 0:\n print('positive');\n}\n```\nAdds a guard condition to a pattern case."},
558
+ "insertText": "when ${1:condition}",
559
+ "insertTextRules": 4,
560
+ "sortText": "01_keyword_when"
561
+ },
562
+ {
563
+ "label": "while",
564
+ "kind": 17,
565
+ "detail": "While loop",
566
+ "documentation": {"value": "```dart\nwhile (condition) {\n // body\n}\n```\nRepeats while condition is true."},
567
+ "insertText": "while (${1:condition}) {\n $0\n}",
568
+ "insertTextRules": 4,
569
+ "sortText": "01_keyword_while"
570
+ },
571
+ {
572
+ "label": "with",
573
+ "kind": 17,
574
+ "detail": "Mixin application",
575
+ "documentation": {"value": "```dart\nclass MyClass extends Base with Mixin1, Mixin2 {}\n```\nApplies mixins to a class."},
576
+ "insertText": "with ${1:Mixin}",
577
+ "insertTextRules": 4,
578
+ "sortText": "01_keyword_with"
579
+ },
580
+ {
581
+ "label": "yield",
582
+ "kind": 17,
583
+ "detail": "Generator yield",
584
+ "documentation": {"value": "```dart\nIterable<int> count(int n) sync* {\n for (var i = 0; i < n; i++) yield i;\n}\n```\nYields a value from a generator function."},
585
+ "insertText": "yield ${1:value};",
586
+ "insertTextRules": 4,
587
+ "sortText": "01_keyword_yield"
588
+ },
589
+ {
590
+ "label": "print",
591
+ "kind": 1,
592
+ "detail": "Print to console",
593
+ "documentation": {"value": "```dart\nvoid print(Object? object)\n```\nPrints an object to the console."},
594
+ "insertText": "print(${1:object});",
595
+ "insertTextRules": 4,
596
+ "sortText": "03_function_print"
597
+ },
598
+ {
599
+ "label": "debugPrint",
600
+ "kind": 1,
601
+ "detail": "Debug print (throttled)",
602
+ "documentation": {"value": "```dart\nvoid debugPrint(String? message, {int? wrapWidth})\n```\nPrints a message with throttling to avoid dropped output."},
603
+ "insertText": "debugPrint(${1:message});",
604
+ "insertTextRules": 4,
605
+ "sortText": "03_function_debugPrint"
606
+ },
607
+ {
608
+ "label": "main",
609
+ "kind": 1,
610
+ "detail": "Application entry point",
611
+ "documentation": {"value": "```dart\nvoid main() {\n // entry point\n}\n```\nThe top-level entry point for a Dart program."},
612
+ "insertText": "void main() {\n $0\n}",
613
+ "insertTextRules": 4,
614
+ "sortText": "03_function_main"
615
+ },
616
+ {
617
+ "label": "Future.delayed",
618
+ "kind": 1,
619
+ "detail": "Create a delayed Future",
620
+ "documentation": {"value": "```dart\nFuture.delayed(Duration(seconds: 1), () => 'done');\n```\nCreates a Future that completes after a delay."},
621
+ "insertText": "Future.delayed(Duration(${1:seconds: 1}), () {\n $0\n});",
622
+ "insertTextRules": 4,
623
+ "sortText": "03_function_Future_delayed"
624
+ },
625
+ {
626
+ "label": "Stream",
627
+ "kind": 5,
628
+ "detail": "Asynchronous data stream",
629
+ "documentation": {"value": "```dart\nStream<int> countStream(int n) async* {\n for (var i = 0; i < n; i++) yield i;\n}\n```\nA source of asynchronous data events."},
630
+ "insertText": "Stream<${1:Type}>",
631
+ "insertTextRules": 4,
632
+ "sortText": "02_type_Stream"
633
+ },
634
+ {
635
+ "label": "compute",
636
+ "kind": 1,
637
+ "detail": "Run function in isolate",
638
+ "documentation": {"value": "```dart\nfinal result = await compute(heavyTask, input);\n```\nSpawns an isolate to run a function with a message."},
639
+ "insertText": "compute(${1:callback}, ${2:message})",
640
+ "insertTextRules": 4,
641
+ "sortText": "03_function_compute"
642
+ },
643
+ {
644
+ "label": "runApp",
645
+ "kind": 1,
646
+ "detail": "Flutter app entry point",
647
+ "documentation": {"value": "```dart\nvoid main() {\n runApp(const MyApp());\n}\n```\nInflates the given widget and attaches it to the screen."},
648
+ "insertText": "runApp(${1:widget});",
649
+ "insertTextRules": 4,
650
+ "sortText": "03_function_runApp"
651
+ },
652
+ {
653
+ "label": "int",
654
+ "kind": 5,
655
+ "detail": "Integer type",
656
+ "documentation": {"value": "```dart\nint count = 42;\n```\nArbitrary-precision integer (fixed 64-bit on native, arbitrary on web)."},
657
+ "insertText": "int",
658
+ "insertTextRules": 4,
659
+ "sortText": "02_type_int"
660
+ },
661
+ {
662
+ "label": "double",
663
+ "kind": 5,
664
+ "detail": "Double-precision floating point",
665
+ "documentation": {"value": "```dart\ndouble pi = 3.14159;\n```\n64-bit double-precision floating-point number."},
666
+ "insertText": "double",
667
+ "insertTextRules": 4,
668
+ "sortText": "02_type_double"
669
+ },
670
+ {
671
+ "label": "num",
672
+ "kind": 5,
673
+ "detail": "Numeric type (int or double)",
674
+ "documentation": {"value": "```dart\nnum value = 42;\nvalue = 3.14;\n```\nSupertype of int and double."},
675
+ "insertText": "num",
676
+ "insertTextRules": 4,
677
+ "sortText": "02_type_num"
678
+ },
679
+ {
680
+ "label": "String",
681
+ "kind": 5,
682
+ "detail": "String type",
683
+ "documentation": {"value": "```dart\nString greeting = 'Hello, Dart!';\n```\nA sequence of UTF-16 code units."},
684
+ "insertText": "String",
685
+ "insertTextRules": 4,
686
+ "sortText": "02_type_String"
687
+ },
688
+ {
689
+ "label": "bool",
690
+ "kind": 5,
691
+ "detail": "Boolean type",
692
+ "documentation": {"value": "```dart\nbool isReady = true;\n```\nRepresents true or false values."},
693
+ "insertText": "bool",
694
+ "insertTextRules": 4,
695
+ "sortText": "02_type_bool"
696
+ },
697
+ {
698
+ "label": "List",
699
+ "kind": 5,
700
+ "detail": "Ordered collection",
701
+ "documentation": {"value": "```dart\nList<int> numbers = [1, 2, 3];\n```\nAn indexable collection of objects with a length."},
702
+ "insertText": "List<${1:Type}>",
703
+ "insertTextRules": 4,
704
+ "sortText": "02_type_List"
705
+ },
706
+ {
707
+ "label": "Map",
708
+ "kind": 5,
709
+ "detail": "Key-value collection",
710
+ "documentation": {"value": "```dart\nMap<String, int> ages = {'Alice': 30};\n```\nA collection of key-value pairs."},
711
+ "insertText": "Map<${1:Key}, ${2:Value}>",
712
+ "insertTextRules": 4,
713
+ "sortText": "02_type_Map"
714
+ },
715
+ {
716
+ "label": "Set",
717
+ "kind": 5,
718
+ "detail": "Unique element collection",
719
+ "documentation": {"value": "```dart\nSet<int> unique = {1, 2, 3};\n```\nA collection of unique objects."},
720
+ "insertText": "Set<${1:Type}>",
721
+ "insertTextRules": 4,
722
+ "sortText": "02_type_Set"
723
+ },
724
+ {
725
+ "label": "Object",
726
+ "kind": 5,
727
+ "detail": "Root class of all objects",
728
+ "documentation": {"value": "```dart\nObject obj = 'hello';\n```\nThe base class for all Dart objects (non-nullable)."},
729
+ "insertText": "Object",
730
+ "insertTextRules": 4,
731
+ "sortText": "02_type_Object"
732
+ },
733
+ {
734
+ "label": "Null",
735
+ "kind": 5,
736
+ "detail": "Null type",
737
+ "documentation": {"value": "The type whose only value is `null`. Subtype of every nullable type."},
738
+ "insertText": "Null",
739
+ "insertTextRules": 4,
740
+ "sortText": "02_type_Null"
741
+ },
742
+ {
743
+ "label": "Never",
744
+ "kind": 5,
745
+ "detail": "Bottom type",
746
+ "documentation": {"value": "```dart\nNever fail(String msg) => throw Exception(msg);\n```\nA type that no value can have; used for functions that never return."},
747
+ "insertText": "Never",
748
+ "insertTextRules": 4,
749
+ "sortText": "02_type_Never"
750
+ },
751
+ {
752
+ "label": "Future",
753
+ "kind": 5,
754
+ "detail": "Asynchronous computation",
755
+ "documentation": {"value": "```dart\nFuture<String> fetchData() async {\n return 'data';\n}\n```\nRepresents a potential value or error available in the future."},
756
+ "insertText": "Future<${1:Type}>",
757
+ "insertTextRules": 4,
758
+ "sortText": "02_type_Future"
759
+ },
760
+ {
761
+ "label": "Iterable",
762
+ "kind": 5,
763
+ "detail": "Iterable collection",
764
+ "documentation": {"value": "```dart\nIterable<int> naturals = Iterable.generate(10, (i) => i);\n```\nA collection of values that can be iterated."},
765
+ "insertText": "Iterable<${1:Type}>",
766
+ "insertTextRules": 4,
767
+ "sortText": "02_type_Iterable"
768
+ },
769
+ {
770
+ "label": "Duration",
771
+ "kind": 5,
772
+ "detail": "Time duration",
773
+ "documentation": {"value": "```dart\nconst timeout = Duration(seconds: 30);\n```\nRepresents a span of time."},
774
+ "insertText": "Duration(${1:seconds: 1})",
775
+ "insertTextRules": 4,
776
+ "sortText": "02_type_Duration"
777
+ },
778
+ {
779
+ "label": "DateTime",
780
+ "kind": 5,
781
+ "detail": "Date and time",
782
+ "documentation": {"value": "```dart\nvar now = DateTime.now();\n```\nAn instant in time, with date and time-of-day components."},
783
+ "insertText": "DateTime.${1:now}()",
784
+ "insertTextRules": 4,
785
+ "sortText": "02_type_DateTime"
786
+ },
787
+ {
788
+ "label": "Uri",
789
+ "kind": 5,
790
+ "detail": "URI type",
791
+ "documentation": {"value": "```dart\nvar uri = Uri.parse('https://dart.dev');\n```\nA parsed URI such as a URL."},
792
+ "insertText": "Uri.parse('${1:url}')",
793
+ "insertTextRules": 4,
794
+ "sortText": "02_type_Uri"
795
+ },
796
+ {
797
+ "label": "RegExp",
798
+ "kind": 5,
799
+ "detail": "Regular expression",
800
+ "documentation": {"value": "```dart\nvar pattern = RegExp(r'\\d+');\n```\nA compiled regular expression pattern."},
801
+ "insertText": "RegExp(r'${1:pattern}')",
802
+ "insertTextRules": 4,
803
+ "sortText": "02_type_RegExp"
804
+ },
805
+ {
806
+ "label": "Symbol",
807
+ "kind": 5,
808
+ "detail": "Symbol type",
809
+ "documentation": {"value": "```dart\nvar s = #mySymbol;\n```\nRepresents an operator or identifier declared in a Dart program."},
810
+ "insertText": "Symbol",
811
+ "insertTextRules": 4,
812
+ "sortText": "02_type_Symbol"
813
+ },
814
+ {
815
+ "label": "Type",
816
+ "kind": 5,
817
+ "detail": "Runtime type representation",
818
+ "documentation": {"value": "```dart\nType t = String;\nprint(t); // String\n```\nRuntime representation of a type."},
819
+ "insertText": "Type",
820
+ "insertTextRules": 4,
821
+ "sortText": "02_type_Type"
822
+ },
823
+ {
824
+ "label": "BigInt",
825
+ "kind": 5,
826
+ "detail": "Arbitrary precision integer",
827
+ "documentation": {"value": "```dart\nvar big = BigInt.parse('123456789012345678901234567890');\n```\nArbitrary precision integer for very large numbers."},
828
+ "insertText": "BigInt.${1:from}(${2:value})",
829
+ "insertTextRules": 4,
830
+ "sortText": "02_type_BigInt"
831
+ },
832
+ {
833
+ "label": "Completer",
834
+ "kind": 5,
835
+ "detail": "Future completion controller",
836
+ "documentation": {"value": "```dart\nvar completer = Completer<String>();\ncompleter.complete('done');\nvar result = await completer.future;\n```\nProduces Future objects and completes them later."},
837
+ "insertText": "Completer<${1:Type}>()",
838
+ "insertTextRules": 4,
839
+ "sortText": "02_type_Completer"
840
+ },
841
+ {
842
+ "label": "Timer",
843
+ "kind": 5,
844
+ "detail": "Countdown timer",
845
+ "documentation": {"value": "```dart\nTimer(Duration(seconds: 1), () => print('tick'));\nTimer.periodic(Duration(seconds: 1), (t) => print('tick'));\n```\nA timer that fires a callback after a duration."},
846
+ "insertText": "Timer(Duration(${1:seconds: 1}), () {\n $0\n});",
847
+ "insertTextRules": 4,
848
+ "sortText": "02_type_Timer"
849
+ },
850
+ {
851
+ "label": "Record",
852
+ "kind": 5,
853
+ "detail": "Record type (Dart 3)",
854
+ "documentation": {"value": "```dart\n(int, String) pair = (1, 'hello');\n({int x, int y}) point = (x: 1, y: 2);\n```\nAn anonymous immutable aggregate type."},
855
+ "insertText": "(${1:int}, ${2:String})",
856
+ "insertTextRules": 4,
857
+ "sortText": "02_type_Record"
858
+ },
859
+ {
860
+ "label": "Pattern",
861
+ "kind": 5,
862
+ "detail": "Pattern matching interface",
863
+ "documentation": {"value": "```dart\nPattern pat = 'hello';\nbool matches = pat.allMatches(input).isNotEmpty;\n```\nInterface implemented by String and RegExp for pattern matching."},
864
+ "insertText": "Pattern",
865
+ "insertTextRules": 4,
866
+ "sortText": "02_type_Pattern"
867
+ },
868
+ {
869
+ "label": "StatelessWidget",
870
+ "kind": 5,
871
+ "detail": "Flutter stateless widget",
872
+ "documentation": {"value": "```dart\nclass MyWidget extends StatelessWidget {\n const MyWidget({super.key});\n @override\n Widget build(BuildContext context) {\n return Container();\n }\n}\n```\nA widget that does not require mutable state."},
873
+ "insertText": "StatelessWidget",
874
+ "insertTextRules": 4,
875
+ "sortText": "04_flutter_StatelessWidget"
876
+ },
877
+ {
878
+ "label": "StatefulWidget",
879
+ "kind": 5,
880
+ "detail": "Flutter stateful widget",
881
+ "documentation": {"value": "```dart\nclass MyWidget extends StatefulWidget {\n const MyWidget({super.key});\n @override\n State<MyWidget> createState() => _MyWidgetState();\n}\n```\nA widget that has mutable state."},
882
+ "insertText": "StatefulWidget",
883
+ "insertTextRules": 4,
884
+ "sortText": "04_flutter_StatefulWidget"
885
+ },
886
+ {
887
+ "label": "Scaffold",
888
+ "kind": 5,
889
+ "detail": "Material Design scaffold",
890
+ "documentation": {"value": "```dart\nScaffold(\n appBar: AppBar(title: Text('Title')),\n body: Center(child: Text('Hello')),\n)\n```\nImplements the basic Material Design layout structure."},
891
+ "insertText": "Scaffold(\n appBar: AppBar(title: Text('${1:Title}')),\n body: ${2:Container()},\n)",
892
+ "insertTextRules": 4,
893
+ "sortText": "04_flutter_Scaffold"
894
+ },
895
+ {
896
+ "label": "AppBar",
897
+ "kind": 5,
898
+ "detail": "Material app bar",
899
+ "documentation": {"value": "```dart\nAppBar(title: Text('My App'))\n```\nA Material Design app bar."},
900
+ "insertText": "AppBar(title: Text('${1:Title}'))",
901
+ "insertTextRules": 4,
902
+ "sortText": "04_flutter_AppBar"
903
+ },
904
+ {
905
+ "label": "Container",
906
+ "kind": 5,
907
+ "detail": "Flutter container widget",
908
+ "documentation": {"value": "```dart\nContainer(\n padding: EdgeInsets.all(8),\n child: Text('Hello'),\n)\n```\nA convenience widget combining painting, positioning, and sizing."},
909
+ "insertText": "Container(\n ${1:child: $0},\n)",
910
+ "insertTextRules": 4,
911
+ "sortText": "04_flutter_Container"
912
+ },
913
+ {
914
+ "label": "Row",
915
+ "kind": 5,
916
+ "detail": "Horizontal layout widget",
917
+ "documentation": {"value": "```dart\nRow(children: [Text('A'), Text('B')])\n```\nLays out children horizontally."},
918
+ "insertText": "Row(\n children: [\n $0\n ],\n)",
919
+ "insertTextRules": 4,
920
+ "sortText": "04_flutter_Row"
921
+ },
922
+ {
923
+ "label": "Column",
924
+ "kind": 5,
925
+ "detail": "Vertical layout widget",
926
+ "documentation": {"value": "```dart\nColumn(children: [Text('A'), Text('B')])\n```\nLays out children vertically."},
927
+ "insertText": "Column(\n children: [\n $0\n ],\n)",
928
+ "insertTextRules": 4,
929
+ "sortText": "04_flutter_Column"
930
+ },
931
+ {
932
+ "label": "Text",
933
+ "kind": 5,
934
+ "detail": "Text display widget",
935
+ "documentation": {"value": "```dart\nText('Hello, World!')\nText('Styled', style: TextStyle(fontSize: 24))\n```\nDisplays a string of text with a single style."},
936
+ "insertText": "Text('${1:text}')",
937
+ "insertTextRules": 4,
938
+ "sortText": "04_flutter_Text"
939
+ },
940
+ {
941
+ "label": "ElevatedButton",
942
+ "kind": 5,
943
+ "detail": "Material elevated button",
944
+ "documentation": {"value": "```dart\nElevatedButton(\n onPressed: () {},\n child: Text('Click'),\n)\n```\nA Material Design elevated button."},
945
+ "insertText": "ElevatedButton(\n onPressed: () {\n $0\n },\n child: Text('${1:Label}'),\n)",
946
+ "insertTextRules": 4,
947
+ "sortText": "04_flutter_ElevatedButton"
948
+ },
949
+ {
950
+ "label": "ListView",
951
+ "kind": 5,
952
+ "detail": "Scrollable list widget",
953
+ "documentation": {"value": "```dart\nListView.builder(\n itemCount: items.length,\n itemBuilder: (context, index) => ListTile(title: Text(items[index])),\n)\n```\nA scrollable list of widgets."},
954
+ "insertText": "ListView.builder(\n itemCount: ${1:items}.length,\n itemBuilder: (context, index) {\n return ${2:ListTile(title: Text('Item'))};\n },\n)",
955
+ "insertTextRules": 4,
956
+ "sortText": "04_flutter_ListView"
957
+ },
958
+ {
959
+ "label": "GridView",
960
+ "kind": 5,
961
+ "detail": "Scrollable grid widget",
962
+ "documentation": {"value": "```dart\nGridView.count(\n crossAxisCount: 2,\n children: [...],\n)\n```\nA scrollable, 2D array of widgets."},
963
+ "insertText": "GridView.count(\n crossAxisCount: ${1:2},\n children: [\n $0\n ],\n)",
964
+ "insertTextRules": 4,
965
+ "sortText": "04_flutter_GridView"
966
+ },
967
+ {
968
+ "label": "Stack",
969
+ "kind": 5,
970
+ "detail": "Overlay layout widget",
971
+ "documentation": {"value": "```dart\nStack(\n children: [\n Positioned(child: widget),\n ],\n)\n```\nOverlays children relative to the edges of its box."},
972
+ "insertText": "Stack(\n children: [\n $0\n ],\n)",
973
+ "insertTextRules": 4,
974
+ "sortText": "04_flutter_Stack"
975
+ },
976
+ {
977
+ "label": "Padding",
978
+ "kind": 5,
979
+ "detail": "Padding widget",
980
+ "documentation": {"value": "```dart\nPadding(\n padding: EdgeInsets.all(8.0),\n child: Text('Padded'),\n)\n```\nInsets its child by the given padding."},
981
+ "insertText": "Padding(\n padding: EdgeInsets.all(${1:8.0}),\n child: $0,\n)",
982
+ "insertTextRules": 4,
983
+ "sortText": "04_flutter_Padding"
984
+ },
985
+ {
986
+ "label": "Center",
987
+ "kind": 5,
988
+ "detail": "Center widget",
989
+ "documentation": {"value": "```dart\nCenter(child: Text('Centered'))\n```\nCenters its child within itself."},
990
+ "insertText": "Center(child: $0)",
991
+ "insertTextRules": 4,
992
+ "sortText": "04_flutter_Center"
993
+ },
994
+ {
995
+ "label": "SizedBox",
996
+ "kind": 5,
997
+ "detail": "Fixed size box",
998
+ "documentation": {"value": "```dart\nSizedBox(width: 100, height: 50)\nSizedBox.expand()\n```\nA box with a specified size."},
999
+ "insertText": "SizedBox(${1:height: 10})",
1000
+ "insertTextRules": 4,
1001
+ "sortText": "04_flutter_SizedBox"
1002
+ },
1003
+ {
1004
+ "label": "main function",
1005
+ "kind": 28,
1006
+ "detail": "Snippet: main entry point",
1007
+ "documentation": {"value": "Creates the main() entry point function."},
1008
+ "insertText": "void main() {\n ${1:// TODO: implement}\n}",
1009
+ "insertTextRules": 4,
1010
+ "sortText": "05_snippet_main"
1011
+ },
1012
+ {
1013
+ "label": "class declaration",
1014
+ "kind": 28,
1015
+ "detail": "Snippet: class with constructor",
1016
+ "documentation": {"value": "Creates a class with named constructor parameters."},
1017
+ "insertText": "class ${1:Name} {\n final ${2:String} ${3:field};\n\n const ${1:Name}({required this.${3:field}});\n\n $0\n}",
1018
+ "insertTextRules": 4,
1019
+ "sortText": "05_snippet_class"
1020
+ },
1021
+ {
1022
+ "label": "stateless widget",
1023
+ "kind": 28,
1024
+ "detail": "Snippet: StatelessWidget",
1025
+ "documentation": {"value": "Creates a Flutter StatelessWidget subclass."},
1026
+ "insertText": "class ${1:MyWidget} extends StatelessWidget {\n const ${1:MyWidget}({super.key});\n\n @override\n Widget build(BuildContext context) {\n return ${2:Container()};\n }\n}",
1027
+ "insertTextRules": 4,
1028
+ "sortText": "05_snippet_stateless"
1029
+ },
1030
+ {
1031
+ "label": "stateful widget",
1032
+ "kind": 28,
1033
+ "detail": "Snippet: StatefulWidget",
1034
+ "documentation": {"value": "Creates a Flutter StatefulWidget with its State class."},
1035
+ "insertText": "class ${1:MyWidget} extends StatefulWidget {\n const ${1:MyWidget}({super.key});\n\n @override\n State<${1:MyWidget}> createState() => _${1:MyWidget}State();\n}\n\nclass _${1:MyWidget}State extends State<${1:MyWidget}> {\n @override\n Widget build(BuildContext context) {\n return ${2:Container()};\n }\n}",
1036
+ "insertTextRules": 4,
1037
+ "sortText": "05_snippet_stateful"
1038
+ },
1039
+ {
1040
+ "label": "for-in loop",
1041
+ "kind": 28,
1042
+ "detail": "Snippet: for-in loop",
1043
+ "documentation": {"value": "Creates a for-in loop to iterate over an iterable."},
1044
+ "insertText": "for (final ${1:item} in ${2:items}) {\n $0\n}",
1045
+ "insertTextRules": 4,
1046
+ "sortText": "05_snippet_forin"
1047
+ },
1048
+ {
1049
+ "label": "while loop",
1050
+ "kind": 28,
1051
+ "detail": "Snippet: while loop",
1052
+ "documentation": {"value": "Creates a while loop."},
1053
+ "insertText": "while (${1:condition}) {\n $0\n}",
1054
+ "insertTextRules": 4,
1055
+ "sortText": "05_snippet_while"
1056
+ },
1057
+ {
1058
+ "label": "try-catch",
1059
+ "kind": 28,
1060
+ "detail": "Snippet: try-catch block",
1061
+ "documentation": {"value": "Creates a try-catch-finally block."},
1062
+ "insertText": "try {\n $0\n} on ${1:Exception} catch (e) {\n ${2:print(e);}\n}",
1063
+ "insertTextRules": 4,
1064
+ "sortText": "05_snippet_trycatch"
1065
+ },
1066
+ {
1067
+ "label": "async function",
1068
+ "kind": 28,
1069
+ "detail": "Snippet: async function",
1070
+ "documentation": {"value": "Creates an async function returning a Future."},
1071
+ "insertText": "Future<${1:void}> ${2:name}() async {\n $0\n}",
1072
+ "insertTextRules": 4,
1073
+ "sortText": "05_snippet_async"
1074
+ },
1075
+ {
1076
+ "label": "stream generator",
1077
+ "kind": 28,
1078
+ "detail": "Snippet: async* stream generator",
1079
+ "documentation": {"value": "Creates an async generator function that yields stream values."},
1080
+ "insertText": "Stream<${1:int}> ${2:name}() async* {\n yield ${3:value};\n}",
1081
+ "insertTextRules": 4,
1082
+ "sortText": "05_snippet_stream"
1083
+ },
1084
+ {
1085
+ "label": "factory constructor",
1086
+ "kind": 28,
1087
+ "detail": "Snippet: factory constructor",
1088
+ "documentation": {"value": "Creates a factory constructor."},
1089
+ "insertText": "factory ${1:ClassName}.${2:named}(${3:params}) {\n return ${4:instance};\n}",
1090
+ "insertTextRules": 4,
1091
+ "sortText": "05_snippet_factory"
1092
+ },
1093
+ {
1094
+ "label": "extension method",
1095
+ "kind": 28,
1096
+ "detail": "Snippet: extension on type",
1097
+ "documentation": {"value": "Creates an extension on an existing type."},
1098
+ "insertText": "extension ${1:Name} on ${2:Type} {\n ${3:ReturnType} ${4:methodName}() {\n $0\n }\n}",
1099
+ "insertTextRules": 4,
1100
+ "sortText": "05_snippet_extension"
1101
+ },
1102
+ {
1103
+ "label": "sealed class",
1104
+ "kind": 28,
1105
+ "detail": "Snippet: sealed class hierarchy",
1106
+ "documentation": {"value": "Creates a sealed class with subtypes (Dart 3)."},
1107
+ "insertText": "sealed class ${1:Name} {}\n\nclass ${2:SubType1} extends ${1:Name} {\n final ${3:String} ${4:value};\n const ${2:SubType1}(this.${4:value});\n}\n\nclass ${5:SubType2} extends ${1:Name} {}",
1108
+ "insertTextRules": 4,
1109
+ "sortText": "05_snippet_sealed"
1110
+ },
1111
+ {
1112
+ "label": "mixin declaration",
1113
+ "kind": 28,
1114
+ "detail": "Snippet: mixin declaration",
1115
+ "documentation": {"value": "Declares a mixin with a method."},
1116
+ "insertText": "mixin ${1:Name} {\n ${2:void} ${3:method}() {\n $0\n }\n}",
1117
+ "insertTextRules": 4,
1118
+ "sortText": "05_snippet_mixin"
1119
+ },
1120
+ {
1121
+ "label": "enum with values",
1122
+ "kind": 28,
1123
+ "detail": "Snippet: enhanced enum",
1124
+ "documentation": {"value": "Creates an enhanced enum with fields and constructor."},
1125
+ "insertText": "enum ${1:Name} {\n ${2:value1}('${3:label1}'),\n ${4:value2}('${5:label2}');\n\n final String ${6:label};\n const ${1:Name}(this.${6:label});\n}",
1126
+ "insertTextRules": 4,
1127
+ "sortText": "05_snippet_enum"
1128
+ },
1129
+ {
1130
+ "label": "switch expression",
1131
+ "kind": 28,
1132
+ "detail": "Snippet: switch expression (Dart 3)",
1133
+ "documentation": {"value": "Creates a switch expression with pattern matching."},
1134
+ "insertText": "final ${1:result} = switch (${2:value}) {\n ${3:pattern1} => ${4:expr1},\n ${5:pattern2} => ${6:expr2},\n _ => ${7:defaultExpr},\n};",
1135
+ "insertTextRules": 4,
1136
+ "sortText": "05_snippet_switch_expr"
1137
+ },
1138
+ {
1139
+ "label": "pattern matching",
1140
+ "kind": 28,
1141
+ "detail": "Snippet: if-case pattern match",
1142
+ "documentation": {"value": "Creates an if-case pattern match (Dart 3)."},
1143
+ "insertText": "if (${1:value} case ${2:Type} ${3:name}) {\n $0\n}",
1144
+ "insertTextRules": 4,
1145
+ "sortText": "05_snippet_pattern"
1146
+ },
1147
+ {
1148
+ "label": "Future.wait",
1149
+ "kind": 1,
1150
+ "detail": "Wait for multiple futures",
1151
+ "documentation": {"value": "```dart\nvar results = await Future.wait([future1, future2]);\n```\nWaits for multiple futures to complete."},
1152
+ "insertText": "Future.wait([${1:futures}])",
1153
+ "insertTextRules": 4,
1154
+ "sortText": "03_function_Future_wait"
1155
+ },
1156
+ {
1157
+ "label": "Future.value",
1158
+ "kind": 1,
1159
+ "detail": "Create completed Future",
1160
+ "documentation": {"value": "```dart\nvar f = Future.value(42);\n```\nCreates a future completed with the given value."},
1161
+ "insertText": "Future.value(${1:value})",
1162
+ "insertTextRules": 4,
1163
+ "sortText": "03_function_Future_value"
1164
+ },
1165
+ {
1166
+ "label": "Isolate.spawn",
1167
+ "kind": 1,
1168
+ "detail": "Spawn isolate",
1169
+ "documentation": {"value": "```dart\nawait Isolate.spawn(entryPoint, message);\n```\nSpawns a new isolate running the given function."},
1170
+ "insertText": "Isolate.spawn(${1:entryPoint}, ${2:message})",
1171
+ "insertTextRules": 4,
1172
+ "sortText": "03_function_Isolate_spawn"
1173
+ },
1174
+ {
1175
+ "label": "for loop (indexed)",
1176
+ "kind": 28,
1177
+ "detail": "Snippet: C-style for loop",
1178
+ "documentation": {"value": "Creates an indexed for loop."},
1179
+ "insertText": "for (var ${1:i} = 0; ${1:i} < ${2:length}; ${1:i}++) {\n $0\n}",
1180
+ "insertTextRules": 4,
1181
+ "sortText": "05_snippet_for_indexed"
1182
+ },
1183
+ {
1184
+ "label": "if-else",
1185
+ "kind": 28,
1186
+ "detail": "Snippet: if-else block",
1187
+ "documentation": {"value": "Creates an if-else block."},
1188
+ "insertText": "if (${1:condition}) {\n $0\n} else {\n ${2:// fallback}\n}",
1189
+ "insertTextRules": 4,
1190
+ "sortText": "05_snippet_ifelse"
1191
+ },
1192
+ {
1193
+ "label": "test",
1194
+ "kind": 28,
1195
+ "detail": "Snippet: test case",
1196
+ "documentation": {"value": "Creates a test case using the test package."},
1197
+ "insertText": "test('${1:description}', () {\n $0\n});",
1198
+ "insertTextRules": 4,
1199
+ "sortText": "05_snippet_test"
1200
+ },
1201
+ {
1202
+ "label": "group",
1203
+ "kind": 28,
1204
+ "detail": "Snippet: test group",
1205
+ "documentation": {"value": "Creates a test group."},
1206
+ "insertText": "group('${1:description}', () {\n $0\n});",
1207
+ "insertTextRules": 4,
1208
+ "sortText": "05_snippet_group"
1209
+ },
1210
+ {
1211
+ "label": "expect",
1212
+ "kind": 1,
1213
+ "detail": "Test expectation",
1214
+ "documentation": {"value": "```dart\nexpect(actual, matcher);\n```\nAsserts that actual matches the expected matcher."},
1215
+ "insertText": "expect(${1:actual}, ${2:matcher});",
1216
+ "insertTextRules": 4,
1217
+ "sortText": "03_function_expect"
1218
+ },
1219
+ {
1220
+ "label": "setState",
1221
+ "kind": 1,
1222
+ "detail": "Flutter state update",
1223
+ "documentation": {"value": "```dart\nsetState(() {\n _counter++;\n});\n```\nNotifies the framework of state changes in a StatefulWidget."},
1224
+ "insertText": "setState(() {\n $0\n});",
1225
+ "insertTextRules": 4,
1226
+ "sortText": "03_function_setState"
1227
+ },
1228
+ {
1229
+ "label": "Navigator.push",
1230
+ "kind": 1,
1231
+ "detail": "Navigate to route",
1232
+ "documentation": {"value": "```dart\nNavigator.push(context, MaterialPageRoute(builder: (ctx) => Page()));\n```\nPushes a new route onto the navigator stack."},
1233
+ "insertText": "Navigator.push(context, MaterialPageRoute(builder: (context) => ${1:Page()}));",
1234
+ "insertTextRules": 4,
1235
+ "sortText": "03_function_Navigator_push"
1236
+ },
1237
+ {
1238
+ "label": "BuildContext",
1239
+ "kind": 7,
1240
+ "detail": "Widget build context",
1241
+ "documentation": {"value": "```dart\nWidget build(BuildContext context) {}\n```\nA handle to the location of a widget in the widget tree."},
1242
+ "insertText": "BuildContext",
1243
+ "insertTextRules": 4,
1244
+ "sortText": "02_type_BuildContext"
1245
+ },
1246
+ {
1247
+ "label": "Widget",
1248
+ "kind": 5,
1249
+ "detail": "Flutter widget base class",
1250
+ "documentation": {"value": "```dart\nabstract class Widget {}\n```\nThe base class for all Flutter widgets."},
1251
+ "insertText": "Widget",
1252
+ "insertTextRules": 4,
1253
+ "sortText": "02_type_Widget"
1254
+ },
1255
+ {
1256
+ "label": "State",
1257
+ "kind": 5,
1258
+ "detail": "StatefulWidget state",
1259
+ "documentation": {"value": "```dart\nclass _MyState extends State<MyWidget> {\n @override\n Widget build(BuildContext context) => ...;\n}\n```\nLogic and internal state for a StatefulWidget."},
1260
+ "insertText": "State<${1:Widget}>",
1261
+ "insertTextRules": 4,
1262
+ "sortText": "02_type_State"
1263
+ },
1264
+ {
1265
+ "label": "EdgeInsets",
1266
+ "kind": 5,
1267
+ "detail": "Flutter edge insets",
1268
+ "documentation": {"value": "```dart\nEdgeInsets.all(8.0)\nEdgeInsets.symmetric(horizontal: 16)\n```\nDefines padding/margin offsets along each edge."},
1269
+ "insertText": "EdgeInsets.${1:all}(${2:8.0})",
1270
+ "insertTextRules": 4,
1271
+ "sortText": "04_flutter_EdgeInsets"
1272
+ },
1273
+ {
1274
+ "label": "TextStyle",
1275
+ "kind": 5,
1276
+ "detail": "Flutter text style",
1277
+ "documentation": {"value": "```dart\nTextStyle(fontSize: 16, fontWeight: FontWeight.bold)\n```\nDescribes text styling properties."},
1278
+ "insertText": "TextStyle(fontSize: ${1:16})",
1279
+ "insertTextRules": 4,
1280
+ "sortText": "04_flutter_TextStyle"
1281
+ },
1282
+ {
1283
+ "label": "@override",
1284
+ "kind": 17,
1285
+ "detail": "Override annotation",
1286
+ "documentation": {"value": "```dart\n@override\nvoid method() {}\n```\nIndicates a method overrides a superclass member."},
1287
+ "insertText": "@override",
1288
+ "insertTextRules": 4,
1289
+ "sortText": "01_keyword_override"
1290
+ },
1291
+ {
1292
+ "label": "@deprecated",
1293
+ "kind": 17,
1294
+ "detail": "Deprecation annotation",
1295
+ "documentation": {"value": "```dart\n@deprecated\nvoid oldMethod() {}\n```\nMarks API as deprecated."},
1296
+ "insertText": "@deprecated",
1297
+ "insertTextRules": 4,
1298
+ "sortText": "01_keyword_deprecated"
1299
+ },
1300
+ {
1301
+ "label": "@immutable",
1302
+ "kind": 17,
1303
+ "detail": "Immutable annotation",
1304
+ "documentation": {"value": "```dart\n@immutable\nclass Config { final String name; const Config(this.name); }\n```\nAnnotates a class as immutable."},
1305
+ "insertText": "@immutable",
1306
+ "insertTextRules": 4,
1307
+ "sortText": "01_keyword_immutable"
1308
+ },
1309
+ {
1310
+ "label": "@protected",
1311
+ "kind": 17,
1312
+ "detail": "Protected access annotation",
1313
+ "documentation": {"value": "```dart\n@protected\nvoid internalMethod() {}\n```\nIndicates the member is protected and should not be used outside subclasses."},
1314
+ "insertText": "@protected",
1315
+ "insertTextRules": 4,
1316
+ "sortText": "01_keyword_protected"
1317
+ },
1318
+ {
1319
+ "label": "@visibleForTesting",
1320
+ "kind": 17,
1321
+ "detail": "Test visibility annotation",
1322
+ "documentation": {"value": "```dart\n@visibleForTesting\nvoid helperForTests() {}\n```\nMarks API as visible only for testing."},
1323
+ "insertText": "@visibleForTesting",
1324
+ "insertTextRules": 4,
1325
+ "sortText": "01_keyword_visibleForTesting"
1326
+ },
1327
+ {
1328
+ "label": "async*",
1329
+ "kind": 17,
1330
+ "detail": "Async generator modifier",
1331
+ "documentation": {"value": "```dart\nStream<int> count() async* {\n yield 1;\n yield 2;\n}\n```\nMarks a function as an asynchronous generator."},
1332
+ "insertText": "async*",
1333
+ "insertTextRules": 4,
1334
+ "sortText": "01_keyword_asyncstar"
1335
+ },
1336
+ {
1337
+ "label": "sync*",
1338
+ "kind": 17,
1339
+ "detail": "Sync generator modifier",
1340
+ "documentation": {"value": "```dart\nIterable<int> count() sync* {\n yield 1;\n yield 2;\n}\n```\nMarks a function as a synchronous generator."},
1341
+ "insertText": "sync*",
1342
+ "insertTextRules": 4,
1343
+ "sortText": "01_keyword_syncstar"
1344
+ },
1345
+ {
1346
+ "label": "yield*",
1347
+ "kind": 17,
1348
+ "detail": "Delegating yield",
1349
+ "documentation": {"value": "```dart\nyield* anotherGenerator();\n```\nDelegates to another generator."},
1350
+ "insertText": "yield* ${1:iterable};",
1351
+ "insertTextRules": 4,
1352
+ "sortText": "01_keyword_yieldstar"
1353
+ },
1354
+ {
1355
+ "label": "FutureBuilder",
1356
+ "kind": 5,
1357
+ "detail": "Flutter FutureBuilder widget",
1358
+ "documentation": {"value": "```dart\nFutureBuilder<String>(\n future: fetchData(),\n builder: (context, snapshot) {\n if (snapshot.hasData) return Text(snapshot.data!);\n return CircularProgressIndicator();\n },\n)\n```\nBuilds a widget based on a Future's state."},
1359
+ "insertText": "FutureBuilder<${1:Type}>(\n future: ${2:future},\n builder: (context, snapshot) {\n if (snapshot.hasData) {\n return ${3:Text(snapshot.data.toString())};\n }\n return const CircularProgressIndicator();\n },\n)",
1360
+ "insertTextRules": 4,
1361
+ "sortText": "04_flutter_FutureBuilder"
1362
+ },
1363
+ {
1364
+ "label": "StreamBuilder",
1365
+ "kind": 5,
1366
+ "detail": "Flutter StreamBuilder widget",
1367
+ "documentation": {"value": "```dart\nStreamBuilder<int>(\n stream: myStream,\n builder: (context, snapshot) => Text('${snapshot.data}'),\n)\n```\nBuilds a widget based on a Stream's latest snapshot."},
1368
+ "insertText": "StreamBuilder<${1:Type}>(\n stream: ${2:stream},\n builder: (context, snapshot) {\n return ${3:Text(snapshot.data.toString())};\n },\n)",
1369
+ "insertTextRules": 4,
1370
+ "sortText": "04_flutter_StreamBuilder"
1371
+ },
1372
+ {
1373
+ "label": "ValueNotifier",
1374
+ "kind": 5,
1375
+ "detail": "Value change notifier",
1376
+ "documentation": {"value": "```dart\nfinal counter = ValueNotifier<int>(0);\ncounter.value++;\n```\nA ChangeNotifier that holds a single value."},
1377
+ "insertText": "ValueNotifier<${1:Type}>(${2:initialValue})",
1378
+ "insertTextRules": 4,
1379
+ "sortText": "04_flutter_ValueNotifier"
1380
+ },
1381
+ {
1382
+ "label": "Comparable",
1383
+ "kind": 7,
1384
+ "detail": "Comparable interface",
1385
+ "documentation": {"value": "```dart\nclass MyClass implements Comparable<MyClass> {\n @override\n int compareTo(MyClass other) => ...;\n}\n```\nInterface for objects with a natural ordering."},
1386
+ "insertText": "Comparable<${1:Type}>",
1387
+ "insertTextRules": 4,
1388
+ "sortText": "02_type_Comparable"
1389
+ },
1390
+ {
1391
+ "label": "Iterator",
1392
+ "kind": 7,
1393
+ "detail": "Iterator interface",
1394
+ "documentation": {"value": "```dart\nIterator<int> it = list.iterator;\nwhile (it.moveNext()) print(it.current);\n```\nAn interface for stepping through elements."},
1395
+ "insertText": "Iterator<${1:Type}>",
1396
+ "insertTextRules": 4,
1397
+ "sortText": "02_type_Iterator"
1398
+ },
1399
+ {
1400
+ "label": "Sink",
1401
+ "kind": 7,
1402
+ "detail": "Sink interface",
1403
+ "documentation": {"value": "```dart\nSink<String> sink;\nsink.add('data');\nsink.close();\n```\nA generic sink for adding data."},
1404
+ "insertText": "Sink<${1:Type}>",
1405
+ "insertTextRules": 4,
1406
+ "sortText": "02_type_Sink"
1407
+ },
1408
+ {
1409
+ "label": "StreamController",
1410
+ "kind": 5,
1411
+ "detail": "Stream controller",
1412
+ "documentation": {"value": "```dart\nfinal controller = StreamController<int>();\ncontroller.sink.add(1);\ncontroller.stream.listen(print);\n```\nA controller for a Stream that allows sending events."},
1413
+ "insertText": "StreamController<${1:Type}>()",
1414
+ "insertTextRules": 4,
1415
+ "sortText": "02_type_StreamController"
1416
+ },
1417
+ {
1418
+ "label": "StreamSubscription",
1419
+ "kind": 5,
1420
+ "detail": "Stream subscription",
1421
+ "documentation": {"value": "```dart\nStreamSubscription<int> sub = stream.listen(print);\nawait sub.cancel();\n```\nA subscription on events from a Stream."},
1422
+ "insertText": "StreamSubscription<${1:Type}>",
1423
+ "insertTextRules": 4,
1424
+ "sortText": "02_type_StreamSubscription"
1425
+ },
1426
+ {
1427
+ "label": "FutureOr",
1428
+ "kind": 5,
1429
+ "detail": "Future or sync type",
1430
+ "documentation": {"value": "```dart\nFutureOr<int> getValue() => 42;\n```\nRepresents a type that can be either T or Future<T>."},
1431
+ "insertText": "FutureOr<${1:Type}>",
1432
+ "insertTextRules": 4,
1433
+ "sortText": "02_type_FutureOr"
1434
+ }
1435
+ ]
1436
+ }