blob: 988735f709c6f785831f12f4ac4cafa8c0d224ae [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef TOOLS_FIDL_FIDLC_LINTER_COMMAND_LINE_OPTIONS_H_
#define TOOLS_FIDL_FIDLC_LINTER_COMMAND_LINE_OPTIONS_H_
#include <lib/cmdline/status.h>
#include <optional>
#include <string>
#include <vector>
namespace fidl {
namespace linter {
struct CommandLineOptions {
std::vector<std::string> included_checks;
std::vector<std::string> excluded_checks;
bool must_find_excluded_checks = false;
std::string format = "text";
};
// Parses the given command line into options and params.
//
// Returns an error if the command-line is badly formed. In addition, --help
// text will be returned as an error.
cmdline::Status ParseCommandLine(int argc, const char* argv[], CommandLineOptions* options,
std::vector<std::string>* params);
// Returns the fidl-lint usage string.
std::string Usage(std::string argv0);
} // namespace linter
} // namespace fidl
#endif // TOOLS_FIDL_FIDLC_LINTER_COMMAND_LINE_OPTIONS_H_