// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. /** * Support for client code that extends command-line tools that use the analysis * engine by adding new command-line arguments. */ library analyzer.plugin.command_line; import 'package:analyzer/src/plugin/command_line_plugin.dart'; import 'package:args/args.dart'; import 'package:plugin/plugin.dart'; /** * The identifier of the extension point that allows plugins to add new flags * and options to the command-line parser before the parser is used to parse * the command-line. The object used as an extension must be an * [ArgParserContributor]. */ final String PARSER_CONTRIBUTOR_EXTENSION_POINT_ID = Plugin.join( CommandLinePlugin.UNIQUE_IDENTIFIER, CommandLinePlugin.PARSER_CONTRIBUTOR_EXTENSION_POINT); /** * The identifier of the extension point that allows plugins to access the * result of parsing the command-line. The object used as an extension must be * an [ArgResultsProcessor]. */ final String RESULT_PROCESSOR_EXTENSION_POINT_ID = Plugin.join( CommandLinePlugin.UNIQUE_IDENTIFIER, CommandLinePlugin.RESULT_PROCESSOR_EXTENSION_POINT); /** * A function that will contribute flags and options to the command-line parser. */ typedef void ArgParserContributor(ArgParser parser); /** * A function that will process the results of parsing the command-line. */ typedef void ArgResultsProcessor(ArgResults results);