mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-27 16:26:31 +01:00 
			
		
		
		
	upgrade code mirror to 5.65.15 and fix modes requiring multiplex or overlay, fixes #4279
This commit is contained in:
		
							
								
								
									
										2
									
								
								libraries/codemirror/addon/lint/eslint.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								libraries/codemirror/addon/lint/eslint.js
									
									
									
									
										vendored
									
									
								
							| @@ -46,7 +46,7 @@ | |||||||
|         const errors = new eslint().verify(text, { |         const errors = new eslint().verify(text, { | ||||||
|             root: true, |             root: true, | ||||||
|             parserOptions: { |             parserOptions: { | ||||||
|                 ecmaVersion: 2022 |                 ecmaVersion: "latest" | ||||||
|             }, |             }, | ||||||
|             extends: ['eslint:recommended', 'airbnb-base'], |             extends: ['eslint:recommended', 'airbnb-base'], | ||||||
|             env: { |             env: { | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								libraries/codemirror/addon/lint/lint.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								libraries/codemirror/addon/lint/lint.js
									
									
									
									
										vendored
									
									
								
							| @@ -24,8 +24,10 @@ | |||||||
|  |  | ||||||
|     function position(e) { |     function position(e) { | ||||||
|       if (!tt.parentNode) return CodeMirror.off(document, "mousemove", position); |       if (!tt.parentNode) return CodeMirror.off(document, "mousemove", position); | ||||||
|       tt.style.top = Math.max(0, e.clientY - tt.offsetHeight - 5) + "px"; |       var top = Math.max(0, e.clientY - tt.offsetHeight - 5); | ||||||
|       tt.style.left = (e.clientX + 5) + "px"; |       var left = Math.max(0, Math.min(e.clientX + 5, tt.ownerDocument.defaultView.innerWidth - tt.offsetWidth)); | ||||||
|  |       tt.style.top = top + "px" | ||||||
|  |       tt.style.left = left + "px"; | ||||||
|     } |     } | ||||||
|     CodeMirror.on(document, "mousemove", position); |     CodeMirror.on(document, "mousemove", position); | ||||||
|     position(e); |     position(e); | ||||||
| @@ -199,10 +201,6 @@ | |||||||
|       var anns = annotations[line]; |       var anns = annotations[line]; | ||||||
|       if (!anns) continue; |       if (!anns) continue; | ||||||
|  |  | ||||||
|       // filter out duplicate messages |  | ||||||
|       var message = []; |  | ||||||
|       anns = anns.filter(function(item) { return message.indexOf(item.message) > -1 ? false : message.push(item.message) }); |  | ||||||
|  |  | ||||||
|       var maxSeverity = null; |       var maxSeverity = null; | ||||||
|       var tipLabel = state.hasGutter && document.createDocumentFragment(); |       var tipLabel = state.hasGutter && document.createDocumentFragment(); | ||||||
|  |  | ||||||
| @@ -220,9 +218,8 @@ | |||||||
|           __annotation: ann |           __annotation: ann | ||||||
|         })); |         })); | ||||||
|       } |       } | ||||||
|       // use original annotations[line] to show multiple messages |  | ||||||
|       if (state.hasGutter) |       if (state.hasGutter) | ||||||
|         cm.setGutterMarker(line, GUTTER_ID, makeMarker(cm, tipLabel, maxSeverity, annotations[line].length > 1, |         cm.setGutterMarker(line, GUTTER_ID, makeMarker(cm, tipLabel, maxSeverity, anns.length > 1, | ||||||
|                                                        options.tooltips)); |                                                        options.tooltips)); | ||||||
|  |  | ||||||
|       if (options.highlightLines) |       if (options.highlightLines) | ||||||
|   | |||||||
							
								
								
									
										136
									
								
								libraries/codemirror/addon/mode/multiplex.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								libraries/codemirror/addon/mode/multiplex.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,136 @@ | |||||||
