@rushstack/terminal 0.19.5 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/CHANGELOG.json +44 -0
  2. package/CHANGELOG.md +22 -1
  3. package/dist/terminal.d.ts +55 -8
  4. package/dist/tsdoc-metadata.json +1 -1
  5. package/lib-commonjs/StringBufferTerminalProvider.js +189 -0
  6. package/lib-commonjs/StringBufferTerminalProvider.js.map +1 -0
  7. package/{lib → lib-commonjs}/index.js.map +1 -1
  8. package/{lib → lib-dts}/StringBufferTerminalProvider.d.ts +51 -8
  9. package/lib-dts/StringBufferTerminalProvider.d.ts.map +1 -0
  10. package/{lib → lib-dts}/index.d.ts +1 -1
  11. package/{lib → lib-dts}/index.d.ts.map +1 -1
  12. package/lib-esm/AnsiEscape.js +131 -0
  13. package/lib-esm/AnsiEscape.js.map +1 -0
  14. package/lib-esm/CallbackWritable.js +27 -0
  15. package/lib-esm/CallbackWritable.js.map +1 -0
  16. package/lib-esm/Colorize.js +158 -0
  17. package/lib-esm/Colorize.js.map +1 -0
  18. package/lib-esm/ConsoleTerminalProvider.js +58 -0
  19. package/lib-esm/ConsoleTerminalProvider.js.map +1 -0
  20. package/lib-esm/DiscardStdoutTransform.js +90 -0
  21. package/lib-esm/DiscardStdoutTransform.js.map +1 -0
  22. package/lib-esm/IProblemCollector.js +4 -0
  23. package/lib-esm/IProblemCollector.js.map +1 -0
  24. package/lib-esm/ITerminal.js +4 -0
  25. package/lib-esm/ITerminal.js.map +1 -0
  26. package/lib-esm/ITerminalChunk.js +18 -0
  27. package/lib-esm/ITerminalChunk.js.map +1 -0
  28. package/lib-esm/ITerminalProvider.js +29 -0
  29. package/lib-esm/ITerminalProvider.js.map +1 -0
  30. package/lib-esm/MockWritable.js +28 -0
  31. package/lib-esm/MockWritable.js.map +1 -0
  32. package/lib-esm/NoOpTerminalProvider.js +30 -0
  33. package/lib-esm/NoOpTerminalProvider.js.map +1 -0
  34. package/lib-esm/NormalizeNewlinesTextRewriter.js +66 -0
  35. package/lib-esm/NormalizeNewlinesTextRewriter.js.map +1 -0
  36. package/lib-esm/PrefixProxyTerminalProvider.js +58 -0
  37. package/lib-esm/PrefixProxyTerminalProvider.js.map +1 -0
  38. package/lib-esm/PrintUtilities.js +146 -0
  39. package/lib-esm/PrintUtilities.js.map +1 -0
  40. package/lib-esm/ProblemCollector.js +85 -0
  41. package/lib-esm/ProblemCollector.js.map +1 -0
  42. package/lib-esm/RemoveColorsTextRewriter.js +91 -0
  43. package/lib-esm/RemoveColorsTextRewriter.js.map +1 -0
  44. package/lib-esm/SplitterTransform.js +74 -0
  45. package/lib-esm/SplitterTransform.js.map +1 -0
  46. package/lib-esm/StdioLineTransform.js +111 -0
  47. package/lib-esm/StdioLineTransform.js.map +1 -0
  48. package/lib-esm/StdioSummarizer.js +95 -0
  49. package/lib-esm/StdioSummarizer.js.map +1 -0
  50. package/lib-esm/StdioWritable.js +27 -0
  51. package/lib-esm/StdioWritable.js.map +1 -0
  52. package/lib-esm/StringBufferTerminalProvider.js +185 -0
  53. package/lib-esm/StringBufferTerminalProvider.js.map +1 -0
  54. package/lib-esm/Terminal.js +150 -0
  55. package/lib-esm/Terminal.js.map +1 -0
  56. package/lib-esm/TerminalStreamWritable.js +49 -0
  57. package/lib-esm/TerminalStreamWritable.js.map +1 -0
  58. package/lib-esm/TerminalTransform.js +53 -0
  59. package/lib-esm/TerminalTransform.js.map +1 -0
  60. package/lib-esm/TerminalWritable.js +119 -0
  61. package/lib-esm/TerminalWritable.js.map +1 -0
  62. package/lib-esm/TextRewriter.js +35 -0
  63. package/lib-esm/TextRewriter.js.map +1 -0
  64. package/lib-esm/TextRewriterTransform.js +90 -0
  65. package/lib-esm/TextRewriterTransform.js.map +1 -0
  66. package/lib-esm/index.js +38 -0
  67. package/lib-esm/index.js.map +1 -0
  68. package/package.json +28 -6
  69. package/lib/StringBufferTerminalProvider.d.ts.map +0 -1
  70. package/lib/StringBufferTerminalProvider.js +0 -116
  71. package/lib/StringBufferTerminalProvider.js.map +0 -1
  72. /package/{lib → lib-commonjs}/AnsiEscape.js +0 -0
  73. /package/{lib → lib-commonjs}/AnsiEscape.js.map +0 -0
  74. /package/{lib → lib-commonjs}/CallbackWritable.js +0 -0
  75. /package/{lib → lib-commonjs}/CallbackWritable.js.map +0 -0
  76. /package/{lib → lib-commonjs}/Colorize.js +0 -0
  77. /package/{lib → lib-commonjs}/Colorize.js.map +0 -0
  78. /package/{lib → lib-commonjs}/ConsoleTerminalProvider.js +0 -0
  79. /package/{lib → lib-commonjs}/ConsoleTerminalProvider.js.map +0 -0
  80. /package/{lib → lib-commonjs}/DiscardStdoutTransform.js +0 -0
  81. /package/{lib → lib-commonjs}/DiscardStdoutTransform.js.map +0 -0
  82. /package/{lib → lib-commonjs}/IProblemCollector.js +0 -0
  83. /package/{lib → lib-commonjs}/IProblemCollector.js.map +0 -0
  84. /package/{lib → lib-commonjs}/ITerminal.js +0 -0
  85. /package/{lib → lib-commonjs}/ITerminal.js.map +0 -0
  86. /package/{lib → lib-commonjs}/ITerminalChunk.js +0 -0
  87. /package/{lib → lib-commonjs}/ITerminalChunk.js.map +0 -0
  88. /package/{lib → lib-commonjs}/ITerminalProvider.js +0 -0
  89. /package/{lib → lib-commonjs}/ITerminalProvider.js.map +0 -0
  90. /package/{lib → lib-commonjs}/MockWritable.js +0 -0
  91. /package/{lib → lib-commonjs}/MockWritable.js.map +0 -0
  92. /package/{lib → lib-commonjs}/NoOpTerminalProvider.js +0 -0
  93. /package/{lib → lib-commonjs}/NoOpTerminalProvider.js.map +0 -0
  94. /package/{lib → lib-commonjs}/NormalizeNewlinesTextRewriter.js +0 -0
  95. /package/{lib → lib-commonjs}/NormalizeNewlinesTextRewriter.js.map +0 -0
  96. /package/{lib → lib-commonjs}/PrefixProxyTerminalProvider.js +0 -0
  97. /package/{lib → lib-commonjs}/PrefixProxyTerminalProvider.js.map +0 -0
  98. /package/{lib → lib-commonjs}/PrintUtilities.js +0 -0
  99. /package/{lib → lib-commonjs}/PrintUtilities.js.map +0 -0
  100. /package/{lib → lib-commonjs}/ProblemCollector.js +0 -0
  101. /package/{lib → lib-commonjs}/ProblemCollector.js.map +0 -0
  102. /package/{lib → lib-commonjs}/RemoveColorsTextRewriter.js +0 -0
  103. /package/{lib → lib-commonjs}/RemoveColorsTextRewriter.js.map +0 -0
  104. /package/{lib → lib-commonjs}/SplitterTransform.js +0 -0
  105. /package/{lib → lib-commonjs}/SplitterTransform.js.map +0 -0
  106. /package/{lib → lib-commonjs}/StdioLineTransform.js +0 -0
  107. /package/{lib → lib-commonjs}/StdioLineTransform.js.map +0 -0
  108. /package/{lib → lib-commonjs}/StdioSummarizer.js +0 -0
  109. /package/{lib → lib-commonjs}/StdioSummarizer.js.map +0 -0
  110. /package/{lib → lib-commonjs}/StdioWritable.js +0 -0
  111. /package/{lib → lib-commonjs}/StdioWritable.js.map +0 -0
  112. /package/{lib → lib-commonjs}/Terminal.js +0 -0
  113. /package/{lib → lib-commonjs}/Terminal.js.map +0 -0
  114. /package/{lib → lib-commonjs}/TerminalStreamWritable.js +0 -0
  115. /package/{lib → lib-commonjs}/TerminalStreamWritable.js.map +0 -0
  116. /package/{lib → lib-commonjs}/TerminalTransform.js +0 -0
  117. /package/{lib → lib-commonjs}/TerminalTransform.js.map +0 -0
  118. /package/{lib → lib-commonjs}/TerminalWritable.js +0 -0
  119. /package/{lib → lib-commonjs}/TerminalWritable.js.map +0 -0
  120. /package/{lib → lib-commonjs}/TextRewriter.js +0 -0
  121. /package/{lib → lib-commonjs}/TextRewriter.js.map +0 -0
  122. /package/{lib → lib-commonjs}/TextRewriterTransform.js +0 -0
  123. /package/{lib → lib-commonjs}/TextRewriterTransform.js.map +0 -0
  124. /package/{lib → lib-commonjs}/index.js +0 -0
  125. /package/{lib → lib-dts}/AnsiEscape.d.ts +0 -0
  126. /package/{lib → lib-dts}/AnsiEscape.d.ts.map +0 -0
  127. /package/{lib → lib-dts}/CallbackWritable.d.ts +0 -0
  128. /package/{lib → lib-dts}/CallbackWritable.d.ts.map +0 -0
  129. /package/{lib → lib-dts}/Colorize.d.ts +0 -0
  130. /package/{lib → lib-dts}/Colorize.d.ts.map +0 -0
  131. /package/{lib → lib-dts}/ConsoleTerminalProvider.d.ts +0 -0
  132. /package/{lib → lib-dts}/ConsoleTerminalProvider.d.ts.map +0 -0
  133. /package/{lib → lib-dts}/DiscardStdoutTransform.d.ts +0 -0
  134. /package/{lib → lib-dts}/DiscardStdoutTransform.d.ts.map +0 -0
  135. /package/{lib → lib-dts}/IProblemCollector.d.ts +0 -0
  136. /package/{lib → lib-dts}/IProblemCollector.d.ts.map +0 -0
  137. /package/{lib → lib-dts}/ITerminal.d.ts +0 -0
  138. /package/{lib → lib-dts}/ITerminal.d.ts.map +0 -0
  139. /package/{lib → lib-dts}/ITerminalChunk.d.ts +0 -0
  140. /package/{lib → lib-dts}/ITerminalChunk.d.ts.map +0 -0
  141. /package/{lib → lib-dts}/ITerminalProvider.d.ts +0 -0
  142. /package/{lib → lib-dts}/ITerminalProvider.d.ts.map +0 -0
  143. /package/{lib → lib-dts}/MockWritable.d.ts +0 -0
  144. /package/{lib → lib-dts}/MockWritable.d.ts.map +0 -0
  145. /package/{lib → lib-dts}/NoOpTerminalProvider.d.ts +0 -0
  146. /package/{lib → lib-dts}/NoOpTerminalProvider.d.ts.map +0 -0
  147. /package/{lib → lib-dts}/NormalizeNewlinesTextRewriter.d.ts +0 -0
  148. /package/{lib → lib-dts}/NormalizeNewlinesTextRewriter.d.ts.map +0 -0
  149. /package/{lib → lib-dts}/PrefixProxyTerminalProvider.d.ts +0 -0
  150. /package/{lib → lib-dts}/PrefixProxyTerminalProvider.d.ts.map +0 -0
  151. /package/{lib → lib-dts}/PrintUtilities.d.ts +0 -0
  152. /package/{lib → lib-dts}/PrintUtilities.d.ts.map +0 -0
  153. /package/{lib → lib-dts}/ProblemCollector.d.ts +0 -0
  154. /package/{lib → lib-dts}/ProblemCollector.d.ts.map +0 -0
  155. /package/{lib → lib-dts}/RemoveColorsTextRewriter.d.ts +0 -0
  156. /package/{lib → lib-dts}/RemoveColorsTextRewriter.d.ts.map +0 -0
  157. /package/{lib → lib-dts}/SplitterTransform.d.ts +0 -0
  158. /package/{lib → lib-dts}/SplitterTransform.d.ts.map +0 -0
  159. /package/{lib → lib-dts}/StdioLineTransform.d.ts +0 -0
  160. /package/{lib → lib-dts}/StdioLineTransform.d.ts.map +0 -0
  161. /package/{lib → lib-dts}/StdioSummarizer.d.ts +0 -0
  162. /package/{lib → lib-dts}/StdioSummarizer.d.ts.map +0 -0
  163. /package/{lib → lib-dts}/StdioWritable.d.ts +0 -0
  164. /package/{lib → lib-dts}/StdioWritable.d.ts.map +0 -0
  165. /package/{lib → lib-dts}/Terminal.d.ts +0 -0
  166. /package/{lib → lib-dts}/Terminal.d.ts.map +0 -0
  167. /package/{lib → lib-dts}/TerminalStreamWritable.d.ts +0 -0
  168. /package/{lib → lib-dts}/TerminalStreamWritable.d.ts.map +0 -0
  169. /package/{lib → lib-dts}/TerminalTransform.d.ts +0 -0
  170. /package/{lib → lib-dts}/TerminalTransform.d.ts.map +0 -0
  171. /package/{lib → lib-dts}/TerminalWritable.d.ts +0 -0
  172. /package/{lib → lib-dts}/TerminalWritable.d.ts.map +0 -0
  173. /package/{lib → lib-dts}/TextRewriter.d.ts +0 -0
  174. /package/{lib → lib-dts}/TextRewriter.d.ts.map +0 -0
  175. /package/{lib → lib-dts}/TextRewriterTransform.d.ts +0 -0
  176. /package/{lib → lib-dts}/TextRewriterTransform.d.ts.map +0 -0
package/package.json CHANGED
@@ -1,9 +1,30 @@
1
1
  {
2
2
  "name": "@rushstack/terminal",
3
- "version": "0.19.5",
3
+ "version": "0.22.0",
4
4
  "description": "User interface primitives for console applications",
5
- "main": "lib/index.js",
6
- "typings": "dist/terminal.d.ts",
5
+ "main": "./lib-commonjs/index.js",
6
+ "module": "./lib-esm/index.js",
7
+ "types": "./dist/terminal.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/terminal.d.ts",
11
+ "import": "./lib-esm/index.js",
12
+ "require": "./lib-commonjs/index.js"
13
+ },
14
+ "./lib/*": {
15
+ "types": "./lib-dts/*.d.ts",
16
+ "import": "./lib-esm/*.js",
17
+ "require": "./lib-commonjs/*.js"
18
+ },
19
+ "./package.json": "./package.json"
20
+ },
21
+ "typesVersions": {
22
+ "*": {
23
+ "lib/*": [
24
+ "lib-dts/*"
25
+ ]
26
+ }
27
+ },
7
28
  "license": "MIT",
8
29
  "repository": {
9
30
  "url": "https://github.com/microsoft/rushstack.git",
@@ -12,11 +33,11 @@
12
33
  },
13
34
  "dependencies": {
14
35
  "supports-color": "~8.1.1",
15
- "@rushstack/node-core-library": "5.19.1",
16
- "@rushstack/problem-matcher": "0.1.1"
36
+ "@rushstack/node-core-library": "5.20.0",
37
+ "@rushstack/problem-matcher": "0.2.0"
17
38
  },
18
39
  "devDependencies": {
19
- "@rushstack/heft": "1.1.4",
40
+ "@rushstack/heft": "1.1.7",
20
41
  "@types/supports-color": "8.1.3",
21
42
  "eslint": "~9.37.0",
22
43
  "decoupled-local-node-rig": "1.0.0"
@@ -29,6 +50,7 @@
29
50
  "optional": true
30
51
  }
31
52
  },
53
+ "sideEffects": false,
32
54
  "scripts": {
33
55
  "build": "heft build --clean",
34
56
  "_phase:build": "heft run --only build -- --clean",
@@ -1 +0,0 @@
1
- {"version":3,"file":"StringBufferTerminalProvider.d.ts","sourceRoot":"","sources":["../src/StringBufferTerminalProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAGvF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,0BAA0B,EAAE,OAAO,CAAC;CACrC;AAED;;;;;;GAMG;AACH,qBAAa,4BAA6B,YAAW,iBAAiB;IACpE,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,YAAY,CAAsC;IAE1D,OAAO,CAAC,cAAc,CAAU;gBAEb,aAAa,GAAE,OAAe;IAIjD;;OAEG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IA8BpE;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,OAAO,CAElC;IAED;;OAEG;IACI,SAAS,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,MAAM;IAI9D;;OAEG;IACI,UAAU,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,MAAM;IAI/D;;OAEG;IACI,gBAAgB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,MAAM;IAIrE;;OAEG;IACI,cAAc,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,MAAM;IAInE;;OAEG;IACI,cAAc,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,MAAM;IAInE;;OAEG;IACI,gBAAgB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,MAAM;IAIrE,OAAO,CAAC,gBAAgB;CAezB"}
@@ -1,116 +0,0 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
3
- // See LICENSE in the project root for license information.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.StringBufferTerminalProvider = void 0;
6
- const node_core_library_1 = require("@rushstack/node-core-library");
7
- const ITerminalProvider_1 = require("./ITerminalProvider");
8
- const AnsiEscape_1 = require("./AnsiEscape");
9
- /**
10
- * Terminal provider that stores written data in buffers separated by severity.
11
- * This terminal provider is designed to be used when code that prints to a terminal
12
- * is being unit tested.
13
- *
14
- * @beta
15
- */
16
- class StringBufferTerminalProvider {
17
- constructor(supportsColor = false) {
18
- this._standardBuffer = new node_core_library_1.StringBuilder();
19
- this._verboseBuffer = new node_core_library_1.StringBuilder();
20
- this._debugBuffer = new node_core_library_1.StringBuilder();
21
- this._warningBuffer = new node_core_library_1.StringBuilder();
22
- this._errorBuffer = new node_core_library_1.StringBuilder();
23
- this._supportsColor = supportsColor;
24
- }
25
- /**
26
- * {@inheritDoc ITerminalProvider.write}
27
- */
28
- write(data, severity) {
29
- switch (severity) {
30
- case ITerminalProvider_1.TerminalProviderSeverity.warning: {
31
- this._warningBuffer.append(data);
32
- break;
33
- }
34
- case ITerminalProvider_1.TerminalProviderSeverity.error: {
35
- this._errorBuffer.append(data);
36
- break;
37
- }
38
- case ITerminalProvider_1.TerminalProviderSeverity.verbose: {
39
- this._verboseBuffer.append(data);
40
- break;
41
- }
42
- case ITerminalProvider_1.TerminalProviderSeverity.debug: {
43
- this._debugBuffer.append(data);
44
- break;
45
- }
46
- case ITerminalProvider_1.TerminalProviderSeverity.log:
47
- default: {
48
- this._standardBuffer.append(data);
49
- break;
50
- }
51
- }
52
- }
53
- /**
54
- * {@inheritDoc ITerminalProvider.eolCharacter}
55
- */
56
- get eolCharacter() {
57
- return '\n';
58
- }
59
- /**
60
- * {@inheritDoc ITerminalProvider.supportsColor}
61
- */
62
- get supportsColor() {
63
- return this._supportsColor;
64
- }
65
- /**
66
- * Get everything that has been written at log-level severity.
67
- */
68
- getOutput(options) {
69
- return this._normalizeOutput(this._standardBuffer.toString(), options);
70
- }
71
- /**
72
- * @deprecated - use {@link StringBufferTerminalProvider.getVerboseOutput}
73
- */
74
- getVerbose(options) {
75
- return this.getVerboseOutput(options);
76
- }
77
- /**
78
- * Get everything that has been written at verbose-level severity.
79
- */
80
- getVerboseOutput(options) {
81
- return this._normalizeOutput(this._verboseBuffer.toString(), options);
82
- }
83
- /**
84
- * Get everything that has been written at debug-level severity.
85
- */
86
- getDebugOutput(options) {
87
- return this._normalizeOutput(this._debugBuffer.toString(), options);
88
- }
89
- /**
90
- * Get everything that has been written at error-level severity.
91
- */
92
- getErrorOutput(options) {
93
- return this._normalizeOutput(this._errorBuffer.toString(), options);
94
- }
95
- /**
96
- * Get everything that has been written at warning-level severity.
97
- */
98
- getWarningOutput(options) {
99
- return this._normalizeOutput(this._warningBuffer.toString(), options);
100
- }
101
- _normalizeOutput(s, options) {
102
- options = {
103
- normalizeSpecialCharacters: true,
104
- ...(options || {})
105
- };
106
- s = node_core_library_1.Text.convertToLf(s);
107
- if (options.normalizeSpecialCharacters) {
108
- return AnsiEscape_1.AnsiEscape.formatForTests(s, { encodeNewlines: true });
109
- }
110
- else {
111
- return s;
112
- }
113
- }
114
- }
115
- exports.StringBufferTerminalProvider = StringBufferTerminalProvider;
116
- //# sourceMappingURL=StringBufferTerminalProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StringBufferTerminalProvider.js","sourceRoot":"","sources":["../src/StringBufferTerminalProvider.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport { StringBuilder, Text } from '@rushstack/node-core-library';\n\nimport { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider';\nimport { AnsiEscape } from './AnsiEscape';\n\n/**\n * @beta\n */\nexport interface IStringBufferOutputOptions {\n /**\n * If set to true, special characters like \\\\n, \\\\r, and the \\\\u001b character\n * in color control tokens will get normalized to [-n-], [-r-], and [-x-] respectively\n *\n * This option defaults to `true`\n */\n normalizeSpecialCharacters: boolean;\n}\n\n/**\n * Terminal provider that stores written data in buffers separated by severity.\n * This terminal provider is designed to be used when code that prints to a terminal\n * is being unit tested.\n *\n * @beta\n */\nexport class StringBufferTerminalProvider implements ITerminalProvider {\n private _standardBuffer: StringBuilder = new StringBuilder();\n private _verboseBuffer: StringBuilder = new StringBuilder();\n private _debugBuffer: StringBuilder = new StringBuilder();\n private _warningBuffer: StringBuilder = new StringBuilder();\n private _errorBuffer: StringBuilder = new StringBuilder();\n\n private _supportsColor: boolean;\n\n public constructor(supportsColor: boolean = false) {\n this._supportsColor = supportsColor;\n }\n\n /**\n * {@inheritDoc ITerminalProvider.write}\n */\n public write(data: string, severity: TerminalProviderSeverity): void {\n switch (severity) {\n case TerminalProviderSeverity.warning: {\n this._warningBuffer.append(data);\n break;\n }\n\n case TerminalProviderSeverity.error: {\n this._errorBuffer.append(data);\n break;\n }\n\n case TerminalProviderSeverity.verbose: {\n this._verboseBuffer.append(data);\n break;\n }\n\n case TerminalProviderSeverity.debug: {\n this._debugBuffer.append(data);\n break;\n }\n\n case TerminalProviderSeverity.log:\n default: {\n this._standardBuffer.append(data);\n break;\n }\n }\n }\n\n /**\n * {@inheritDoc ITerminalProvider.eolCharacter}\n */\n public get eolCharacter(): string {\n return '\\n';\n }\n\n /**\n * {@inheritDoc ITerminalProvider.supportsColor}\n */\n public get supportsColor(): boolean {\n return this._supportsColor;\n }\n\n /**\n * Get everything that has been written at log-level severity.\n */\n public getOutput(options?: IStringBufferOutputOptions): string {\n return this._normalizeOutput(this._standardBuffer.toString(), options);\n }\n\n /**\n * @deprecated - use {@link StringBufferTerminalProvider.getVerboseOutput}\n */\n public getVerbose(options?: IStringBufferOutputOptions): string {\n return this.getVerboseOutput(options);\n }\n\n /**\n * Get everything that has been written at verbose-level severity.\n */\n public getVerboseOutput(options?: IStringBufferOutputOptions): string {\n return this._normalizeOutput(this._verboseBuffer.toString(), options);\n }\n\n /**\n * Get everything that has been written at debug-level severity.\n */\n public getDebugOutput(options?: IStringBufferOutputOptions): string {\n return this._normalizeOutput(this._debugBuffer.toString(), options);\n }\n\n /**\n * Get everything that has been written at error-level severity.\n */\n public getErrorOutput(options?: IStringBufferOutputOptions): string {\n return this._normalizeOutput(this._errorBuffer.toString(), options);\n }\n\n /**\n * Get everything that has been written at warning-level severity.\n */\n public getWarningOutput(options?: IStringBufferOutputOptions): string {\n return this._normalizeOutput(this._warningBuffer.toString(), options);\n }\n\n private _normalizeOutput(s: string, options: IStringBufferOutputOptions | undefined): string {\n options = {\n normalizeSpecialCharacters: true,\n\n ...(options || {})\n };\n\n s = Text.convertToLf(s);\n\n if (options.normalizeSpecialCharacters) {\n return AnsiEscape.formatForTests(s, { encodeNewlines: true });\n } else {\n return s;\n }\n }\n}\n"]}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes