{"id":19694139,"url":"https://github.com/innofang/code-counter","last_synced_at":"2025-06-10T12:04:25.895Z","repository":{"id":40336856,"uuid":"181104838","full_name":"InnoFang/code-counter","owner":"InnoFang","description":"📊 Code Counter: A CLI tool that can help you easily count code line and display detailed results.","archived":false,"fork":false,"pushed_at":"2024-12-09T04:38:02.000Z","size":190,"stargazers_count":25,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-17T07:47:35.136Z","etag":null,"topics":["blank-filter","code-counter","codecounter","comment-filter","count","count-lines-of-code","line-counter"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/InnoFang.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}},"created_at":"2019-04-13T01:18:59.000Z","updated_at":"2024-12-09T04:38:07.000Z","dependencies_parsed_at":"2023-11-12T05:25:40.742Z","dependency_job_id":null,"html_url":"https://github.com/InnoFang/code-counter","commit_stats":{"total_commits":198,"total_committers":1,"mean_commits":198.0,"dds":0.0,"last_synced_commit":"75c7638d636438ad96c7763442513744ed00048e"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InnoFang%2Fcode-counter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InnoFang%2Fcode-counter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InnoFang%2Fcode-counter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InnoFang%2Fcode-counter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/InnoFang","download_url":"https://codeload.github.com/InnoFang/code-counter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251483656,"owners_count":21596577,"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":["blank-filter","code-counter","codecounter","comment-filter","count","count-lines-of-code","line-counter"],"created_at":"2024-11-11T19:20:33.503Z","updated_at":"2025-04-29T10:30:46.226Z","avatar_url":"https://github.com/InnoFang.png","language":"Python","readme":"# Code Counter\n\n[![](https://img.shields.io/pypi/v/code-counter)](https://pypi.org/project/code-counter/) ![](https://img.shields.io/pypi/dm/code-counter)\n\nA command-line interface (CLI) utility that can help you easily count code lines and display detailed results.\n\nEnglish | [中文](./README_CN.md)\n\n## Installation\n\nInstall by PyPI:\n\n```shell\npip install code-counter\n```\n\nAlso, you can install it from the source code: \n\nIf you want the latest code to run,  you can `pip install` directly from GitHub:\n\n```shell\npip install git+https://github.com/innofang/code-counter.git\n```\n\n## Quick Start\n\nOpen the terminal and directly search the path you want to count.\n\nFor example, use `cocnt search` to count the number of code lines of `code counter`. (`cocnt` is the abbreviation of `code count`)\n\n```shell\n$ cocnt search ./code-counter/\n\n        RESULT\n        ====================\n        Total file lines    :    1420 (100.00%)\n        Total code lines    :    1132 ( 79.72%)\n        Total blank lines   :     252 ( 17.75%)\n        Total comment lines :      36 (  2.54%)\n\n              Type  |     Files  |     Ratio  |     Lines  |     Ratio\n        -----------------------------------------------------------------\n                py  |        19  |   100.00%  |      1132  |   100.00%\n\n        Totally cost 0.11359143257141113 s.\n```\n\nThe following is the detailed usage instructions. Click to expand the details:\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eThe detail usage instructions\u003c/b\u003e\u003c/summary\u003e\n\n* [Usage](#usage)\n    + [`search`](#search)\n      - [Search the given path directly](#search-the-given-path-directly)\n      - [Search multiple paths at the same time](#search-multiple-paths-at-the-same-time)\n      - [Show verbose searching information](#show-verbose-searching-information)\n      - [Search code files for specific file suffixes](#search-code-files-for-specific-file-suffixes)\n      - [Ignore directories or files during the search](#ignore-directories-or-files-during-the-search)\n      - [Specify the output path to save the search results](#specify-the-output-path-to-save-the-search-results)\n      - [Visualize statistical results](#visualize-statistical-results)\n    + [`remote`](#remote)\n      - [Search and count the remote repository](#search-and-count-the-remote-repository)\n    + [`config`](#config)\n      - [List configuration information](#list-configuration-information)\n      - [Reset the value of the configuration variable](#reset-the-value-of-the-configuration-variable)\n      - [Add the value of the configuration variable](#add-the-value-of-the-configuration-variable)\n      - [Delete some configuration variable values](#delete-some-configuration-variable-values)\n      - [Update the access tokens](#update-the-access-tokens)\n      - [Restore default configuration](#restore-default-configuration)\n\n## Usage\n\nThe help information of `code-counter ` is as follows.\n\n```shell \n$ cocnt --help\nusage: cocnt \u003ccommand\u003e [\u003cargs\u003e]\nThese are common Code-Counter commands used in various situations:\n    search     Search and count code lines for the given path(s)\n    remote     Search and count the remote repository\n    config     Configure Code-Counter\n\nA command-line interface (CLI) utility that can help you easily count code and display detailed results.\n\npositional arguments:\n  command     Subcommand to run, `search` or `config`\n\noptional arguments:\n  -h, --help  show this help message and exit\n  --version   show program's version number and exit\n```\n\n`code-counter ` supports three subcommands: [`search`](#search), [`remote`](#remote), and [`config`](#config)\n\n### `search`\n\nSearch the given path and make statistics. The help information of `cocnt search` is as follows.\n\n```shell\n$ cocnt search --help\nusage: cocnt search input_path [-h] [-v] [-g] [-o OUTPUT_PATH] [--suffix SUFFIX] [--comment COMMENT] [--ignore IGNORE]\n\nSearch and count code lines for the given path(s)\n\npositional arguments:\n  paths                 counting the code lines according to the given path(s)\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -v, --verbose         show verbose information\n  -g, --graph           choose to whether to visualize the result\n  -o OUTPUT_PATH, --output OUTPUT_PATH\n                        specify an output path if you want to store the result\n  --suffix SUFFIX       what code files do you want to count\n  --comment COMMENT     the comment symbol, which can be judged whether the current line is a comment\n  --ignore IGNORE       ignore some directories or files that you don't want to count\n```\n\n#### Search the given path directly\n\n```shell\n$ cocnt search ./code-counter/\n\n        RESULT\n        ====================\n        Total file lines    :    1420 (100.00%)\n        Total code lines    :    1132 ( 79.72%)\n        Total blank lines   :     252 ( 17.75%)\n        Total comment lines :      36 (  2.54%)\n\n              Type  |     Files  |     Ratio  |     Lines  |     Ratio\n        -----------------------------------------------------------------\n                py  |        19  |   100.00%  |      1132  |   100.00%\n\n        Totally cost 0.11359143257141113 s.\n```\n\n#### Search multiple paths at the same time\n\nYou can specify more than one path separated by commas. For example, if you want to count the code files under the directory `./Cpp`, `./Go`, `./Rust` at the same time, the command can be like this.\n\n```shell\n$ cocnt search ./Cpp,./Go,./Rust\n\n        RESULT\n        ====================\n        Total file lines    :   17485 (100.00%)\n        Total code lines    :   10679 ( 61.08%)\n        Total blank lines   :    1704 (  9.75%)\n        Total comment lines :    5102 ( 29.18%)\n\n              Type  |     Files  |     Ratio  |     Lines  |     Ratio\n        -----------------------------------------------------------------\n                 c  |        29  |    14.15%  |      2683  |    25.12%\n                 h  |         7  |     3.41%  |       503  |     4.71%\n               cpp  |        77  |    37.56%  |      3267  |    30.59%\n               hpp  |         1  |     0.49%  |       238  |     2.23%\n                go  |        60  |    29.27%  |      2624  |    24.57%\n                rs  |        31  |    15.12%  |      1364  |    12.77%\n\n        Totally cost 0.0940864086151123 s.\n```\n\n`code-counter` supports searching paths in different directories at the same time, so the given paths do not need to be in the same directory.\n\n#### Show verbose searching information\n\nSearching information is not displayed by default. If you play more attention to the search information, you can use the `[-v --verbose]` flag to show it when searching.\n\n```shell\n$ cocnt search ./code-counter/ -v\n\n        SEARCHING\n        ====================\n         File Type  |     Lines  |      Code  |     Blank  |   Comment  |  File Path\n        ------------------------------------------------------------------------------------------\n                py  |       156  |       126  |        28  |         2  |  ./code-counter/code_counter\\conf\\config.py\n                py  |         0  |         0  |         0  |         0  |  ./code-counter/code_counter\\conf\\__init__.py\n                py  |       183  |       154  |        23  |         6  |  ./code-counter/code_counter\\core\\args.py\n                py  |        86  |        68  |        13  |         5  |  ./code-counter/code_counter\\core\\countable\\file.py\n                py  |        56  |        45  |         9  |         2  |  ./code-counter/code_counter\\core\\countable\\iterator.py\n                py  |         0  |         0  |         0  |         0  |  ./code-counter/code_counter\\core\\countable\\__init__.py\n                py  |       133  |       108  |        23  |         2  |  ./code-counter/code_counter\\core\\counter.py\n                py  |        68  |        57  |         8  |         3  |  ./code-counter/code_counter\\core\\visualization.py\n                py  |         0  |         0  |         0  |         0  |  ./code-counter/code_counter\\core\\__init__.py\n                py  |        45  |        35  |         8  |         2  |  ./code-counter/code_counter\\tools\\progress.py\n                py  |        63  |        51  |        10  |         2  |  ./code-counter/code_counter\\tools\\request.py\n                py  |         0  |         0  |         0  |         0  |  ./code-counter/code_counter\\tools\\__init__.py\n                py  |         1  |         1  |         0  |         0  |  ./code-counter/code_counter\\__init__.py\n                py  |        44  |        30  |        12  |         2  |  ./code-counter/code_counter\\__main__.py\n                py  |        52  |        44  |         6  |         2  |  ./code-counter/setup.py\n                py  |       146  |       123  |        21  |         2  |  ./code-counter/tests\\test_args.py\n                py  |       327  |       244  |        81  |         2  |  ./code-counter/tests\\test_config.py\n                py  |        33  |        26  |         5  |         2  |  ./code-counter/tests\\test_remote.py\n                py  |        27  |        20  |         5  |         2  |  ./code-counter/tests\\test_search.py\n\n        RESULT\n        ====================\n        Total file lines    :    1420 (100.00%)\n        Total code lines    :    1132 ( 79.72%)\n        Total blank lines   :     252 ( 17.75%)\n        Total comment lines :      36 (  2.54%)\n\n              Type  |     Files  |     Ratio  |     Lines  |     Ratio\n        -----------------------------------------------------------------\n                py  |        19  |   100.00%  |      1132  |   100.00%\n\n        Totally cost 0.11509132385253906 s.\n```\n\n\n#### Search code files for specific file suffixes\n\n`code-counter` has a default configuration, which includes common code file suffixes, comment symbols, and directory or file names that need to be ignored. Therefore, if there are no special requirements during use, you can directly use `cocnt search` for code statistics.\n\nIf you only want to count some specific code files when searching, you can use the `--suffix` to specify the code file suffix. For example:\n\n```shell\n$ cocnt search ./project --suffix=\"cpp,java\"\n```\n\nOf course, specify the comment symbols during searching the code, which is helpful to count the number of comments in the code.\n\n```shell\n$ cocnt search ./project --suffix=\"cpp,java\" --comment=\"//,/*,*\" --ignore=\"target,build\"\n```\n\n#### Ignore directories or files during the search\n\nDuring the search, it is easy to count the code files or directories that you do not want to count, so you can use the `--ignore` to specify the directory or file names that need to be ignored during the search.\n\n```shell\n$ cocnt search ./project --suffix=\"py,java\" --comment=\"#,//,/**\" --ignore=\"target,__pycache__\"\n```\n\nGenerally speaking, the configuration file of `code-counter` already contains many common default configurations. For example, the default value of `ignore` is shown below.\n\n```\n\"ignore\": [\n  \"venv\",\n  \".git\",\n  \".idea\",\n  \"build\",\n  \"target\",\n  \"node_modules\",\n  \".vscode\",\n  \"dist\"\n]\n```\n\nTherefore, in some cases, if the directory or file to be searched is the same as the default value of `ignore`, you can set `--ignore=\"\"` to empty the default value of `ignore`. Of course, this is temporary. If you want to persist with these changes, you can refer to the [`--ignore-reset` flag](#reset-the-value-of-the-configuration-variable) mentioned later when introducing [`cocnt config`](#config).\n\n### Specify the output path to save the search results\n\nIf you want to save the statistical results, you can specify the path to save the search results through the `[-o -- output]` flag. If an output path is specified, the output information will not be displayed on the console.\n\n```shell\n$ cocnt search ./code-counter -v -o result.txt\n\n        Totally cost 0.0050046443939208984 s.\n```\n\nverbose search information and results will be written to `result.txt`\n\n### Visualize statistical results\n\nData visualization can provide a more intuitive feeling, so you can specify the `[-g -- graph]` flag to visualize the statistical results during the search.\n\n```\n$ cocnt search ./miscode -g\n```\n\nIn addition to the statistical data displayed on the terminal, the statistical chart shown in the figure below will also be displayed.\n\n![](https://cdn.jsdelivr.net/gh/innofang/jotter/source/code-counter/result.png)\n\n### `remote`\n\nSearch and count the remote `Git` repository, the help information of `cocnt remote` is as follows.\n\n```shell\n$ cocnt remote --help\nusage: cocnt remote \u003crepository\u003e [-h] [-v] [-g] [-o OUTPUT_PATH] [--suffix SUFFIX] [--comment COMMENT] [--ignore IGNORE]\n\nSearch and count the remote repository with a given Github or Gitee HTTP link\n\npositional arguments:\n  repository            search and count a remote repository\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -v, --verbose         show verbose information\n  -g, --graph           choose to whether to visualize the result\n  -o OUTPUT_PATH, --output OUTPUT_PATH\n                        specify an output path if you want to store the result\n  --suffix SUFFIX       what code files do you want to count\n  --comment COMMENT     the comment symbol, which can be judged whether the current line is a comment\n  --ignore IGNORE       ignore some directories or files that you don't want to count\n```\n\n`cocnt remote` in addition to supporting the searching of the remote repository, the usage of its various flags is the same as `cocnt search`\n\n#### Search and count the remote repository\n\nGiven the `HTTPS` or `SSH` link of the remote repository, `code-counter` can search and count the remote repository.\nAt present, it supports access to the repository of `Github` and `Gitee`.\n\nBecause of the API access limit for `Github` and `Gitee`, they are only used a very small number of times per day. \nSo we recommend that users follow the instructions and enter the access token corresponding to `Github` or `Gitee` into `code-counter` during the initial search to get at least 5000 uses per day.\n\nWhen first accessing a `Github` repository, the user is prompted for a `Github` access token, and the same is true for accessing a `Gitee` repository. `code-counter` will display different prompts for different remote repositories.\nOf course, you can use the remote search feature without entering an access token, but when the API usage limit is reached, `code-counter` will still prompt the user for an access token, otherwise you will not be able to continue using it that day.\n\nThe access tokens for different remote repositories are generated as follows.\n + `Github`: [https://github.com/settings/tokens/new](https://github.com/settings/tokens/new)\n   + Just select `public_repo` in `Select scopes`, then click `Generate token` to generate the token and enter it into `code-counter`.\n + `Gitee`: [https://gitee.com/profile/personal_access_tokens/new](https://gitee.com/profile/personal_access_tokens/new)\n   + Just select `projects` and click `Submit` to generate the access token and enter it into `code-counter`\n\nOnce the correct access token has been entered it will work properly.\n\n```shell\n$ cocnt remote https://github.com/InnoFang/code-counter.git\n\n        RESULT\n        ====================\n        Total file lines    :    1403 (100.00%)\n        Total code lines    :     997 ( 71.06%)\n        Total blank lines   :     264 ( 18.82%)\n        Total comment lines :     142 ( 10.12%)\n\n              Type  |     Files  |     Ratio  |     Lines  |     Ratio\n        -----------------------------------------------------------------\n                py  |        18  |   100.00%  |       997  |   100.00%\n\n        Totally cost 37.77419900894165 s.\n```\n\nIf you want to update the access token at any time, then you can refer to the [`--github-token` and `--gitee-token` flags](#update-the-access-tokens) that will be mentioned later in the introduction of [`cocnt config`](#config).\n\n### `config`\n\nConfigure `code-counter`, and the help information of `cocnt config` is as follows.\n\n```shell\n$ cocnt config --help\nusage: cocnt config [-h] [--list] [--suffix-reset SUFFIX_RESET] [--suffix-add SUFFIX_ADD] [--comment-reset COMMENT_RESET] [--comment-add COMMENT_ADD] [--ignore-reset IGNORE_RESET] [--ignore-add IGNORE_ADD] [--restore]\n\nconfigure code-counter\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --list                list all variables set in the config file, along with their values\n  --suffix-reset SUFFIX_RESET\n                        reset the 'suffix' in the config and count code lines according to this value\n  --suffix-add SUFFIX_ADD\n                        append new value for the 'suffix' in the config and count code lines according to this value\n  --suffix-del SUFFIX_DEL\n                        delete some values of the 'suffix' in the config\n  --comment-reset COMMENT_RESET\n                        reset the 'comment' in the config and count comment lines according to this value\n  --comment-add COMMENT_ADD\n                        append new value for the 'comment' in the config and count comment lines according to this value\n  --comment-del COMMENT_DEL\n                        delete some values of the 'comment' in the config\n  --ignore-reset IGNORE_RESET\n                        reset the 'ignore' in the config and ignore some files or directories according to this value\n  --ignore-add IGNORE_ADD\n                        append new value for the 'ignore' in the config and ignore some files or directories according to this value\n  --ignore-del IGNORE_DEL\n                        delete some values of the 'ignore' in the config\n  --restore             restore default config\n```\n\n#### List configuration information\n\nUnder the `config` subcommand, specify the `--list` to display configuration information. The default configuration of `code-counter` is shown below.\n\n```shell\n$ cocnt config --list\n{\n    \"suffix\": [\n        \"c\",\n        \"cc\",\n        \"clj\",\n        \"cpp\",\n        \"cs\",\n        \"cu\",\n        \"cuh\",\n        \"dart\",\n        \"go\",\n        \"h\",\n        \"hpp\",\n        \"java\",\n        \"jl\",\n        \"js\",\n        \"kt\",\n        \"lisp\",\n        \"lua\",\n        \"pde\",\n        \"m\",\n        \"php\",\n        \"py\",\n        \"R\",\n        \"rb\",\n        \"rs\",\n        \"rust\",\n        \"sh\",\n        \"scala\",\n        \"swift\",\n        \"ts\",\n        \"vb\"\n    ],\n    \"comment\": [\n        \"#\",\n        \"//\",\n        \"/*\",\n        \"*\",\n        \"*/\",\n        \":\",\n        \";\",\n        \"\\\"\\\"\\\"\\\"\"\n    ],\n    \"ignore\": [\n        \"venv\",\n        \".git\",\n        \".idea\",\n        \"build\",\n        \"target\",\n        \"node_modules\",\n        \".vscode\",\n        \"dist\"\n    ]\n}\n```\n\n + **`suffix`**: Code file suffix that will be counted during the search\n + **`comment`**: Comment symbol that can be judged whether the current line is comment during the search\n + **`ignore`**: Directories or files you want to ignore during the search\n\n#### Reset the value of the configuration variable\n\nThe default configuration of `code-counter` basically includes common code file suffixes, comment symbols, and directory or file names that need to be ignored. But if you don't think so many variable values would be used during the search, you can choose to reset the default values.\n\n + `--suffix-reset` can reset the default code file suffixes.\n + `--comment-reset` can reset the default comment symbols\n + `--ignore-reset` can reset the default directory or files to ignore\n\nThese 3 flags can be used in combination or separately. You will be asked for each operation that will modify the configuration file, you can check if what you want to change is correct. If you confirm the change you can enter `y`, otherwise enter `n` to not perform the change.\n\nMultiple values can be separated by commas, as shown in the following example.\n\n```shell\n$ cocnt config --suffix-reset=\"cpp,java\" --comment-reset=\"//,/*,*\" --ignore-reset=\"build,target\"\n'suffix' will be replaced with ['cpp', 'java'] . (y/n) y\n'comment' will be replaced with ['//', '/*', '*'] . (y/n) y\n'ignore' will be replaced with ['build', 'target'] . (y/n) y\n```\n\n#### Add the value of the configuration variable\n\nFor the case of adding the value of the configuration variable, the following flags can be used:\n + `--suffix-add` add code file suffixes\n + `--comment-add` add comment symbols\n + `--ignore-add` add the directories or files to ignore\n\nThese 3 flags can be used in combination or separately. You will be asked for each operation that will modify the configuration file, you can check if what you want to change is correct. If you confirm the change you can enter `y`, otherwise enter `n` to not perform the change.\n\nMultiple values can be separated by commas, as shown in the following example.\n\n```shell\n$ cocnt config --suffix-add=\"js,lisp\" --comment-add=\";\" --ignore-add=\"node_modules\"\n'suffix' will be appended with ['js', 'lisp'] . (y/n) y\n'comment' will be appended with [';'] . (y/n) y\n'ignore' will be appended with ['node_modules'] . (y/n) y\n```\n\n#### Delete some configuration variable values\n\nFor the deletion of configuration variable values, `code-counter` provides the following flags:\n+ `--suffix-del` delete unwanted code file suffixes from the default configuration\n+ `--comment-del` delete unwanted comment symbols from the default configuration\n+ `--ignore-del` delete the directory or file names that don't need to be ignored from the default configuration\n\nThese 3 flags can be used in combination or separately. You will be asked for each operation that will modify the configuration file, you can check if what you want to change is correct. If you confirm the change you can enter `y`, otherwise enter `n` to not perform the change.\n\nMultiple values can be separated by commas, as shown in the following example.\n\n```shell\n$ cocnt config --suffix-del=\"clj,lisp\" --comment-del=\";\" --ignore-del=\"build,target\"\n'suffix' will remove ['clj', 'lisp'] . (y/n) y\n'comment' will remove [';'] . (y/n) y\n'ignore' will remove ['build', 'target'] . (y/n) y\n```\n\n#### Update the access tokens\n\nFor updates to access tokens for `Github` and `Gitee`, `code-counter` provides the following flags.\n + `--github-token` update the access token for `Github`\n + `--gitee-token` update the access token for `Gitee`\n\nThese 2 flags can be used in combination or separately. You will be asked for each operation that will modify the configuration file, you can check if what you want to change is correct. If you confirm the change you can enter `y`, otherwise enter `n` to not perform the change.\n\n```shell\n$ cocnt config  --github-token=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  --gitee-token=d7ca1490523aac54a38434bf96c76ff8\nthe old Github access token will be updated to `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` . (y/n) y\nthe old Gitee access token will be updated to `d7ca1490523aac54a38434bf96c76ff8` . (y/n) y\n```\n\n### Restore default configuration\n\nUse the `--restore` flag to restore the default configuration of `code-counter`.\n\n```shell\n$ cocnt config --restore\nThe default configuration will be restored. (y/n) y\n```\n\u003c/details\u003e\n\n## [License](https://github.com/InnoFang/code-counter/blob/master/LICENSE)\n\n        Copyright 2019-2022 Inno Fang\n\n        Licensed under the Apache License, Version 2.0 (the \"License\");\n        you may not use this file except in compliance with the License.\n        You may obtain a copy of the License at\n\n        http://www.apache.org/licenses/LICENSE-2.0\n\n        Unless required by applicable law or agreed to in writing, software\n        distributed under the License is distributed on an \"AS IS\" BASIS,\n        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n        See the License for the specific language governing permissions and\n        limitations under the License.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finnofang%2Fcode-counter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finnofang%2Fcode-counter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finnofang%2Fcode-counter/lists"}