|
|
// 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/marijnh/CodeMirror/pull/567
|
|
|
// But was later removed in
|
|
|
// https://github.com/marijnh/CodeMirror/commit/d9c9f1b1ffe984aee41307f3e927f80d1f23590c
|
|
|
|
|
|
CodeMirror.requireMode('gfm', function(){
|
|
|
CodeMirror.requireMode('stex', function(){
|
|
|
console.log('defining custom mode...');
|
|
|
CodeMirror.defineMode("ipythongfm", function(config, parserConfig) {
|
|
|
|
|
|
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"
|
|
|
},
|
|
|
{
|
|
|
open: "$$", close: "$$",
|
|
|
mode: tex_mode,
|
|
|
delimStyle: "delimit"
|
|
|
},
|
|
|
{
|
|
|
open: "\\(", close: "\\)",
|
|
|
mode: tex_mode,
|
|
|
delimStyle: "delimit"
|
|
|
},
|
|
|
{
|
|
|
open: "\\[", close: "\\]",
|
|
|
mode: tex_mode,
|
|
|
delimStyle: "delimit"
|
|
|
}
|
|
|
// .. more multiplexed styles can follow here
|
|
|
);
|
|
|
}, 'gfm');
|
|
|
|
|
|
CodeMirror.defineMIME("text/x-ipythongfm", "ipythongfm");
|
|
|
});
|
|
|
});
|
|
|
|