// 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 (function(mod) { if (typeof exports == "object" && typeof module == "object"){ // CommonJS mod(require("codemirror/lib/codemirror") ,require("codemirror/addon/mode/multiplex") ,require("codemirror/mode/gfm/gfm") ,require("codemirror/mode/stex/stex") ); } else if (typeof define == "function" && define.amd){ // AMD define(["codemirror/lib/codemirror" ,"codemirror/addon/mode/multiplex" ,"codemirror/mode/python/python" ,"codemirror/mode/stex/stex" ], mod); } else {// Plain browser env mod(CodeMirror); } })( function(CodeMirror){ "use strict"; 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" }, { // 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" } // .. more multiplexed styles can follow here ); }, 'gfm'); CodeMirror.defineMIME("text/x-ipythongfm", "ipythongfm"); })