!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../dialog/dialog")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../dialog/dialog"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d,e){a.openDialog?a.openDialog(b,e,{value:d,selectValueOnOpen:!0,bottom:a.options.search.bottom}):e(prompt(c,d))}function c(a){return a.phrase("Jump to line:")+' '+a.phrase("(Use line:column or scroll% syntax)")+""}function d(a,b){var c=Number(b);return/^[-+]/.test(b)?a.getCursor().line+c:c-1}a.defineOption("search",{bottom:!1}),a.commands.jumpToLine=function(a){var e=a.getCursor();b(a,c(a),a.phrase("Jump to line:"),e.line+1+":"+e.ch,(function(b){if(b){var c;if(c=/^\s*([\+\-]?\d+)\s*\:\s*(\d+)\s*$/.exec(b))a.setCursor(d(a,c[1]),Number(c[2]));else if(c=/^\s*([\+\-]?\d+(\.\d+)?)\%\s*/.exec(b)){var f=Math.round(a.lineCount()*Number(c[1])/100);/^[-+]/.test(c[1])&&(f=e.line+f+1),a.setCursor(f-1,e.ch)}else(c=/^\s*\:?\s*([\+\-]?\d+)\s*/.exec(b))&&a.setCursor(d(a,c[1]),e.ch)}}))},a.keyMap.default["Alt-G"]="jumpToLine"}));