!function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(n){function l(e){e.state.placeholder&&(e.state.placeholder.parentNode.removeChild(e.state.placeholder),e.state.placeholder=null)}function t(e){l(e);var o=e.state.placeholder=document.createElement("pre");o.style.cssText="height: 0; overflow: visible",o.style.direction=e.getOption("direction"),o.className="CodeMirror-placeholder CodeMirror-line-like";var r=e.getOption("placeholder");"string"==typeof r&&(r=document.createTextNode(r)),o.appendChild(r),e.display.lineSpace.insertBefore(o,e.display.lineSpace.firstChild)}function a(e){i(e)&&t(e)}function c(e){var o=e.getWrapperElement(),r=i(e);o.className=o.className.replace(" CodeMirror-empty","")+(r?" CodeMirror-empty":""),r?t(e):l(e)}function i(e){return 1===e.lineCount()&&""===e.getLine(0)}n.defineOption("placeholder","",function(e,o,r){var t=r&&r!=n.Init;if(o&&!t)e.on("blur",a),e.on("change",c),e.on("swapDoc",c),c(e);else if(!o&&t){e.off("blur",a),e.off("change",c),e.off("swapDoc",c),l(e);var i=e.getWrapperElement();i.className=i.className.replace(" CodeMirror-empty","")}o&&!e.hasFocus()&&a(e)})});