本文整理汇总了TypeScript中vscode-languageserver-types.TextEdit类的典型用法代码示例。如果您正苦于以下问题:TypeScript TextEdit类的具体用法?TypeScript TextEdit怎么用?TypeScript TextEdit使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TextEdit类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: test
test('inserts', function (): any {
let input = TextDocument.create('foo://bar/f', 'html', 0, '012345678901234567890123456789');
assert.equal(applyEdits(input, [TextEdit.insert(Position.create(0, 0), 'Hello')]), 'Hello012345678901234567890123456789');
assert.equal(applyEdits(input, [TextEdit.insert(Position.create(0, 1), 'Hello')]), '0Hello12345678901234567890123456789');
assert.equal(applyEdits(input, [TextEdit.insert(Position.create(0, 1), 'Hello'), TextEdit.insert(Position.create(0, 1), 'World')]), '0HelloWorld12345678901234567890123456789');
assert.equal(applyEdits(input, [TextEdit.insert(Position.create(0, 2), 'One'), TextEdit.insert(Position.create(0, 1), 'Hello'), TextEdit.insert(Position.create(0, 1), 'World'), TextEdit.insert(Position.create(0, 2), 'Two'), TextEdit.insert(Position.create(0, 2), 'Three')]), '0HelloWorld1OneTwoThree2345678901234567890123456789');
});
示例2: toReplaceTextedit
function toReplaceTextedit(
prettierifiedCode: string,
range: Range,
formatParams: FormattingOptions,
initialIndent: boolean
): TextEdit {
if (initialIndent) {
// Prettier adds newline at the end
const formattedCode = '\n' + indentSection(prettierifiedCode, formatParams);
return TextEdit.replace(range, formattedCode);
} else {
return TextEdit.replace(range, '\n' + prettierifiedCode);
}
}
示例3: test
test('TextEdit has correct replace text and range', () => {
const value = './';
const activeFileFsPath = path.resolve(fixtureRoot, 'index.html');
const range = toRange(0, 3, 5);
const expectedReplaceRange = toRange(0, 4, 4);
const suggestions = providePathSuggestions(value, range, activeFileFsPath);
assertSuggestions(suggestions, [
{ textEdit: TextEdit.replace(expectedReplaceRange, 'about/') },
{ textEdit: TextEdit.replace(expectedReplaceRange, 'index.html') },
{ textEdit: TextEdit.replace(expectedReplaceRange, 'src/') },
]);
});
示例4: collectCloseTagSuggestions
function collectCloseTagSuggestions(
afterOpenBracket: number,
matchingOnly: boolean,
tagNameEnd: number = offset
): CompletionList {
const range = getReplaceRange(afterOpenBracket, tagNameEnd);
const closeTag = isFollowedBy(text, tagNameEnd, ScannerState.WithinEndTag, TokenType.EndTagClose) ? '' : '>';
let curr = node;
while (curr) {
const tag = curr.tag;
if (tag && (!curr.closed || curr.endTagStart && (curr.endTagStart > offset))) {
const item: CompletionItem = {
label: '/' + tag,
kind: CompletionItemKind.Property,
filterText: '/' + tag + closeTag,
textEdit: TextEdit.replace(range, '/' + tag + closeTag),
insertTextFormat: InsertTextFormat.PlainText
};
const startIndent = getLineIndent(curr.start);
const endIndent = getLineIndent(afterOpenBracket - 1);
if (startIndent !== null && endIndent !== null && startIndent !== endIndent) {
const insertText = startIndent + '</' + tag + closeTag;
(item.textEdit = TextEdit.replace(getReplaceRange(afterOpenBracket - 1 - endIndent.length), insertText)),
(item.filterText = endIndent + '</' + tag + closeTag);
}
result.items.push(item);
return result;
}
curr = curr.parent;
}
if (matchingOnly) {
return result;
}
tagProviders.forEach(provider => {
provider.collectTags((tag, label) => {
result.items.push({
label: '/' + tag,
kind: CompletionItemKind.Property,
documentation: label,
filterText: '/' + tag + closeTag,
textEdit: TextEdit.replace(range, '/' + tag + closeTag),
insertTextFormat: InsertTextFormat.PlainText
});
});
});
return result;
}
示例5: test
test('getChangedPosition #3', () => {
let pos = Position.create(0, 1)
let r = Range.create(addPosition(pos, 0, -1), pos)
let edit = TextEdit.replace(r, 'a\nb\n')
let res = getChangedPosition(pos, edit)
expect(res).toEqual({ line: 2, character: -1 })
})
示例6: it
it('should return false for change to file not exists', async () => {
let uri = URI.file('/tmp/not_exists').toString()
let versioned = VersionedTextDocumentIdentifier.create(uri, null)
let edit = TextEdit.insert(Position.create(0, 0), 'bar')
let documentChanges = [TextDocumentEdit.create(versioned, [edit])]
let res = await workspace.applyEdit({ documentChanges })
expect(res).toBe(false)
})
示例7:
provider.collectValues(tag, attribute, value => {
const insertText = addQuotes ? '"' + value + '"' : value;
result.items.push({
label: value,
filterText: insertText,
kind: CompletionItemKind.Unit,
textEdit: TextEdit.replace(range, insertText),
insertTextFormat: InsertTextFormat.PlainText
});
});