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  }