mirror of
				https://github.com/Jermolene/TiddlyWiki5
				synced 2025-11-04 09:33:00 +00:00 
			
		
		
		
	* Bump codemirror 5 plugin version to 5.65.19 * Update autocomplete * Update closebrackets * Update fullscreen * Update keymap * Update modes * Update search * Update trailingspace * Fix broken markdown mode * Add all codemirror plugins to codemirrordemo edition
		
			
				
	
	
		
			1 line
		
	
	
		
			8.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			1 line
		
	
	
		
			8.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
!function(e){"object"==typeof exports&&"object"==typeof module?e(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";var t=e.commands,c=e.Pos;function l(e,t){return e.line==t.line&&e.ch==t.ch}var o=[];function i(e){o.push(e),50<o.length&&o.shift()}function n(e){return o[o.length-(e?Math.min(e,1):1)]||""}var s=null;function u(e,t,n,r,a){null==a&&(a=e.getRange(t,n)),"grow"==r&&s&&s.cm==e&&l(t,s.pos)&&e.isClean(s.gen)?function(e){if(!o.length)return i(e);o[o.length-1]+=e}(a):!1!==r&&i(a),e.replaceRange("",t,n,"+delete"),s="grow"==r?{cm:e,pos:t,gen:e.changeGeneration()}:null}function r(e,t,n){return e.findPosH(t,n,"char",!0)}function a(e,t,n){return e.findPosH(t,n,"word",!0)}function d(e,t,n){return e.findPosV(t,n,"line",e.doc.sel.goalColumn)}function f(e,t,n){return e.findPosV(t,n,"page",e.doc.sel.goalColumn)}function p(e,t,n){for(var r=t.line,a=e.getLine(r),o=/\S/.test(n<0?a.slice(0,t.ch):a.slice(t.ch)),i=e.firstLine(),l=e.lastLine();;){if((r+=n)<i||l<r)return e.clipPos(c(r-n,n<0?0:null));a=e.getLine(r);if(/\S/.test(a))o=!0;else if(o)return c(r,0)}}function g(e,t,n){for(var r=t.line,a=t.ch,o=e.getLine(t.line),i=!1;;){var l=o.charAt(a+(n<0?-1:0));if(l){if(i&&/[!?.]/.test(l))return c(r,a+(0<n?1:0));i=i||/\w/.test(l),a+=n}else{if(r==(n<0?e.firstLine():e.lastLine()))return c(r,a);if(o=e.getLine(r+n),!/\S/.test(o))return c(r,a);r+=n,a=n<0?o.length:0}}}function C(e,t,n){var r;if(e.findMatchingBracket&&(r=e.findMatchingBracket(t,{strict:!0}))&&r.match&&(r.forward?1:-1)==n)return 0<n?c(r.to.line,r.to.ch+1):r.to;for(var a=!0;;a=!1){var o=e.getTokenAt(t),i=c(t.line,n<0?o.start:o.end);if(!(a&&0<n&&o.end==t.ch)&&/\w/.test(o.string))return i;o=e.findPosH(i,n,"char");if(l(i,o))return t;t=o}}function h(e,t){var n=e.state.emacsPrefix;return n?(L(e),"-"==n?-1:Number(n)):t?null:1}function w(t){var r="string"==typeof t?function(e){e.execCommand(t)}:t;return function(e){var t=h(e);r(e);for(var n=1;n<t;++n)r(e)}}function m(e,t,n,r){var a=h(e);a<0&&(r=-r,a=-a);for(var o=0;o<a;++o){var i=n(e,t,r);if(l(i,t))break;t=i}return t}function k(t,n){function e(e){e.extendSelection(m(e,e.getCursor(),t,n))}return e.motion=!0,e}function S(e,t,n,r){for(var a,o=e.listSelections(),i=o.length;i--;)u(e,a=o[i].head,m(e,a,t,n),r)}function A(e,t){if(e.somethingSelected()){for(var n,r=e.listSelections(),a=r.length;a--;)u(e,(n=r[a]).anchor,n.head,t);return!0}}function b(e,t){e.state.emacsPrefix?"-"!=t&&(e.state.emacsPrefix+=t):(e.state.emacsPrefix=t,e.on("keyHandled",x),e.on("inputRead",P))}var v={"Alt-G":!0,"Ctrl-X":!0,"Ctrl-Q":!0,"Ctrl-U":!0};function x(e,t){e.state.emacsPrefixMap||v.hasOwnProperty(t)||L(e)}function L(e){e.state.emacsPrefix=null,e.off("keyHandled",x),e.off("inputRead",P)}function P(e,t){var n=h(e);if(1<n&&"+input"==t.origin){for(var r=t.text.join("\n"),a="",o=1;o<n;++o)a+=r;e.replaceSelection(a)}}function R(e,t){"string"==typeof t&&(/^\d$/.test(t)||"Ctrl-U"==t)||(e.removeKeyMap(D),e.state.emacsPrefixMap=!1,e.off("keyHandled",R),e.off("inputRead",R))}function y(e){e.setExtending(!1),e.setCursor(e.getCursor())}function W(e,t,n){var r,a;e.openDialog?e.openDialog((e=t,r=document.createDocumentFragment(),(a=document.createElement("input")).setAttribute("type","text"),a.style.width="10em",r.appendChild(document.createTextNode(e+": ")),r.appendChild(a),r),n,{bottom:!0}):n(prompt(t,""))}function U(e,t){var n=e.getCursor(),r=e.findPosH(n,1,"word");e.replaceRange(t(e.getRange(n,r)),n,r),e.setCursor(r)}t.setMark=function(e){e.setCursor(e.getCursor()),e.setExtending(!e.getExtending()),e.on("change",function(){e.setExtending(!1)})},t.killRegion=function(e){u(e,e.getCursor("start"),e.getCursor("end"),!0)},t.killLineEmacs=w(function(e){var t=e.getCursor(),n=e.clipPos(c(t.line)),r=e.getRange(t,n);/\S/.test(r)||(r+="\n",n=c(t.line+1,0)),u(e,t,n,"grow",r)}),t.killRingSave=function(e){i(e.getSelection()),y(e)},t.yank=function(e){var t=e.getCursor();e.replaceRange(n(h(e)),t,t,"paste"),e.setSelection(t,e.getCursor())},t.yankPop=function(e){e.replaceSelection((1<o.length&&o.pop(),n()),"around","paste")},t.forwardChar=k(r,1),t.backwardChar=k(r,-1),t.deleteChar=function(e){S(e,r,1,!1)},t.deleteForwardChar=function(e){A(e,!1)||S(e,r,1,!1)},t.deleteBackwardChar=function(e){A(e,!1)||S(e,r,-1,!1)},t.forwardWord=k(a,1),t.backwardWord=k(a,-1),t.killWord=function(e){S(e,a,1,"grow")},t.backwardKillWord=function(e){S(e,a,-1,"grow")},t.nextLine=k(d,1),t.previousLine=k(d,-1),t.scrollDownCommand=k(f,-1),t.scrollUpCommand=k(f,1),t.backwardParagraph=k(p,-1),t.forwardParagraph=k(p,1),t.backwardSentence=k(g,-1),t.forwardSentence=k(g,1),t.killSentence=function(e){S(e,g,1,"grow")},t.backwardKillSentence=function(e){u(e,e.getCursor(),g(e,e.getCursor(),1),"grow")},t.killSexp=function(e){S(e,C,1,"grow")},t.backwardKillSexp=function(e){S(e,C,-1,"grow")},t.forwardSexp=k(C,1),t.backwardSexp=k(C,-1),t.markSexp=function(e){var t=e.getCursor();e.setSelection(m(e,t,C,1),t)},t.transposeSexps=function(e){var t=C(e,e.getCursor(),-1),n=C(e,t,1),r=C(e,n,1),a=C(e,r,-1);e.replaceRange(e.getRange(a,r)+e.getRange(n,a)+e.getRange(t,n),t,r)},t.backwardUpList=w(function(e){for(var t=e.getCursor(),n=t.line,r=t.ch,a=[];n>=e.firstLine();){for(var o=e.getLine(n),i=null==r?o.length:r;0<i;)if(")"==(r=o.charAt(--i)))a.push("(");else if("]"==r)a.push("[");else if("}"==r)a.push("{");else if(/[\(\{\[]/.test(r)&&(!a.length||a.pop()!=r))return e.extendSelection(c(n,i));--n,r=null}}),t.justOneSpace=function(e){for(var t=e.getCursor(),n=t.ch,r=t.ch,a=e.getLine(t.line);n&&/\s/.test(a.charAt(n-1));)--n;for(;r<a.length&&/\s/.test(a.charAt(r));)++r;e.replaceRange(" ",c(t.line,n),c(t.line,r))},t.openLine=w(function(e){e.replaceSelection("\n","start")}),t.transposeCharsRepeatable=w(function(e){e.execCommand("transposeChars")}),t.capitalizeWord=w(function(e){U(e,function(e){var t=e.search(/\w/);return-1==t?e:e.slice(0,t)+e.charAt(t).toUpperCase()+e.slice(t+1).toLowerCase()})}),t.upcaseWord=w(function(e){U(e,function(e){return e.toUpperCase()})}),t.downcaseWord=w(function(e){U(e,function(e){return e.toLowerCase()})}),t.undoRepeatable=w("undo"),t.keyboardQuit=function(e){e.execCommand("clearSearch"),y(e)},t.newline=w(function(e){e.replaceSelection("\n","end")}),t.gotoLine=function(t){var e=h(t,!0);if(null!=e&&0<e)return t.setCursor(e-1);W(t,"Goto line",function(e){e&&!isNaN(e=Number(e))&&e==(0|e)&&0<e&&t.setCursor(e-1)})},t.indentRigidly=function(e){e.indentSelection(h(e,!0)||e.getOption("indentUnit"))},t.exchangePointAndMark=function(e){e.setSelection(e.getCursor("head"),e.getCursor("anchor"))},t.quotedInsertTab=w("insertTab"),t.universalArgument=function(e){e.state.emacsPrefixMap=!0,e.addKeyMap(D),e.on("keyHandled",R),e.on("inputRead",R)},e.emacs={kill:u,killRegion:A,repeated:w};var M=e.keyMap.emacs=e.normalizeKeyMap({"Ctrl-W":"killRegion","Ctrl-K":"killLineEmacs","Alt-W":"killRingSave","Ctrl-Y":"yank","Alt-Y":"yankPop","Ctrl-Space":"setMark","Ctrl-Shift-2":"setMark","Ctrl-F":"forwardChar","Ctrl-B":"backwardChar",Right:"forwardChar",Left:"backwardChar","Ctrl-D":"deleteChar",Delete:"deleteForwardChar","Ctrl-H":"deleteBackwardChar",Backspace:"deleteBackwardChar","Alt-F":"forwardWord","Alt-B":"backwardWord","Alt-Right":"forwardWord","Alt-Left":"backwardWord","Alt-D":"killWord","Alt-Backspace":"backwardKillWord","Ctrl-N":"nextLine","Ctrl-P":"previousLine",Down:"nextLine",Up:"previousLine","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd",End:"goLineEnd",Home:"goLineStart","Alt-V":"scrollDownCommand","Ctrl-V":"scrollUpCommand",PageUp:"scrollDownCommand",PageDown:"scrollUpCommand","Ctrl-Up":"backwardParagraph","Ctrl-Down":"forwardParagraph","Alt-{":"backwardParagraph","Alt-}":"forwardParagraph","Alt-A":"backwardSentence","Alt-E":"forwardSentence","Alt-K":"killSentence","Ctrl-X Delete":"backwardKillSentence","Ctrl-Alt-K":"killSexp","Ctrl-Alt-Backspace":"backwardKillSexp","Ctrl-Alt-F":"forwardSexp","Ctrl-Alt-B":"backwardSexp","Shift-Ctrl-Alt-2":"markSexp","Ctrl-Alt-T":"transposeSexps","Ctrl-Alt-U":"backwardUpList","Alt-Space":"justOneSpace","Ctrl-O":"openLine","Ctrl-T":"transposeCharsRepeatable","Alt-C":"capitalizeWord","Alt-U":"upcaseWord","Alt-L":"downcaseWord","Alt-;":"toggleComment","Ctrl-/":"undoRepeatable","Shift-Ctrl--":"undoRepeatable","Ctrl-Z":"undoRepeatable","Cmd-Z":"undoRepeatable","Ctrl-X U":"undoRepeatable","Shift-Ctrl-Z":"redo","Shift-Alt-,":"goDocStart","Shift-Alt-.":"goDocEnd","Ctrl-S":"findPersistentNext","Ctrl-R":"findPersistentPrev","Ctrl-G":"keyboardQuit","Shift-Alt-5":"replace","Alt-/":"autocomplete",Enter:"newlineAndIndent","Ctrl-J":"newline",Tab:"indentAuto","Alt-G G":"gotoLine","Ctrl-X Tab":"indentRigidly","Ctrl-X Ctrl-X":"exchangePointAndMark","Ctrl-X Ctrl-S":"save","Ctrl-X Ctrl-W":"save","Ctrl-X S":"saveAll","Ctrl-X F":"open","Ctrl-X K":"close","Ctrl-X H":"selectAll","Ctrl-Q Tab":"quotedInsertTab","Ctrl-U":"universalArgument",fallthrough:"default"}),D={"Ctrl-G":L};function E(t){D[t]=function(e){b(e,t)},M["Ctrl-"+t]=function(e){b(e,t)},v["Ctrl-"+t]=!0}for(var K=0;K<10;++K)E(String(K));E("-")}); |