本文整理汇总了TypeScript中vs/editor/common/model/textModelWithTokens.TextModelWithTokens类的典型用法代码示例。如果您正苦于以下问题:TypeScript TextModelWithTokens类的具体用法?TypeScript TextModelWithTokens怎么用?TypeScript TextModelWithTokens使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TextModelWithTokens类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: assertBracket
function assertBracket(lines:string[], lineNumber:number, column:number, expected:[EditorCommon.IEditorRange, EditorCommon.IEditorRange]): void {
let model = new TextModelWithTokens([], TextModel.toRawText(lines.join('\n'), TextModel.DEFAULT_CREATION_OPTIONS), false, _mode);
// force tokenization
model.getLineContext(model.getLineCount());
let actual = model.matchBracket({
lineNumber: lineNumber,
column: column
});
assert.deepEqual(toString(actual), toString(expected), 'TEXT <<' + lines.join('\n') + '>>, POS: ' + lineNumber + ', ' + column);
}
示例2: assertBracket
function assertBracket(lines:string[], lineNumber:number, column:number, expected:EditorCommon.IEditorRange[]): void {
let model = new TextModelWithTokens([], TextModel.toRawText(lines.join('\n'), EditorCommon.DefaultEndOfLine.LF), false, _mode);
// force tokenization
model.getLineContext(model.getLineCount());
let actual = model.matchBracket({
lineNumber: lineNumber,
column: column
});
let actualStr = actual ? toString(actual.brackets) : null;
let expectedStr = toString(expected);
assert.deepEqual(actualStr, expectedStr, 'TEXT <<' + lines.join('\n') + '>>, POS: ' + lineNumber + ', ' + column);
}
示例3: onEnter
function onEnter(line:string, offset:number): Modes.IEnterAction {
let model = new TextModelWithTokens([], TextModel.toRawText(line, EditorCommon.DefaultEndOfLine.LF), false, _mode);
let result = getRawEnterActionAtPosition(model, 1, offset + 1);
model.dispose();
return result;
}
示例4: onEnter
function onEnter(line:string, offset:number): Modes.IEnterAction {
let model = new TextModelWithTokens([], TextModel.toRawText(line, Model.DEFAULT_CREATION_OPTIONS), false, _mode);
let result = getRawEnterActionAtPosition(model, 1, offset + 1);
model.dispose();
return result;
}
示例5: testBrackets
function testBrackets(contents: string[], brackets:string[][]): void {
let charIsBracket: {[char:string]:boolean} = {};
let charIsOpenBracket: {[char:string]:boolean} = {};
let openForChar: {[char:string]:string} = {};
let closeForChar: {[char:string]:string} = {};
brackets.forEach((b) => {
charIsBracket[b[0]] = true;
charIsBracket[b[1]] = true;
charIsOpenBracket[b[0]] = true;
charIsOpenBracket[b[1]] = false;
openForChar[b[0]] = b[0];
closeForChar[b[0]] = b[1];
openForChar[b[1]] = b[0];
closeForChar[b[1]] = b[1];
});
let expectedBrackets:IFoundBracket[] = [];
for (let lineIndex = 0; lineIndex < contents.length; lineIndex++) {
let lineText = contents[lineIndex];
for (let charIndex = 0; charIndex < lineText.length; charIndex++) {
let ch = lineText.charAt(charIndex);
if (charIsBracket[ch]) {
expectedBrackets.push({
open: openForChar[ch],
close: closeForChar[ch],
isOpen: charIsOpenBracket[ch],
range: new Range(lineIndex + 1, charIndex + 1, lineIndex + 1, charIndex + 2)
});
}
}
}
let model = new TextModelWithTokens([], TextModel.toRawText(contents.join('\n')), false, null);
// findPrevBracket
{
let expectedBracketIndex = expectedBrackets.length - 1;
let currentExpectedBracket = expectedBracketIndex >= 0 ? expectedBrackets[expectedBracketIndex] : null;
for (let lineNumber = contents.length; lineNumber >= 1; lineNumber--) {
let lineText = contents[lineNumber - 1];
for (let column = lineText.length + 1; column >= 1; column--) {
if (currentExpectedBracket) {
if (lineNumber === currentExpectedBracket.range.startLineNumber && column < currentExpectedBracket.range.endColumn) {
expectedBracketIndex--;
currentExpectedBracket = expectedBracketIndex >= 0 ? expectedBrackets[expectedBracketIndex] : null;
}
}
let actual = model.findPrevBracket({
lineNumber: lineNumber,
column: column
});
assert.deepEqual(toRelaxedFoundBracket(actual), toRelaxedFoundBracket(currentExpectedBracket), 'findPrevBracket of ' + lineNumber + ', ' + column);
}
}
}
// findNextBracket
{
let expectedBracketIndex = 0;
let currentExpectedBracket = expectedBracketIndex < expectedBrackets.length ? expectedBrackets[expectedBracketIndex] : null;
for (let lineNumber = 1; lineNumber <= contents.length; lineNumber++) {
let lineText = contents[lineNumber - 1];
for (let column = 1; column <= lineText.length + 1; column++) {
if (currentExpectedBracket) {
if (lineNumber === currentExpectedBracket.range.startLineNumber && column > currentExpectedBracket.range.startColumn) {
expectedBracketIndex++;
currentExpectedBracket = expectedBracketIndex < expectedBrackets.length ? expectedBrackets[expectedBracketIndex] : null;
}
}
let actual = model.findNextBracket({
lineNumber: lineNumber,
column: column
});
assert.deepEqual(toRelaxedFoundBracket(actual), toRelaxedFoundBracket(currentExpectedBracket), 'findNextBracket of ' + lineNumber + ', ' + column);
}
}
}
model.dispose();
}
示例6: testBrackets
function testBrackets(contents: string[], brackets: CharacterPair[]): void {
function toRelaxedFoundBracket(a: IFoundBracket) {
if (!a) {
return null;
}
return {
range: a.range.toString(),
open: a.open,
close: a.close,
isOpen: a.isOpen
};
}
let charIsBracket: { [char: string]: boolean } = {};
let charIsOpenBracket: { [char: string]: boolean } = {};
let openForChar: { [char: string]: string } = {};
let closeForChar: { [char: string]: string } = {};
brackets.forEach((b) => {
charIsBracket[b[0]] = true;
charIsBracket[b[1]] = true;
charIsOpenBracket[b[0]] = true;
charIsOpenBracket[b[1]] = false;
openForChar[b[0]] = b[0];
closeForChar[b[0]] = b[1];
openForChar[b[1]] = b[0];
closeForChar[b[1]] = b[1];
});
let expectedBrackets: IFoundBracket[] = [];
for (let lineIndex = 0; lineIndex < contents.length; lineIndex++) {
let lineText = contents[lineIndex];
for (let charIndex = 0; charIndex < lineText.length; charIndex++) {
let ch = lineText.charAt(charIndex);
if (charIsBracket[ch]) {
expectedBrackets.push({
open: openForChar[ch],
close: closeForChar[ch],
isOpen: charIsOpenBracket[ch],
range: new Range(lineIndex + 1, charIndex + 1, lineIndex + 1, charIndex + 2)
});
}
}
}
class Mode extends MockMode {
constructor() {
super();
LanguageConfigurationRegistry.register(this.getId(), {
brackets: brackets
});
}
}
let model = new TextModelWithTokens([], TextModel.toRawText(contents.join('\n'), TextModel.DEFAULT_CREATION_OPTIONS), new Mode().getId());
// findPrevBracket
{
let expectedBracketIndex = expectedBrackets.length - 1;
let currentExpectedBracket = expectedBracketIndex >= 0 ? expectedBrackets[expectedBracketIndex] : null;
for (let lineNumber = contents.length; lineNumber >= 1; lineNumber--) {
let lineText = contents[lineNumber - 1];
for (let column = lineText.length + 1; column >= 1; column--) {
if (currentExpectedBracket) {
if (lineNumber === currentExpectedBracket.range.startLineNumber && column < currentExpectedBracket.range.endColumn) {
expectedBracketIndex--;
currentExpectedBracket = expectedBracketIndex >= 0 ? expectedBrackets[expectedBracketIndex] : null;
}
}
let actual = model.findPrevBracket({
lineNumber: lineNumber,
column: column
});
assert.deepEqual(toRelaxedFoundBracket(actual), toRelaxedFoundBracket(currentExpectedBracket), 'findPrevBracket of ' + lineNumber + ', ' + column);
}
}
}
// findNextBracket
{
let expectedBracketIndex = 0;
let currentExpectedBracket = expectedBracketIndex < expectedBrackets.length ? expectedBrackets[expectedBracketIndex] : null;
for (let lineNumber = 1; lineNumber <= contents.length; lineNumber++) {
let lineText = contents[lineNumber - 1];
for (let column = 1; column <= lineText.length + 1; column++) {
if (currentExpectedBracket) {
if (lineNumber === currentExpectedBracket.range.startLineNumber && column > currentExpectedBracket.range.startColumn) {
expectedBracketIndex++;
currentExpectedBracket = expectedBracketIndex < expectedBrackets.length ? expectedBrackets[expectedBracketIndex] : null;
}
}
//.........这里部分代码省略.........
示例7: onEnter
function onEnter(line:string, offset:number): Modes.EnterAction {
let model = new TextModelWithTokens([], TextModel.toRawText(line, TextModel.DEFAULT_CREATION_OPTIONS), _mode);
let result = LanguageConfigurationRegistry.getRawEnterActionAtPosition(model, 1, offset + 1);
model.dispose();
return result;
}