fx lint

runs source linters on modified files

Usage: fx lint
          [--dry-run] [--verbose] [--fix]
          [--files=FILES,[FILES ...]]
          [--git] [-- PATTERN]

  --fix     If supported by the linter tool for the target language,
            attempt to apply recommended fixes
  --dry-run Print the linter commands but don't run them
  --verbose Print the linter commands before running them
  --all     Lints all code in the git repo under the current working
  --files   Allows the user to specify files separated by commas or (with
            quotes) whitespace. Basic globs are supported, for example:
                fx lint --files=foo/*
            Or for more advanced filename pattern matching, you can use
            double quotes with command substitution:
                fx lint --files="$(find some/path -name '*.cc')"
  --target  Allows the user to specify a gn target.
  --git     The default; it uses `git diff` against the newest parent
            commit in the upstream branch (or against HEAD if no such
            commit is found).  Files that are locally modified, staged
            or touched by any commits introduced on the local branch are
   -- [PATTERN...] -additional -args -for -linter
            For --all or --git, passes along PATTERNs to `git ls-files`
            to filter what files are affected. The first argument starting
            with a dash, and all arguments thereafter, are passed to the
            linter command (positioned before the filename). Used in
            combination, the pattern can constrain which linter is selected,
            so linter options are only applied to the expected linter

    fx lint -- "*.fidl" --include-check no-trailing-comment
    fx lint --files=sdk/fidl/fuchsia.sys/service_provider.fidl \
            -- --exclude-check string-bounds-not-specified
    fx lint --verbose --files="$(echo sdk/**/*.cc sdk/**/*.fidl)"

lint source code