GithubHelp home page GithubHelp logo

cpplint's Introduction

cpplint - static code checker for C++

https://travis-ci.org/cpplint/cpplint.svg?branch=master

This project continues the work of cpplint, a C++ style checker following Google's C++ style guide. It provides cpplint as a PyPI package and adds a few features and fixes. It is maintained as a fork of google/styleguide in hopes that it can be merged in the future.

To install cpplint from PyPI, run:

$ pip install cpplint

Then run it with:

$ cpplint [OPTIONS] files

For full usage instructions, run:

$ cpplint --help

Changes

The modifications in this branch are minor fixes and cosmetic changes:

  • more default extensions
  • python 3 compatibility
  • customizable file extensions with the --extensions and --headers arguments
  • continuous integration on travis
  • support for recursive file discovery via the --recursive argument
  • support for excluding files via --exclude
  • JUnit XML output format
  • Overriding repository root auto-detection via --repository
  • Support #pragma once as an alternative to header include guards
  • Add quiet option to suppress non error-related output

Development

pip install --user -e .[dev]
./setup.py lint
./setup.py style
./setup.py test
./setup.py ci # all the above

Maintaining

To release a new version:

vi setup.py # increment the version
vi changelog.rst # log changes
git add setup.py changelog.rst
git commit -m "Releasing 0.0.6"
git tag 0.0.6
git push
git push --tags
python setup.py sdist register -r pypi
python setup.py sdist upload -r pypi

To incorporate google's changes:

git fetch google gh-pages
git checkout -b updates FETCH_HEAD
git rebase master
git push -u origin updates
# check travis
git push origin --delete updates

git rebase updates master
git branch -D updates
git push

Thanks to tkruse for putting cpplint on PyPI and maintaining the PyPI version for many years!

cpplint's People

Contributors

alanyee avatar andybons avatar dimo414 avatar dirk-thomas avatar dominator008 avatar eglaysher avatar erictleung avatar frp avatar geoffromer avatar gueraf avatar itamaro avatar lambdac0re avatar lhchavez avatar markmentovai avatar mattyclarkson avatar milanlempera avatar nodirt avatar piotr-semenov avatar rakhimov avatar scpeters avatar sergeyvfx avatar stevevanopstal avatar theandrewdavis avatar tituswinters avatar tkruse avatar tychoish avatar xyproto avatar yackermann avatar youknowone avatar zettca avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.