| # fx lint |
| |
| runs source linters on modified files |
| |
| ```none |
| Usage: fx lint |
| [--dry-run] [--verbose] [--fix] |
| [--all] |
| [--files=FILES,[FILES ...]] |
| [--target=GN_TARGET] |
| [--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 |
| directory. |
| --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 |
| linted. |
| -- [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 |
| program. |
| |
| Examples: |
| 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](https://cs.opensource.google/fuchsia/fuchsia/+/main:tools/devshell/contrib/lint) |