@ -7,7 +7,7 @@
( function ( f ) { if ( typeof exports === "object" && typeof module !== "undefined" ) { module . exports = f ( ) } else if ( typeof define === "function" && define . amd ) { define ( [ ] , f ) } else { var g ; if ( typeof window !== "undefined" ) { g = window } else if ( typeof global !== "undefined" ) { g = global } else if ( typeof self !== "undefined" ) { g = self } else { g = this } g . SimpleMDE = f ( ) } } ) ( function ( ) { var define , module , exports ; return ( function e ( t , n , r ) { function s ( o , u ) { if ( ! n [ o ] ) { if ( ! t [ o ] ) { var a = typeof require == "function" && require ; if ( ! u && a ) return a ( o , ! 0 ) ; if ( i ) return i ( o , ! 0 ) ; var f = new Error ( "Cannot find module '" + o + "'" ) ; throw f . code = "MODULE_NOT_FOUND" , f } var l = n [ o ] = { exports : { } } ; t [ o ] [ 0 ] . call ( l . exports , function ( e ) { var n = t [ o ] [ 1 ] [ e ] ; return s ( n ? n : e ) } , l , l . exports , e , t , n , r ) } return n [ o ] . exports } var i = typeof require == "function" && require ; for ( var o = 0 ; o < r . length ; o ++ ) s ( r [ o ] ) ; return s } ) ( { 1 : [ function ( require , module , exports ) {
( function ( f ) { if ( typeof exports === "object" && typeof module !== "undefined" ) { module . exports = f ( ) } else if ( typeof define === "function" && define . amd ) { define ( [ ] , f ) } else { var g ; if ( typeof window !== "undefined" ) { g = window } else if ( typeof global !== "undefined" ) { g = global } else if ( typeof self !== "undefined" ) { g = self } else { g = this } g . SimpleMDE = f ( ) } } ) ( function ( ) { var define , module , exports ; return ( function e ( t , n , r ) { function s ( o , u ) { if ( ! n [ o ] ) { if ( ! t [ o ] ) { var a = typeof require == "function" && require ; if ( ! u && a ) return a ( o , ! 0 ) ; if ( i ) return i ( o , ! 0 ) ; var f = new Error ( "Cannot find module '" + o + "'" ) ; throw f . code = "MODULE_NOT_FOUND" , f } var l = n [ o ] = { exports : { } } ; t [ o ] [ 0 ] . call ( l . exports , function ( e ) { var n = t [ o ] [ 1 ] [ e ] ; return s ( n ? n : e ) } , l , l . exports , e , t , n , r ) } return n [ o ] . exports } var i = typeof require == "function" && require ; for ( var o = 0 ; o < r . length ; o ++ ) s ( r [ o ] ) ; return s } ) ( { 1 : [ function ( require , module , exports ) {
( function ( global ) {
( function ( global ) {
; Typo = global . Typo = require ( " D:\\My Web Sites\\simplemde-markdown-editor\\node_modules\\codemirror-spell-checker\\src\\js\\ typo.js") ;
; Typo = global . Typo = require ( " /Users/ruisaraiva/Development/simplemde-markdown-editor/node_modules/codemirror-spell-checker/src/js/ typo.js") ;
CodeMirror = global . CodeMirror = require ( "codemirror" ) ;
CodeMirror = global . CodeMirror = require ( "codemirror" ) ;
; var _ _browserify _shim _require _ _ = require ; ( function browserifyShim ( module , define , require ) {
; var _ _browserify _shim _require _ _ = require ; ( function browserifyShim ( module , define , require ) {
// Initialize data globally to reduce memory consumption
// Initialize data globally to reduce memory consumption
@ -105,7 +105,7 @@ if(!String.prototype.includes) {
} ) . call ( global , module , undefined , undefined ) ;
} ) . call ( global , module , undefined , undefined ) ;
} ) . call ( this , typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : { } )
} ) . call ( this , typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : { } )
} , { " D:\\My Web Sites\\simplemde-markdown-editor\\node_modules\\codemirror-spell-checker\\src\\js\\ typo.js": 2 , "codemirror" : 7 } ] , 2 : [ function ( require , module , exports ) {
} , { " /Users/ruisaraiva/Development/simplemde-markdown-editor/node_modules/codemirror-spell-checker/src/js/ typo.js": 2 , "codemirror" : 7 } ] , 2 : [ function ( require , module , exports ) {
( function ( global ) {
( function ( global ) {
; var _ _browserify _shim _require _ _ = require ; ( function browserifyShim ( module , exports , require , define , browserify _shim _ _define _ _module _ _export _ _ ) {
; var _ _browserify _shim _require _ _ = require ; ( function browserifyShim ( module , exports , require , define , browserify _shim _ _define _ _module _ _export _ _ ) {
'use strict' ;
'use strict' ;
@ -1170,6 +1170,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
// This is woefully incomplete. Suggestions for alternative methods welcome.
// This is woefully incomplete. Suggestions for alternative methods welcome.
var mobile = ios || /Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i . test ( userAgent ) ;
var mobile = ios || /Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i . test ( userAgent ) ;
var mac = ios || /Mac/ . test ( platform ) ;
var mac = ios || /Mac/ . test ( platform ) ;
var chromeOS = /\bCrOS\b/ . test ( userAgent ) ;
var windows = /win/i . test ( platform ) ;
var windows = /win/i . test ( platform ) ;
var presto _version = presto && userAgent . match ( /Version\/(\d*\.\d*)/ ) ;
var presto _version = presto && userAgent . match ( /Version\/(\d*\.\d*)/ ) ;
@ -1876,6 +1877,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
function postUpdateDisplay ( cm , update ) {
function postUpdateDisplay ( cm , update ) {
var viewport = update . viewport ;
var viewport = update . viewport ;
for ( var first = true ; ; first = false ) {
for ( var first = true ; ; first = false ) {
if ( ! first || ! cm . options . lineWrapping || update . oldDisplayWidth == displayWidth ( cm ) ) {
if ( ! first || ! cm . options . lineWrapping || update . oldDisplayWidth == displayWidth ( cm ) ) {
// Clip forced viewport to actual scrollable area.
// Clip forced viewport to actual scrollable area.
@ -1891,8 +1893,8 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
updateHeightsInViewport ( cm ) ;
updateHeightsInViewport ( cm ) ;
var barMeasure = measureForScrollbars ( cm ) ;
var barMeasure = measureForScrollbars ( cm ) ;
updateSelection ( cm ) ;
updateSelection ( cm ) ;
setDocumentHeight ( cm , barMeasure ) ;
updateScrollbars ( cm , barMeasure ) ;
updateScrollbars ( cm , barMeasure ) ;
setDocumentHeight ( cm , barMeasure ) ;
}
}
update . signal ( cm , "update" , cm ) ;
update . signal ( cm , "update" , cm ) ;
@ -1909,8 +1911,8 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
postUpdateDisplay ( cm , update ) ;
postUpdateDisplay ( cm , update ) ;
var barMeasure = measureForScrollbars ( cm ) ;
var barMeasure = measureForScrollbars ( cm ) ;
updateSelection ( cm ) ;
updateSelection ( cm ) ;
setDocumentHeight ( cm , barMeasure ) ;
updateScrollbars ( cm , barMeasure ) ;
updateScrollbars ( cm , barMeasure ) ;
setDocumentHeight ( cm , barMeasure ) ;
update . finish ( ) ;
update . finish ( ) ;
}
}
}
}
@ -1918,8 +1920,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
function setDocumentHeight ( cm , measure ) {
function setDocumentHeight ( cm , measure ) {
cm . display . sizer . style . minHeight = measure . docHeight + "px" ;
cm . display . sizer . style . minHeight = measure . docHeight + "px" ;
cm . display . heightForcer . style . top = measure . docHeight + "px" ;
cm . display . heightForcer . style . top = measure . docHeight + "px" ;
cm . display . gutters . style . height = Math . max ( measure . docHeight + cm . display . barHeight + scrollGap ( cm ) ,
cm . display . gutters . style . height = ( measure . docHeight + cm . display . barHeight + scrollGap ( cm ) ) + "px" ;
measure . clientHeight ) + "px" ;
}
}
// Read the actual heights of the rendered lines, and update their
// Read the actual heights of the rendered lines, and update their
@ -2224,9 +2225,9 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
if ( ! cm . state . focused ) { cm . display . input . focus ( ) ; onFocus ( cm ) ; }
if ( ! cm . state . focused ) { cm . display . input . focus ( ) ; onFocus ( cm ) ; }
}
}
// This will be set to a n array of strings when copying, so that,
// This will be set to a {lineWise: bool, text: [string]} object, so
// when pasting, we know what kind of selections the copied text
// that, when pasting, we know what kind of selections the copied
// was made out of.
// text was made out of.
var lastCopied = null ;
var lastCopied = null ;
function applyTextInput ( cm , inserted , deleted , sel , origin ) {
function applyTextInput ( cm , inserted , deleted , sel , origin ) {
@ -2235,14 +2236,14 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
if ( ! sel ) sel = doc . sel ;
if ( ! sel ) sel = doc . sel ;
var paste = cm . state . pasteIncoming || origin == "paste" ;
var paste = cm . state . pasteIncoming || origin == "paste" ;
var textLines = doc . splitLines ( inserted ) , multiPaste = null ;
var textLines = doc . splitLines ( inserted ) , multiPaste = null
// When pasing N lines into N selections, insert one line per selection
// When pasing N lines into N selections, insert one line per selection
if ( paste && sel . ranges . length > 1 ) {
if ( paste && sel . ranges . length > 1 ) {
if ( lastCopied && lastCopied . join( "\n" ) == inserted ) {
if ( lastCopied && lastCopied . text. join( "\n" ) == inserted ) {
if ( sel . ranges . length % lastCopied . length == 0 ) {
if ( sel . ranges . length % lastCopied . text. length == 0 ) {
multiPaste = [ ] ;
multiPaste = [ ] ;
for ( var i = 0 ; i < lastCopied . length; i ++ )
for ( var i = 0 ; i < lastCopied . text. length; i ++ )
multiPaste . push ( doc . splitLines ( lastCopied [i ] ) ) ;
multiPaste . push ( doc . splitLines ( lastCopied .text [i ] ) ) ;
}
}
} else if ( textLines . length == sel . ranges . length ) {
} else if ( textLines . length == sel . ranges . length ) {
multiPaste = map ( textLines , function ( l ) { return [ l ] ; } ) ;
multiPaste = map ( textLines , function ( l ) { return [ l ] ; } ) ;
@ -2258,6 +2259,8 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
from = Pos ( from . line , from . ch - deleted ) ;
from = Pos ( from . line , from . ch - deleted ) ;
else if ( cm . state . overwrite && ! paste ) // Handle overwrite
else if ( cm . state . overwrite && ! paste ) // Handle overwrite
to = Pos ( to . line , Math . min ( getLine ( doc , to . line ) . text . length , to . ch + lst ( textLines ) . length ) ) ;
to = Pos ( to . line , Math . min ( getLine ( doc , to . line ) . text . length , to . ch + lst ( textLines ) . length ) ) ;
else if ( lastCopied && lastCopied . lineWise && lastCopied . text . join ( "\n" ) == inserted )
from = to = Pos ( from . line , 0 )
}
}
var updateInput = cm . curOp . updateInput ;
var updateInput = cm . curOp . updateInput ;
var changeEvent = { from : from , to : to , text : multiPaste ? multiPaste [ i % multiPaste . length ] : textLines ,
var changeEvent = { from : from , to : to , text : multiPaste ? multiPaste [ i % multiPaste . length ] : textLines ,
@ -2390,18 +2393,18 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
function prepareCopyCut ( e ) {
function prepareCopyCut ( e ) {
if ( signalDOMEvent ( cm , e ) ) return
if ( signalDOMEvent ( cm , e ) ) return
if ( cm . somethingSelected ( ) ) {
if ( cm . somethingSelected ( ) ) {
lastCopied = cm . getSelections ( ) ;
lastCopied = { lineWise : false , text : cm . getSelections ( ) } ;
if ( input . inaccurateSelection ) {
if ( input . inaccurateSelection ) {
input . prevInput = "" ;
input . prevInput = "" ;
input . inaccurateSelection = false ;
input . inaccurateSelection = false ;
te . value = lastCopied . join( "\n" ) ;
te . value = lastCopied . text. join( "\n" ) ;
selectInput ( te ) ;
selectInput ( te ) ;
}
}
} else if ( ! cm . options . lineWiseCopyCut ) {
} else if ( ! cm . options . lineWiseCopyCut ) {
return ;
return ;
} else {
} else {
var ranges = copyableRanges ( cm ) ;
var ranges = copyableRanges ( cm ) ;
lastCopied = ranges . text ;
lastCopied = { lineWise : true , text : ranges . text } ;
if ( e . type == "cut" ) {
if ( e . type == "cut" ) {
cm . setSelections ( ranges . ranges , null , sel _dontScroll ) ;
cm . setSelections ( ranges . ranges , null , sel _dontScroll ) ;
} else {
} else {
@ -2749,13 +2752,13 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
function onCopyCut ( e ) {
function onCopyCut ( e ) {
if ( signalDOMEvent ( cm , e ) ) return
if ( signalDOMEvent ( cm , e ) ) return
if ( cm . somethingSelected ( ) ) {
if ( cm . somethingSelected ( ) ) {
lastCopied = cm . getSelections ( ) ;
lastCopied = { lineWise : false , text : cm . getSelections ( ) } ;
if ( e . type == "cut" ) cm . replaceSelection ( "" , null , "cut" ) ;
if ( e . type == "cut" ) cm . replaceSelection ( "" , null , "cut" ) ;
} else if ( ! cm . options . lineWiseCopyCut ) {
} else if ( ! cm . options . lineWiseCopyCut ) {
return ;
return ;
} else {
} else {
var ranges = copyableRanges ( cm ) ;
var ranges = copyableRanges ( cm ) ;
lastCopied = ranges . text ;
lastCopied = { lineWise : true , text : ranges . text } ;
if ( e . type == "cut" ) {
if ( e . type == "cut" ) {
cm . operation ( function ( ) {
cm . operation ( function ( ) {
cm . setSelections ( ranges . ranges , 0 , sel _dontScroll ) ;
cm . setSelections ( ranges . ranges , 0 , sel _dontScroll ) ;
@ -2767,12 +2770,12 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
if ( e . clipboardData && ! ios ) {
if ( e . clipboardData && ! ios ) {
e . preventDefault ( ) ;
e . preventDefault ( ) ;
e . clipboardData . clearData ( ) ;
e . clipboardData . clearData ( ) ;
e . clipboardData . setData ( "text/plain" , lastCopied . join( "\n" ) ) ;
e . clipboardData . setData ( "text/plain" , lastCopied . text. join( "\n" ) ) ;
} else {
} else {
// Old-fashioned briefly-focus-a-textarea hack
// Old-fashioned briefly-focus-a-textarea hack
var kludge = hiddenTextarea ( ) , te = kludge . firstChild ;
var kludge = hiddenTextarea ( ) , te = kludge . firstChild ;
cm . display . lineSpace . insertBefore ( kludge , cm . display . lineSpace . firstChild ) ;
cm . display . lineSpace . insertBefore ( kludge , cm . display . lineSpace . firstChild ) ;
te . value = lastCopied . join( "\n" ) ;
te . value = lastCopied . text. join( "\n" ) ;
var hadFocus = document . activeElement ;
var hadFocus = document . activeElement ;
selectInput ( te ) ;
selectInput ( te ) ;
setTimeout ( function ( ) {
setTimeout ( function ( ) {
@ -2791,9 +2794,9 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
return result ;
return result ;
} ,
} ,
showSelection : function ( info ) {
showSelection : function ( info , takeFocus ) {
if ( ! info || ! this . cm . display . view . length ) return ;
if ( ! info || ! this . cm . display . view . length ) return ;
if ( info . focus ) this . showPrimarySelection ( ) ;
if ( info . focus || takeFocus ) this . showPrimarySelection ( ) ;
this . showMultipleSelections ( info ) ;
this . showMultipleSelections ( info ) ;
} ,
} ,
@ -4229,7 +4232,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
}
}
if ( op . updatedDisplay || op . selectionChanged )
if ( op . updatedDisplay || op . selectionChanged )
op . preparedSelection = display . input . prepareSelection ( ) ;
op . preparedSelection = display . input . prepareSelection ( op . focus ) ;
}
}
function endOperation _W2 ( op ) {
function endOperation _W2 ( op ) {
@ -4242,19 +4245,19 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
cm . display . maxLineChanged = false ;
cm . display . maxLineChanged = false ;
}
}
var takeFocus = op . focus && op . focus == activeElt ( ) && ( ! document . hasFocus || document . hasFocus ( ) )
if ( op . preparedSelection )
if ( op . preparedSelection )
cm . display . input . showSelection ( op . preparedSelection ) ;
cm . display . input . showSelection ( op . preparedSelection , takeFocus ) ;
if ( op . updatedDisplay )
setDocumentHeight ( cm , op . barMeasure ) ;
if ( op . updatedDisplay || op . startHeight != cm . doc . height )
if ( op . updatedDisplay || op . startHeight != cm . doc . height )
updateScrollbars ( cm , op . barMeasure ) ;
updateScrollbars ( cm , op . barMeasure ) ;
if ( op . updatedDisplay )
setDocumentHeight ( cm , op . barMeasure ) ;
if ( op . selectionChanged ) restartBlink ( cm ) ;
if ( op . selectionChanged ) restartBlink ( cm ) ;
if ( cm . state . focused && op . updateInput )
if ( cm . state . focused && op . updateInput )
cm . display . input . reset ( op . typing ) ;
cm . display . input . reset ( op . typing ) ;
if ( op . focus && op . focus == activeElt ( ) && ( ! document . hasFocus || document . hasFocus ( ) ) )
if ( takeFocus ) ensureFocus ( op . cm ) ;
ensureFocus ( op . cm ) ;
}
}
function endOperation _finish ( op ) {
function endOperation _finish ( op ) {
@ -4624,7 +4627,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
over : function ( e ) { if ( ! signalDOMEvent ( cm , e ) ) { onDragOver ( cm , e ) ; e _stop ( e ) ; } } ,
over : function ( e ) { if ( ! signalDOMEvent ( cm , e ) ) { onDragOver ( cm , e ) ; e _stop ( e ) ; } } ,
start : function ( e ) { onDragStart ( cm , e ) ; } ,
start : function ( e ) { onDragStart ( cm , e ) ; } ,
drop : operation ( cm , onDrop ) ,
drop : operation ( cm , onDrop ) ,
leave : function ( ) { clearDragCursor ( cm ) ; }
leave : function ( e ) { if ( ! signalDOMEvent ( cm , e ) ) { clearDragCursor ( cm ) ; } }
} ;
} ;
var inp = d . input . getField ( ) ;
var inp = d . input . getField ( ) ;
@ -4809,7 +4812,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
ourIndex = doc . sel . primIndex ;
ourIndex = doc . sel . primIndex ;
}
}
if ( e. altKey ) {
if ( chromeOS ? e . shiftKey && e . metaKey : e. altKey ) {
type = "rect" ;
type = "rect" ;
if ( ! addNew ) ourRange = new Range ( start , start ) ;
if ( ! addNew ) ourRange = new Range ( start , start ) ;
start = posFromMouse ( cm , e , true , true ) ;
start = posFromMouse ( cm , e , true , true ) ;
@ -5034,6 +5037,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
if ( signalDOMEvent ( cm , e ) || eventInWidget ( cm . display , e ) ) return ;
if ( signalDOMEvent ( cm , e ) || eventInWidget ( cm . display , e ) ) return ;
e . dataTransfer . setData ( "Text" , cm . getSelection ( ) ) ;
e . dataTransfer . setData ( "Text" , cm . getSelection ( ) ) ;
e . dataTransfer . effectAllowed = "copyMove"
// Use dummy image instead of default browsers image.
// Use dummy image instead of default browsers image.
// Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there.
// Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there.
@ -6519,7 +6523,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
for ( var i = newBreaks . length - 1 ; i >= 0 ; i -- )
for ( var i = newBreaks . length - 1 ; i >= 0 ; i -- )
replaceRange ( cm . doc , val , newBreaks [ i ] , Pos ( newBreaks [ i ] . line , newBreaks [ i ] . ch + val . length ) )
replaceRange ( cm . doc , val , newBreaks [ i ] , Pos ( newBreaks [ i ] . line , newBreaks [ i ] . ch + val . length ) )
} ) ;
} ) ;
option ( "specialChars" , /[\ t\u0000-\u0019 \u00ad\u200b-\u200f\u2028\u2029\ufeff]/g, function ( cm , val , old ) {
option ( "specialChars" , /[\ u0000-\u001f\u007f \u00ad\u200b-\u200f\u2028\u2029\ufeff]/g, function ( cm , val , old ) {
cm . state . specialChars = new RegExp ( val . source + ( val . test ( "\t" ) ? "" : "|\t" ) , "g" ) ;
cm . state . specialChars = new RegExp ( val . source + ( val . test ( "\t" ) ? "" : "|\t" ) , "g" ) ;
if ( old != CodeMirror . Init ) cm . refresh ( ) ;
if ( old != CodeMirror . Init ) cm . refresh ( ) ;
} ) ;
} ) ;
@ -6848,7 +6852,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
for ( var i = 0 ; i < ranges . length ; i ++ ) {
for ( var i = 0 ; i < ranges . length ; i ++ ) {
var pos = ranges [ i ] . from ( ) ;
var pos = ranges [ i ] . from ( ) ;
var col = countColumn ( cm . getLine ( pos . line ) , pos . ch , tabSize ) ;
var col = countColumn ( cm . getLine ( pos . line ) , pos . ch , tabSize ) ;
spaces . push ( new Array ( tabSize - col % tabSize + 1 ) . join ( " " ) ) ;
spaces . push ( spaceStr ( tabSize - col % tabSize ) ) ;
}
}
cm . replaceSelections ( spaces ) ;
cm . replaceSelections ( spaces ) ;
} ,
} ,
@ -6891,6 +6895,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
ensureCursorVisible ( cm ) ;
ensureCursorVisible ( cm ) ;
} ) ;
} ) ;
} ,
} ,
openLine : function ( cm ) { cm . replaceSelection ( "\n" , "start" ) } ,
toggleOverwrite : function ( cm ) { cm . toggleOverwrite ( ) ; }
toggleOverwrite : function ( cm ) { cm . toggleOverwrite ( ) ; }
} ;
} ;
@ -6925,7 +6930,8 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
"Ctrl-F" : "goCharRight" , "Ctrl-B" : "goCharLeft" , "Ctrl-P" : "goLineUp" , "Ctrl-N" : "goLineDown" ,
"Ctrl-F" : "goCharRight" , "Ctrl-B" : "goCharLeft" , "Ctrl-P" : "goLineUp" , "Ctrl-N" : "goLineDown" ,
"Alt-F" : "goWordRight" , "Alt-B" : "goWordLeft" , "Ctrl-A" : "goLineStart" , "Ctrl-E" : "goLineEnd" ,
"Alt-F" : "goWordRight" , "Alt-B" : "goWordLeft" , "Ctrl-A" : "goLineStart" , "Ctrl-E" : "goLineEnd" ,
"Ctrl-V" : "goPageDown" , "Shift-Ctrl-V" : "goPageUp" , "Ctrl-D" : "delCharAfter" , "Ctrl-H" : "delCharBefore" ,
"Ctrl-V" : "goPageDown" , "Shift-Ctrl-V" : "goPageUp" , "Ctrl-D" : "delCharAfter" , "Ctrl-H" : "delCharBefore" ,
"Alt-D" : "delWordAfter" , "Alt-Backspace" : "delWordBefore" , "Ctrl-K" : "killLine" , "Ctrl-T" : "transposeChars"
"Alt-D" : "delWordAfter" , "Alt-Backspace" : "delWordBefore" , "Ctrl-K" : "killLine" , "Ctrl-T" : "transposeChars" ,
"Ctrl-O" : "openLine"
} ;
} ;
keyMap . macDefault = {
keyMap . macDefault = {
"Cmd-A" : "selectAll" , "Cmd-D" : "deleteLine" , "Cmd-Z" : "undo" , "Shift-Cmd-Z" : "redo" , "Cmd-Y" : "redo" ,
"Cmd-A" : "selectAll" , "Cmd-D" : "deleteLine" , "Cmd-Z" : "undo" , "Shift-Cmd-Z" : "redo" , "Cmd-Y" : "redo" ,
@ -7687,8 +7693,8 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
var fromCmp = cmp ( found . from , from ) || extraLeft ( sp . marker ) - extraLeft ( marker ) ;
var fromCmp = cmp ( found . from , from ) || extraLeft ( sp . marker ) - extraLeft ( marker ) ;
var toCmp = cmp ( found . to , to ) || extraRight ( sp . marker ) - extraRight ( marker ) ;
var toCmp = cmp ( found . to , to ) || extraRight ( sp . marker ) - extraRight ( marker ) ;
if ( fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0 ) continue ;
if ( fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0 ) continue ;
if ( fromCmp <= 0 && ( cmp( found . to , from ) > 0 || ( sp . marker . inclusiveRight && marker . inclusiveLeft ) ) ||
if ( fromCmp <= 0 && ( sp. marker . inclusiveRight && marker . inclusiveLeft ? cmp ( found . to , from ) >= 0 : cmp( found . to , from ) > 0 ) ||
fromCmp >= 0 && ( cmp( found . from , to ) < 0 || ( sp . marker . inclusiveLeft && marker . inclusiveRight ) ) )
fromCmp >= 0 && ( sp. marker . inclusiveRight && marker . inclusiveLeft ? cmp ( found . from , to ) <= 0 : cmp( found . from , to ) < 0 ) )
return true ;
return true ;
}
}
}
}
@ -8090,8 +8096,11 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
}
}
// See issue #2901
// See issue #2901
if ( webkit && /\bcm-tab\b/ . test ( builder . content . lastChild . className ) )
if ( webkit ) {
var last = builder . content . lastChild
if ( /\bcm-tab\b/ . test ( last . className ) || ( last . querySelector && last . querySelector ( ".cm-tab" ) ) )
builder . content . className = "cm-tab-wrap-hack" ;
builder . content . className = "cm-tab-wrap-hack" ;
}
signal ( cm , "renderLine" , cm , lineView . line , builder . pre ) ;
signal ( cm , "renderLine" , cm , lineView . line , builder . pre ) ;
if ( builder . pre . className )
if ( builder . pre . className )
@ -8443,13 +8452,16 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
if ( at <= sz ) {
if ( at <= sz ) {
child . insertInner ( at , lines , height ) ;
child . insertInner ( at , lines , height ) ;
if ( child . lines && child . lines . length > 50 ) {
if ( child . lines && child . lines . length > 50 ) {
while ( child . lines . length > 50 ) {
// To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced.
var spilled = child . lines . splice ( child . lines . length - 25 , 25 ) ;
// Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest.
var newleaf = new LeafChunk ( spilled ) ;
var remaining = child . lines . length % 25 + 25
child . height -= newleaf . height ;
for ( var pos = remaining ; pos < child . lines . length ; ) {
this . children . splice ( i + 1 , 0 , newleaf ) ;
var leaf = new LeafChunk ( child . lines . slice ( pos , pos += 25 ) ) ;
newleaf . parent = this ;
child . height -= leaf . height ;
}
this . children . splice ( ++ i , 0 , leaf ) ;
leaf . parent = this ;
}
child . lines = child . lines . slice ( 0 , remaining ) ;
this . maybeSpill ( ) ;
this . maybeSpill ( ) ;
}
}
break ;
break ;
@ -8754,9 +8766,9 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
var spans = line . markedSpans ;
var spans = line . markedSpans ;
if ( spans ) for ( var i = 0 ; i < spans . length ; i ++ ) {
if ( spans ) for ( var i = 0 ; i < spans . length ; i ++ ) {
var span = spans [ i ] ;
var span = spans [ i ] ;
if ( ! ( span . to != null && lineNo == from . line && from . ch > span . to ||
if ( ! ( span . to != null && lineNo == from . line && from . ch > = span . to ||
span . from == null && lineNo != from . line ||
span . from == null && lineNo != from . line ||
span . from != null && lineNo == to . line && span . from > to . ch ) &&
span . from != null && lineNo == to . line && span . from > = to . ch ) &&
( ! filter || filter ( span . marker ) ) )
( ! filter || filter ( span . marker ) ) )
found . push ( span . marker . parent || span . marker ) ;
found . push ( span . marker . parent || span . marker ) ;
}
}
@ -8775,9 +8787,9 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
} ,
} ,
posFromIndex : function ( off ) {
posFromIndex : function ( off ) {
var ch , lineNo = this . first ;
var ch , lineNo = this . first , sepSize = this . lineSeparator ( ) . length ;
this . iter ( function ( line ) {
this . iter ( function ( line ) {
var sz = line . text . length + 1 ;
var sz = line . text . length + sepSize ;
if ( sz > off ) { ch = off ; return true ; }
if ( sz > off ) { ch = off ; return true ; }
off -= sz ;
off -= sz ;
++ lineNo ;
++ lineNo ;
@ -8788,8 +8800,9 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
coords = clipPos ( this , coords ) ;
coords = clipPos ( this , coords ) ;
var index = coords . ch ;
var index = coords . ch ;
if ( coords . line < this . first || coords . ch < 0 ) return 0 ;
if ( coords . line < this . first || coords . ch < 0 ) return 0 ;
var sepSize = this . lineSeparator ( ) . length ;
this . iter ( this . first , coords . line , function ( line ) {
this . iter ( this . first , coords . line , function ( line ) {
index += line . text . length + 1 ;
index += line . text . length + sepSize ;
} ) ;
} ) ;
return index ;
return index ;
} ,
} ,
@ -10018,7 +10031,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
// THE END
// THE END
CodeMirror . version = "5.1 2.1 ";
CodeMirror . version = "5.1 5.3 ";
return CodeMirror ;
return CodeMirror ;
} ) ;
} ) ;
@ -10246,7 +10259,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
, setextHeaderRE = /^ *(?:\={1,}|-{1,})\s*$/
, setextHeaderRE = /^ *(?:\={1,}|-{1,})\s*$/
, textRE = /^[^#!\[\]*_\\<>` "'(~]+/
, textRE = /^[^#!\[\]*_\\<>` "'(~]+/
, fencedCodeRE = new RegExp ( "^(" + ( modeCfg . fencedCodeBlocks === true ? "~~~+|```+" : modeCfg . fencedCodeBlocks ) +
, fencedCodeRE = new RegExp ( "^(" + ( modeCfg . fencedCodeBlocks === true ? "~~~+|```+" : modeCfg . fencedCodeBlocks ) +
")[ \\t]*([\\w+# ]*)") ;
")[ \\t]*([\\w+# \- ]*)") ;
function switchInline ( stream , state , f ) {
function switchInline ( stream , state , f ) {
state . f = state . inline = f ;
state . f = state . inline = f ;
@ -10376,7 +10389,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
state . fencedChars = match [ 1 ]
state . fencedChars = match [ 1 ]
// try switching mode
// try switching mode
state . localMode = getMode ( match [ 2 ] ) ;
state . localMode = getMode ( match [ 2 ] ) ;
if ( state . localMode ) state . localState = state. localMode . startState ( ) ;
if ( state . localMode ) state . localState = CodeMirror. startState ( state . localMode ) ;
state . f = state . block = local ;
state . f = state . block = local ;
if ( modeCfg . highlightFormatting ) state . formatting = "code-block" ;
if ( modeCfg . highlightFormatting ) state . formatting = "code-block" ;
state . code = - 1
state . code = - 1
@ -10595,13 +10608,13 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
return tokenTypes . image ;
return tokenTypes . image ;
}
}
if ( ch === '[' && stream . match ( / .*\](\(.*\)| ?\[.* \])/, false ) ) {
if ( ch === '[' && stream . match ( / [^\]]*\](\(.*\)| ?\[.*? \])/, false ) ) {
state . linkText = true ;
state . linkText = true ;
if ( modeCfg . highlightFormatting ) state . formatting = "link" ;
if ( modeCfg . highlightFormatting ) state . formatting = "link" ;
return getType ( state ) ;
return getType ( state ) ;
}
}
if ( ch === ']' && state . linkText && stream . match ( /\(.* \)| ?\[.*\]/, false ) ) {
if ( ch === ']' && state . linkText && stream . match ( /\(.* ? \)| ?\[.*? \]/, false ) ) {
if ( modeCfg . highlightFormatting ) state . formatting = "link" ;
if ( modeCfg . highlightFormatting ) state . formatting = "link" ;
var type = getType ( state ) ;
var type = getType ( state ) ;
state . linkText = false ;
state . linkText = false ;
@ -10754,7 +10767,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
}
}
var ch = stream . next ( ) ;
var ch = stream . next ( ) ;
if ( ch === '(' || ch === '[' ) {
if ( ch === '(' || ch === '[' ) {
state . f = state . inline = getLinkHrefInside ( ch === "(" ? ")" : "]" );
state . f = state . inline = getLinkHrefInside ( ch === "(" ? ")" : "]" , 0 );
if ( modeCfg . highlightFormatting ) state . formatting = "link-string" ;
if ( modeCfg . highlightFormatting ) state . formatting = "link-string" ;
state . linkHref = true ;
state . linkHref = true ;
return getType ( state ) ;
return getType ( state ) ;
@ -10762,6 +10775,11 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
return 'error' ;
return 'error' ;
}
}
var linkRE = {
")" : /^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/ ,
"]" : /^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\\]]|\\.)*\])*?(?=\])/
}
function getLinkHrefInside ( endChar ) {
function getLinkHrefInside ( endChar ) {
return function ( stream , state ) {
return function ( stream , state ) {
var ch = stream . next ( ) ;
var ch = stream . next ( ) ;
@ -10774,10 +10792,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
return returnState ;
return returnState ;
}
}
if ( stream . match ( inlineRE ( endChar ) , true ) ) {
stream . match ( linkRE [ endChar ] )
stream . backUp ( 1 ) ;
}
state . linkHref = true ;
state . linkHref = true ;
return getType ( state ) ;
return getType ( state ) ;
} ;
} ;
@ -10825,18 +10840,6 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
return tokenTypes . linkHref + " url" ;
return tokenTypes . linkHref + " url" ;
}
}
var savedInlineRE = [ ] ;
function inlineRE ( endChar ) {
if ( ! savedInlineRE [ endChar ] ) {
// Escape endChar for RegExp (taken from http://stackoverflow.com/a/494122/526741)
endChar = ( endChar + '' ) . replace ( /([.?*+^$[\]\\(){}|-])/g , "\\$1" ) ;
// Match any non-endChar, escaped character, as well as the closing
// endChar.
savedInlineRE [ endChar ] = new RegExp ( '^(?:[^\\\\]|\\\\.)*?(' + endChar + ')' ) ;
}
return savedInlineRE [ endChar ] ;
}
var mode = {
var mode = {
startState : function ( ) {
startState : function ( ) {
return {
return {
@ -11054,11 +11057,12 @@ CodeMirror.defineMIME("text/x-markdown", "markdown");
{ name : "Modelica" , mime : "text/x-modelica" , mode : "modelica" , ext : [ "mo" ] } ,
{ name : "Modelica" , mime : "text/x-modelica" , mode : "modelica" , ext : [ "mo" ] } ,
{ name : "MUMPS" , mime : "text/x-mumps" , mode : "mumps" , ext : [ "mps" ] } ,
{ name : "MUMPS" , mime : "text/x-mumps" , mode : "mumps" , ext : [ "mps" ] } ,
{ name : "MS SQL" , mime : "text/x-mssql" , mode : "sql" } ,
{ name : "MS SQL" , mime : "text/x-mssql" , mode : "sql" } ,
{ name : "mbox" , mime : "application/mbox" , mode : "mbox" , ext : [ "mbox" ] } ,
{ name : "MySQL" , mime : "text/x-mysql" , mode : "sql" } ,
{ name : "MySQL" , mime : "text/x-mysql" , mode : "sql" } ,
{ name : "Nginx" , mime : "text/x-nginx-conf" , mode : "nginx" , file : /nginx.*\.conf$/i } ,
{ name : "Nginx" , mime : "text/x-nginx-conf" , mode : "nginx" , file : /nginx.*\.conf$/i } ,
{ name : "NSIS" , mime : "text/x-nsis" , mode : "nsis" , ext : [ "nsh" , "nsi" ] } ,
{ name : "NSIS" , mime : "text/x-nsis" , mode : "nsis" , ext : [ "nsh" , "nsi" ] } ,
{ name : "NTriples" , mime : "text/n-triples" , mode : "ntriples" , ext : [ "nt" ] } ,
{ name : "NTriples" , mime : "text/n-triples" , mode : "ntriples" , ext : [ "nt" ] } ,
{ name : "Objective C" , mime : "text/x-objectivec" , mode : "clike" , ext : [ "m" , "mm" ] },
{ name : "Objective C" , mime : "text/x-objectivec" , mode : "clike" , ext : [ "m" , "mm" ] , alias : [ "objective-c" , "objc" ] },
{ name : "OCaml" , mime : "text/x-ocaml" , mode : "mllike" , ext : [ "ml" , "mli" , "mll" , "mly" ] } ,
{ name : "OCaml" , mime : "text/x-ocaml" , mode : "mllike" , ext : [ "ml" , "mli" , "mll" , "mly" ] } ,
{ name : "Octave" , mime : "text/x-octave" , mode : "octave" , ext : [ "m" ] } ,
{ name : "Octave" , mime : "text/x-octave" , mode : "octave" , ext : [ "m" ] } ,
{ name : "Oz" , mime : "text/x-oz" , mode : "oz" , ext : [ "oz" ] } ,
{ name : "Oz" , mime : "text/x-oz" , mode : "oz" , ext : [ "oz" ] } ,
@ -11069,9 +11073,10 @@ CodeMirror.defineMIME("text/x-markdown", "markdown");
{ name : "Pig" , mime : "text/x-pig" , mode : "pig" , ext : [ "pig" ] } ,
{ name : "Pig" , mime : "text/x-pig" , mode : "pig" , ext : [ "pig" ] } ,
{ name : "Plain Text" , mime : "text/plain" , mode : "null" , ext : [ "txt" , "text" , "conf" , "def" , "list" , "log" ] } ,
{ name : "Plain Text" , mime : "text/plain" , mode : "null" , ext : [ "txt" , "text" , "conf" , "def" , "list" , "log" ] } ,
{ name : "PLSQL" , mime : "text/x-plsql" , mode : "sql" , ext : [ "pls" ] } ,
{ name : "PLSQL" , mime : "text/x-plsql" , mode : "sql" , ext : [ "pls" ] } ,
{ name : "PowerShell" , mime : "application/x-powershell" , mode : "powershell" , ext : [ "ps1" , "psd1" , "psm1" ] } ,
{ name : "Properties files" , mime : "text/x-properties" , mode : "properties" , ext : [ "properties" , "ini" , "in" ] , alias : [ "ini" , "properties" ] } ,
{ name : "Properties files" , mime : "text/x-properties" , mode : "properties" , ext : [ "properties" , "ini" , "in" ] , alias : [ "ini" , "properties" ] } ,
{ name : "ProtoBuf" , mime : "text/x-protobuf" , mode : "protobuf" , ext : [ "proto" ] } ,
{ name : "ProtoBuf" , mime : "text/x-protobuf" , mode : "protobuf" , ext : [ "proto" ] } ,
{ name : "Python" , mime : "text/x-python" , mode : "python" , ext : [ " py", "pyw" ] } ,
{ name : "Python" , mime : "text/x-python" , mode : "python" , ext : [ " BUILD", "bzl" , " py", "pyw" ] , file : /^(BUCK|BUILD)$/ } ,
{ name : "Puppet" , mime : "text/x-puppet" , mode : "puppet" , ext : [ "pp" ] } ,
{ name : "Puppet" , mime : "text/x-puppet" , mode : "puppet" , ext : [ "pp" ] } ,
{ name : "Q" , mime : "text/x-q" , mode : "q" , ext : [ "q" ] } ,
{ name : "Q" , mime : "text/x-q" , mode : "q" , ext : [ "q" ] } ,
{ name : "R" , mime : "text/x-rsrc" , mode : "r" , ext : [ "r" ] , alias : [ "rscript" ] } ,
{ name : "R" , mime : "text/x-rsrc" , mode : "r" , ext : [ "r" ] , alias : [ "rscript" ] } ,
@ -11080,6 +11085,7 @@ CodeMirror.defineMIME("text/x-markdown", "markdown");
{ name : "RPM Spec" , mime : "text/x-rpm-spec" , mode : "rpm" , ext : [ "spec" ] } ,
{ name : "RPM Spec" , mime : "text/x-rpm-spec" , mode : "rpm" , ext : [ "spec" ] } ,
{ name : "Ruby" , mime : "text/x-ruby" , mode : "ruby" , ext : [ "rb" ] , alias : [ "jruby" , "macruby" , "rake" , "rb" , "rbx" ] } ,
{ name : "Ruby" , mime : "text/x-ruby" , mode : "ruby" , ext : [ "rb" ] , alias : [ "jruby" , "macruby" , "rake" , "rb" , "rbx" ] } ,
{ name : "Rust" , mime : "text/x-rustsrc" , mode : "rust" , ext : [ "rs" ] } ,
{ name : "Rust" , mime : "text/x-rustsrc" , mode : "rust" , ext : [ "rs" ] } ,
{ name : "SAS" , mime : "text/x-sas" , mode : "sas" , ext : [ "sas" ] } ,
{ name : "Sass" , mime : "text/x-sass" , mode : "sass" , ext : [ "sass" ] } ,
{ name : "Sass" , mime : "text/x-sass" , mode : "sass" , ext : [ "sass" ] } ,
{ name : "Scala" , mime : "text/x-scala" , mode : "clike" , ext : [ "scala" ] } ,
{ name : "Scala" , mime : "text/x-scala" , mode : "clike" , ext : [ "scala" ] } ,
{ name : "Scheme" , mime : "text/x-scheme" , mode : "scheme" , ext : [ "scm" , "ss" ] } ,
{ name : "Scheme" , mime : "text/x-scheme" , mode : "scheme" , ext : [ "scm" , "ss" ] } ,
@ -11111,6 +11117,7 @@ CodeMirror.defineMIME("text/x-markdown", "markdown");
{ name : "Turtle" , mime : "text/turtle" , mode : "turtle" , ext : [ "ttl" ] } ,
{ name : "Turtle" , mime : "text/turtle" , mode : "turtle" , ext : [ "ttl" ] } ,
{ name : "TypeScript" , mime : "application/typescript" , mode : "javascript" , ext : [ "ts" ] , alias : [ "ts" ] } ,
{ name : "TypeScript" , mime : "application/typescript" , mode : "javascript" , ext : [ "ts" ] , alias : [ "ts" ] } ,
{ name : "Twig" , mime : "text/x-twig" , mode : "twig" } ,
{ name : "Twig" , mime : "text/x-twig" , mode : "twig" } ,
{ name : "Web IDL" , mime : "text/x-webidl" , mode : "webidl" , ext : [ "webidl" ] } ,
{ name : "VB.NET" , mime : "text/x-vb" , mode : "vb" , ext : [ "vb" ] } ,
{ name : "VB.NET" , mime : "text/x-vb" , mode : "vb" , ext : [ "vb" ] } ,
{ name : "VBScript" , mime : "text/vbscript" , mode : "vbscript" , ext : [ "vbs" ] } ,
{ name : "VBScript" , mime : "text/vbscript" , mode : "vbscript" , ext : [ "vbs" ] } ,
{ name : "Velocity" , mime : "text/velocity" , mode : "velocity" , ext : [ "vtl" ] } ,
{ name : "Velocity" , mime : "text/velocity" , mode : "velocity" , ext : [ "vtl" ] } ,
@ -11118,6 +11125,7 @@ CodeMirror.defineMIME("text/x-markdown", "markdown");
{ name : "VHDL" , mime : "text/x-vhdl" , mode : "vhdl" , ext : [ "vhd" , "vhdl" ] } ,
{ name : "VHDL" , mime : "text/x-vhdl" , mode : "vhdl" , ext : [ "vhd" , "vhdl" ] } ,
{ name : "XML" , mimes : [ "application/xml" , "text/xml" ] , mode : "xml" , ext : [ "xml" , "xsl" , "xsd" ] , alias : [ "rss" , "wsdl" , "xsd" ] } ,
{ name : "XML" , mimes : [ "application/xml" , "text/xml" ] , mode : "xml" , ext : [ "xml" , "xsl" , "xsd" ] , alias : [ "rss" , "wsdl" , "xsd" ] } ,
{ name : "XQuery" , mime : "application/xquery" , mode : "xquery" , ext : [ "xy" , "xquery" ] } ,
{ name : "XQuery" , mime : "application/xquery" , mode : "xquery" , ext : [ "xy" , "xquery" ] } ,
{ name : "Yacas" , mime : "text/x-yacas" , mode : "yacas" , ext : [ "ys" ] } ,
{ name : "YAML" , mime : "text/x-yaml" , mode : "yaml" , ext : [ "yaml" , "yml" ] , alias : [ "yml" ] } ,
{ name : "YAML" , mime : "text/x-yaml" , mode : "yaml" , ext : [ "yaml" , "yml" ] , alias : [ "yml" ] } ,
{ name : "Z80" , mime : "text/x-z80" , mode : "z80" , ext : [ "z80" ] } ,
{ name : "Z80" , mime : "text/x-z80" , mode : "z80" , ext : [ "z80" ] } ,
{ name : "mscgen" , mime : "text/x-mscgen" , mode : "mscgen" , ext : [ "mscgen" , "mscin" , "msc" ] } ,
{ name : "mscgen" , mime : "text/x-mscgen" , mode : "mscgen" , ext : [ "mscgen" , "mscin" , "msc" ] } ,
@ -11566,6 +11574,195 @@ if (!CodeMirror.mimeModes.hasOwnProperty("text/html"))
} ) ;
} ) ;
} , { "../../lib/codemirror" : 7 } ] , 12 : [ function ( require , module , exports ) {
} , { "../../lib/codemirror" : 7 } ] , 12 : [ function ( require , module , exports ) {
// 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 ( "../yaml/yaml" ) )
else if ( typeof define == "function" && define . amd ) // AMD
define ( [ "../../lib/codemirror" , "../yaml/yaml" ] , mod )
else // Plain browser env
mod ( CodeMirror )
} ) ( function ( CodeMirror ) {
var START = 0 , FRONTMATTER = 1 , BODY = 2
// a mixed mode for Markdown text with an optional YAML front matter
CodeMirror . defineMode ( "yaml-frontmatter" , function ( config , parserConfig ) {
var yamlMode = CodeMirror . getMode ( config , "yaml" )
var innerMode = CodeMirror . getMode ( config , parserConfig && parserConfig . base || "gfm" )
function curMode ( state ) {
return state . state == BODY ? innerMode : yamlMode
}
return {
startState : function ( ) {
return {
state : START ,
inner : CodeMirror . startState ( yamlMode )
}
} ,
copyState : function ( state ) {
return {
state : state . state ,
inner : CodeMirror . copyState ( curMode ( state ) , state . inner )
}
} ,
token : function ( stream , state ) {
if ( state . state == START ) {
if ( stream . match ( /---/ , false ) ) {
state . state = FRONTMATTER
return yamlMode . token ( stream , state . inner )
} else {
state . state = BODY
state . inner = CodeMirror . startState ( innerMode )
return innerMode . token ( stream , state . inner )
}
} else if ( state . state == FRONTMATTER ) {
var end = stream . sol ( ) && stream . match ( /---/ , false )
var style = yamlMode . token ( stream , state . inner )
if ( end ) {
state . state = BODY
state . inner = CodeMirror . startState ( innerMode )
}
return style
} else {
return innerMode . token ( stream , state . inner )
}
} ,
innerMode : function ( state ) {
return { mode : curMode ( state ) , state : state . inner }
} ,
blankLine : function ( state ) {
var mode = curMode ( state )
if ( mode . blankLine ) return mode . blankLine ( state . inner )
}
}
} )
} ) ;
} , { "../../lib/codemirror" : 7 , "../yaml/yaml" : 13 } ] , 13 : [ function ( require , module , exports ) {
// 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" ) ) ;
else if ( typeof define == "function" && define . amd ) // AMD
define ( [ "../../lib/codemirror" ] , mod ) ;
else // Plain browser env
mod ( CodeMirror ) ;
} ) ( function ( CodeMirror ) {
"use strict" ;
CodeMirror . defineMode ( "yaml" , function ( ) {
var cons = [ 'true' , 'false' , 'on' , 'off' , 'yes' , 'no' ] ;
var keywordRegex = new RegExp ( "\\b((" + cons . join ( ")|(" ) + "))$" , 'i' ) ;
return {
token : function ( stream , state ) {
var ch = stream . peek ( ) ;
var esc = state . escaped ;
state . escaped = false ;
/* comments */
if ( ch == "#" && ( stream . pos == 0 || /\s/ . test ( stream . string . charAt ( stream . pos - 1 ) ) ) ) {
stream . skipToEnd ( ) ;
return "comment" ;
}
if ( stream . match ( /^('([^']|\\.)*'?|"([^"]|\\.)*"?)/ ) )
return "string" ;
if ( state . literal && stream . indentation ( ) > state . keyCol ) {
stream . skipToEnd ( ) ; return "string" ;
} else if ( state . literal ) { state . literal = false ; }
if ( stream . sol ( ) ) {
state . keyCol = 0 ;
state . pair = false ;
state . pairStart = false ;
/* document start */
if ( stream . match ( /---/ ) ) { return "def" ; }
/* document end */
if ( stream . match ( /\.\.\./ ) ) { return "def" ; }
/* array list item */
if ( stream . match ( /\s*-\s+/ ) ) { return 'meta' ; }
}
/* inline pairs/lists */
if ( stream . match ( /^(\{|\}|\[|\])/ ) ) {
if ( ch == '{' )
state . inlinePairs ++ ;
else if ( ch == '}' )
state . inlinePairs -- ;
else if ( ch == '[' )
state . inlineList ++ ;
else
state . inlineList -- ;
return 'meta' ;
}
/* list seperator */
if ( state . inlineList > 0 && ! esc && ch == ',' ) {
stream . next ( ) ;
return 'meta' ;
}
/* pairs seperator */
if ( state . inlinePairs > 0 && ! esc && ch == ',' ) {
state . keyCol = 0 ;
state . pair = false ;
state . pairStart = false ;
stream . next ( ) ;
return 'meta' ;
}
/* start of value of a pair */
if ( state . pairStart ) {
/* block literals */
if ( stream . match ( /^\s*(\||\>)\s*/ ) ) { state . literal = true ; return 'meta' ; } ;
/* references */
if ( stream . match ( /^\s*(\&|\*)[a-z0-9\._-]+\b/i ) ) { return 'variable-2' ; }
/* numbers */
if ( state . inlinePairs == 0 && stream . match ( /^\s*-?[0-9\.\,]+\s?$/ ) ) { return 'number' ; }
if ( state . inlinePairs > 0 && stream . match ( /^\s*-?[0-9\.\,]+\s?(?=(,|}))/ ) ) { return 'number' ; }
/* keywords */
if ( stream . match ( keywordRegex ) ) { return 'keyword' ; }
}
/* pairs (associative arrays) -> key */
if ( ! state . pair && stream . match ( /^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/ ) ) {
state . pair = true ;
state . keyCol = stream . indentation ( ) ;
return "atom" ;
}
if ( state . pair && stream . match ( /^:\s*/ ) ) { state . pairStart = true ; return 'meta' ; }
/* nothing found, continue */
state . pairStart = false ;
state . escaped = ( ch == '\\' ) ;
stream . next ( ) ;
return null ;
} ,
startState : function ( ) {
return {
pair : false ,
pairStart : false ,
keyCol : 0 ,
inlinePairs : 0 ,
inlineList : 0 ,
literal : false ,
escaped : false
} ;
}
} ;
} ) ;
CodeMirror . defineMIME ( "text/x-yaml" , "yaml" ) ;
} ) ;
} , { "../../lib/codemirror" : 7 } ] , 14 : [ function ( require , module , exports ) {
( function ( global ) {
( function ( global ) {
/ * *
/ * *
* marked - a markdown parser
* marked - a markdown parser
@ -12854,7 +13051,7 @@ if (typeof module !== 'undefined' && typeof exports === 'object') {
} ( ) ) ;
} ( ) ) ;
} ) . call ( this , typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : { } )
} ) . call ( this , typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : { } )
} , { } ] , 1 3 : [ function ( require , module , exports ) {
} , { } ] , 1 5 : [ function ( require , module , exports ) {
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
// Distributed under an MIT license: http://codemirror.net/LICENSE
@ -12900,7 +13097,7 @@ CodeMirror.commands.shiftTabAndUnindentMarkdownList = function (cm) {
}
}
} ;
} ;
} , { "codemirror" : 7 } ] , 1 4 : [ function ( require , module , exports ) {
} , { "codemirror" : 7 } ] , 1 6 : [ function ( require , module , exports ) {
/*global require,module*/
/*global require,module*/
"use strict" ;
"use strict" ;
var CodeMirror = require ( "codemirror" ) ;
var CodeMirror = require ( "codemirror" ) ;
@ -12912,6 +13109,8 @@ require("codemirror/addon/mode/overlay.js");
require ( "codemirror/addon/display/placeholder.js" ) ;
require ( "codemirror/addon/display/placeholder.js" ) ;
require ( "codemirror/mode/gfm/gfm.js" ) ;
require ( "codemirror/mode/gfm/gfm.js" ) ;
require ( "codemirror/mode/xml/xml.js" ) ;
require ( "codemirror/mode/xml/xml.js" ) ;
require ( "codemirror/mode/yaml/yaml.js" ) ;
require ( "codemirror/mode/yaml-frontmatter/yaml-frontmatter.js" ) ;
require ( "spell-checker" ) ;
require ( "spell-checker" ) ;
var marked = require ( "marked" ) ;
var marked = require ( "marked" ) ;
@ -14366,11 +14565,11 @@ SimpleMDE.prototype.render = function(el) {
if ( options . spellChecker !== false ) {
if ( options . spellChecker !== false ) {
mode = "spell-checker" ;
mode = "spell-checker" ;
backdrop = options . parsingConfig ;
backdrop = options . parsingConfig ;
backdrop . name = "gfm" ;
backdrop . name = options . mode || "gfm" ;
backdrop . gitHubSpice = false ;
backdrop . gitHubSpice = false ;
} else {
} else {
mode = options . parsingConfig ;
mode = options . parsingConfig ;
mode . name = "gfm" ;
mode . name = options . mode || "gfm" ;
mode . gitHubSpice = false ;
mode . gitHubSpice = false ;
}
}
@ -14906,5 +15105,5 @@ SimpleMDE.prototype.toTextArea = function() {
} ;
} ;
module . exports = SimpleMDE ;
module . exports = SimpleMDE ;
} , { "./codemirror/tablist" : 1 3 , "codemirror" : 7 , "codemirror/addon/display/fullscreen.js" : 3 , "codemirror/addon/display/placeholder.js" : 4 , "codemirror/addon/edit/continuelist.js" : 5 , "codemirror/addon/mode/overlay.js" : 6 , "codemirror/mode/gfm/gfm.js" : 8 , "codemirror/mode/markdown/markdown.js" : 9 , "codemirror/mode/xml/xml.js" : 11 , " marked": 12 , "spell-checker" : 1 } ] } , { } , [ 1 4] ) ( 14 )
} , { "./codemirror/tablist" : 1 5 , "codemirror" : 7 , "codemirror/addon/display/fullscreen.js" : 3 , "codemirror/addon/display/placeholder.js" : 4 , "codemirror/addon/edit/continuelist.js" : 5 , "codemirror/addon/mode/overlay.js" : 6 , "codemirror/mode/gfm/gfm.js" : 8 , "codemirror/mode/markdown/markdown.js" : 9 , "codemirror/mode/xml/xml.js" : 11 , " codemirror/mode/yaml-frontmatter/yaml-frontmatter.js": 12 , "codemirror/mode/yaml/yaml.js" : 13 , "marked" : 14 , "spell-checker" : 1 } ] } , { } , [ 1 6] ) ( 16 )
} ) ;
} ) ;