UNPKG

jupyterlab-emrys

Version:

A computational environment for Jupyter. Powered by Emrys

40 lines (39 loc) 1.42 kB
// Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. "use strict"; var CodeMirror = require('codemirror'); require('codemirror/mode/stex/stex'); require('codemirror/mode/gfm/gfm'); require('codemirror/addon/mode/multiplex'); /** * Define an IPython GFM (GitHub Flavored Markdown) mode. * * Is just a slightly altered GFM Mode with support for latex. * Latex support was supported by Codemirror GFM as of * https://github.com/codemirror/CodeMirror/pull/567 * But was later removed in * https://github.com/codemirror/CodeMirror/commit/d9c9f1b1ffe984aee41307f3e927f80d1f23590c */ CodeMirror.defineMode('ipythongfm', function (config, modeOptions) { var gfm_mode = CodeMirror.getMode(config, 'gfm'); var tex_mode = CodeMirror.getMode(config, 'stex'); return CodeMirror.multiplexingMode(gfm_mode, { open: '$', close: '$', mode: tex_mode, delimStyle: 'delimit' }, { // not sure this works as $$ is interpreted at (opening $, closing $, as defined just above) open: '$$', close: '$$', mode: tex_mode, delimStyle: 'delimit' }, { open: '\\(', close: '\\)', mode: tex_mode, delimStyle: 'delimit' }, { open: '\\[', close: '\\]', mode: tex_mode, delimStyle: 'delimit' }); }, 'gfm'); CodeMirror.defineMIME('text/x-ipythongfm', 'ipythongfm');