當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。