@@ -1475,7 +1475,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
14751475 if ( horiz . clientWidth ) scroll ( horiz . scrollLeft , "horizontal" ) ;
14761476 } ) ;
14771477
1478- this . checkedOverlay = false ;
1478+ this . checkedZeroWidth = false ;
14791479 // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8).
14801480 if ( ie && ie_version < 8 ) this . horiz . style . minHeight = this . vert . style . minWidth = "18px" ;
14811481 }
@@ -1510,29 +1510,43 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
15101510 this . horiz . firstChild . style . width = "0" ;
15111511 }
15121512
1513- if ( ! this . checkedOverlay && measure . clientHeight > 0 ) {
1514- if ( sWidth == 0 ) this . overlayHack ( ) ;
1515- this . checkedOverlay = true ;
1513+ if ( ! this . checkedZeroWidth && measure . clientHeight > 0 ) {
1514+ if ( sWidth == 0 ) this . zeroWidthHack ( ) ;
1515+ this . checkedZeroWidth = true ;
15161516 }
15171517
15181518 return { right : needsV ? sWidth : 0 , bottom : needsH ? sWidth : 0 } ;
15191519 } ,
15201520 setScrollLeft : function ( pos ) {
15211521 if ( this . horiz . scrollLeft != pos ) this . horiz . scrollLeft = pos ;
1522+ if ( this . disableHoriz ) this . enableZeroWidthBar ( this . horiz , this . disableHoriz ) ;
15221523 } ,
15231524 setScrollTop : function ( pos ) {
15241525 if ( this . vert . scrollTop != pos ) this . vert . scrollTop = pos ;
1526+ if ( this . disableVert ) this . enableZeroWidthBar ( this . vert , this . disableVert ) ;
15251527 } ,
1526- overlayHack : function ( ) {
1528+ zeroWidthHack : function ( ) {
15271529 var w = mac && ! mac_geMountainLion ? "12px" : "18px" ;
1528- this . horiz . style . minHeight = this . vert . style . minWidth = w ;
1529- var self = this ;
1530- var barMouseDown = function ( e ) {
1531- if ( e_target ( e ) != self . vert && e_target ( e ) != self . horiz )
1532- operation ( self . cm , onMouseDown ) ( e ) ;
1533- } ;
1534- on ( this . vert , "mousedown" , barMouseDown ) ;
1535- on ( this . horiz , "mousedown" , barMouseDown ) ;
1530+ this . horiz . style . height = this . vert . style . width = w ;
1531+ this . horiz . style . pointerEvents = this . vert . style . pointerEvents = "none" ;
1532+ this . disableHoriz = new Delayed ;
1533+ this . disableVert = new Delayed ;
1534+ } ,
1535+ enableZeroWidthBar : function ( bar , delay ) {
1536+ bar . style . pointerEvents = "auto" ;
1537+ function maybeDisable ( ) {
1538+ // To find out whether the scrollbar is still visible, we
1539+ // check whether the element under the pixel in the bottom
1540+ // left corner of the scrollbar box is the scrollbar box
1541+ // itself (when the bar is still visible) or its filler child
1542+ // (when the bar is hidden). If it is still visible, we keep
1543+ // it enabled, if it's hidden, we disable pointer events.
1544+ var box = bar . getBoundingClientRect ( ) ;
1545+ var elt = document . elementFromPoint ( box . left + 1 , box . bottom - 1 ) ;
1546+ if ( elt != bar ) bar . style . pointerEvents = "none" ;
1547+ else delay . set ( 1000 , maybeDisable ) ;
1548+ }
1549+ delay . set ( 1000 , maybeDisable ) ;
15361550 } ,
15371551 clear : function ( ) {
15381552 var parent = this . horiz . parentNode ;
@@ -4158,7 +4172,8 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
41584172
41594173 if ( cm . state . focused && op . updateInput )
41604174 cm . display . input . reset ( op . typing ) ;
4161- if ( op . focus && op . focus == activeElt ( ) ) ensureFocus ( op . cm ) ;
4175+ if ( op . focus && op . focus == activeElt ( ) && ( ! document . hasFocus || document . hasFocus ( ) ) )
4176+ ensureFocus ( op . cm ) ;
41624177 }
41634178
41644179 function endOperation_finish ( op ) {
@@ -4843,7 +4858,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
48434858
48444859 // Determines whether an event happened in the gutter, and fires the
48454860 // handlers for the corresponding event.
4846- function gutterEvent ( cm , e , type , prevent , signalfn ) {
4861+ function gutterEvent ( cm , e , type , prevent ) {
48474862 try { var mX = e . clientX , mY = e . clientY ; }
48484863 catch ( e ) { return false ; }
48494864 if ( mX >= Math . floor ( cm . display . gutters . getBoundingClientRect ( ) . right ) ) return false ;
@@ -4860,14 +4875,14 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
48604875 if ( g && g . getBoundingClientRect ( ) . right >= mX ) {
48614876 var line = lineAtHeight ( cm . doc , mY ) ;
48624877 var gutter = cm . options . gutters [ i ] ;
4863- signalfn ( cm , type , cm , line , gutter , e ) ;
4878+ signal ( cm , type , cm , line , gutter , e ) ;
48644879 return e_defaultPrevented ( e ) ;
48654880 }
48664881 }
48674882 }
48684883
48694884 function clickInGutter ( cm , e ) {
4870- return gutterEvent ( cm , e , "gutterClick" , true , signalLater ) ;
4885+ return gutterEvent ( cm , e , "gutterClick" , true ) ;
48714886 }
48724887
48734888 // Kludge to work around strange IE behavior where it'll sometimes
@@ -5306,7 +5321,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
53065321
53075322 function contextMenuInGutter ( cm , e ) {
53085323 if ( ! hasHandler ( cm , "gutterContextMenu" ) ) return false ;
5309- return gutterEvent ( cm , e , "gutterContextMenu" , false , signal ) ;
5324+ return gutterEvent ( cm , e , "gutterContextMenu" , false ) ;
53105325 }
53115326
53125327 // UPDATING
@@ -12811,7 +12826,9 @@ var shortcuts = {
1281112826
1281212827var isMobile = function ( ) {
1281312828 var check = false ;
12814- ( function ( a ) { if ( / ( a n d r o i d | b b \d + | m e e g o ) .+ m o b i l e | a v a n t g o | b a d a \/ | b l a c k b e r r y | b l a z e r | c o m p a l | e l a i n e | f e n n e c | h i p t o p | i e m o b i l e | i p ( h o n e | o d ) | i r i s | k i n d l e | l g e | m a e m o | m i d p | m m p | m o b i l e .+ f i r e f o x | n e t f r o n t | o p e r a m ( o b | i n ) i | p a l m ( o s ) ? | p h o n e | p ( i x i | r e ) \/ | p l u c k e r | p o c k e t | p s p | s e r i e s ( 4 | 6 ) 0 | s y m b i a n | t r e o | u p \. ( b r o w s e r | l i n k ) | v o d a f o n e | w a p | w i n d o w s c e | x d a | x i i n o | a n d r o i d | i p a d | p l a y b o o k | s i l k / i. test ( a ) || / 1 2 0 7 | 6 3 1 0 | 6 5 9 0 | 3 g s o | 4 t h p | 5 0 [ 1 - 6 ] i | 7 7 0 s | 8 0 2 s | a w a | a b a c | a c ( e r | o o | s \- ) | a i ( k o | r n ) | a l ( a v | c a | c o ) | a m o i | a n ( e x | n y | y w ) | a p t u | a r ( c h | g o ) | a s ( t e | u s ) | a t t w | a u ( d i | \- m | r | s ) | a v a n | b e ( c k | l l | n q ) | b i ( l b | r d ) | b l ( a c | a z ) | b r ( e | v ) w | b u m b | b w \- ( n | u ) | c 5 5 \/ | c a p i | c c w a | c d m \- | c e l l | c h t m | c l d c | c m d \- | c o ( m p | n d ) | c r a w | d a ( i t | l l | n g ) | d b t e | d c \- s | d e v i | d i c a | d m o b | d o ( c | p ) o | d s ( 1 2 | \- d ) | e l ( 4 9 | a i ) | e m ( l 2 | u l ) | e r ( i c | k 0 ) | e s l 8 | e z ( [ 4 - 7 ] 0 | o s | w a | z e ) | f e t c | f l y ( \- | _ ) | g 1 u | g 5 6 0 | g e n e | g f \- 5 | g \- m o | g o ( \. w | o d ) | g r ( a d | u n ) | h a i e | h c i t | h d \- ( m | p | t ) | h e i \- | h i ( p t | t a ) | h p ( i | i p ) | h s \- c | h t ( c ( \- | | _ | a | g | p | s | t ) | t p ) | h u ( a w | t c ) | i \- ( 2 0 | g o | m a ) | i 2 3 0 | i a c ( | \- | \/ ) | i b r o | i d e a | i g 0 1 | i k o m | i m 1 k | i n n o | i p a q | i r i s | j a ( t | v ) a | j b r o | j e m u | j i g s | k d d i | k e j i | k g t ( | \/ ) | k l o n | k p t | k w c \- | k y o ( c | k ) | l e ( n o | x i ) | l g ( g | \/ ( k | l | u ) | 5 0 | 5 4 | \- [ a - w ] ) | l i b w | l y n x | m 1 \- w | m 3 g a | m 5 0 \/ | m a ( t e | u i | x o ) | m c ( 0 1 | 2 1 | c a ) | m \- c r | m e ( r c | r i ) | m i ( o 8 | o a | t s ) | m m e f | m o ( 0 1 | 0 2 | b i | d e | d o | t ( \- | | o | v ) | z z ) | m t ( 5 0 | p 1 | v ) | m w b p | m y w a | n 1 0 [ 0 - 2 ] | n 2 0 [ 2 - 3 ] | n 3 0 ( 0 | 2 ) | n 5 0 ( 0 | 2 | 5 ) | n 7 ( 0 ( 0 | 1 ) | 1 0 ) | n e ( ( c | m ) \- | o n | t f | w f | w g | w t ) | n o k ( 6 | i ) | n z p h | o 2 i m | o p ( t i | w v ) | o r a n | o w g 1 | p 8 0 0 | p a n ( a | d | t ) | p d x g | p g ( 1 3 | \- ( [ 1 - 8 ] | c ) ) | p h i l | p i r e | p l ( a y | u c ) | p n \- 2 | p o ( c k | r t | s e ) | p r o x | p s i o | p t \- g | q a \- a | q c ( 0 7 | 1 2 | 2 1 | 3 2 | 6 0 | \- [ 2 - 7 ] | i \- ) | q t e k | r 3 8 0 | r 6 0 0 | r a k s | r i m 9 | r o ( v e | z o ) | s 5 5 \/ | s a ( g e | m a | m m | m s | n y | v a ) | s c ( 0 1 | h \- | o o | p \- ) | s d k \/ | s e ( c ( \- | 0 | 1 ) | 4 7 | m c | n d | r i ) | s g h \- | s h a r | s i e ( \- | m ) | s k \- 0 | s l ( 4 5 | i d ) | s m ( a l | a r | b 3 | i t | t 5 ) | s o ( f t | n y ) | s p ( 0 1 | h \- | v \- | v ) | s y ( 0 1 | m b ) | t 2 ( 1 8 | 5 0 ) | t 6 ( 0 0 | 1 0 | 1 8 ) | t a ( g t | l k ) | t c l \- | t d g \- | t e l ( i | m ) | t i m \- | t \- m o | t o ( p l | s h ) | t s ( 7 0 | m \- | m 3 | m 5 ) | t x \- 9 | u p ( \. b | g 1 | s i ) | u t s t | v 4 0 0 | v 7 5 0 | v e r i | v i ( r g | t e ) | v k ( 4 0 | 5 [ 0 - 3 ] | \- v ) | v m 4 0 | v o d a | v u l c | v x ( 5 2 | 5 3 | 6 0 | 6 1 | 7 0 | 8 0 | 8 1 | 8 3 | 8 5 | 9 8 ) | w 3 c ( \- | ) | w e b c | w h i t | w i ( g | n c | n w ) | w m l b | w o n u | x 7 0 0 | y a s \- | y o u r | z e t o | z t e \- / i. test ( a . substr ( 0 , 4 ) ) ) check = true ; } ) ( navigator . userAgent || navigator . vendor || window . opera ) ;
12829+ ( function ( a ) {
12830+ if ( / ( a n d r o i d | b b \d + | m e e g o ) .+ m o b i l e | a v a n t g o | b a d a \/ | b l a c k b e r r y | b l a z e r | c o m p a l | e l a i n e | f e n n e c | h i p t o p | i e m o b i l e | i p ( h o n e | o d ) | i r i s | k i n d l e | l g e | m a e m o | m i d p | m m p | m o b i l e .+ f i r e f o x | n e t f r o n t | o p e r a m ( o b | i n ) i | p a l m ( o s ) ? | p h o n e | p ( i x i | r e ) \/ | p l u c k e r | p o c k e t | p s p | s e r i e s ( 4 | 6 ) 0 | s y m b i a n | t r e o | u p \. ( b r o w s e r | l i n k ) | v o d a f o n e | w a p | w i n d o w s c e | x d a | x i i n o | a n d r o i d | i p a d | p l a y b o o k | s i l k / i. test ( a ) || / 1 2 0 7 | 6 3 1 0 | 6 5 9 0 | 3 g s o | 4 t h p | 5 0 [ 1 - 6 ] i | 7 7 0 s | 8 0 2 s | a w a | a b a c | a c ( e r | o o | s \- ) | a i ( k o | r n ) | a l ( a v | c a | c o ) | a m o i | a n ( e x | n y | y w ) | a p t u | a r ( c h | g o ) | a s ( t e | u s ) | a t t w | a u ( d i | \- m | r | s ) | a v a n | b e ( c k | l l | n q ) | b i ( l b | r d ) | b l ( a c | a z ) | b r ( e | v ) w | b u m b | b w \- ( n | u ) | c 5 5 \/ | c a p i | c c w a | c d m \- | c e l l | c h t m | c l d c | c m d \- | c o ( m p | n d ) | c r a w | d a ( i t | l l | n g ) | d b t e | d c \- s | d e v i | d i c a | d m o b | d o ( c | p ) o | d s ( 1 2 | \- d ) | e l ( 4 9 | a i ) | e m ( l 2 | u l ) | e r ( i c | k 0 ) | e s l 8 | e z ( [ 4 - 7 ] 0 | o s | w a | z e ) | f e t c | f l y ( \- | _ ) | g 1 u | g 5 6 0 | g e n e | g f \- 5 | g \- m o | g o ( \. w | o d ) | g r ( a d | u n ) | h a i e | h c i t | h d \- ( m | p | t ) | h e i \- | h i ( p t | t a ) | h p ( i | i p ) | h s \- c | h t ( c ( \- | | _ | a | g | p | s | t ) | t p ) | h u ( a w | t c ) | i \- ( 2 0 | g o | m a ) | i 2 3 0 | i a c ( | \- | \/ ) | i b r o | i d e a | i g 0 1 | i k o m | i m 1 k | i n n o | i p a q | i r i s | j a ( t | v ) a | j b r o | j e m u | j i g s | k d d i | k e j i | k g t ( | \/ ) | k l o n | k p t | k w c \- | k y o ( c | k ) | l e ( n o | x i ) | l g ( g | \/ ( k | l | u ) | 5 0 | 5 4 | \- [ a - w ] ) | l i b w | l y n x | m 1 \- w | m 3 g a | m 5 0 \/ | m a ( t e | u i | x o ) | m c ( 0 1 | 2 1 | c a ) | m \- c r | m e ( r c | r i ) | m i ( o 8 | o a | t s ) | m m e f | m o ( 0 1 | 0 2 | b i | d e | d o | t ( \- | | o | v ) | z z ) | m t ( 5 0 | p 1 | v ) | m w b p | m y w a | n 1 0 [ 0 - 2 ] | n 2 0 [ 2 - 3 ] | n 3 0 ( 0 | 2 ) | n 5 0 ( 0 | 2 | 5 ) | n 7 ( 0 ( 0 | 1 ) | 1 0 ) | n e ( ( c | m ) \- | o n | t f | w f | w g | w t ) | n o k ( 6 | i ) | n z p h | o 2 i m | o p ( t i | w v ) | o r a n | o w g 1 | p 8 0 0 | p a n ( a | d | t ) | p d x g | p g ( 1 3 | \- ( [ 1 - 8 ] | c ) ) | p h i l | p i r e | p l ( a y | u c ) | p n \- 2 | p o ( c k | r t | s e ) | p r o x | p s i o | p t \- g | q a \- a | q c ( 0 7 | 1 2 | 2 1 | 3 2 | 6 0 | \- [ 2 - 7 ] | i \- ) | q t e k | r 3 8 0 | r 6 0 0 | r a k s | r i m 9 | r o ( v e | z o ) | s 5 5 \/ | s a ( g e | m a | m m | m s | n y | v a ) | s c ( 0 1 | h \- | o o | p \- ) | s d k \/ | s e ( c ( \- | 0 | 1 ) | 4 7 | m c | n d | r i ) | s g h \- | s h a r | s i e ( \- | m ) | s k \- 0 | s l ( 4 5 | i d ) | s m ( a l | a r | b 3 | i t | t 5 ) | s o ( f t | n y ) | s p ( 0 1 | h \- | v \- | v ) | s y ( 0 1 | m b ) | t 2 ( 1 8 | 5 0 ) | t 6 ( 0 0 | 1 0 | 1 8 ) | t a ( g t | l k ) | t c l \- | t d g \- | t e l ( i | m ) | t i m \- | t \- m o | t o ( p l | s h ) | t s ( 7 0 | m \- | m 3 | m 5 ) | t x \- 9 | u p ( \. b | g 1 | s i ) | u t s t | v 4 0 0 | v 7 5 0 | v e r i | v i ( r g | t e ) | v k ( 4 0 | 5 [ 0 - 3 ] | \- v ) | v m 4 0 | v o d a | v u l c | v x ( 5 2 | 5 3 | 6 0 | 6 1 | 7 0 | 8 0 | 8 1 | 8 3 | 8 5 | 9 8 ) | w 3 c ( \- | ) | w e b c | w h i t | w i ( g | n c | n w ) | w m l b | w o n u | x 7 0 0 | y a s \- | y o u r | z e t o | z t e \- / i. test ( a . substr ( 0 , 4 ) ) ) check = true ;
12831+ } ) ( navigator . userAgent || navigator . vendor || window . opera ) ;
1281512832 return check ;
1281612833} ;
1281712834
@@ -13041,34 +13058,34 @@ function toggleOrderedList(editor) {
1304113058 _toggleLine ( cm , "ordered-list" ) ;
1304213059}
1304313060
13044-
1304513061/**
1304613062 * Action for drawing a link.
1304713063 */
1304813064function drawLink ( editor ) {
1304913065 var cm = editor . codemirror ;
1305013066 var stat = getState ( cm ) ;
13051- _replaceSelection ( cm , stat . link , "[" , "](http://)" ) ;
13067+ var options = editor . options ;
13068+ _replaceSelection ( cm , stat . link , options . replaceTexts . link ) ;
1305213069}
1305313070
13054-
1305513071/**
1305613072 * Action for drawing an img.
1305713073 */
1305813074function drawImage ( editor ) {
1305913075 var cm = editor . codemirror ;
1306013076 var stat = getState ( cm ) ;
13061- _replaceSelection ( cm , stat . image , "" ) ;
13077+ var options = editor . options ;
13078+ _replaceSelection ( cm , stat . image , options . replaceTexts . image ) ;
1306213079}
1306313080
13064-
1306513081/**
1306613082 * Action for drawing a horizontal rule.
1306713083 */
1306813084function drawHorizontalRule ( editor ) {
1306913085 var cm = editor . codemirror ;
1307013086 var stat = getState ( cm ) ;
13071- _replaceSelection ( cm , stat . image , "" , "\n\n-----\n\n" ) ;
13087+ var options = editor . options ;
13088+ _replaceSelection ( cm , stat . image , options . replaceTexts . horizontalRule ) ;
1307213089}
1307313090
1307413091
@@ -13180,11 +13197,13 @@ function togglePreview(editor) {
1318013197 toggleSideBySide ( editor ) ;
1318113198}
1318213199
13183- function _replaceSelection ( cm , active , start , end ) {
13200+ function _replaceSelection ( cm , active , startEnd ) {
1318413201 if ( / e d i t o r - p r e v i e w - a c t i v e / . test ( cm . getWrapperElement ( ) . lastChild . className ) )
1318513202 return ;
1318613203
1318713204 var text ;
13205+ var start = startEnd [ 0 ] ;
13206+ var end = startEnd [ 1 ] ;
1318813207 var startPoint = cm . getCursor ( "start" ) ;
1318913208 var endPoint = cm . getCursor ( "end" ) ;
1319013209 if ( active ) {
@@ -13385,6 +13404,35 @@ function _toggleBlock(editor, type, start_chars, end_chars) {
1338513404 cm . focus ( ) ;
1338613405}
1338713406
13407+ // Merge the properties of one object into another.
13408+ function _mergeProperties ( target , source ) {
13409+ for ( var property in source ) {
13410+ if ( source . hasOwnProperty ( property ) ) {
13411+ if ( source [ property ] instanceof Array ) {
13412+ target [ property ] = source [ property ] . concat ( target [ property ] instanceof Array ? target [ property ] : [ ] ) ;
13413+ } else if (
13414+ source [ property ] !== null &&
13415+ typeof source [ property ] === "object" &&
13416+ source [ property ] . constructor === Object
13417+ ) {
13418+ target [ property ] = _mergeProperties ( target [ property ] || { } , source [ property ] ) ;
13419+ } else {
13420+ target [ property ] = source [ property ] ;
13421+ }
13422+ }
13423+ }
13424+
13425+ return target ;
13426+ }
13427+
13428+ // Merge an arbitrary number of objects into one.
13429+ function extend ( target ) {
13430+ for ( var i = 1 ; i < arguments . length ; i ++ ) {
13431+ target = _mergeProperties ( target , arguments [ i ] ) ;
13432+ }
13433+
13434+ return target ;
13435+ }
1338813436
1338913437/* The right word count in respect for CJK. */
1339013438function wordCount ( data ) {
@@ -13526,6 +13574,12 @@ var toolbarBuiltInButtons = {
1352613574 }
1352713575} ;
1352813576
13577+ var replaceTexts = {
13578+ link : [ "[" , "](http://)" ] ,
13579+ image : [ "" ] ,
13580+ horizontalRule : [ "" , "\n\n-----\n\n" ]
13581+ } ;
13582+
1352913583
1353013584/**
1353113585 * Interface of SimpleMDE.
@@ -13598,6 +13652,10 @@ function SimpleMDE(options) {
1359813652 options . parsingConfig = options . parsingConfig || { } ;
1359913653
1360013654
13655+ // Merging the replaceTexts, with the given options
13656+ options . replaceTexts = extend ( { } , replaceTexts , options . replaceTexts || { } ) ;
13657+
13658+
1360113659 // Update this options
1360213660 this . options = options ;
1360313661
@@ -13848,7 +13906,7 @@ SimpleMDE.prototype.createToolbar = function(items) {
1384813906
1384913907 if ( self . options . hideIcons && self . options . hideIcons . indexOf ( items [ i ] . name ) != - 1 )
1385013908 continue ;
13851-
13909+
1385213910 // Fullscreen does not work well on mobile devices (even tablets)
1385313911 // In the future, hopefully this can be resolved
1385413912 if ( ( items [ i ] . name == "fullscreen" || items [ i ] . name == "side-by-side" ) && isMobile ( ) )
@@ -14050,21 +14108,21 @@ SimpleMDE.prototype.isPreviewActive = function() {
1405014108 var cm = this . codemirror ;
1405114109 var wrapper = cm . getWrapperElement ( ) ;
1405214110 var preview = wrapper . lastChild ;
14053-
14111+
1405414112 return / e d i t o r - p r e v i e w - a c t i v e / . test ( preview . className ) ;
1405514113} ;
1405614114
1405714115SimpleMDE . prototype . isSideBySideActive = function ( ) {
1405814116 var cm = this . codemirror ;
1405914117 var wrapper = cm . getWrapperElement ( ) ;
1406014118 var preview = wrapper . nextSibling ;
14061-
14119+
1406214120 return / e d i t o r - p r e v i e w - a c t i v e - s i d e / . test ( preview . className ) ;
1406314121} ;
1406414122
1406514123SimpleMDE . prototype . isFullscreenActive = function ( ) {
1406614124 var cm = this . codemirror ;
14067-
14125+
1406814126 return cm . getOption ( "fullScreen" ) ;
1406914127} ;
1407014128
0 commit comments