Skip to content

Commit db48e96

Browse files
authored
Merge pull request #274 from rtfpessoa/improve-highlightjs-types
clean: Improve highlight.js types
2 parents 594e6a4 + 3c3f528 commit db48e96

4 files changed

Lines changed: 47 additions & 83 deletions

File tree

src/ui/js/diff2html-ui-base.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { HighlightJS, ICompiledMode, IHighlightResult, IAutoHighlightResult } from './highlight.js-interface';
1+
import { HighlightJS } from 'highlight.js/lib/highlight.js';
2+
import { ICompiledMode, IHighlightResult, IAutoHighlightResult } from 'highlight.js';
23
import { nodeStream, mergeStreams } from './highlight.js-helpers';
34

45
import { html, Diff2HtmlConfig, defaultDiff2HtmlConfig } from '../../diff2html';

src/ui/js/highlight.js-interface.ts

Lines changed: 0 additions & 69 deletions
This file was deleted.

src/ui/js/highlight.js-slim.ts

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,8 @@
1-
import { HighlightJS } from './highlight.js-interface';
2-
3-
/* eslint-disable @typescript-eslint/camelcase */
41
/* eslint-disable @typescript-eslint/no-var-requires */
5-
/* eslint-disable @typescript-eslint/interface-name-prefix */
6-
/* eslint-disable @typescript-eslint/ban-types */
7-
/* eslint-disable @typescript-eslint/no-explicit-any */
8-
9-
/*
10-
* Adapted Highlight.js External APIs
11-
* Used to avoid importing all the languages
12-
*/
132

143
// Require the highlight.js library without languages
15-
const highlightJS = require('highlight.js/lib/highlight.js');
4+
import highlightJS from 'highlight.js/lib/highlight.js';
5+
166
// Separately require languages
177
// highlightJS.registerLanguage('1c', require('highlight.js/lib/languages/1c'));
188
// highlightJS.registerLanguage('abnf', require('highlight.js/lib/languages/abnf'));
@@ -200,4 +190,4 @@ highlightJS.registerLanguage('vim', require('highlight.js/lib/languages/vim'));
200190
// highlightJS.registerLanguage('xquery', require('highlight.js/lib/languages/xquery'));
201191
// highlightJS.registerLanguage('zephir', require('highlight.js/lib/languages/zephir'));
202192

203-
export const hljs: HighlightJS = highlightJS as HighlightJS;
193+
export const hljs = highlightJS;

typings/highlight.js.d.ts

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
declare module 'highlight.js/lib/highlight.js' {
2+
import hljs from 'highlight.js';
3+
4+
export type HighlightJS = typeof hljs;
5+
6+
export default hljs;
7+
8+
export const highlight: typeof hljs.highlight;
9+
export const highlightAuto: typeof hljs.highlightAuto;
10+
export const fixMarkup: typeof hljs.fixMarkup;
11+
export const highlightBlock: typeof hljs.highlightBlock;
12+
export const configure: typeof hljs.configure;
13+
export const initHighlighting: typeof hljs.initHighlighting;
14+
export const initHighlightingOnLoad: typeof hljs.initHighlightingOnLoad;
15+
export const registerLanguage: typeof hljs.registerLanguage;
16+
export const listLanguages: typeof hljs.listLanguages;
17+
export const getLanguage: typeof hljs.getLanguage;
18+
export const inherit: typeof hljs.inherit;
19+
export const COMMENT: typeof hljs.COMMENT;
20+
21+
export const IDENT_RE: typeof hljs.IDENT_RE;
22+
export const UNDERSCORE_IDENT_RE: typeof hljs.UNDERSCORE_IDENT_RE;
23+
export const NUMBER_RE: typeof hljs.NUMBER_RE;
24+
export const C_NUMBER_RE: typeof hljs.C_NUMBER_RE;
25+
export const BINARY_NUMBER_RE: typeof hljs.BINARY_NUMBER_RE;
26+
export const RE_STARTERS_RE: typeof hljs.RE_STARTERS_RE;
27+
28+
export const BACKSLASH_ESCAPE: typeof hljs.BACKSLASH_ESCAPE;
29+
export const APOS_STRING_MODE: typeof hljs.APOS_STRING_MODE;
30+
export const QUOTE_STRING_MODE: typeof hljs.QUOTE_STRING_MODE;
31+
export const PHRASAL_WORDS_MODE: typeof hljs.PHRASAL_WORDS_MODE;
32+
export const C_LINE_COMMENT_MODE: typeof hljs.C_LINE_COMMENT_MODE;
33+
export const C_BLOCK_COMMENT_MODE: typeof hljs.C_BLOCK_COMMENT_MODE;
34+
export const HASH_COMMENT_MODE: typeof hljs.HASH_COMMENT_MODE;
35+
export const NUMBER_MODE: typeof hljs.NUMBER_MODE;
36+
export const C_NUMBER_MODE: typeof hljs.C_NUMBER_MODE;
37+
export const BINARY_NUMBER_MODE: typeof hljs.BINARY_NUMBER_MODE;
38+
export const CSS_NUMBER_MODE: typeof hljs.CSS_NUMBER_MODE;
39+
export const REGEX_MODE: typeof hljs.REGEX_MODE;
40+
export const TITLE_MODE: typeof hljs.TITLE_MODE;
41+
export const UNDERSCORE_TITLE_MODE: typeof hljs.UNDERSCORE_TITLE_MODE;
42+
}

0 commit comments

Comments
 (0)