All files / services/core workspace-indexer.interface.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74                                                                                                                                                   
import * as vscode from 'vscode';
import { WorkspaceFileListChangeEvent } from './workspace-file-service.interface';
 
/**
 * Summary statistics of the most recent workspace indexing run.
 */
export interface IndexingStatistics {
	/**
	 * The number of files that were indexed successfully (targeted files minus errors).
	 */
	indexedFiles: number;
 
	/**
	 * The number of files that failed to index.
	 */
	errorCount: number;
 
	/**
	 * The number of files that were skipped before indexing (e.g. too large).
	 */
	skippedFiles: number;
 
	/**
	 * The wall-clock duration of the indexing run, in milliseconds.
	 */
	durationMs: number;
}
 
/**
 * Interface for the WorkspaceIndexerService which handles indexing
 * of RDF documents in the workspace.
 */
export interface IWorkspaceIndexerService {
	/**
	 * Indicates if all workspace files have been indexed.
	 */
	readonly indexingFinished: boolean;
 
	/**
	 * Summary statistics of the most recent indexing run, or `undefined` if no
	 * indexing run has completed yet.
	 */
	readonly statistics: IndexingStatistics | undefined;
 
	/**
	 * An event that is fired when all workspace files have been indexed.
	 */
	readonly onDidFinishIndexing: vscode.Event<boolean>;
 
	/**
	 * Builds an index of all RDF resources in the current workspace.
	 * @param force Whether to force re-indexing of all files.
	 */
	indexWorkspace(force?: boolean): Promise<void>;
 
	/**
	 * Updates the index after files were added to, removed from or changed in the
	 * workspace file list.
	 * @param e The changes to the workspace file list.
	 */
	handleFileListChanged(e: WorkspaceFileListChangeEvent): void;
 
	/**
	 * Wait for all workspace files to be indexed.
	 * @returns A promise that resolves when all workspace files were indexed.
	 */
	waitForIndexed(): Promise<void>;
 
	/**
	 * Open the debug console and show detailed log messages from the indexing process.
	 */
	showIndexStatus(): void;
}