当前位置: 首页>>代码示例>>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;未经允许,请勿转载。