agda-web-docs-lib
Version:
Library for enhancing Agda-generated HTML documentation
45 lines (44 loc) • 1.3 kB
TypeScript
import { PositionMappings } from './types';
/**
* Search entry structure
*/
export interface SearchEntry {
type: 'code' | 'header' | 'module';
content: string;
lineNumber?: number;
position?: string;
context?: string;
}
/**
* Search index structure for fast lookups
*/
export interface SearchIndex {
[key: string]: SearchEntry[];
}
/**
* Class responsible for building and providing search functionality
*/
export declare class AgdaDocsSearcher {
/**
* Generates the search index for all files in the inputDir
*/
static buildSearchIndex(mappings: PositionMappings, inputDir: string): Promise<SearchIndex>;
/**
* Extracts search entries from a single file
*/
private static extractSearchEntriesFromFile;
/**
* Writes the search index to a JSON file in the output directory
*/
static writeSearchIndex(outputDir: string, index: SearchIndex): void;
/**
* Writes a large search index in chunks to handle size limitations
* Now splits by entry count and recursively splits chunks that are too large.
*/
private static writeChunkedSearchIndex;
/**
* Returns the path to the search script
* This will be included in the transformed HTML
*/
static getSearchScriptPath(): string;
}