mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-31 07:08:40 -04:00
Update CodeMirror to 5.13.5
This commit is contained in:
parent
edc3a31dfd
commit
8bf516263c
84 changed files with 2837 additions and 504 deletions
4
public/vendor/codemirror/lib/codemirror.css
vendored
4
public/vendor/codemirror/lib/codemirror.css
vendored
|
@ -191,12 +191,14 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
|||
|
||||
.CodeMirror-gutters {
|
||||
position: absolute; left: 0; top: 0;
|
||||
min-height: 100%;
|
||||
z-index: 3;
|
||||
}
|
||||
.CodeMirror-gutter {
|
||||
white-space: normal;
|
||||
height: 100%;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
margin-bottom: -30px;
|
||||
/* Hack to make IE7 behave */
|
||||
*zoom:1;
|
||||
|
@ -244,6 +246,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
|||
position: relative;
|
||||
overflow: visible;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
-webkit-font-variant-ligatures: none;
|
||||
font-variant-ligatures: none;
|
||||
}
|
||||
.CodeMirror-wrap pre {
|
||||
word-wrap: break-word;
|
||||
|
|
55
public/vendor/codemirror/lib/codemirror.js
vendored
55
public/vendor/codemirror/lib/codemirror.js
vendored
|
@ -41,6 +41,7 @@
|
|||
// This is woefully incomplete. Suggestions for alternative methods welcome.
|
||||
var mobile = ios || /Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent);
|
||||
var mac = ios || /Mac/.test(platform);
|
||||
var chromeOS = /\bCrOS\b/.test(userAgent);
|
||||
var windows = /win/i.test(platform);
|
||||
|
||||
var presto_version = presto && userAgent.match(/Version\/(\d*\.\d*)/);
|
||||
|
@ -543,6 +544,7 @@
|
|||
|
||||
d.sizer.style.paddingRight = (d.barWidth = sizes.right) + "px";
|
||||
d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + "px";
|
||||
d.heightForcer.style.borderBottom = sizes.bottom + "px solid transparent"
|
||||
|
||||
if (sizes.right && sizes.bottom) {
|
||||
d.scrollbarFiller.style.display = "block";
|
||||
|
@ -746,6 +748,7 @@
|
|||
|
||||
function postUpdateDisplay(cm, update) {
|
||||
var viewport = update.viewport;
|
||||
|
||||
for (var first = true;; first = false) {
|
||||
if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) {
|
||||
// Clip forced viewport to actual scrollable area.
|
||||
|
@ -761,8 +764,8 @@
|
|||
updateHeightsInViewport(cm);
|
||||
var barMeasure = measureForScrollbars(cm);
|
||||
updateSelection(cm);
|
||||
setDocumentHeight(cm, barMeasure);
|
||||
updateScrollbars(cm, barMeasure);
|
||||
setDocumentHeight(cm, barMeasure);
|
||||
}
|
||||
|
||||
update.signal(cm, "update", cm);
|
||||
|
@ -779,17 +782,16 @@
|
|||
postUpdateDisplay(cm, update);
|
||||
var barMeasure = measureForScrollbars(cm);
|
||||
updateSelection(cm);
|
||||
setDocumentHeight(cm, barMeasure);
|
||||
updateScrollbars(cm, barMeasure);
|
||||
setDocumentHeight(cm, barMeasure);
|
||||
update.finish();
|
||||
}
|
||||
}
|
||||
|
||||
function setDocumentHeight(cm, measure) {
|
||||
cm.display.sizer.style.minHeight = measure.docHeight + "px";
|
||||
var total = measure.docHeight + cm.display.barHeight;
|
||||
cm.display.heightForcer.style.top = total + "px";
|
||||
cm.display.gutters.style.height = Math.max(total + scrollGap(cm), measure.clientHeight) + "px";
|
||||
cm.display.heightForcer.style.top = measure.docHeight + "px";
|
||||
cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + "px";
|
||||
}
|
||||
|
||||
// Read the actual heights of the rendered lines, and update their
|
||||
|
@ -1484,10 +1486,11 @@
|
|||
if (reset && cm.doc.sel.contains(pos) == -1)
|
||||
operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll);
|
||||
|
||||
var oldCSS = te.style.cssText;
|
||||
input.wrapper.style.position = "absolute";
|
||||
te.style.cssText = "position: fixed; width: 30px; height: 30px; top: " + (e.clientY - 5) +
|
||||
"px; left: " + (e.clientX - 5) + "px; z-index: 1000; background: " +
|
||||
var oldCSS = te.style.cssText, oldWrapperCSS = input.wrapper.style.cssText;
|
||||
input.wrapper.style.cssText = "position: absolute"
|
||||
var wrapperBox = input.wrapper.getBoundingClientRect()
|
||||
te.style.cssText = "position: absolute; width: 30px; height: 30px; top: " + (e.clientY - wrapperBox.top - 5) +
|
||||
"px; left: " + (e.clientX - wrapperBox.left - 5) + "px; z-index: 1000; background: " +
|
||||
(ie ? "rgba(255, 255, 255, .05)" : "transparent") +
|
||||
"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";
|
||||
if (webkit) var oldScrollY = window.scrollY; // Work around Chrome issue (#2712)
|
||||
|
@ -1518,7 +1521,7 @@
|
|||
}
|
||||
function rehide() {
|
||||
input.contextMenuPending = false;
|
||||
input.wrapper.style.position = "relative";
|
||||
input.wrapper.style.cssText = oldWrapperCSS
|
||||
te.style.cssText = oldCSS;
|
||||
if (ie && ie_version < 9) display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos);
|
||||
|
||||
|
@ -2258,13 +2261,15 @@
|
|||
|
||||
if (oldPos) {
|
||||
var near = m.find(dir < 0 ? 1 : -1), diff;
|
||||
if (dir < 0 ? m.inclusiveRight : m.inclusiveLeft) near = movePos(doc, near, -dir, line);
|
||||
if (dir < 0 ? m.inclusiveRight : m.inclusiveLeft)
|
||||
near = movePos(doc, near, -dir, near && near.line == pos.line ? line : null);
|
||||
if (near && near.line == pos.line && (diff = cmp(near, oldPos)) && (dir < 0 ? diff < 0 : diff > 0))
|
||||
return skipAtomicInner(doc, near, pos, dir, mayClear);
|
||||
}
|
||||
|
||||
var far = m.find(dir < 0 ? -1 : 1);
|
||||
if (dir < 0 ? m.inclusiveLeft : m.inclusiveRight) far = movePos(doc, far, dir, line);
|
||||
if (dir < 0 ? m.inclusiveLeft : m.inclusiveRight)
|
||||
far = movePos(doc, far, dir, far.line == pos.line ? line : null);
|
||||
return far ? skipAtomicInner(doc, far, pos, dir, mayClear) : null;
|
||||
}
|
||||
}
|
||||
|
@ -2311,6 +2316,7 @@
|
|||
for (var i = 0; i < doc.sel.ranges.length; i++) {
|
||||
if (primary === false && i == doc.sel.primIndex) continue;
|
||||
var range = doc.sel.ranges[i];
|
||||
if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) continue;
|
||||
var collapsed = range.empty();
|
||||
if (collapsed || cm.options.showCursorWhenSelecting)
|
||||
drawSelectionCursor(cm, range.head, curFragment);
|
||||
|
@ -3122,10 +3128,10 @@
|
|||
|
||||
if (op.preparedSelection)
|
||||
cm.display.input.showSelection(op.preparedSelection);
|
||||
if (op.updatedDisplay)
|
||||
setDocumentHeight(cm, op.barMeasure);
|
||||
if (op.updatedDisplay || op.startHeight != cm.doc.height)
|
||||
updateScrollbars(cm, op.barMeasure);
|
||||
if (op.updatedDisplay)
|
||||
setDocumentHeight(cm, op.barMeasure);
|
||||
|
||||
if (op.selectionChanged) restartBlink(cm);
|
||||
|
||||
|
@ -3151,7 +3157,7 @@
|
|||
display.scroller.scrollTop = doc.scrollTop;
|
||||
}
|
||||
if (op.scrollLeft != null && (display.scroller.scrollLeft != op.scrollLeft || op.forceScroll)) {
|
||||
doc.scrollLeft = Math.max(0, Math.min(display.scroller.scrollWidth - displayWidth(cm), op.scrollLeft));
|
||||
doc.scrollLeft = Math.max(0, Math.min(display.scroller.scrollWidth - display.scroller.clientWidth, op.scrollLeft));
|
||||
display.scrollbars.setScrollLeft(doc.scrollLeft);
|
||||
display.scroller.scrollLeft = doc.scrollLeft;
|
||||
alignHorizontally(cm);
|
||||
|
@ -3502,7 +3508,7 @@
|
|||
over: function(e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e); }},
|
||||
start: function(e){onDragStart(cm, e);},
|
||||
drop: operation(cm, onDrop),
|
||||
leave: function() {clearDragCursor(cm);}
|
||||
leave: function(e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm); }}
|
||||
};
|
||||
|
||||
var inp = d.input.getField();
|
||||
|
@ -3687,7 +3693,7 @@
|
|||
ourIndex = doc.sel.primIndex;
|
||||
}
|
||||
|
||||
if (e.altKey) {
|
||||
if (chromeOS ? e.shiftKey && e.metaKey : e.altKey) {
|
||||
type = "rect";
|
||||
if (!addNew) ourRange = new Range(start, start);
|
||||
start = posFromMouse(cm, e, true, true);
|
||||
|
@ -7632,9 +7638,9 @@
|
|||
var spans = line.markedSpans;
|
||||
if (spans) for (var i = 0; i < spans.length; i++) {
|
||||
var span = spans[i];
|
||||
if (!(lineNo == from.line && from.ch > span.to ||
|
||||
span.from == null && lineNo != from.line||
|
||||
lineNo == to.line && span.from > to.ch) &&
|
||||
if (!(span.to != null && lineNo == from.line && from.ch > span.to ||
|
||||
span.from == null && lineNo != from.line ||
|
||||
span.from != null && lineNo == to.line && span.from > to.ch) &&
|
||||
(!filter || filter(span.marker)))
|
||||
found.push(span.marker.parent || span.marker);
|
||||
}
|
||||
|
@ -7653,9 +7659,9 @@
|
|||
},
|
||||
|
||||
posFromIndex: function(off) {
|
||||
var ch, lineNo = this.first;
|
||||
var ch, lineNo = this.first, sepSize = this.lineSeparator().length;
|
||||
this.iter(function(line) {
|
||||
var sz = line.text.length + 1;
|
||||
var sz = line.text.length + sepSize;
|
||||
if (sz > off) { ch = off; return true; }
|
||||
off -= sz;
|
||||
++lineNo;
|
||||
|
@ -7666,8 +7672,9 @@
|
|||
coords = clipPos(this, coords);
|
||||
var index = coords.ch;
|
||||
if (coords.line < this.first || coords.ch < 0) return 0;
|
||||
var sepSize = this.lineSeparator().length;
|
||||
this.iter(this.first, coords.line, function (line) {
|
||||
index += line.text.length + 1;
|
||||
index += line.text.length + sepSize;
|
||||
});
|
||||
return index;
|
||||
},
|
||||
|
@ -8897,7 +8904,7 @@
|
|||
|
||||
// THE END
|
||||
|
||||
CodeMirror.version = "5.10.1";
|
||||
CodeMirror.version = "5.13.5";
|
||||
|
||||
return CodeMirror;
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue