vscode-json-languageservice
Advanced tools
Comparing version 2.0.0-next.7 to 2.0.0-next.8
@@ -606,3 +606,3 @@ var __extends = (this && this.__extends) || function (d, b) { | ||
location: { start: propertyNode.key.start, end: propertyNode.key.end }, | ||
message: localize('DisallowedExtraPropWarning', 'Property {0} is not allowed', propertyName) | ||
message: schema.errorMessage || localize('DisallowedExtraPropWarning', 'Property {0} is not allowed', propertyName) | ||
}); | ||
@@ -609,0 +609,0 @@ } |
@@ -6,3 +6,3 @@ (function (factory) { | ||
else if (typeof define === 'function' && define.amd) { | ||
define(["require", "exports", 'jsonc-parser', 'vscode-languageserver-types', 'vscode-nls'], factory); | ||
define(["require", "exports", 'jsonc-parser', '../utils/json', 'vscode-languageserver-types', 'vscode-nls'], factory); | ||
} | ||
@@ -16,2 +16,3 @@ })(function (require, exports) { | ||
var Json = require('jsonc-parser'); | ||
var json_1 = require('../utils/json'); | ||
var vscode_languageserver_types_1 = require('vscode-languageserver-types'); | ||
@@ -41,10 +42,13 @@ var nls = require('vscode-nls'); | ||
var _this = this; | ||
var result = { | ||
items: [], | ||
isIncomplete: false | ||
}; | ||
var offset = document.offsetAt(position); | ||
var node = doc.getNodeFromOffsetEndInclusive(offset); | ||
if (this.isInComment(document, node ? node.start : 0, offset)) { | ||
return Promise.resolve(result); | ||
} | ||
var currentWord = this.getCurrentWord(document, offset); | ||
var overwriteRange = null; | ||
var result = { | ||
items: [], | ||
isIncomplete: false | ||
}; | ||
if (node && (node.type === 'string' || node.type === 'number' || node.type === 'boolean' || node.type === 'null')) { | ||
@@ -484,3 +488,11 @@ overwriteRange = vscode_languageserver_types_1.Range.create(document.positionAt(node.start), document.positionAt(node.end)); | ||
JSONCompletion.prototype.getInsertTextForSnippetValue = function (value, separatorAfter) { | ||
return vscode_languageserver_types_1.SnippetString.create(JSON.stringify(value, null, '\t') + separatorAfter); | ||
var replacer = function (value) { | ||
if (typeof value === 'string') { | ||
if (value[0] === '^') { | ||
return value.substr(1); | ||
} | ||
} | ||
return JSON.stringify(value); | ||
}; | ||
return vscode_languageserver_types_1.SnippetString.create(json_1.stringifyObject(value, '', replacer) + separatorAfter); | ||
}; | ||
@@ -621,2 +633,11 @@ JSONCompletion.prototype.getInsertTextForGuessedValue = function (value, separatorAfter) { | ||
}; | ||
JSONCompletion.prototype.isInComment = function (document, start, offset) { | ||
var scanner = Json.createScanner(document.getText(), false); | ||
scanner.setPosition(start); | ||
var token = scanner.scan(); | ||
while (token !== Json.SyntaxKind.EOF && (scanner.getTokenOffset() + scanner.getTokenLength() < offset)) { | ||
token = scanner.scan(); | ||
} | ||
return (token === Json.SyntaxKind.LineCommentTrivia || token === Json.SyntaxKind.BlockCommentTrivia) && scanner.getTokenOffset() <= offset; | ||
}; | ||
return JSONCompletion; | ||
@@ -623,0 +644,0 @@ }()); |
{ | ||
"name": "vscode-json-languageservice", | ||
"version": "2.0.0-next.7", | ||
"version": "2.0.0-next.8", | ||
"description": "Language service for JSON", | ||
@@ -5,0 +5,0 @@ "main": "./lib/jsonLanguageService.js", |
@@ -6,2 +6,3 @@ # vscode-json-languageservice | ||
[![NPM Downloads](https://img.shields.io/npm/dm/vscode-json-languageservice.svg)](https://npmjs.org/package/vscode-json-languageservice) | ||
[![Build Status](https://travis-ci.org/Microsoft/vscode-json-languageservice.svg?branch=master)](https://travis-ci.org/Microsoft/vscode-json-languageservice) | ||
@@ -8,0 +9,0 @@ Why? |
158406
22
3111
23