vscode-json-languageservice
Advanced tools
Comparing version 2.0.0 to 2.0.1
@@ -800,4 +800,12 @@ var __extends = (this && this.__extends) || function (d, b) { | ||
// ignore multiple errors on the same offset | ||
var error = { message: message, location: { start: _scanner.getTokenOffset(), end: _scanner.getTokenOffset() + _scanner.getTokenLength() } }; | ||
_doc.errors.push(error); | ||
var start = _scanner.getTokenOffset(); | ||
var end = _scanner.getTokenOffset() + _scanner.getTokenLength(); | ||
if (start === end && start > 0) { | ||
start--; | ||
while (start > 0 && /\s/.test(text.charAt(start))) { | ||
start--; | ||
} | ||
end = start + 1; | ||
} | ||
_doc.errors.push({ message: message, location: { start: start, end: end } }); | ||
} | ||
@@ -804,0 +812,0 @@ if (node) { |
@@ -56,2 +56,3 @@ (function (factory) { | ||
var scanner = Json.createScanner(formatText, false); | ||
var hasError = false; | ||
function newLineAndIndent() { | ||
@@ -67,2 +68,3 @@ return eol + repeat(indentValue, initialIndentLevel + indentLevel); | ||
} | ||
hasError = token === Json.SyntaxKind.Unknown || scanner.getTokenError() !== Json.ScanError.None; | ||
return token; | ||
@@ -72,3 +74,3 @@ } | ||
function addEdit(text, startOffset, endOffset) { | ||
if (startOffset < rangeEnd && endOffset > rangeStart && documentText.substring(startOffset, endOffset) !== text) { | ||
if (!hasError && startOffset < rangeEnd && endOffset > rangeStart && documentText.substring(startOffset, endOffset) !== text) { | ||
var replaceRange = vscode_languageserver_types_1.Range.create(document.positionAt(startOffset), document.positionAt(endOffset)); | ||
@@ -131,2 +133,8 @@ editOperations.push(vscode_languageserver_types_1.TextEdit.replace(replaceRange, text)); | ||
break; | ||
case Json.SyntaxKind.StringLiteral: | ||
if (secondToken === Json.SyntaxKind.ColonToken) { | ||
replaceContent = ''; | ||
break; | ||
} | ||
// fall through | ||
case Json.SyntaxKind.NullKeyword: | ||
@@ -136,5 +144,10 @@ case Json.SyntaxKind.TrueKeyword: | ||
case Json.SyntaxKind.NumericLiteral: | ||
if (secondToken === Json.SyntaxKind.NullKeyword || secondToken === Json.SyntaxKind.FalseKeyword || secondToken === Json.SyntaxKind.NumericLiteral) { | ||
case Json.SyntaxKind.CloseBraceToken: | ||
case Json.SyntaxKind.CloseBracketToken: | ||
if (secondToken === Json.SyntaxKind.LineCommentTrivia || secondToken === Json.SyntaxKind.BlockCommentTrivia) { | ||
replaceContent = ' '; | ||
} | ||
else if (secondToken !== Json.SyntaxKind.CommaToken && secondToken !== Json.SyntaxKind.EOF) { | ||
hasError = true; | ||
} | ||
break; | ||
@@ -153,2 +166,3 @@ } | ||
exports.format = format; | ||
var tokensAfterValue = [Json.SyntaxKind.LineCommentTrivia, Json.SyntaxKind.BlockCommentTrivia, Json.SyntaxKind.CommaToken]; | ||
function repeat(s, count) { | ||
@@ -155,0 +169,0 @@ var result = ''; |
{ | ||
"name": "vscode-json-languageservice", | ||
"version": "2.0.0", | ||
"version": "2.0.1", | ||
"description": "Language service for JSON", | ||
@@ -5,0 +5,0 @@ "main": "./lib/jsonLanguageService.js", |
163470
3237