xref: /third_party/json/tools/cpplint/README.rst (revision c5f01b2f)
1c5f01b2fSopenharmony_cicpplint - static code checker for C++
2c5f01b2fSopenharmony_ci=====================================
3c5f01b2fSopenharmony_ci
4c5f01b2fSopenharmony_ci.. image:: https://img.shields.io/pypi/v/cpplint.svg
5c5f01b2fSopenharmony_ci    :target: https://pypi.python.org/pypi/cpplint
6c5f01b2fSopenharmony_ci
7c5f01b2fSopenharmony_ci.. image:: https://img.shields.io/pypi/pyversions/cpplint.svg
8c5f01b2fSopenharmony_ci    :target: https://pypi.python.org/pypi/cpplint
9c5f01b2fSopenharmony_ci
10c5f01b2fSopenharmony_ci.. image:: https://img.shields.io/pypi/status/cpplint.svg
11c5f01b2fSopenharmony_ci    :target: https://pypi.python.org/pypi/cpplint
12c5f01b2fSopenharmony_ci
13c5f01b2fSopenharmony_ci.. image:: https://img.shields.io/pypi/l/cpplint.svg
14c5f01b2fSopenharmony_ci    :target: https://pypi.python.org/pypi/cpplint
15c5f01b2fSopenharmony_ci
16c5f01b2fSopenharmony_ci.. image:: https://img.shields.io/pypi/dd/cpplint.svg
17c5f01b2fSopenharmony_ci    :target: https://pypi.python.org/pypi/cpplint
18c5f01b2fSopenharmony_ci
19c5f01b2fSopenharmony_ci.. image:: https://img.shields.io/pypi/dw/cpplint.svg
20c5f01b2fSopenharmony_ci    :target: https://pypi.python.org/pypi/cpplint
21c5f01b2fSopenharmony_ci
22c5f01b2fSopenharmony_ci.. image:: https://img.shields.io/pypi/dm/cpplint.svg
23c5f01b2fSopenharmony_ci    :target: https://pypi.python.org/pypi/cpplint
24c5f01b2fSopenharmony_ci
25c5f01b2fSopenharmony_ciCpplint is a command-line tool to check C/C++ files for style issues following `Google's C++ style guide <http://google.github.io/styleguide/cppguide.html>`_.
26c5f01b2fSopenharmony_ciCpplint is developed and maintained by Google Inc. at `google/styleguide <https://github.com/google/styleguide>`_, also see the `wikipedia entry <http://en.wikipedia.org/wiki/Cpplint>`_
27c5f01b2fSopenharmony_ci
28c5f01b2fSopenharmony_ciWhile Google maintains cpplint, Google is not (very) responsive to issues and pull requests, this fork aims to be (somewhat) more open to add fixes to cpplint to enable fixes, when those fixes make cpplint usable in wider contexts.
29c5f01b2fSopenharmony_ciAlso see discussion here https://github.com/google/styleguide/pull/528.
30c5f01b2fSopenharmony_ci
31c5f01b2fSopenharmony_ci
32c5f01b2fSopenharmony_ciInstallation
33c5f01b2fSopenharmony_ci============
34c5f01b2fSopenharmony_ci
35c5f01b2fSopenharmony_ci
36c5f01b2fSopenharmony_ciTo install cpplint from PyPI, run:
37c5f01b2fSopenharmony_ci
38c5f01b2fSopenharmony_ci.. code-block:: bash
39c5f01b2fSopenharmony_ci
40c5f01b2fSopenharmony_ci    $ pip install cpplint
41c5f01b2fSopenharmony_ci
42c5f01b2fSopenharmony_ciThen run it with:
43c5f01b2fSopenharmony_ci
44c5f01b2fSopenharmony_ci.. code-block:: bash
45c5f01b2fSopenharmony_ci
46c5f01b2fSopenharmony_ci    $ cpplint [OPTIONS] files
47c5f01b2fSopenharmony_ci
48c5f01b2fSopenharmony_ciFor full usage instructions, run:
49c5f01b2fSopenharmony_ci
50c5f01b2fSopenharmony_ci.. code-block:: bash
51c5f01b2fSopenharmony_ci
52c5f01b2fSopenharmony_ci    $ cpplint --help
53c5f01b2fSopenharmony_ci
54c5f01b2fSopenharmony_ciChanges
55c5f01b2fSopenharmony_ci-------
56c5f01b2fSopenharmony_ci
57c5f01b2fSopenharmony_ciThe modifications in this fork are minor fixes and cosmetic changes, such as:
58c5f01b2fSopenharmony_ci
59c5f01b2fSopenharmony_ci* python 3 compatibility
60c5f01b2fSopenharmony_ci* more default file extensions
61c5f01b2fSopenharmony_ci* customizable file extensions with the --extensions argument
62c5f01b2fSopenharmony_ci* continuous integration on github
63c5f01b2fSopenharmony_ci* support for recursive file discovery via the --recursive argument
64c5f01b2fSopenharmony_ci* support for excluding files via --exclude
65c5f01b2fSopenharmony_ci* JUnit XML output format
66c5f01b2fSopenharmony_ci* Overriding repository root auto-detection via --repository
67c5f01b2fSopenharmony_ci* Support ``#pragma once`` as an alternative to header include guards
68c5f01b2fSopenharmony_ci* ... and a few more (most of which are open PRs on upstream)
69c5f01b2fSopenharmony_ci
70c5f01b2fSopenharmony_ci
71c5f01b2fSopenharmony_ciAcknowledgements
72c5f01b2fSopenharmony_ci----------------
73c5f01b2fSopenharmony_ci
74c5f01b2fSopenharmony_ciThanks to Google Inc. for open-sourcing their in-house tool.
75c5f01b2fSopenharmony_ciThanks to maintainers of the fork
76c5f01b2fSopenharmony_ci
77c5f01b2fSopenharmony_ci* `tkruse <https://github.com/tkruse>`_  
78c5f01b2fSopenharmony_ci* `mattyclarkson <https://github.com/mattyclarkson>`_
79c5f01b2fSopenharmony_ci* `theandrewdavis <https://github.com/theandrewdavis>`_
80