aboutsummaryrefslogtreecommitdiffstats
path: root/packages/dev-tools-pages/ts/highlight.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/dev-tools-pages/ts/highlight.tsx')
-rw-r--r--packages/dev-tools-pages/ts/highlight.tsx67
1 files changed, 0 insertions, 67 deletions
diff --git a/packages/dev-tools-pages/ts/highlight.tsx b/packages/dev-tools-pages/ts/highlight.tsx
deleted file mode 100644
index 02f4a753e..000000000
--- a/packages/dev-tools-pages/ts/highlight.tsx
+++ /dev/null
@@ -1,67 +0,0 @@
-import * as hljs from 'highlight.js/lib/highlight';
-import * as javascript from 'highlight.js/lib/languages/javascript';
-import * as json from 'highlight.js/lib/languages/json';
-import * as _ from 'lodash';
-
-hljs.registerLanguage('javascript', javascript);
-hljs.registerLanguage('json', json);
-
-interface PatchInterface {
- [key: string]: string;
-}
-
-const PATCH_TYPES: PatchInterface = {
- '+': 'addition',
- '-': 'deletion',
- '!': 'change',
-};
-
-function diffHighlight(language: string, code: any, gutter: any): string {
- return _.map(code.split(/\r?\n/g), (line: string, index: number) => {
- let type;
- let currentLine = line;
-
- if (/^-{3} [^-]+ -{4}$|^\*{3} [^*]+ \*{4}$|^@@ [^@]+ @@$/.test(currentLine)) {
- type = 'chunk';
- } else if (/^Index: |^[+\-*]{3}|^[*=]{5,}$/.test(currentLine)) {
- type = 'header';
- } else {
- type = PATCH_TYPES[currentLine[0]] || 'null';
- currentLine = currentLine.replace(/^[+\-! ]/, '');
- }
-
- const g = gutter[index];
-
- return `<span data-gutter="${g !== undefined ? `${g}x` : ''}" class="line-${type}">${
- hljs.highlight(language, currentLine).value
- }</span>`;
- }).join('\n');
-}
-
-interface HighlightProps {
- language: string;
- code: string;
- isDiff?: boolean;
- gutter?: [];
- isEtc?: boolean;
-}
-
-function highlight({ language, code, isDiff, gutter, isEtc }: HighlightProps): string {
- if (isDiff) {
- return diffHighlight(language, code, gutter);
- }
-
- const hlCode = hljs.highlight(language, code).value;
-
- if (!isEtc) {
- return hlCode;
- }
-
- const hc = hlCode.split(/\r?\n/g);
- hc.splice(1, 0, ' ...');
- hc.splice(hc.length - 1, 0, ' ...');
-
- return hc.join('\n');
-}
-
-export { highlight };