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


TypeScript BufferLine.BufferLine類代碼示例

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


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

示例1: createEmptyLineData

 function createEmptyLineData(cols: number): IBufferLine {
   const lineData = new BufferLine(cols);
   for (let i = 0; i < cols; i++) {
     lineData.setCell(i, CellData.fromCharData([DEFAULT_ATTR, NULL_CELL_CHAR, NULL_CELL_WIDTH, NULL_CELL_CODE]));
   }
   return lineData;
 }
開發者ID:sourcelair,項目名稱:xterm.js,代碼行數:7,代碼來源:DomRendererRowFactory.test.ts

示例2: stringToRow

 function stringToRow(text: string): IBufferLine {
   const result = new BufferLine(text.length);
   for (let i = 0; i < text.length; i++) {
     result.setCell(i, CellData.fromCharData([0, text.charAt(i), 1, text.charCodeAt(i)]));
   }
   return result;
 }
開發者ID:sourcelair,項目名稱:xterm.js,代碼行數:7,代碼來源:SelectionManager.test.ts

示例3: it

 it('should expand selection for wide characters', () => {
   // Wide characters use a special format
   const data: [number, string, number, number][] = [
     [null, '中', 2, '中'.charCodeAt(0)],
     [null, '', 0, null],
     [null, '文', 2, '文'.charCodeAt(0)],
     [null, '', 0, null],
     [null, ' ', 1, ' '.charCodeAt(0)],
     [null, 'a', 1, 'a'.charCodeAt(0)],
     [null, '中', 2, '中'.charCodeAt(0)],
     [null, '', 0, null],
     [null, '文', 2, '文'.charCodeAt(0)],
     [null, '', 0, ''.charCodeAt(0)],
     [null, 'b', 1, 'b'.charCodeAt(0)],
     [null, ' ', 1, ' '.charCodeAt(0)],
     [null, 'f', 1, 'f'.charCodeAt(0)],
     [null, 'o', 1, 'o'.charCodeAt(0)],
     [null, 'o', 1, 'o'.charCodeAt(0)]
   ];
   const line = new BufferLine(data.length);
   for (let i = 0; i < data.length; ++i) line.setCell(i, CellData.fromCharData(data[i]));
   buffer.lines.set(0, line);
   // Ensure wide characters take up 2 columns
   selectionManager.selectWordAt([0, 0]);
   assert.equal(selectionManager.selectionText, '中文');
   selectionManager.selectWordAt([1, 0]);
   assert.equal(selectionManager.selectionText, '中文');
   selectionManager.selectWordAt([2, 0]);
   assert.equal(selectionManager.selectionText, '中文');
   selectionManager.selectWordAt([3, 0]);
   assert.equal(selectionManager.selectionText, '中文');
   selectionManager.selectWordAt([4, 0]);
   assert.equal(selectionManager.selectionText, ' ');
   // Ensure wide characters work when wrapped in normal width characters
   selectionManager.selectWordAt([5, 0]);
   assert.equal(selectionManager.selectionText, 'a中文b');
   selectionManager.selectWordAt([6, 0]);
   assert.equal(selectionManager.selectionText, 'a中文b');
   selectionManager.selectWordAt([7, 0]);
   assert.equal(selectionManager.selectionText, 'a中文b');
   selectionManager.selectWordAt([8, 0]);
   assert.equal(selectionManager.selectionText, 'a中文b');
   selectionManager.selectWordAt([9, 0]);
   assert.equal(selectionManager.selectionText, 'a中文b');
   selectionManager.selectWordAt([10, 0]);
   assert.equal(selectionManager.selectionText, 'a中文b');
   selectionManager.selectWordAt([11, 0]);
   assert.equal(selectionManager.selectionText, ' ');
   // Ensure normal width characters work fine in a line containing wide characters
   selectionManager.selectWordAt([12, 0]);
   assert.equal(selectionManager.selectionText, 'foo');
   selectionManager.selectWordAt([13, 0]);
   assert.equal(selectionManager.selectionText, 'foo');
   selectionManager.selectWordAt([14, 0]);
   assert.equal(selectionManager.selectionText, 'foo');
 });
開發者ID:sourcelair,項目名稱:xterm.js,代碼行數:56,代碼來源:SelectionManager.test.ts

示例4: it

 it('should work on lines ending in null space', () => {
   const line = new BufferLine(5);
   line.set(0, [0, '漢', 2, '漢'.charCodeAt(0)]);
   line.set(1, [0, '', 0, 0]);
   line.set(2, [0, '語', 2, '語'.charCodeAt(0)]);
   line.set(3, [0, '', 0, 0]);
   line.set(4, [0, NULL_CELL_CHAR, NULL_CELL_WIDTH, NULL_CELL_CODE]);
   assert.equal(line.translateToString(true), '漢語');
   assert.equal(line.translateToString(false), '漢語 ');
   assert.deepEqual(reflowSmallerGetNewLineLengths([line], 4, 3), [2, 2], 'line: 漢, 語');
   assert.deepEqual(reflowSmallerGetNewLineLengths([line], 4, 2), [2, 2], 'line: 漢, 語');
 });
開發者ID:sourcelair,項目名稱:xterm.js,代碼行數:12,代碼來源:BufferReflow.test.ts


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