language: dart
version: "1.0"
description: "Dart language completion configuration"
keywords:
- abstract
- as
- assert
- async
- await
- break
- case
- catch
- class
- const
- continue
- covariant
- default
- deferred
- do
- dynamic
- else
- enum
- export
- extends
- external
- factory
- false
- final
- finally
- for
- function
- get
- if
- implements
- import
- in
- is
- late
- library
- mixin
- new
- null
- on
- operator
- part
- required
- rethrow
- return
- set
- show
- static
- super
- switch
- sync
- this
- throw
- true
- try
- typedef
- var
- void
- while
- with
- yield
snippets:
- label: "class_snippet"
template: "class ${1:ClassName} {\n ${2:body}\n}"
description: "Class declaration"
- label: "mixin_snippet"
template: "mixin ${1:MixinName} {\n ${2:methods}\n}"
description: "Mixin definition"
- label: "abstract_class_snippet"
template: "abstract class ${1:ClassName} {\n ${2:abstract methods}\n}"
description: "Abstract class"
- label: "enum_snippet"
template: "enum ${1:EnumName} {\n ${2:values}\n}"
description: "Enum definition"
- label: "method_snippet"
template: "${1:returnType} ${2:methodName}(${3:params}) {\n ${4:body}\n}"
description: "Method declaration"
- label: "async_method_snippet"
template: "Future<${1:Type}> ${2:methodName}(${3:params}) async {\n ${4:body}\n}"
description: "Async method"
- label: "stream_snippet"
template: "Stream<${1:Type}> ${2:methodName}(${3:params}) async* {\n ${4:yield statements}\n}"
description: "Stream generator"
- label: "for_snippet"
template: "for (var ${1:item} in ${2:collection}) {\n ${3:body}\n}"
description: "For loop"
- label: "for_each_snippet"
template: "${1:collection}.forEach((${2:item}) {\n ${3:body}\n});"
description: "For-each loop"
- label: "if_snippet"
template: "if (${1:condition}) {\n ${2:then}\n} else {\n ${3:else}\n}"
description: "If-else statement"
standard_library:
- name: "dart:core"
items:
- "String"
- "int"
- "double"
- "bool"
- "List"
- "Map"
- "Set"
- "Iterable"
- "Iterator"
- "Object"
- "Type"
- "Exception"
- "Error"
- "print"
- "identical"
- "identical"
- name: "dart:async"
items:
- "Future"
- "Stream"
- "Completer"
- "StreamController"
- "Timer"
- "Zone"
- name: "dart:collection"
items:
- "Queue"
- "LinkedList"
- "HashMap"
- "LinkedHashMap"
- "SplayTreeMap"
- "HashSet"
- "LinkedHashSet"
- "SplayTreeSet"
- name: "dart:convert"
items:
- "json"
- "utf8"
- "base64"
- "base64Url"
- "JsonCodec"
- "Utf8Codec"
- name: "dart:io"
items:
- "File"
- "Directory"
- "Socket"
- "ServerSocket"
- "HttpClient"
- "HttpServer"
- "Process"
flutter_library:
- name: "flutter"
items:
- "Widget"
- "StatelessWidget"
- "StatefulWidget"
- "State"
- "BuildContext"
- "MaterialApp"
- "Scaffold"
- "AppBar"
- "FloatingActionButton"
- "Text"
- "Container"
- "Column"
- "Row"
- "ListView"
- "GridView"
- "Stack"
- "Positioned"
- "GestureDetector"
- "InkWell"
- "ElevatedButton"
- "TextButton"
- "IconButton"
- "TextField"
- "Image"
- "Icon"
naming_conventions:
- pattern: "^[a-z]"
description: "Class names should use PascalCase (but Dart convention is camelCase for some)"
- pattern: "^[a-z]"
description: "Function and variable names should use camelCase"
- pattern: "^[A-Z_]+$"
description: "Constants should use UPPER_SNAKE_CASE"
- pattern: "^_"
description: "Private members should start with underscore"
ranking:
relevance_weight: 0.4
frequency_weight: 0.3
recency_weight: 0.3