@luminati-io/luminati-proxy
Version:
A configurable local proxy for brightdata.com
67 lines (60 loc) • 1.91 kB
JavaScript
// LICENSE_CODE ZON ISC
; /*jslint node:true, esnext:true, es9:true*/
import prismjs from 'prismjs';
import 'prismjs/components/prism-clike';
// for php
import 'prismjs/components/prism-markup';
import 'prismjs/components/prism-markup-templating';
import 'prismjs/components/prism-python';
import 'prismjs/components/prism-java';
import 'prismjs/components/prism-csharp';
import 'prismjs/components/prism-php';
import 'prismjs/components/prism-ruby';
import 'prismjs/components/prism-go';
import 'prismjs/components/prism-rust';
import 'prismjs/components/prism-bash';
import 'prismjs/components/prism-typescript';
export {javascript as js} from '@codemirror/lang-javascript';
export {json} from '@codemirror/lang-json';
export {html} from '@codemirror/lang-html';
const prism_detect_lang = lang=>{
const lang_map = {
shell: 'bash',
bash: 'bash',
sh: 'bash',
curl: 'bash',
javascript: 'javascript',
js: 'javascript',
node: 'javascript',
puppeteer: 'javascript',
playwright: 'javascript',
typescript: 'typescript',
ts: 'typescript',
python: 'python',
py: 'python',
scrapy: 'python',
java: 'java',
csharp: 'csharp',
'c#': 'csharp',
cs: 'csharp',
php: 'php',
ruby: 'ruby',
rb: 'ruby',
go: 'go',
golang: 'go',
rust: 'rust',
rs: 'rust',
};
const normalized = lang?.toLowerCase()?.trim();
return lang_map[normalized] || 'clike';
};
const prism_highlight = (code, lang)=>{
const prism_lang = prism_detect_lang(lang);
const grammar = prismjs.languages[prism_lang] || prismjs.languages.clike;
return prismjs.highlight(code, grammar, prism_lang);
};
const prism_utils = {
highlight: prism_highlight,
detect: prism_detect_lang,
};
export {prism_utils as prism};