summaryrefslogtreecommitdiff
path: root/public/vendor/codemirror/mode/haskell-literate/haskell-literate.js
diff options
context:
space:
mode:
authorWu Cheng-Han2016-01-17 14:28:04 -0600
committerWu Cheng-Han2016-01-17 14:28:04 -0600
commiteaa8ccaccb1091820d0a8d1223996a6dd057347d (patch)
tree6b4aaa3b3d1a2fed68147510142663222533775a /public/vendor/codemirror/mode/haskell-literate/haskell-literate.js
parentce65e58096d57ace02723d11a125673f9d48c293 (diff)
Upgrade CodeMirror to 5.10.1 and now support fullscreen, jump-to-line in editor
Diffstat (limited to 'public/vendor/codemirror/mode/haskell-literate/haskell-literate.js')
-rw-r--r--public/vendor/codemirror/mode/haskell-literate/haskell-literate.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/public/vendor/codemirror/mode/haskell-literate/haskell-literate.js b/public/vendor/codemirror/mode/haskell-literate/haskell-literate.js
new file mode 100644
index 00000000..9358994d
--- /dev/null
+++ b/public/vendor/codemirror/mode/haskell-literate/haskell-literate.js
@@ -0,0 +1,43 @@
+// CodeMirror, copyright (c) by Marijn Haverbeke and others
+// Distributed under an MIT license: http://codemirror.net/LICENSE
+
+(function (mod) {
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
+ mod(require("../../lib/codemirror"), require("../haskell/haskell"))
+ else if (typeof define == "function" && define.amd) // AMD
+ define(["../../lib/codemirror", "../haskell/haskell"], mod)
+ else // Plain browser env
+ mod(CodeMirror)
+})(function (CodeMirror) {
+ "use strict"
+
+ CodeMirror.defineMode("haskell-literate", function (config, parserConfig) {
+ var baseMode = CodeMirror.getMode(config, (parserConfig && parserConfig.base) || "haskell")
+
+ return {
+ startState: function () {
+ return {
+ inCode: false,
+ baseState: CodeMirror.startState(baseMode)
+ }
+ },
+ token: function (stream, state) {
+ if (stream.sol()) {
+ if (state.inCode = stream.eat(">"))
+ return "meta"
+ }
+ if (state.inCode) {
+ return baseMode.token(stream, state.baseState)
+ } else {
+ stream.skipToEnd()
+ return "comment"
+ }
+ },
+ innerMode: function (state) {
+ return state.inCode ? {state: state.baseState, mode: baseMode} : null
+ }
+ }
+ }, "haskell")
+
+ CodeMirror.defineMIME("text/x-literate-haskell", "haskell-literate")
+})