Interface DocumentFilter

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

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', scheme: 'untitled', pattern: '**​/package.json' }

interface DocumentFilter {
    language?: string;
    notebookType?: string;
    pattern?: GlobPattern;
    scheme?: string;
}

Properties

language?: string

A language id, like typescript.

notebookType?: string

The type of a notebook, like jupyter-notebook. This allows to narrow down on the type of a notebook that a cell document belongs to.

Note that setting the notebookType-property changes how scheme and pattern are interpreted. When set they are evaluated against the notebook uri, not the document uri.

Example: Match python document inside jupyter notebook that aren't stored yet (`untitled`)

{ language: 'python', notebookType: 'jupyter-notebook', scheme: 'untitled' }

Stubbed

pattern?: GlobPattern

A glob pattern that is matched on the absolute path of the document. Use a relative pattern to filter documents to a workspace folder.

scheme?: string

A Uri scheme, like file or untitled.