A document filter denotes a document by different properties like the TextDocument.languageId, the Uri.scheme of its resource, or a glob-pattern that is applied to the TextDocument.fileName.

Glob patterns can have the following syntax: - * to match one or more characters in a path segment - ? to match on one character in a path segment - ** to match any number of path segments, including none - {} to group conditions (e.g. **​/*.{ts,js} matches all TypeScript and JavaScript files) - [] to declare a range of characters to match in a path segment (e.g., example.[0-9] to match on example.0, example.1, …) - [!...] to negate a range of characters to match in a path segment (e.g., example.[!0-9] to match on example.a, example.b, but not example.0)

@sample A language filter that applies to typescript files on disk: { language: 'typescript', scheme: 'file' } @sample A language filter that applies to all package.json paths: { language: 'json', pattern: '**package.json' }

Fields

@:optionaloptionalscheme:Null<String>

A Uri scheme, like file or untitled.

@:optionaloptionalpattern:Null<String>

A glob pattern, like *.{hx,hxml}.

@:optionaloptionallanguage:Null<String>

A language id, like haxe.