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