當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript pieceTreeBase.createLineStartsFast函數代碼示例

本文整理匯總了TypeScript中vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.createLineStartsFast函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript createLineStartsFast函數的具體用法?TypeScript createLineStartsFast怎麽用?TypeScript createLineStartsFast使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了createLineStartsFast函數的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: _finish

	private _finish(): void {
		if (this.chunks.length === 0) {
			this._acceptChunk1('', true);
		}

		if (this._hasPreviousChar) {
			this._hasPreviousChar = false;
			// recreate last chunk
			let lastChunk = this.chunks[this.chunks.length - 1];
			lastChunk.buffer += String.fromCharCode(this._previousChar);
			let newLineStarts = createLineStartsFast(lastChunk.buffer);
			lastChunk.lineStarts = newLineStarts;
			if (this._previousChar === CharCode.CarriageReturn) {
				this.cr++;
			}
		}
	}
開發者ID:PKRoma,項目名稱:vscode,代碼行數:17,代碼來源:pieceTreeTextBufferBuilder.ts

示例2: create

	public create(defaultEOL: DefaultEndOfLine): ITextBuffer {
		const eol = this._getEOL(defaultEOL);
		let chunks = this._chunks;

		if (this._normalizeEOL &&
			((eol === '\r\n' && (this._cr > 0 || this._lf > 0))
				|| (eol === '\n' && (this._cr > 0 || this._crlf > 0)))
		) {
			// Normalize pieces
			for (let i = 0, len = chunks.length; i < len; i++) {
				let str = chunks[i].buffer.replace(/\r\n|\r|\n/g, eol);
				let newLineStart = createLineStartsFast(str);
				chunks[i] = new StringBuffer(str, newLineStart);
			}
		}

		return new PieceTreeTextBuffer(chunks, this._bom, eol, this._containsRTL, this._isBasicASCII, this._normalizeEOL);
	}
開發者ID:PKRoma,項目名稱:vscode,代碼行數:18,代碼來源:pieceTreeTextBufferBuilder.ts


注:本文中的vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.createLineStartsFast函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。