| ================================================ |
| Entity Kinds |
| ================================================ |
| |
| -- source.lang.swift.[decl/ref].function.free |
| -- source.lang.swift.[decl/ref].function.method.instance |
| -- source.lang.swift.[decl/ref].function.method.static |
| -- source.lang.swift.[decl/ref].function.constructor |
| -- source.lang.swift.[decl/ref].function.destructor |
| -- source.lang.swift.[decl/ref].function.operator |
| -- source.lang.swift.[decl/ref].function.subscript |
| -- source.lang.swift.[decl/ref].function.accessor.getter |
| -- source.lang.swift.[decl/ref].function.accessor.setter |
| -- source.lang.swift.[decl/ref].class |
| -- source.lang.swift.[decl/ref].struct |
| -- source.lang.swift.[decl/ref].enum |
| -- source.lang.swift.[decl/ref].enumelement |
| -- source.lang.swift.[decl/ref].protocol |
| -- source.lang.swift.[decl/ref].typealias |
| -- source.lang.swift.[decl/ref].var.global |
| -- source.lang.swift.[decl/ref].var.instance |
| -- source.lang.swift.[decl/ref].var.static |
| -- source.lang.swift.[decl/ref].var.local |
| -- source.lang.swift.decl.extension.struct |
| -- source.lang.swift.decl.extension.class |
| -- source.lang.swift.decl.extension.enum |
| |
| source.lang.swift.decl.function.accessor.* kinds can only be reported as |
| child entities of a source.lang.swift.decl.var.* entity. |
| |
| ================================================ |
| Indexing |
| ================================================ |
| |
| --- Imports --- |
| |
| The indexing request will report the imported modules under <key.dependencies>, |
| like this: |
| |
| { |
| <key.kind>: (UID) // Module kind |
| <key.name>: (string) // module name |
| <key.filepath>: (string) // path to the module file |
| [opt] <key.hash>: (string) // Hash associated with this module import |
| } |
| |
| The imported module kinds are: |
| |
| -- source.lang.swift.import.module.clang |
| -- source.lang.swift.import.module.swift |
| -- source.lang.swift.import.sourcefile |
| |
| The hash entry is only returned for an import of a swift module/file, not for |
| imports of clang modules. |
| If the same hash is returned for the module file, it means that the indexed |
| symbols will be the same, even if the module file was modified; this can be used |
| to avoid re-indexing of the module file. |