Socket
Socket
Sign inDemoInstall

vscode-languageserver-textdocument

Package Overview
Dependencies
0
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.0-next.4 to 1.0.0-next.5

0

.eslintrc.json

@@ -0,0 +0,0 @@ {

@@ -0,0 +0,0 @@ /**

47

lib/esm/main.js

@@ -54,10 +54,25 @@ /* --------------------------------------------------------------------------------------------

// update the offsets
var oldOffsets = this._lineOffsets;
var newLineOffsets = oldOffsets.slice(0, Math.max(range.start.line, 0) + 1);
computeLineOffsets(change.text, false, startOffset, newLineOffsets);
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);
if (endLine - startLine === addedLineOffsets.length) {
for (var 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));
}
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);
for (var i = Math.max(range.end.line, 0) + 1; i < oldOffsets.length; i++) {
newLineOffsets.push(oldOffsets[i] + diff);
if (diff !== 0) {
for (var i = startLine + 1 + addedLineOffsets.length, len = lineOffsets.length; i < len; i++) {
lineOffsets[i] = lineOffsets[i] + diff;
}
}
this._lineOffsets = newLineOffsets;
}

@@ -223,18 +238,14 @@ else if (FullTextDocument.isFull(change)) {

}
function computeLineOffsets(text, isAtLineStart, textOffset, result) {
function computeLineOffsets(text, isAtLineStart, textOffset) {
if (textOffset === void 0) { textOffset = 0; }
if (result === void 0) { result = []; }
var result = isAtLineStart ? [textOffset] : [];
for (var i = 0; i < text.length; i++) {
if (isAtLineStart) {
result.push(i + textOffset);
var 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++;
}
result.push(textOffset + i + 1);
}
var ch = text.charAt(i);
isAtLineStart = ch === '\r' || ch === '\n';
if (ch === '\r' && i + 1 < text.length && text.charAt(i + 1) === '\n') {
i++;
}
}
if (isAtLineStart) {
result.push(text.length + textOffset);
}
return result;

@@ -241,0 +252,0 @@ }

@@ -0,0 +0,0 @@ /**

@@ -64,10 +64,25 @@ (function (factory) {

// update the offsets
var oldOffsets = this._lineOffsets;
var newLineOffsets = oldOffsets.slice(0, Math.max(range.start.line, 0) + 1);
computeLineOffsets(change.text, false, startOffset, newLineOffsets);
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);
if (endLine - startLine === addedLineOffsets.length) {
for (var 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));
}
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);
for (var i = Math.max(range.end.line, 0) + 1; i < oldOffsets.length; i++) {
newLineOffsets.push(oldOffsets[i] + diff);
if (diff !== 0) {
for (var i = startLine + 1 + addedLineOffsets.length, len = lineOffsets.length; i < len; i++) {
lineOffsets[i] = lineOffsets[i] + diff;
}
}
this._lineOffsets = newLineOffsets;
}

@@ -233,18 +248,14 @@ else if (FullTextDocument.isFull(change)) {

}
function computeLineOffsets(text, isAtLineStart, textOffset, result) {
function computeLineOffsets(text, isAtLineStart, textOffset) {
if (textOffset === void 0) { textOffset = 0; }
if (result === void 0) { result = []; }
var result = isAtLineStart ? [textOffset] : [];
for (var i = 0; i < text.length; i++) {
if (isAtLineStart) {
result.push(i + textOffset);
var 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++;
}
result.push(textOffset + i + 1);
}
var ch = text.charAt(i);
isAtLineStart = ch === '\r' || ch === '\n';
if (ch === '\r' && i + 1 < text.length && text.charAt(i + 1) === '\n') {
i++;
}
}
if (isAtLineStart) {
result.push(text.length + textOffset);
}
return result;

@@ -251,0 +262,0 @@ }

@@ -0,0 +0,0 @@ Copyright (c) Microsoft Corporation

{
"name": "vscode-languageserver-textdocument",
"description": "A simple text document implementation for Node LSP servers",
"version": "1.0.0-next.4",
"version": "1.0.0-next.5",
"author": "Microsoft Corporation",

@@ -6,0 +6,0 @@ "license": "MIT",

@@ -0,0 +0,0 @@ # Text Document implementation for a LSP Node server

@@ -0,0 +0,0 @@ {

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc