Updated documentation.
This commit is contained in:
parent
4ee7ec2127
commit
fd3661b21b
14 changed files with 441 additions and 125 deletions
|
@ -85,34 +85,36 @@ Examples:
|
|||
<h2 id="library-usage">Library Usage</h2>
|
||||
<pre class="language-dart"><code class="language-dart">import 'package:dcat/dcat.dart';
|
||||
|
||||
final result = await cat(['path/to/file', 'path/to/otherfile]'], File('path/to/outfile'));
|
||||
if (result.exitCode == exitFailure) {
|
||||
final result = await cat(['path/to/file', 'path/to/otherfile]'],
|
||||
File('path/to/outfile').openWrite());
|
||||
if (result.isFailure) {
|
||||
for (final message in result.messages) {
|
||||
print("Error: $message");
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
<p>The <code>cat</code> function supports the following parameters:</p>
|
||||
<table><thead><tr><th style="text-align: left;">Parameter</th><th style="text-align: left;">Description</th><th style="text-align: left;">Type</th></tr></thead><tbody><tr><td style="text-align: left;">paths</td><td style="text-align: left;">The file paths.</td><td style="text-align: left;">String[]</td></tr><tr><td style="text-align: left;">output</td><td style="text-align: left;">The standard output or file.</td><td style="text-align: left;">IOSink or File</td></tr><tr><td style="text-align: left;">input</td><td style="text-align: left;">The standard input.</td><td style="text-align: left;">Stream<List<int>>?</td></tr><tr><td style="text-align: left;">log</td><td style="text-align: left;">The log for debugging.</td><td style="text-align: left;">List<String>?</td></tr><tr><td style="text-align: left;">showEnds</td><td style="text-align: left;">Same as <code>-e</code></td><td style="text-align: left;">bool</td></tr><tr><td style="text-align: left;">numberNonBlank</td><td style="text-align: left;">Same as <code>-b</code></td><td style="text-align: left;">bool</td></tr><tr><td style="text-align: left;">showLineNumbers</td><td style="text-align: left;">Same as <code>-n</code></td><td style="text-align: left;">bool</td></tr><tr><td style="text-align: left;">showTabs</td><td style="text-align: left;">Same as <code>-T</code></td><td style="text-align: left;">bool</td></tr><tr><td style="text-align: left;">squeezeBlank</td><td style="text-align: left;">Same as <code>-s</code></td><td style="text-align: left;">bool</td></tr><tr><td style="text-align: left;">showNonPrinting</td><td style="text-align: left;">Same as <code>-v</code></td><td style="text-align: left;">bool</td></tr></tbody></table>
|
||||
<table><thead><tr><th style="text-align: left;">Parameter</th><th style="text-align: left;">Description</th><th style="text-align: left;">Type</th></tr></thead><tbody><tr><td style="text-align: left;">paths</td><td style="text-align: left;">The file paths.</td><td style="text-align: left;">String[]</td></tr><tr><td style="text-align: left;">output</td><td style="text-align: left;">The standard output or file.</td><td style="text-align: left;"><a href="https://api.dart.dev/dart-io/IOSink-class.html">IOSink</a></td></tr><tr><td style="text-align: left;">input</td><td style="text-align: left;">The standard input.</td><td style="text-align: left;">Stream<List<int>>?</td></tr><tr><td style="text-align: left;">showEnds</td><td style="text-align: left;">Same as <code>-e</code></td><td style="text-align: left;">bool</td></tr><tr><td style="text-align: left;">numberNonBlank</td><td style="text-align: left;">Same as <code>-b</code></td><td style="text-align: left;">bool</td></tr><tr><td style="text-align: left;">showLineNumbers</td><td style="text-align: left;">Same as <code>-n</code></td><td style="text-align: left;">bool</td></tr><tr><td style="text-align: left;">showTabs</td><td style="text-align: left;">Same as <code>-T</code></td><td style="text-align: left;">bool</td></tr><tr><td style="text-align: left;">squeezeBlank</td><td style="text-align: left;">Same as <code>-s</code></td><td style="text-align: left;">bool</td></tr><tr><td style="text-align: left;">showNonPrinting</td><td style="text-align: left;">Same as <code>-v</code></td><td style="text-align: left;">bool</td></tr></tbody></table>
|
||||
<ul>
|
||||
<li><code>paths</code> and <code>output</code> are required.</li>
|
||||
<li><code>output</code> should be an <code>IOSink</code> like <code>stdout</code> or a <code>File</code>.</li>
|
||||
<li><code>input</code> can be <code>stdin</code>.</li>
|
||||
<li><code>log</code> is used for debugging/testing purposes.</li>
|
||||
<li><code>output</code> should be an <a href="https://api.dart.dev/dart-io/IOSink-class.html">IOSink</a> like <code>stdout</code> or a <a href="https://api.dart.dev/dart-io/File/openWrite.html">File</a> stream.</li>
|
||||
<li><code>input</code> can be <a href="https://api.dart.dev/dart-io/Stdin-class.html">stdin</a>.</li>
|
||||
</ul>
|
||||
<p>The remaining optional parameters are similar to the <a href="https://www.gnu.org/software/coreutils/manual/html_node/cat-invocation.html#cat-invocation">GNU cat</a> utility.</p>
|
||||
<p>A <code>CatResult</code> object is returned which contains the <code>exitCode</code> (<code>exitSuccess</code> or <code>exitFailure</code>) and error <code>messages</code> if any:</p>
|
||||
<pre class="language-dart"><code class="language-dart">final result = await cat(['path/to/file'], stdout);
|
||||
if (result.exitCode == exitSuccess) {
|
||||
...
|
||||
} else {
|
||||
for (final message in result.messages) {
|
||||
stderr.writeln("Error: $message");
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
<h2 id="differences-from-gnu-cathttpswwwgnuorgsoftwarecoreutilsmanualhtml_nodecat-invocationhtmlcat-invocation">Differences from <a href="https://www.gnu.org/software/coreutils/manual/html_node/cat-invocation.html#cat-invocation">GNU cat</a></h2>
|
||||
<ul>
|
||||
<li>No binary file support.</li>
|
||||
<li>A line is considered terminated by either a <code>CR</code> (carriage return), a <code>LF</code> (line feed), a <code>CR+LF</code> sequence (DOS line ending).</li>
|
||||
<li>A line ending is automatically appended to the last line of any read file.</li>
|
||||
<li>The <code>U+</code> notation is used instead of <code>M-</code> for non-printing characters.</li>
|
||||
<li>The <a href="https://en.wikipedia.org/wiki/Unicode">U+</a> notation is used instead of <code>M-</code> for non-printing characters.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue