test/node_modules/@vuepress/plugin-prismjs/lib/node/options.d.ts
2024-08-13 09:27:52 +08:00

33 lines
1.4 KiB
TypeScript

import type { MarkdownItLineNumbersOptions } from '@vuepress/highlighter-helper';
import type { HighlightOptions, PreWrapperOptions } from './types.js';
export type PrismjsLightTheme = 'ateliersulphurpool-light' | 'coldark-cold' | 'coy' | 'duotone-light' | 'ghcolors' | 'gruvbox-light' | 'material-light' | 'one-light' | 'vs';
export type PrismjsDarkTheme = 'atom-dark' | 'cb' | 'coldark-dark' | 'dark' | 'dracula' | 'duotone-dark' | 'duotone-earth' | 'duotone-forest' | 'duotone-sea' | 'duotone-space' | 'gruvbox-dark' | 'holi' | 'hopscotch' | 'lucario' | 'material-dark' | 'material-oceanic' | 'night-owl' | 'nord' | 'one-dark' | 'pojoaque' | 'shades-of-purple' | 'solarized-dark-atom' | 'tomorrow' | 'vsc-dark-plus' | 'xonokai' | 'z-touch';
export type PrismjsTheme = PrismjsDarkTheme | PrismjsLightTheme;
/**
* Options of @vuepress/plugin-prismjs
*/
export interface PrismjsPluginOptions extends Pick<MarkdownItLineNumbersOptions, 'lineNumbers'>, PreWrapperOptions, HighlightOptions {
/**
* Single theme
*
* @default 'nord'
*/
theme?: PrismjsTheme;
/**
* Dual themes
*/
themes?: {
light: PrismjsTheme;
dark: PrismjsTheme;
};
/**
* Languages to preload
*
* Workaround for prismjs language reloading issue
*
* @default ['markdown', 'jsdoc', 'yaml']
* @see https://github.com/PrismJS/prism/issues/2716
*/
preloadLanguages?: string[];
}