shnippet
Version:
A snippet extraction tool for various programming languages.
38 lines (37 loc) • 1.15 kB
TypeScript
type OutputStructure = 'flat' | 'match' | 'organized' | 'byLanguage';
interface SnippetExtractorConfig {
rootDirectory: string;
snippetOutputDirectory: string;
fileExtensions: string[];
exclude: string[];
snippetTags: {
start: string;
end: string;
prependStart: string;
prependEnd: string;
};
outputDirectoryStructure: OutputStructure;
version?: string;
projectRoot?: string;
}
export declare class SnippetExtractor {
private config;
private prependBlocks;
private projectRoot;
private processedSnippets;
private languageToDirectory;
constructor(config: SnippetExtractorConfig);
getProjectRoot(): string;
private validateConfig;
private gatherSnippetNames;
private gatherImports;
private extractSnippetsFromFile;
private extractSnippetName;
private normalizeIndentation;
private shouldExcludeFile;
processDirectory(directory: string, relativePath?: string): Promise<void>;
private writeSnippetsToFile;
private getLanguageFromExtension;
extractSnippets(): Promise<void>;
}
export default SnippetExtractor;