github.com/covergates/covergates@v0.2.2-0.20201009050117-42ef8a19fb95/web/src/plugins/highlight.ts (about) 1 import _Vue from 'vue'; 2 import hljs from 'highlight.js'; 3 import 'highlight.js/styles/github.css'; 4 5 function highlight(text: string, lang?: string): string { 6 if (lang) { 7 return hljs.highlight(lang, text).value; 8 } 9 return hljs.highlightAuto(text).value; 10 } 11 12 export function HighlightPlugin(Vue: typeof _Vue): void { 13 hljs.configure({ 14 tabReplace: ' ' 15 }); 16 Vue.prototype.$highlight = highlight; 17 } 18 19 declare module 'vue/types/vue' { 20 interface Vue { 21 readonly $highlight: typeof highlight; 22 } 23 }