X-Git-Url: https://git.josue.xyz/?p=dotfiles%2F.git;a=blobdiff_plain;f=.config%2Fcoc%2Fextensions%2Fnode_modules%2Fcoc-go%2Fnode_modules%2Fvscode-languageserver-textdocument%2Flib%2Fesm%2Fmain.js;h=85f9a45f5de926918335878f1d1c4d1c6ed71cef;hp=38157f79a50521c8b8cd74a5ec2a25fa6dcb591c;hb=3be0a9efc698a9570a44456009afc6014812625a;hpb=d2f432cc757f42f0318fdddcab8c00b240d47088 diff --git a/.config/coc/extensions/node_modules/coc-go/node_modules/vscode-languageserver-textdocument/lib/esm/main.js b/.config/coc/extensions/node_modules/coc-go/node_modules/vscode-languageserver-textdocument/lib/esm/main.js index 38157f79..85f9a45f 100644 --- a/.config/coc/extensions/node_modules/coc-go/node_modules/vscode-languageserver-textdocument/lib/esm/main.js +++ b/.config/coc/extensions/node_modules/coc-go/node_modules/vscode-languageserver-textdocument/lib/esm/main.js @@ -3,74 +3,61 @@ * Licensed under the MIT License. See License.txt in the project root for license information. * ------------------------------------------------------------------------------------------ */ 'use strict'; -var FullTextDocument = /** @class */ (function () { - function FullTextDocument(uri, languageId, version, content) { +class FullTextDocument { + constructor(uri, languageId, version, content) { this._uri = uri; this._languageId = languageId; this._version = version; this._content = content; this._lineOffsets = undefined; } - Object.defineProperty(FullTextDocument.prototype, "uri", { - get: function () { - return this._uri; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FullTextDocument.prototype, "languageId", { - get: function () { - return this._languageId; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FullTextDocument.prototype, "version", { - get: function () { - return this._version; - }, - enumerable: true, - configurable: true - }); - FullTextDocument.prototype.getText = function (range) { + get uri() { + return this._uri; + } + get languageId() { + return this._languageId; + } + get version() { + return this._version; + } + getText(range) { if (range) { - var start = this.offsetAt(range.start); - var end = this.offsetAt(range.end); + const start = this.offsetAt(range.start); + const end = this.offsetAt(range.end); return this._content.substring(start, end); } return this._content; - }; - FullTextDocument.prototype.update = function (changes, version) { - for (var _i = 0, changes_1 = changes; _i < changes_1.length; _i++) { - var change = changes_1[_i]; + } + update(changes, version) { + for (let change of changes) { if (FullTextDocument.isIncremental(change)) { // makes sure start is before end - var range = getWellformedRange(change.range); + const range = getWellformedRange(change.range); // update content - var startOffset = this.offsetAt(range.start); - var endOffset = this.offsetAt(range.end); + const startOffset = this.offsetAt(range.start); + const endOffset = this.offsetAt(range.end); this._content = this._content.substring(0, startOffset) + change.text + this._content.substring(endOffset, this._content.length); // update the offsets - var startLine = Math.max(range.start.line, 0); - var endLine = Math.max(range.end.line, 0); - var lineOffsets = this._lineOffsets; - var addedLineOffsets = computeLineOffsets(change.text, false, startOffset); + const startLine = Math.max(range.start.line, 0); + const endLine = Math.max(range.end.line, 0); + let lineOffsets = this._lineOffsets; + const addedLineOffsets = computeLineOffsets(change.text, false, startOffset); if (endLine - startLine === addedLineOffsets.length) { - for (var i = 0, len = addedLineOffsets.length; i < len; i++) { + for (let i = 0, len = addedLineOffsets.length; i < len; i++) { lineOffsets[i + startLine + 1] = addedLineOffsets[i]; } } else { if (addedLineOffsets.length < 10000) { - lineOffsets.splice.apply(lineOffsets, [startLine + 1, endLine - startLine].concat(addedLineOffsets)); + lineOffsets.splice(startLine + 1, endLine - startLine, ...addedLineOffsets); } else { // avoid too many arguments for splice this._lineOffsets = lineOffsets = lineOffsets.slice(0, startLine + 1).concat(addedLineOffsets, lineOffsets.slice(endLine + 1)); } } - var diff = change.text.length - (endOffset - startOffset); + const diff = change.text.length - (endOffset - startOffset); if (diff !== 0) { - for (var i = startLine + 1 + addedLineOffsets.length, len = lineOffsets.length; i < len; i++) { + for (let i = startLine + 1 + addedLineOffsets.length, len = lineOffsets.length; i < len; i++) { lineOffsets[i] = lineOffsets[i] + diff; } } @@ -84,22 +71,22 @@ var FullTextDocument = /** @class */ (function () { } } this._version = version; - }; - FullTextDocument.prototype.getLineOffsets = function () { + } + getLineOffsets() { if (this._lineOffsets === undefined) { this._lineOffsets = computeLineOffsets(this._content, true); } return this._lineOffsets; - }; - FullTextDocument.prototype.positionAt = function (offset) { + } + positionAt(offset) { offset = Math.max(Math.min(offset, this._content.length), 0); - var lineOffsets = this.getLineOffsets(); - var low = 0, high = lineOffsets.length; + let lineOffsets = this.getLineOffsets(); + let low = 0, high = lineOffsets.length; if (high === 0) { return { line: 0, character: offset }; } while (low < high) { - var mid = Math.floor((low + high) / 2); + let mid = Math.floor((low + high) / 2); if (lineOffsets[mid] > offset) { high = mid; } @@ -109,41 +96,36 @@ var FullTextDocument = /** @class */ (function () { } // low is the least x for which the line offset is larger than the current offset // or array.length if no line offset is larger than the current offset - var line = low - 1; - return { line: line, character: offset - lineOffsets[line] }; - }; - FullTextDocument.prototype.offsetAt = function (position) { - var lineOffsets = this.getLineOffsets(); + let line = low - 1; + return { line, character: offset - lineOffsets[line] }; + } + offsetAt(position) { + let lineOffsets = this.getLineOffsets(); if (position.line >= lineOffsets.length) { return this._content.length; } else if (position.line < 0) { return 0; } - var lineOffset = lineOffsets[position.line]; - var nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length; + let lineOffset = lineOffsets[position.line]; + let nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length; return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset); - }; - Object.defineProperty(FullTextDocument.prototype, "lineCount", { - get: function () { - return this.getLineOffsets().length; - }, - enumerable: true, - configurable: true - }); - FullTextDocument.isIncremental = function (event) { - var candidate = event; + } + get lineCount() { + return this.getLineOffsets().length; + } + static isIncremental(event) { + let candidate = event; return candidate !== undefined && candidate !== null && typeof candidate.text === 'string' && candidate.range !== undefined && (candidate.rangeLength === undefined || typeof candidate.rangeLength === 'number'); - }; - FullTextDocument.isFull = function (event) { - var candidate = event; + } + static isFull(event) { + let candidate = event; return candidate !== undefined && candidate !== null && typeof candidate.text === 'string' && candidate.range === undefined && candidate.rangeLength === undefined; - }; - return FullTextDocument; -}()); + } +} export var TextDocument; (function (TextDocument) { /** @@ -159,10 +141,11 @@ export var TextDocument; } TextDocument.create = create; /** - * Updates a TextDocument by modifing its content. + * Updates a TextDocument by modifying its content. * * @param document the document to update. Only documents created by TextDocument.create are valid inputs. * @param changes the changes to apply to the document. + * @param version the changes version for the document. * @returns The updated TextDocument. Note: That's the same document instance passed in as first parameter. * */ @@ -177,19 +160,18 @@ export var TextDocument; } TextDocument.update = update; function applyEdits(document, edits) { - var text = document.getText(); - var sortedEdits = mergeSort(edits.map(getWellformedEdit), function (a, b) { - var diff = a.range.start.line - b.range.start.line; + let text = document.getText(); + let sortedEdits = mergeSort(edits.map(getWellformedEdit), (a, b) => { + let diff = a.range.start.line - b.range.start.line; if (diff === 0) { return a.range.start.character - b.range.start.character; } return diff; }); - var lastModifiedOffset = 0; - var spans = []; - for (var _i = 0, sortedEdits_1 = sortedEdits; _i < sortedEdits_1.length; _i++) { - var e = sortedEdits_1[_i]; - var startOffset = document.offsetAt(e.range.start); + let lastModifiedOffset = 0; + const spans = []; + for (const e of sortedEdits) { + let startOffset = document.offsetAt(e.range.start); if (startOffset < lastModifiedOffset) { throw new Error('Overlapping edit'); } @@ -211,16 +193,16 @@ function mergeSort(data, compare) { // sorted return data; } - var p = (data.length / 2) | 0; - var left = data.slice(0, p); - var right = data.slice(p); + const p = (data.length / 2) | 0; + const left = data.slice(0, p); + const right = data.slice(p); mergeSort(left, compare); mergeSort(right, compare); - var leftIdx = 0; - var rightIdx = 0; - var i = 0; + let leftIdx = 0; + let rightIdx = 0; + let i = 0; while (leftIdx < left.length && rightIdx < right.length) { - var ret = compare(left[leftIdx], right[rightIdx]); + let ret = compare(left[leftIdx], right[rightIdx]); if (ret <= 0) { // smaller_equal -> take left to preserve order data[i++] = left[leftIdx++]; @@ -238,11 +220,10 @@ function mergeSort(data, compare) { } return data; } -function computeLineOffsets(text, isAtLineStart, textOffset) { - if (textOffset === void 0) { textOffset = 0; } - var result = isAtLineStart ? [textOffset] : []; - for (var i = 0; i < text.length; i++) { - var ch = text.charCodeAt(i); +function computeLineOffsets(text, isAtLineStart, textOffset = 0) { + const result = isAtLineStart ? [textOffset] : []; + for (let i = 0; i < text.length; i++) { + let ch = text.charCodeAt(i); if (ch === 13 /* CarriageReturn */ || ch === 10 /* LineFeed */) { if (ch === 13 /* CarriageReturn */ && i + 1 < text.length && text.charCodeAt(i + 1) === 10 /* LineFeed */) { i++; @@ -253,17 +234,17 @@ function computeLineOffsets(text, isAtLineStart, textOffset) { return result; } function getWellformedRange(range) { - var start = range.start; - var end = range.end; + const start = range.start; + const end = range.end; if (start.line > end.line || (start.line === end.line && start.character > end.character)) { return { start: end, end: start }; } return range; } function getWellformedEdit(textEdit) { - var range = getWellformedRange(textEdit.range); + const range = getWellformedRange(textEdit.range); if (range !== textEdit.range) { - return { newText: textEdit.newText, range: range }; + return { newText: textEdit.newText, range }; } return textEdit; }