Merge pull request #874 from crytic/dev-usage

Improve cli usage help
pull/878/head
Feist Josselin 3 years ago committed by GitHub
commit da326aa006
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      slither/__main__.py

@ -16,6 +16,7 @@ from pkg_resources import iter_entry_points, require
from crytic_compile import cryticparser from crytic_compile import cryticparser
from crytic_compile.platform.standard import generate_standard_export from crytic_compile.platform.standard import generate_standard_export
from crytic_compile.platform.etherscan import SUPPORTED_NETWORK
from crytic_compile import compile_all, is_supported from crytic_compile import compile_all, is_supported
from slither.detectors import all_detectors from slither.detectors import all_detectors
@ -270,12 +271,20 @@ def parse_filter_paths(args):
def parse_args(detector_classes, printer_classes): # pylint: disable=too-many-statements def parse_args(detector_classes, printer_classes): # pylint: disable=too-many-statements
usage = "slither target [flag]\n"
usage += "\ntarget can be:\n"
usage += "\t- file.sol // a Solidity file\n"
usage += "\t- project_directory // a project directory. See https://github.com/crytic/crytic-compile/#crytic-compile for the supported platforms\n"
usage += "\t- 0x.. // a contract on mainet\n"
usage += f"\t- NETWORK:0x.. // a contract on a different network. Supported networks: {','.join(x[:-1] for x in SUPPORTED_NETWORK)}\n"
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description="Slither. For usage information, see https://github.com/crytic/slither/wiki/Usage", description="For usage information, see https://github.com/crytic/slither/wiki/Usage",
usage="slither.py contract.sol [flag]", usage=usage,
) )
parser.add_argument("filename", help="contract.sol") parser.add_argument("filename", help=argparse.SUPPRESS)
cryticparser.init(parser) cryticparser.init(parser)

Loading…
Cancel
Save