TemplateGeneratorCommand class abstract

Command that generates files from templates

To create a command you should:

  • Extend GeneratorCommand
  • override Command's run function for command to be run
  • override Command's argParser function for additional arguments
    • do not forget about addTemplatePathOption
  • override GeneratorCommand's templateToFilenameMap
Inheritance
  • Object
  • Command<void>
  • TemplateGeneratorCommand
Implementers

Constructors

TemplateGeneratorCommand()

Properties

aliases List<String>
Alternate names for this command.
no setterinherited
argParser → ArgParser
The argument parser for this command.
no setterinherited
argResults → ArgResults?
The parsed argument results for this command.
no setterinherited
category String
The command's category.
no setterinherited
description String
A description of this command, included in usage.
no setterinherited
fileSuffixes List<String>
no setter
globalResults → ArgResults?
The parsed global argument results.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
hidden bool
Whether or not this command should be hidden from help listings.
no setterinherited
invocation String
A single-line template for how to invoke this command (e.g. "pub get package").
no setterinherited
name String
The name of this command.
no setterinherited
parent → Command<void>?
The command's parent command, if this is a subcommand.
no setterinherited
runner → CommandRunner<void>?
The command runner for this command.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
subcommands Map<String, Command<void>>
An unmodifiable view of all sublevel commands of this command.
no setterinherited
suggestionAliases List<String>
Alternate non-functional names for this command.
no setterinherited
summary String
A short description of this command, included in parent's CommandRunner.usage.
no setterinherited
takesArguments bool
Whether or not this command takes positional arguments in addition to options.
no setterinherited
templateNames List<String>
no setter
templates Map<String, String>
Maps template names to contents
getter/setter pair
templatesDirectoryPath String
getter/setter pair
templateToFilenameMap Map<String, String>
Maps template names to target file name uses replaceAll('filename') method for getting real target file name Example 'model.dart.tp': 'filename_model.dart'
no setter
usage String
Generates a string displaying usage information for this command.
no setterinherited
usageFooter String?
An optional footer for usage.
no setterinherited

Methods

addSubcommand(Command<void> command) → void
Adds Command as a subcommand of this.
inherited
checkTargetFilesExistance(Iterable<File> files) Future<void>
Checks that all target files does not exist
copyTemplatesToScriptPath(String defaultTemplateDirPath) Future<void>
Copy templates to default directory
defaultTemplateDirectoryPath() Future<String>
Gets default template directory path
fillTemplates() Future<void>
Fills templates map with <templateName, fileContent> pairs
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
printUsage() → void
Prints the usage information for this command.
inherited
readTemplateFile(String filename) Future<String>
Reads template file
run() FutureOr<void>?
Runs this command.
inherited
simpleTemplateToFileMap(Directory targetDirectory, String fileNameBase) Map<String, File>
Maps every template to a filename in a simple way
snakeToCamelCase(String snake) String
Converts snake_case string to CamelCase
toString() String
A string representation of this object.
inherited
usageException(String message) → Never
Throws a UsageException with message.
inherited
writeFile({required String content, required File file}) Future<String>
Creates file and writes content

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

moduleNameRegexp RegExp
final

Constants

templatesDirOption → const String
templatesRelativeToExecutableDirectory → const String
Default path to directory in project is elementary_cli/lib/templates