当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript CharacterClassifier.get方法代码示例

本文整理汇总了TypeScript中vs/editor/common/core/characterClassifier.CharacterClassifier.get方法的典型用法代码示例。如果您正苦于以下问题:TypeScript CharacterClassifier.get方法的具体用法?TypeScript CharacterClassifier.get怎么用?TypeScript CharacterClassifier.get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vs/editor/common/core/characterClassifier.CharacterClassifier的用法示例。


在下文中一共展示了CharacterClassifier.get方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: _createLink

	private static _createLink(classifier: CharacterClassifier<CharacterClass>, line: string, lineNumber: number, linkBeginIndex: number, linkEndIndex: number): ILink {
		// Do not allow to end link in certain characters...
		let lastIncludedCharIndex = linkEndIndex - 1;
		do {
			const chCode = line.charCodeAt(lastIncludedCharIndex);
			const chClass = classifier.get(chCode);
			if (chClass !== CharacterClass.CannotEndIn) {
				break;
			}
			lastIncludedCharIndex--;
		} while (lastIncludedCharIndex > linkBeginIndex);

		// Handle links enclosed in parens, square brackets and curlys.
		if (linkBeginIndex > 0) {
			const charCodeBeforeLink = line.charCodeAt(linkBeginIndex - 1);
			const lastCharCodeInLink = line.charCodeAt(lastIncludedCharIndex);

			if (
				(charCodeBeforeLink === CharCode.OpenParen && lastCharCodeInLink === CharCode.CloseParen)
				|| (charCodeBeforeLink === CharCode.OpenSquareBracket && lastCharCodeInLink === CharCode.CloseSquareBracket)
				|| (charCodeBeforeLink === CharCode.OpenCurlyBrace && lastCharCodeInLink === CharCode.CloseCurlyBrace)
			) {
				// Do not end in ) if ( is before the link start
				// Do not end in ] if [ is before the link start
				// Do not end in } if { is before the link start
				lastIncludedCharIndex--;
			}
		}

		return {
			range: {
				startLineNumber: lineNumber,
				startColumn: linkBeginIndex + 1,
				endLineNumber: lineNumber,
				endColumn: lastIncludedCharIndex + 2
			},
			url: line.substring(linkBeginIndex, lastIncludedCharIndex + 1)
		};
	}
开发者ID:PKRoma,项目名称:vscode,代码行数:39,代码来源:linkComputer.ts

示例2: _createLink

	private static _createLink(classifier: CharacterClassifier<CharacterClass>, line: string, lineNumber: number, linkBeginIndex: number, linkEndIndex: number): ILink {
		// Do not allow to end link in certain characters...
		let lastIncludedCharIndex = linkEndIndex - 1;
		do {
			const chCode = line.charCodeAt(lastIncludedCharIndex);
			const chClass = classifier.get(chCode);
			if (chClass !== CharacterClass.CannotEndIn) {
				break;
			}
			lastIncludedCharIndex--;
		} while (lastIncludedCharIndex > linkBeginIndex);

		return {
			range: {
				startLineNumber: lineNumber,
				startColumn: linkBeginIndex + 1,
				endLineNumber: lineNumber,
				endColumn: lastIncludedCharIndex + 2
			},
			url: line.substring(linkBeginIndex, lastIncludedCharIndex + 1)
		};
	}
开发者ID:Chan-PH,项目名称:vscode,代码行数:22,代码来源:linkComputer.ts

示例3: test

	test('works', () => {
		let classifier = new CharacterClassifier(0);

		assert.equal(classifier.get(-1), 0);
		assert.equal(classifier.get(0), 0);
		assert.equal(classifier.get(CharCode.a), 0);
		assert.equal(classifier.get(CharCode.b), 0);
		assert.equal(classifier.get(CharCode.z), 0);
		assert.equal(classifier.get(255), 0);
		assert.equal(classifier.get(1000), 0);
		assert.equal(classifier.get(2000), 0);

		classifier.set(CharCode.a, 1);
		classifier.set(CharCode.z, 2);
		classifier.set(1000, 3);

		assert.equal(classifier.get(-1), 0);
		assert.equal(classifier.get(0), 0);
		assert.equal(classifier.get(CharCode.a), 1);
		assert.equal(classifier.get(CharCode.b), 0);
		assert.equal(classifier.get(CharCode.z), 2);
		assert.equal(classifier.get(255), 0);
		assert.equal(classifier.get(1000), 3);
		assert.equal(classifier.get(2000), 0);
	});
开发者ID:aminroosta,项目名称:vscode,代码行数:25,代码来源:characterClassifier.test.ts


注:本文中的vs/editor/common/core/characterClassifier.CharacterClassifier.get方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。