tom_d4rt_dcli 1.1.3 copy "tom_d4rt_dcli: ^1.1.3" to clipboard
tom_d4rt_dcli: ^1.1.3 copied to clipboard

Base D4rt CLI with dcli bridges. Extensible foundation for D4rt tools.

example/README.md

Tom DCli Examples #

Comprehensive examples demonstrating DCli shell scripting library usage.

Examples #

File Description
file_operations.dart copy, move, delete, touch, cat, read, head, tail, replace
directory_operations.dart createDir, deleteDir, find, exists, isDirectory, copyTree
process_execution.dart run, start, toList, firstLine, lastLine, forEach, Progress
environment.dart env, envs, HOME, PATH, isOnPATH, withEnvironment
color_output.dart red, green, blue, yellow, cyan, colored output patterns
error_handling.dart Exception handling patterns for DCli operations

Running Examples #

From the dcli/dcli directory:

# Run individual examples
dart run example/tomexample/file_operations.dart
dart run example/tomexample/directory_operations.dart
dart run example/tomexample/process_execution.dart
dart run example/tomexample/environment.dart
dart run example/tomexample/color_output.dart
dart run example/tomexample/error_handling.dart

Key Patterns #

File Operations #

import 'package:dcli/dcli.dart';

// Create file
touch('file.txt', create: true);

// Write content
'file.txt'.write('content');
'file.txt'.append('more content');

// Read content
final lines = read('file.txt').toList();
final content = 'file.txt'.read;
cat('file.txt');

// Copy, move, delete
copy('source.txt', 'dest.txt');
move('old.txt', 'new.txt');
delete('file.txt');

Directory Operations #

// Create directories
createDir('mydir');
createDir('a/b/c', recursive: true);

// Find files
find('*.dart', workingDirectory: 'lib', recursive: true)
    .forEach((f) => print(f.path));

// Delete directories
deleteDir('mydir', recursive: true);

Process Execution #

// Simple execution
'echo hello'.run;

// Capture output
final lines = 'ls -la'.toList();
final first = 'cat file.txt'.firstLine;
final last = 'cat file.txt'.lastLine;

// With progress
'command'.start(progress: Progress((line) => print(line)));

// Ignore errors
'command'.start(nothrow: true, progress: Progress.devNull());

Environment #

// Access variables
final home = env['HOME'];
final path = env['PATH'];

// Shortcuts
print(HOME);
print(PATH);

// Check commands
if (isOnPATH('git')) { ... }

Error Handling #

try {
  read('nonexistent.txt').toList();
} on FileNotFoundException catch (e) {
  print('File not found: ${e.message}');
}

try {
  'bad_command'.run;
} on RunException catch (e) {
  print('Command failed: ${e.exitCode}');
}

See Also #

  • Global DCli overview: _copilot_guidelines/d4rt/dcli_overview.md
  • Scripting guide: _copilot_guidelines/d4rt/dcli_scripting_guide.md
  • Tom tests: test/tomtest/
0
likes
0
points
185
downloads

Publisher

unverified uploader

Weekly Downloads

Base D4rt CLI with dcli bridges. Extensible foundation for D4rt tools.

Homepage
Repository (GitHub)
View/report issues

Topics

#cli #interpreter #d4rt #scripting

License

unknown (license)

Dependencies

console_markdown, crypto, dart_console, dcli, dcli_core, dcli_terminal, marked, path, tom_chattools, tom_d4rt, tom_vscode_scripting_api, yaml

More

Packages that depend on tom_d4rt_dcli