2017-01-15 14:19:48 +00:00
'use strict' ; var $jscomp = { scope : { } , findInternal : function ( b , h , e ) { b instanceof String && ( b = String ( b ) ) ; for ( var k = b . length , g = 0 ; g < k ; g ++ ) { var l = b [ g ] ; if ( h . call ( e , l , g , b ) ) return { i : g , v : l } } return { i : - 1 , v : void 0 } } } ; $jscomp . defineProperty = "function" == typeof Object . defineProperties ? Object . defineProperty : function ( b , h , e ) { if ( e . get || e . set ) throw new TypeError ( "ES3 does not support getters and setters." ) ; b != Array . prototype && b != Object . prototype && ( b [ h ] = e . value ) } ;
$jscomp . getGlobal = function ( b ) { return "undefined" != typeof window && window === b ? b : "undefined" != typeof global && null != global ? global : b } ; $jscomp . global = $jscomp . getGlobal ( this ) ; $jscomp . polyfill = function ( b , h , e , k ) { if ( h ) { e = $jscomp . global ; b = b . split ( "." ) ; for ( k = 0 ; k < b . length - 1 ; k ++ ) { var g = b [ k ] ; g in e || ( e [ g ] = { } ) ; e = e [ g ] } b = b [ b . length - 1 ] ; k = e [ b ] ; h = h ( k ) ; h != k && null != h && $jscomp . defineProperty ( e , b , { configurable : ! 0 , writable : ! 0 , value : h } ) } } ;
$jscomp . polyfill ( "Array.prototype.find" , function ( b ) { return b ? b : function ( b , e ) { return $jscomp . findInternal ( this , b , e ) . v } } , "es6-impl" , "es3" ) ;
( function ( b ) { "object" == typeof exports && "object" == typeof module ? b ( require ( "../../lib/codemirror" ) , require ( "./searchcursor" ) , require ( "../dialog/dialog" ) ) : "function" == typeof define && define . amd ? define ( [ "../../lib/codemirror" , "./searchcursor" , "../dialog/dialog" ] , b ) : b ( CodeMirror ) } ) ( function ( b ) { function h ( a , c ) { "string" == typeof a ? a = new RegExp ( a . replace ( /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g , "\\$&" ) , c ? "gi" : "g" ) : a . global || ( a = new RegExp ( a . source , a . ignoreCase ? "gi" : "g" ) ) ; return { token : function ( c ) { a . lastIndex = c . pos ;
var b = a . exec ( c . string ) ; if ( b && b . index == c . pos ) return c . pos += b [ 0 ] . length || 1 , "searching" ; b ? c . pos = b . index : c . skipToEnd ( ) } } } function e ( ) { this . overlay = this . posFrom = this . posTo = this . lastQuery = this . query = null } function k ( a ) { return a . state . search || ( a . state . search = new e ) } function g ( a ) { return "string" == typeof a && a == a . toLowerCase ( ) } function l ( a , c , b ) { return a . getSearchCursor ( c , b , g ( c ) ) } function y ( a , c , b , f , d ) { a . openDialog ( c , f , { value : b , selectValueOnOpen : ! 0 , closeOnEnter : ! 1 , onClose : function ( ) { n ( a ) } , onKeyDown : d } ) } function r ( a ,
c , b , f , d ) { a . openDialog ? a . openDialog ( c , d , { value : f , selectValueOnOpen : ! 0 } ) : d ( prompt ( b , f ) ) } function z ( a , c , b , f ) { if ( a . openConfirm ) a . openConfirm ( c , f ) ; else if ( confirm ( b ) ) f [ 0 ] ( ) } function u ( a ) { return a . replace ( /\\(.)/g , function ( a , b ) { return "n" == b ? "\n" : "r" == b ? "\r" : b } ) } function v ( a ) { var b = a . match ( /^\/(.*)\/([a-z]*)$/ ) ; if ( b ) try { a = new RegExp ( b [ 1 ] , - 1 == b [ 2 ] . indexOf ( "i" ) ? "" : "i" ) } catch ( A ) { } else a = u ( a ) ; if ( "string" == typeof a ? "" == a : a . test ( "" ) ) a = /x^/ ; return a } function p ( a , b , e ) { b . queryText = e ; b . query = v ( e ) ; a . removeOverlay ( b . overlay ,
g ( b . query ) ) ; b . overlay = h ( b . query , g ( b . query ) ) ; a . addOverlay ( b . overlay ) ; a . showMatchesOnScrollbar && ( b . annotate && ( b . annotate . clear ( ) , b . annotate = null ) , b . annotate = a . showMatchesOnScrollbar ( b . query , g ( b . query ) ) ) } function m ( a , c , e , f ) { var d = k ( a ) ; if ( d . query ) return q ( a , c ) ; var g = a . getSelection ( ) || d . lastQuery ; if ( e && a . openDialog ) { var t = null , h = function ( c , f ) { b . e _stop ( f ) ; c && ( c != d . queryText && ( p ( a , d , c ) , d . posFrom = d . posTo = a . getCursor ( ) ) , t && ( t . style . opacity = 1 ) , q ( a , f . shiftKey , function ( b , c ) { var d ; 3 > c . line && document . querySelector &&
( d = a . display . wrapper . querySelector ( ".CodeMirror-dialog" ) ) && d . getBoundingClientRect ( ) . bottom - 4 > a . cursorCoords ( c , "window" ) . top && ( ( t = d ) . style . opacity = . 4 ) } ) ) } ; y ( a , 'Search: <input type="text" style="width: 10em" class="CodeMirror-search-field"/> <span style="color: #888" class="CodeMirror-search-hint">(Use /re/ syntax for regexp search)</span>' , g , h , function ( c , d ) { var f = b . keyName ( c ) , e = b . keyMap [ a . getOption ( "keyMap" ) ] [ f ] ; e || ( e = a . getOption ( "extraKeys" ) [ f ] ) ; if ( "findNext" == e || "findPrev" == e || "findPersistentNext" ==
e || "findPersistentPrev" == e ) b . e _stop ( c ) , p ( a , k ( a ) , d ) , a . execCommand ( e ) ; else if ( "find" == e || "findPersistent" == e ) b . e _stop ( c ) , h ( d , c ) } ) ; f && g && ( p ( a , d , g ) , q ( a , c ) ) } else r ( a , 'Search: <input type="text" style="width: 10em" class="CodeMirror-search-field"/> <span style="color: #888" class="CodeMirror-search-hint">(Use /re/ syntax for regexp search)</span>' , "Search for:" , g , function ( b ) { b && ! d . query && a . operation ( function ( ) { p ( a , d , b ) ; d . posFrom = d . posTo = a . getCursor ( ) ; q ( a , c ) } ) } ) } function q ( a , c , e ) { a . operation ( function ( ) { var f =
k ( a ) , d = l ( a , f . query , c ? f . posFrom : f . posTo ) ; if ( ! d . find ( c ) && ( d = l ( a , f . query , c ? b . Pos ( a . lastLine ( ) ) : b . Pos ( a . firstLine ( ) , 0 ) ) , ! d . find ( c ) ) ) return ; a . setSelection ( d . from ( ) , d . to ( ) ) ; a . scrollIntoView ( { from : d . from ( ) , to : d . to ( ) } , 20 ) ; f . posFrom = d . from ( ) ; f . posTo = d . to ( ) ; e && e ( d . from ( ) , d . to ( ) ) } ) } function n ( a ) { a . operation ( function ( ) { var b = k ( a ) ; if ( b . lastQuery = b . query ) b . query = b . queryText = null , a . removeOverlay ( b . overlay ) , b . annotate && ( b . annotate . clear ( ) , b . annotate = null ) } ) } function w ( a , b , e ) { a . operation ( function ( ) { for ( var c = l ( a ,
b ) ; c . findNext ( ) ; ) if ( "string" != typeof b ) { var d = a . getRange ( c . from ( ) , c . to ( ) ) . match ( b ) ; c . replace ( e . replace ( /\$(\d)/g , function ( a , b ) { return d [ b ] } ) ) } else c . replace ( e ) } ) } function x ( a , b ) { if ( ! a . getOption ( "readOnly" ) ) { var c = a . getSelection ( ) || k ( a ) . lastQuery , e = b ? "Replace all:" : "Replace:" ; r ( a , e + ' <input type="text" style="width: 10em" class="CodeMirror-search-field"/> <span style="color: #888" class="CodeMirror-search-hint">(Use /re/ syntax for regexp search)</span>' , e , c , function ( c ) { c && ( c = v ( c ) , r ( a , 'With: <input type="text" style="width: 10em" class="CodeMirror-search-field"/>' ,
"Replace with:" , "" , function ( e ) { e = u ( e ) ; if ( b ) w ( a , c , e ) ; else { n ( a ) ; var d = l ( a , c , a . getCursor ( "from" ) ) , f = function ( ) { var b = d . from ( ) , h ; if ( ! ( h = d . findNext ( ) ) && ( d = l ( a , c ) , ! ( h = d . findNext ( ) ) || b && d . from ( ) . line == b . line && d . from ( ) . ch == b . ch ) ) return ; a . setSelection ( d . from ( ) , d . to ( ) ) ; a . scrollIntoView ( { from : d . from ( ) , to : d . to ( ) } ) ; z ( a , "Replace? <button>Yes</button> <button>No</button> <button>All</button> <button>Stop</button>" , "Replace?" , [ function ( ) { g ( h ) } , f , function ( ) { w ( a , c , e ) } ] ) } , g = function ( a ) { d . replace ( "string" == typeof c ?
e : e . replace ( /\$(\d)/g , function ( b , c ) { return a [ c ] } ) ) ; f ( ) } ; f ( ) } } ) ) } ) } } b . commands . find = function ( a ) { n ( a ) ; m ( a ) } ; b . commands . findPersistent = function ( a ) { n ( a ) ; m ( a , ! 1 , ! 0 ) } ; b . commands . findPersistentNext = function ( a ) { m ( a , ! 1 , ! 0 , ! 0 ) } ; b . commands . findPersistentPrev = function ( a ) { m ( a , ! 0 , ! 0 , ! 0 ) } ; b . commands . findNext = m ; b . commands . findPrev = function ( a ) { m ( a , ! 0 ) } ; b . commands . clearSearch = n ; b . commands . replace = x ; b . commands . replaceAll = function ( a ) { x ( a , ! 0 ) } } ) ;