|  | // CodeMirror, copyright (c) by Marijn Haverbeke and others | ||||||
|  | // Distributed under an MIT license: https://codemirror.net/5/LICENSE | ||||||
|  |  | ||||||
|  | (function(mod) { | ||||||
|  |   if (typeof exports == "object" && typeof module == "object") // CommonJS | ||||||
|  |     mod(require("../../lib/codemirror")); | ||||||
|  |   else if (typeof define == "function" && define.amd) // AMD | ||||||
|  |     define(["../../lib/codemirror"], mod); | ||||||
|  |   else // Plain browser env | ||||||
|  |     mod(CodeMirror); | ||||||
|  | })(function(CodeMirror) { | ||||||
|  | "use strict"; | ||||||
|  |  | ||||||
|  | CodeMirror.multiplexingMode = function(outer /*, others */) { | ||||||
|  |   // Others should be {open, close, mode [, delimStyle] [, innerStyle] [, parseDelimiters]} objects | ||||||
|  |   var others = Array.prototype.slice.call(arguments, 1); | ||||||
|  |  | ||||||
|  |   function indexOf(string, pattern, from, returnEnd) { | ||||||
|  |     if (typeof pattern == "string") { | ||||||
|  |       var found = string.indexOf(pattern, from); | ||||||
|  |       return returnEnd && found > -1 ? found + pattern.length : found; | ||||||
|  |     } | ||||||
|  |     var m = pattern.exec(from ? string.slice(from) : string); | ||||||
|  |     return m ? m.index + from + (returnEnd ? m[0].length : 0) : -1; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   return { | ||||||
|  |     startState: function() { | ||||||
|  |       return { | ||||||
|  |         outer: CodeMirror.startState(outer), | ||||||
|  |         innerActive: null, | ||||||
|  |         inner: null, | ||||||
|  |         startingInner: false | ||||||
|  |       }; | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     copyState: function(state) { | ||||||
|  |       return { | ||||||
|  |         outer: CodeMirror.copyState(outer, state.outer), | ||||||
|  |         innerActive: state.innerActive, | ||||||
|  |         inner: state.innerActive && CodeMirror.copyState(state.innerActive.mode, state.inner), | ||||||
|  |         startingInner: state.startingInner | ||||||
|  |       }; | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     token: function(stream, state) { | ||||||
|  |       if (!state.innerActive) { | ||||||
|  |         var cutOff = Infinity, oldContent = stream.string; | ||||||
|  |         for (var i = 0; i < others.length; ++i) { | ||||||
|  |           var other = others[i]; | ||||||
|  |           var found = indexOf(oldContent, other.open, stream.pos); | ||||||
|  |           if (found == stream.pos) { | ||||||
|  |             if (!other.parseDelimiters) stream.match(other.open); | ||||||
|  |             state.startingInner = !!other.parseDelimiters | ||||||
|  |             state.innerActive = other; | ||||||
|  |  | ||||||
|  |             // Get the outer indent, making sure to handle CodeMirror.Pass | ||||||
|  |             var outerIndent = 0; | ||||||
|  |             if (outer.indent) { | ||||||
|  |               var possibleOuterIndent = outer.indent(state.outer, "", ""); | ||||||
|  |               if (possibleOuterIndent !== CodeMirror.Pass) outerIndent = possibleOuterIndent; | ||||||
|  |             } | ||||||
|  |  | ||||||
|  |             state.inner = CodeMirror.startState(other.mode, outerIndent); | ||||||
|  |             return other.delimStyle && (other.delimStyle + " " + other.delimStyle + "-open"); | ||||||
|  |           } else if (found != -1 && found < cutOff) { | ||||||
|  |             cutOff = found; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |         if (cutOff != Infinity) stream.string = oldContent.slice(0, cutOff); | ||||||
|  |         var outerToken = outer.token(stream, state.outer); | ||||||
|  |         if (cutOff != Infinity) stream.string = oldContent; | ||||||
|  |         return outerToken; | ||||||
|  |       } else { | ||||||
|  |         var curInner = state.innerActive, oldContent = stream.string; | ||||||
|  |         if (!curInner.close && stream.sol()) { | ||||||
|  |           state.innerActive = state.inner = null; | ||||||
|  |           return this.token(stream, state); | ||||||
|  |         } | ||||||
|  |         var found = curInner.close && !state.startingInner ? | ||||||
|  |             indexOf(oldContent, curInner.close, stream.pos, curInner.parseDelimiters) : -1; | ||||||
|  |         if (found == stream.pos && !curInner.parseDelimiters) { | ||||||
|  |           stream.match(curInner.close); | ||||||
|  |           state.innerActive = state.inner = null; | ||||||
|  |           return curInner.delimStyle && (curInner.delimStyle + " " + curInner.delimStyle + "-close"); | ||||||
|  |         } | ||||||
|  |         if (found > -1) stream.string = oldContent.slice(0, found); | ||||||
|  |         var innerToken = curInner.mode.token(stream, state.inner); | ||||||
|  |         if (found > -1) stream.string = oldContent; | ||||||
|  |         else if (stream.pos > stream.start) state.startingInner = false | ||||||
|  |  | ||||||
|  |         if (found == stream.pos && curInner.parseDelimiters) | ||||||
|  |           state.innerActive = state.inner = null; | ||||||
|  |  | ||||||
|  |         if (curInner.innerStyle) { | ||||||
|  |           if (innerToken) innerToken = innerToken + " " + curInner.innerStyle; | ||||||
|  |           else innerToken = curInner.innerStyle; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return innerToken; | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     indent: function(state, textAfter, line) { | ||||||
|  |       var mode = state.innerActive ? state.innerActive.mode : outer; | ||||||
|  |       if (!mode.indent) return CodeMirror.Pass; | ||||||
|  |       return mode.indent(state.innerActive ? state.inner : state.outer, textAfter, line); | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     blankLine: function(state) { | ||||||
|  |       var mode = state.innerActive ? state.innerActive.mode : outer; | ||||||
|  |       if (mode.blankLine) { | ||||||
|  |         mode.blankLine(state.innerActive ? state.inner : state.outer); | ||||||
|  |       } | ||||||
|  |       if (!state.innerActive) { | ||||||
|  |         for (var i = 0; i < others.length; ++i) { | ||||||
|  |           var other = others[i]; | ||||||
|  |           if (other.open === "\n") { | ||||||
|  |             state.innerActive = other; | ||||||
|  |             state.inner = CodeMirror.startState(other.mode, mode.indent ? mode.indent(state.outer, "", "") : 0); | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } else if (state.innerActive.close === "\n") { | ||||||
|  |         state.innerActive = state.inner = null; | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     electricChars: outer.electricChars, | ||||||
|  |  | ||||||
|  |     innerMode: function(state) { | ||||||
|  |       return state.inner ? {state: state.inner, mode: state.innerActive.mode} : {state: state.outer, mode: outer}; | ||||||
|  |     } | ||||||
|  |   }; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | }); | ||||||
							
								
								
									
										90
									
								
								libraries/codemirror/addon/mode/overlay.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								libraries/codemirror/addon/mode/overlay.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,90 @@ | |||||||
|  | // CodeMirror, copyright (c) by Marijn Haverbeke and others | ||||||
|  | // Distributed under an MIT license: https://codemirror.net/5/LICENSE | ||||||
|  |  | ||||||
|  | // Utility function that allows modes to be combined. The mode given | ||||||
|  | // as the base argument takes care of most of the normal mode | ||||||
|  | // functionality, but a second (typically simple) mode is used, which | ||||||
|  | // can override the style of text. Both modes get to parse all of the | ||||||
|  | // text, but when both assign a non-null style to a piece of code, the | ||||||
|  | // overlay wins, unless the combine argument was true and not overridden, | ||||||
|  | // or state.overlay.combineTokens was true, in which case the styles are | ||||||
|  | // combined. | ||||||
|  |  | ||||||
|  | (function(mod) { | ||||||
|  |   if (typeof exports == "object" && typeof module == "object") // CommonJS | ||||||
|  |     mod(require("../../lib/codemirror")); | ||||||
|  |   else if (typeof define == "function" && define.amd) // AMD | ||||||
|  |     define(["../../lib/codemirror"], mod); | ||||||
|  |   else // Plain browser env | ||||||
|  |     mod(CodeMirror); | ||||||
|  | })(function(CodeMirror) { | ||||||
|  | "use strict"; | ||||||
|  |  | ||||||
|  | CodeMirror.overlayMode = function(base, overlay, combine) { | ||||||
|  |   return { | ||||||
|  |     startState: function() { | ||||||
|  |       return { | ||||||
|  |         base: CodeMirror.startState(base), | ||||||
|  |         overlay: CodeMirror.startState(overlay), | ||||||
|  |         basePos: 0, baseCur: null, | ||||||
|  |         overlayPos: 0, overlayCur: null, | ||||||
|  |         streamSeen: null | ||||||
|  |       }; | ||||||
|  |     }, | ||||||
|  |     copyState: function(state) { | ||||||
|  |       return { | ||||||
|  |         base: CodeMirror.copyState(base, state.base), | ||||||
|  |         overlay: CodeMirror.copyState(overlay, state.overlay), | ||||||
|  |         basePos: state.basePos, baseCur: null, | ||||||
|  |         overlayPos: state.overlayPos, overlayCur: null | ||||||
|  |       }; | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     token: function(stream, state) { | ||||||
|  |       if (stream != state.streamSeen || | ||||||
|  |           Math.min(state.basePos, state.overlayPos) < stream.start) { | ||||||
|  |         state.streamSeen = stream; | ||||||
|  |         state.basePos = state.overlayPos = stream.start; | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       if (stream.start == state.basePos) { | ||||||
|  |         state.baseCur = base.token(stream, state.base); | ||||||
|  |         state.basePos = stream.pos; | ||||||
|  |       } | ||||||
|  |       if (stream.start == state.overlayPos) { | ||||||
|  |         stream.pos = stream.start; | ||||||
|  |         state.overlayCur = overlay.token(stream, state.overlay); | ||||||
|  |         state.overlayPos = stream.pos; | ||||||
|  |       } | ||||||
|  |       stream.pos = Math.min(state.basePos, state.overlayPos); | ||||||
|  |  | ||||||
|  |       // state.overlay.combineTokens always takes precedence over combine, | ||||||
|  |       // unless set to null | ||||||
|  |       if (state.overlayCur == null) return state.baseCur; | ||||||
|  |       else if (state.baseCur != null && | ||||||
|  |                state.overlay.combineTokens || | ||||||
|  |                combine && state.overlay.combineTokens == null) | ||||||
|  |         return state.baseCur + " " + state.overlayCur; | ||||||
|  |       else return state.overlayCur; | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     indent: base.indent && function(state, textAfter, line) { | ||||||
|  |       return base.indent(state.base, textAfter, line); | ||||||
|  |     }, | ||||||
|  |     electricChars: base.electricChars, | ||||||
|  |  | ||||||
|  |     innerMode: function(state) { return {state: state.base, mode: base}; }, | ||||||
|  |  | ||||||
|  |     blankLine: function(state) { | ||||||
|  |       var baseToken, overlayToken; | ||||||
|  |       if (base.blankLine) baseToken = base.blankLine(state.base); | ||||||
|  |       if (overlay.blankLine) overlayToken = overlay.blankLine(state.overlay); | ||||||
|  |  | ||||||
|  |       return overlayToken == null ? | ||||||
|  |         baseToken : | ||||||
|  |         (combine && baseToken != null ? baseToken + " " + overlayToken : overlayToken); | ||||||
|  |     } | ||||||
|  |   }; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | }); | ||||||
| @@ -8259,8 +8259,8 @@ | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   function disableBrowserMagic(field, spellcheck, autocorrect, autocapitalize) { |   function disableBrowserMagic(field, spellcheck, autocorrect, autocapitalize) { | ||||||
|     field.setAttribute("autocorrect", autocorrect ? "" : "off"); |     field.setAttribute("autocorrect", autocorrect ? "on" : "off"); | ||||||
|     field.setAttribute("autocapitalize", autocapitalize ? "" : "off"); |     field.setAttribute("autocapitalize", autocapitalize ? "on" : "off"); | ||||||
|     field.setAttribute("spellcheck", !!spellcheck); |     field.setAttribute("spellcheck", !!spellcheck); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -8275,7 +8275,6 @@ | |||||||
|     else { te.setAttribute("wrap", "off"); } |     else { te.setAttribute("wrap", "off"); } | ||||||
|     // If border: 0; -- iOS fails to open keyboard (issue #1287) |     // If border: 0; -- iOS fails to open keyboard (issue #1287) | ||||||
|     if (ios) { te.style.border = "1px solid black"; } |     if (ios) { te.style.border = "1px solid black"; } | ||||||
|     disableBrowserMagic(te); |  | ||||||
|     return div |     return div | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -8897,6 +8896,7 @@ | |||||||
|       } |       } | ||||||
|       // Old-fashioned briefly-focus-a-textarea hack |       // Old-fashioned briefly-focus-a-textarea hack | ||||||
|       var kludge = hiddenTextarea(), te = kludge.firstChild; |       var kludge = hiddenTextarea(), te = kludge.firstChild; | ||||||
|  |       disableBrowserMagic(te); | ||||||
|       cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild); |       cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild); | ||||||
|       te.value = lastCopied.text.join("\n"); |       te.value = lastCopied.text.join("\n"); | ||||||
|       var hadFocus = activeElt(div.ownerDocument); |       var hadFocus = activeElt(div.ownerDocument); | ||||||
| @@ -9461,6 +9461,8 @@ | |||||||
|     // The semihidden textarea that is focused when the editor is |     // The semihidden textarea that is focused when the editor is | ||||||
|     // focused, and receives input. |     // focused, and receives input. | ||||||
|     this.textarea = this.wrapper.firstChild; |     this.textarea = this.wrapper.firstChild; | ||||||
|  |     var opts = this.cm.options; | ||||||
|  |     disableBrowserMagic(this.textarea, opts.spellcheck, opts.autocorrect, opts.autocapitalize); | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   TextareaInput.prototype.screenReaderLabelChanged = function (label) { |   TextareaInput.prototype.screenReaderLabelChanged = function (label) { | ||||||
| @@ -9865,7 +9867,7 @@ | |||||||
|  |  | ||||||
|   addLegacyProps(CodeMirror); |   addLegacyProps(CodeMirror); | ||||||
|  |  | ||||||
|   CodeMirror.version = "5.65.9"; |   CodeMirror.version = "5.65.15"; | ||||||
|  |  | ||||||
|   return CodeMirror; |   return CodeMirror; | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								libraries/codemirror/mode/clike/clike.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								libraries/codemirror/mode/clike/clike.js
									
									
									
									
										vendored
									
									
								
							| @@ -218,7 +218,8 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { | |||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     indent: function(state, textAfter) { |     indent: function(state, textAfter) { | ||||||
|       if (state.tokenize != tokenBase && state.tokenize != null || state.typeAtEndOfLine) return CodeMirror.Pass; |       if (state.tokenize != tokenBase && state.tokenize != null || state.typeAtEndOfLine && isTopScope(state.context)) | ||||||
|  |         return CodeMirror.Pass; | ||||||
|       var ctx = state.context, firstChar = textAfter && textAfter.charAt(0); |       var ctx = state.context, firstChar = textAfter && textAfter.charAt(0); | ||||||
|       var closing = firstChar == ctx.type; |       var closing = firstChar == ctx.type; | ||||||
|       if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev; |       if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev; | ||||||
| @@ -512,8 +513,8 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { | |||||||
|     name: "clike", |     name: "clike", | ||||||
|     keywords: words("abstract as async await base break case catch checked class const continue" + |     keywords: words("abstract as async await base break case catch checked class const continue" + | ||||||
|                     " default delegate do else enum event explicit extern finally fixed for" + |                     " default delegate do else enum event explicit extern finally fixed for" + | ||||||
|                     " foreach goto if implicit in interface internal is lock namespace new" + |                     " foreach goto if implicit in init interface internal is lock namespace new" + | ||||||
|                     " operator out override params private protected public readonly ref return sealed" + |                     " operator out override params private protected public readonly record ref required return sealed" + | ||||||
|                     " sizeof stackalloc static struct switch this throw try typeof unchecked" + |                     " sizeof stackalloc static struct switch this throw try typeof unchecked" + | ||||||
|                     " unsafe using virtual void volatile while add alias ascending descending dynamic from get" + |                     " unsafe using virtual void volatile while add alias ascending descending dynamic from get" + | ||||||
|                     " global group into join let orderby partial remove select set value var yield"), |                     " global group into join let orderby partial remove select set value var yield"), | ||||||
| @@ -522,7 +523,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { | |||||||
|                  " UInt64 bool byte char decimal double short int long object"  + |                  " UInt64 bool byte char decimal double short int long object"  + | ||||||
|                  " sbyte float string ushort uint ulong"), |                  " sbyte float string ushort uint ulong"), | ||||||
|     blockKeywords: words("catch class do else finally for foreach if struct switch try while"), |     blockKeywords: words("catch class do else finally for foreach if struct switch try while"), | ||||||
|     defKeywords: words("class interface namespace struct var"), |     defKeywords: words("class interface namespace record struct var"), | ||||||
|     typeFirstDefinitions: true, |     typeFirstDefinitions: true, | ||||||
|     atoms: words("true false null"), |     atoms: words("true false null"), | ||||||
|     hooks: { |     hooks: { | ||||||
| @@ -613,6 +614,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { | |||||||
|         return state.tokenize(stream, state); |         return state.tokenize(stream, state); | ||||||
|       }, |       }, | ||||||
|       "'": function(stream) { |       "'": function(stream) { | ||||||
|  |         if (stream.match(/^(\\[^'\s]+|[^\\'])'/)) return "string-2" | ||||||
|         stream.eatWhile(/[\w\$_\xa1-\uffff]/); |         stream.eatWhile(/[\w\$_\xa1-\uffff]/); | ||||||
|         return "atom"; |         return "atom"; | ||||||
|       }, |       }, | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								libraries/codemirror/mode/dart/dart.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								libraries/codemirror/mode/dart/dart.js
									
									
									
									
										vendored
									
									
								
							| @@ -12,10 +12,10 @@ | |||||||
|   "use strict"; |   "use strict"; | ||||||
|  |  | ||||||
|   var keywords = ("this super static final const abstract class extends external factory " + |   var keywords = ("this super static final const abstract class extends external factory " + | ||||||
|     "implements mixin get native set typedef with enum throw rethrow " + |     "implements mixin get native set typedef with enum throw rethrow assert break case " + | ||||||
|     "assert break case continue default in return new deferred async await covariant " + |     "continue default in return new deferred async await covariant try catch finally " + | ||||||
|     "try catch finally do else for if switch while import library export " + |     "do else for if switch while import library export part of show hide is as extension " + | ||||||
|     "part of show hide is as extension on yield late required").split(" "); |     "on yield late required sealed base interface when inline").split(" "); | ||||||
|   var blockKeywords = "try catch finally do else for if switch while".split(" "); |   var blockKeywords = "try catch finally do else for if switch while".split(" "); | ||||||
|   var atoms = "true false null".split(" "); |   var atoms = "true false null".split(" "); | ||||||
|   var builtins = "void bool num int double dynamic var String Null Never".split(" "); |   var builtins = "void bool num int double dynamic var String Null Never".split(" "); | ||||||
|   | |||||||
| @@ -779,7 +779,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { | |||||||
|     if (type == "async" || |     if (type == "async" || | ||||||
|         (type == "variable" && |         (type == "variable" && | ||||||
|          (value == "static" || value == "get" || value == "set" || (isTS && isModifier(value))) && |          (value == "static" || value == "get" || value == "set" || (isTS && isModifier(value))) && | ||||||
|          cx.stream.match(/^\s+[\w$\xa1-\uffff]/, false))) { |          cx.stream.match(/^\s+#?[\w$\xa1-\uffff]/, false))) { | ||||||
|       cx.marked = "keyword"; |       cx.marked = "keyword"; | ||||||
|       return cont(classBody); |       return cont(classBody); | ||||||
|     } |     } | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								libraries/codemirror/mode/nsis/nsis.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								libraries/codemirror/mode/nsis/nsis.js
									
									
									
									
										vendored
									
									
								
							| @@ -24,7 +24,7 @@ CodeMirror.defineSimpleMode("nsis",{ | |||||||
|     { regex: /`(?:[^\\`]|\\.)*`?/, token: "string" }, |     { regex: /`(?:[^\\`]|\\.)*`?/, token: "string" }, | ||||||
|  |  | ||||||
|     // Compile Time Commands |     // Compile Time Commands | ||||||
|     {regex: /^\s*(?:\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|error|execute|finalize|getdllversion|gettlbversion|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|uninstfinalize|verbose|warning))\b/i, token: "keyword"}, |     {regex: /^\s*(?:\!(addincludedir|addplugindir|appendfile|assert|cd|define|delfile|echo|error|execute|finalize|getdllversion|gettlbversion|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|uninstfinalize|verbose|warning))\b/i, token: "keyword"}, | ||||||
|  |  | ||||||
|     // Conditional Compilation |     // Conditional Compilation | ||||||
|     {regex: /^\s*(?:\!(if(?:n?def)?|ifmacron?def|macro))\b/i, token: "keyword", indent: true}, |     {regex: /^\s*(?:\!(if(?:n?def)?|ifmacron?def|macro))\b/i, token: "keyword", indent: true}, | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								libraries/codemirror/mode/pegjs/pegjs.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								libraries/codemirror/mode/pegjs/pegjs.js
									
									
									
									
										vendored
									
									
								
							| @@ -31,8 +31,6 @@ CodeMirror.defineMode("pegjs", function (config) { | |||||||
|       }; |       }; | ||||||
|     }, |     }, | ||||||
|     token: function (stream, state) { |     token: function (stream, state) { | ||||||
|       if (stream) |  | ||||||
|  |  | ||||||
|       //check for state changes |       //check for state changes | ||||||
|       if (!state.inString && !state.inComment && ((stream.peek() == '"') || (stream.peek() == "'"))) { |       if (!state.inString && !state.inComment && ((stream.peek() == '"') || (stream.peek() == "'"))) { | ||||||
|         state.stringType = stream.peek(); |         state.stringType = stream.peek(); | ||||||
| @@ -43,7 +41,6 @@ CodeMirror.defineMode("pegjs", function (config) { | |||||||
|         state.inComment = true; |         state.inComment = true; | ||||||
|       } |       } | ||||||
|  |  | ||||||
|       //return state |  | ||||||
|       if (state.inString) { |       if (state.inString) { | ||||||
|         while (state.inString && !stream.eol()) { |         while (state.inString && !stream.eol()) { | ||||||
|           if (stream.peek() === state.stringType) { |           if (stream.peek() === state.stringType) { | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								libraries/codemirror/mode/python/python.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								libraries/codemirror/mode/python/python.js
									
									
									
									
										vendored
									
									
								
							| @@ -20,7 +20,7 @@ | |||||||
|                         "def", "del", "elif", "else", "except", "finally", |                         "def", "del", "elif", "else", "except", "finally", | ||||||
|                         "for", "from", "global", "if", "import", |                         "for", "from", "global", "if", "import", | ||||||
|                         "lambda", "pass", "raise", "return", |                         "lambda", "pass", "raise", "return", | ||||||
|                         "try", "while", "with", "yield", "in"]; |                         "try", "while", "with", "yield", "in", "False", "True"]; | ||||||
|   var commonBuiltins = ["abs", "all", "any", "bin", "bool", "bytearray", "callable", "chr", |   var commonBuiltins = ["abs", "all", "any", "bin", "bool", "bytearray", "callable", "chr", | ||||||
|                         "classmethod", "compile", "complex", "delattr", "dict", "dir", "divmod", |                         "classmethod", "compile", "complex", "delattr", "dict", "dir", "divmod", | ||||||
|                         "enumerate", "eval", "filter", "float", "format", "frozenset", |                         "enumerate", "eval", "filter", "float", "format", "frozenset", | ||||||
| @@ -60,7 +60,7 @@ | |||||||
|     if (py3) { |     if (py3) { | ||||||
|       // since http://legacy.python.org/dev/peps/pep-0465/ @ is also an operator |       // since http://legacy.python.org/dev/peps/pep-0465/ @ is also an operator | ||||||
|       var identifiers = parserConf.identifiers|| /^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/; |       var identifiers = parserConf.identifiers|| /^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/; | ||||||
|       myKeywords = myKeywords.concat(["nonlocal", "False", "True", "None", "async", "await"]); |       myKeywords = myKeywords.concat(["nonlocal", "None", "aiter", "anext", "async", "await", "breakpoint", "match", "case"]); | ||||||
|       myBuiltins = myBuiltins.concat(["ascii", "bytes", "exec", "print"]); |       myBuiltins = myBuiltins.concat(["ascii", "bytes", "exec", "print"]); | ||||||
|       var stringPrefixes = new RegExp("^(([rbuf]|(br)|(rb)|(fr)|(rf))?('{3}|\"{3}|['\"]))", "i"); |       var stringPrefixes = new RegExp("^(([rbuf]|(br)|(rb)|(fr)|(rf))?('{3}|\"{3}|['\"]))", "i"); | ||||||
|     } else { |     } else { | ||||||
| @@ -68,7 +68,7 @@ | |||||||
|       myKeywords = myKeywords.concat(["exec", "print"]); |       myKeywords = myKeywords.concat(["exec", "print"]); | ||||||
|       myBuiltins = myBuiltins.concat(["apply", "basestring", "buffer", "cmp", "coerce", "execfile", |       myBuiltins = myBuiltins.concat(["apply", "basestring", "buffer", "cmp", "coerce", "execfile", | ||||||
|                                       "file", "intern", "long", "raw_input", "reduce", "reload", |                                       "file", "intern", "long", "raw_input", "reduce", "reload", | ||||||
|                                       "unichr", "unicode", "xrange", "False", "True", "None"]); |                                       "unichr", "unicode", "xrange", "None"]); | ||||||
|       var stringPrefixes = new RegExp("^(([rubf]|(ur)|(br))?('{3}|\"{3}|['\"]))", "i"); |       var stringPrefixes = new RegExp("^(([rubf]|(ur)|(br))?('{3}|\"{3}|['\"]))", "i"); | ||||||
|     } |     } | ||||||
|     var keywords = wordRegexp(myKeywords); |     var keywords = wordRegexp(myKeywords); | ||||||
|   | |||||||
							
								
								
									
										9
									
								
								libraries/codemirror/mode/sparql/sparql.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								libraries/codemirror/mode/sparql/sparql.js
									
									
									
									
										vendored
									
									
								
							| @@ -33,6 +33,9 @@ CodeMirror.defineMode("sparql", function(config) { | |||||||
|                              "true", "false", "with", |                              "true", "false", "with", | ||||||
|                              "data", "copy", "to", "move", "add", "create", "drop", "clear", "load", "into"]); |                              "data", "copy", "to", "move", "add", "create", "drop", "clear", "load", "into"]); | ||||||
|   var operatorChars = /[*+\-<>=&|\^\/!\?]/; |   var operatorChars = /[*+\-<>=&|\^\/!\?]/; | ||||||
|  |   var PN_CHARS = "[A-Za-z_\\-0-9]"; | ||||||
|  |   var PREFIX_START = new RegExp("[A-Za-z]"); | ||||||
|  |   var PREFIX_REMAINDER = new RegExp("((" + PN_CHARS + "|\\.)*(" + PN_CHARS + "))?:"); | ||||||
|  |  | ||||||
|   function tokenBase(stream, state) { |   function tokenBase(stream, state) { | ||||||
|     var ch = stream.next(); |     var ch = stream.next(); | ||||||
| @@ -71,12 +74,11 @@ CodeMirror.defineMode("sparql", function(config) { | |||||||
|       stream.eatWhile(/[a-z\d\-]/i); |       stream.eatWhile(/[a-z\d\-]/i); | ||||||
|       return "meta"; |       return "meta"; | ||||||
|     } |     } | ||||||
|     else { |     else if (PREFIX_START.test(ch) && stream.match(PREFIX_REMAINDER)) { | ||||||
|       stream.eatWhile(/[_\w\d]/); |  | ||||||
|       if (stream.eat(":")) { |  | ||||||
|         eatPnLocal(stream); |         eatPnLocal(stream); | ||||||
|         return "atom"; |         return "atom"; | ||||||
|     } |     } | ||||||
|  |     stream.eatWhile(/[_\w\d]/); | ||||||
|     var word = stream.current(); |     var word = stream.current(); | ||||||
|     if (ops.test(word)) |     if (ops.test(word)) | ||||||
|       return "builtin"; |       return "builtin"; | ||||||
| @@ -85,7 +87,6 @@ CodeMirror.defineMode("sparql", function(config) { | |||||||
|     else |     else | ||||||
|       return "variable"; |       return "variable"; | ||||||
|   } |   } | ||||||
|   } |  | ||||||
|  |  | ||||||
|   function eatPnLocal(stream) { |   function eatPnLocal(stream) { | ||||||
|     stream.match(/(\.(?=[\w_\-\\%])|[:\w_-]|\\[-\\_~.!$&'()*+,;=/?#@%]|%[a-f\d][a-f\d])+/i); |     stream.match(/(\.(?=[\w_\-\\%])|[:\w_-]|\\[-\\_~.!$&'()*+,;=/?#@%]|%[a-f\d][a-f\d])+/i); | ||||||
|   | |||||||
							
								
								
									
										26
									
								
								libraries/codemirror/mode/sql/sql.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								libraries/codemirror/mode/sql/sql.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								libraries/codemirror/mode/yaml/yaml.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								libraries/codemirror/mode/yaml/yaml.js
									
									
									
									
										vendored
									
									
								
							| @@ -85,7 +85,7 @@ CodeMirror.defineMode("yaml", function() { | |||||||
|       } |       } | ||||||
|  |  | ||||||
|       /* pairs (associative arrays) -> key */ |       /* pairs (associative arrays) -> key */ | ||||||
|       if (!state.pair && stream.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)) { |       if (!state.pair && stream.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^\s,\[\]{}#&*!|>'"%@`])[^#:]*(?=:($|\s))/)) { | ||||||
|         state.pair = true; |         state.pair = true; | ||||||
|         state.keyCol = stream.indentation(); |         state.keyCol = stream.indentation(); | ||||||
|         return "atom"; |         return "atom"; | ||||||
|   | |||||||
| @@ -10,6 +10,8 @@ const CODE_MIRROR = { | |||||||
|         "libraries/codemirror/addon/lint/lint.js", |         "libraries/codemirror/addon/lint/lint.js", | ||||||
|         "libraries/codemirror/addon/lint/eslint.js", |         "libraries/codemirror/addon/lint/eslint.js", | ||||||
|         "libraries/codemirror/addon/mode/loadmode.js", |         "libraries/codemirror/addon/mode/loadmode.js", | ||||||
|  |         "libraries/codemirror/addon/mode/multiplex.js", | ||||||
|  |         "libraries/codemirror/addon/mode/overlay.js", | ||||||
|         "libraries/codemirror/addon/mode/simple.js", |         "libraries/codemirror/addon/mode/simple.js", | ||||||
|         "libraries/codemirror/addon/search/match-highlighter.js", |         "libraries/codemirror/addon/search/match-highlighter.js", | ||||||
|         "libraries/codemirror/mode/meta.js", |         "libraries/codemirror/mode/meta.js", | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user