{"id":13520313,"url":"https://github.com/ckatsak/rlocc","last_synced_at":"2025-03-31T16:31:18.712Z","repository":{"id":57661022,"uuid":"257337762","full_name":"ckatsak/rlocc","owner":"ckatsak","description":"Just another blazingly fast LOC counter.","archived":true,"fork":false,"pushed_at":"2020-08-28T13:44:39.000Z","size":155,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-07T09:47:57.896Z","etag":null,"topics":["cli","cloc","code","command-line-tool","count-lines","count-lines-of-code","rust","rust-library"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ckatsak.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}},"created_at":"2020-04-20T16:18:23.000Z","updated_at":"2024-05-09T13:37:58.000Z","dependencies_parsed_at":"2022-09-06T17:50:57.950Z","dependency_job_id":null,"html_url":"https://github.com/ckatsak/rlocc","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckatsak%2Frlocc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckatsak%2Frlocc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckatsak%2Frlocc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckatsak%2Frlocc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ckatsak","download_url":"https://codeload.github.com/ckatsak/rlocc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222670691,"owners_count":17020513,"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":["cli","cloc","code","command-line-tool","count-lines","count-lines-of-code","rust","rust-library"],"created_at":"2024-08-01T05:02:17.418Z","updated_at":"2024-11-02T03:31:16.375Z","avatar_url":"https://github.com/ckatsak.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# rlocc\n\n\nJust another blazingly fast LOC counter.\n\n![Build Status (master)](https://img.shields.io/travis/com/ckatsak/rlocc/master?label=master\u0026style=for-the-badge)\n![Build Status (develop)](https://img.shields.io/travis/com/ckatsak/rlocc/develop?label=develop\u0026style=for-the-badge)\n![GitHub](https://img.shields.io/github/license/ckatsak/rlocc?style=for-the-badge)\n\nIt works (and it's really fast too) but it is not finished yet.\nYou may check the [known issues below](#known-issues) to make sure that you want to use it.\n\n### Disclaimer\n\nThis is my first ever project in Rust; developed while reading the Rust Book!\nMy sincere apologies to the Rust community for possibly abusing the language; at the time `rlocc` is written I've been still fighting with the borrow checker :P\n\n\n\n## Contents\n\n- [Build](#installation)\n- [Usage](#usage)\n- [Platforms](#platforms)\n- [Supported File Types](#supported-file-types)\n- [Known issues \u0026 TODOs](#known-issues)\n\n\n\n## Build \u003ca name=\"installation\"\u003e\u003c/a\u003e\n\nAssuming Rust is already installed, `rlocc` can be built using the provided Makefile:\n\n```text\n$ make\n```\n\nwhich simply uses cargo as usual:\n\n```text\n$ RUSTFLAGS=\"-Ctarget-cpu=native\" cargo build --release\n```\n\n\n\n## Usage \u003ca name=\"usage\"\u003e\u003c/a\u003e\n\nEven though `rlocc` has been developed as a library, for now it is mostly meant to be used through the accompanying binary.\nIn other words, its API is not really well-thought for use outside the provided binary.\n\nAs a command line tool, `rlocc` is very simple to use: it receives any number of file or directory names as command line input, and walks through them counting them.\n\nFor example, to count files `file1`, `../file3` and all files under `~/dir2`, one can issue:\n\n```text\n$ rlocc file1 ~/dir2 ../file3\n```\n\nNo command line flags are supported at this time.\n\n\n\n## Platforms \u003ca name=\"platforms\"\u003e\u003c/a\u003e\n\nSo far `rlocc` has only been tested on `linux/amd64` with Rust `1.42.0` or later.\n\n\n\n## Supported File Types \u003ca name=\"supported-file-types\"\u003e\u003c/a\u003e\n\nCurrently `rlocc` supports 76 types of files.\nIt guesses the file type mostly via file name extensions, with very few exceptions (for Makefile, Dockerfile, etc).\n\nThe exhaustive list of all supported file types:\n\n- Ada\n- Assembly\n- Autoconf\n- AWK\n- Batch\n- C\n- C++\n- C/C++ Header\n- C#\n- Clojure\n- CMake\n- COBOL\n- CSV\n- CSS\n- D\n- Dart\n- Delphi\n- Dockerfile\n- Eiffel\n- Elm\n- Elixir\n- Erlang\n- F#\n- .gitignore\n- Go\n- Haskell\n- HTML\n- Java\n- Javascript\n- JSON\n- Julia\n- Jupyter\n- Kotlin\n- License files\n- Lisp\n- Lua\n- Makefile\n- MAL (MonetDB)\n- Markdown\n- Matlab\n- Nim\n- Nix\n- OCaml\n- OpenCL\n- Pascal\n- Perl\n- PHP\n- Plain Text\n- Pony\n- PowerShell\n- Protocol Buffers\n- Python\n- R\n- ReStructuredText\n- Ruby\n- Rust\n- Scala\n- Scheme\n- Sed\n- Shell\n- SML\n- Solidity\n- SQL\n- Swift\n- Systemd\n- TeX\n- Tcl\n- TOML\n- TypeScript\n- V\n- Vala\n- VimL\n- WebAssembly (text format)\n- YAML\n- XML\n- Zig\n\n\n\n## Known issues \u0026 TODOs \u003ca name=\"known-issues\"\u003e\u003c/a\u003e\n\n- *TODO:* Proper code \u0026 installation documentation to publish at crates.io.\n\n- *TODO:* Command line options for the binary.\n\n- *TODO:* For now, when a token that begins a multi-line comment appears inside a string (in any supported language that supports both multi-line comments and strings) , `rlocc` cannot handle it and the results of LOC count for that whole file get calculated wrong with high probability.\n\n- Nested comments are not handled. (I don't think I'm gonna fix this, since it's not really a use case for me.)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fckatsak%2Frlocc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fckatsak%2Frlocc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fckatsak%2Frlocc/lists"}