{"id":16512940,"url":"https://github.com/daskol/cxxlintaur","last_synced_at":"2026-05-15T05:33:07.026Z","repository":{"id":88392993,"uuid":"135767998","full_name":"daskol/cxxlintaur","owner":"daskol","description":"C++lintaur is a toy linter that checks name for compliance to Google Style Guide.","archived":false,"fork":false,"pushed_at":"2018-06-01T22:38:59.000Z","size":7,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-12T21:29:28.482Z","etag":null,"topics":["clang","cpp","cxx","libtool","linter","llvm","toy-project"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daskol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-01T22:17:20.000Z","updated_at":"2024-07-27T07:18:31.000Z","dependencies_parsed_at":"2023-03-13T18:24:56.006Z","dependency_job_id":null,"html_url":"https://github.com/daskol/cxxlintaur","commit_stats":{"total_commits":6,"total_committers":2,"mean_commits":3.0,"dds":"0.16666666666666663","last_synced_commit":"3eafaeac53d0748d32459bc44f21e08e3feb94f2"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daskol%2Fcxxlintaur","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daskol%2Fcxxlintaur/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daskol%2Fcxxlintaur/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daskol%2Fcxxlintaur/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daskol","download_url":"https://codeload.github.com/daskol/cxxlintaur/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241482101,"owners_count":19969850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clang","cpp","cxx","libtool","linter","llvm","toy-project"],"created_at":"2024-10-11T16:06:41.336Z","updated_at":"2026-05-15T05:33:06.995Z","avatar_url":"https://github.com/daskol.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# C++lintaur\n\n*C++LinTaur is a toy linter that checks name for compliance to Google Style Guide*\n\n## Overview\n\nThis is another one toy tool based on inimitable\n[LLVM](https://github.com/llvm-mirror/llvm) and\n[CLang](https://github.com/llvm-mirror/clang). In my project\nRecursiveASTVisitor is implemented.  It walks through AST and looking for name\ndeclarations(which are represented with classes NameDecl, TypeDecl,\nFunctionDecl, etc). When linter meets an AST node of the type, it checks name\nof the Node for compliance to\n[Google Style Guide](https://google.github.io/styleguide/cppguide.html#Naming).\nSurely, this tools does not support that convention completely. In order to\nlint everething and to refactor whatever, one should look at\n[clang-tidy](http://clang.llvm.org/extra/clang-tidy/) and\n[clang-format](https://github.com/llvm-mirror/clang/tree/master/tools/clang-format).\n\nLet's build the project. Run the following.\n\n```bash\n    mkdir -p build/release \u0026\u0026 cd build/release\n    cmake ../.. -DCMAKE_BUILD_TYPE=Release\n    cmake --build .\n```\n\nThat is it. Now, it is possible to check names in source files. Run the linter\nin the same directory and then the tool will generate report. As could be\nexpected, there is no any warning in [name-checker.cc](name-checker.cc) but\nthere are 26 in [example.cc](example.cc).\n\n```bash\n    $ ./c++lintaur -p `pwd` ../../example.cc ../../name-checker.cc\n    Entity's name \"Static_Method\" does not meet the requirements (function)\n    In example.cc at line 17\n\n    Entity's name \"bad_bield\" does not meet the requirements (field)\n    In example.cc at line 23\n\n    ..............................................................\n\n\n    Entity's name \"fst_var_\" does not meet the requirements (variable)\n    In example.cc at line 88\n\n    Entity's name \"snd_var_\" does not meet the requirements (variable)\n    In example.cc at line 89\n\n    ===== Processed Stat example.cc =====\n    Bad names found: 26\n    ===== Processed Stat name-checker.cc =====\n    Bad names found: 0\n```\n\nThe project has natural requirements which are Clang \u0026 LLVM not older then\n4.0.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaskol%2Fcxxlintaur","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaskol%2Fcxxlintaur","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaskol%2Fcxxlintaur/lists"}