tokei/CHANGELOG.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

760 lines
30 KiB
Markdown
Raw Permalink Normal View History

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [13.0.0-alpha.1](https://github.com/XAMPPRocky/tokei/compare/v13.0.0-alpha.0...v13.0.0-alpha.1) - 2024-03-04
### Fixed
- fixed language names not showing when in Light mode (light background ([#1048](https://github.com/XAMPPRocky/tokei/pull/1048))
### Other
- Create release-plz.yaml
- Update mean_bean_ci.yml
- Fix LD Script language data ([#1028](https://github.com/XAMPPRocky/tokei/pull/1028))
- Fix language data example in CONTRIBUTING.md ([#1029](https://github.com/XAMPPRocky/tokei/pull/1029))
- Update dependencies
- Add widget install instructions
- Update mean_bean_ci.yml
- Dockerize tokei ([#930](https://github.com/XAMPPRocky/tokei/pull/930))
- Ignore format commits for `languages.json` ([#1013](https://github.com/XAMPPRocky/tokei/pull/1013))
- Upgrade GitHub Actions ([#955](https://github.com/XAMPPRocky/tokei/pull/955))
- add --languages ouput formatter ([#1007](https://github.com/XAMPPRocky/tokei/pull/1007))
- Add Nuget Config, Bazel and EdgeQL Support, Fix Output Formatter ([#999](https://github.com/XAMPPRocky/tokei/pull/999))
- show nushell in the readme ([#991](https://github.com/XAMPPRocky/tokei/pull/991))
- Add support for Redscript ([#994](https://github.com/XAMPPRocky/tokei/pull/994))
- Add support for jq ([#965](https://github.com/XAMPPRocky/tokei/pull/965))
- Add support for Astro ([#966](https://github.com/XAMPPRocky/tokei/pull/966))
- Use XDG conventions on macOS too ([#989](https://github.com/XAMPPRocky/tokei/pull/989))
- Add JSON5 support for languages.json ([#986](https://github.com/XAMPPRocky/tokei/pull/986))
- Delete Smalltalk.cs.st ([#990](https://github.com/XAMPPRocky/tokei/pull/990))
- Add support for smalltalk ([#839](https://github.com/XAMPPRocky/tokei/pull/839))
- Disable *-android
- Add HiCAD to languages.json ([#985](https://github.com/XAMPPRocky/tokei/pull/985))
- Add Nushell to languages.json ([#982](https://github.com/XAMPPRocky/tokei/pull/982))
2020-12-23 23:04:30 +00:00
# 12.1.0
2020-06-22 11:32:44 +00:00
## Introduction
Tokei is a fast and accurate code analysis CLI tool and library, allowing you to
easily and quickly see how many blank lines, comments, and lines of code are in
your codebase. All releases and work on Tokei and tokei.rs ([the free companion
badge service][rs-info]) are [funded by the community through
GitHub Sponsors][sponsor].
You can always download the latest version of tokei through GitHub Releases or
Cargo. Tokei is also available through other [package managers][pkg], though
they may not always contain the latest release.
```
cargo install tokei
```
[pkg]: https://github.com/XAMPPRocky/tokei#package-managers
[rs-info]: https://github.com/XAMPPRocky/tokei/blob/master/README.md#Badges
[sponsor]: https://github.com/sponsors/XAMPPRocky
2020-12-23 23:04:30 +00:00
## What's New?
- [Added `-n/--num-format=[commas, dots, plain, underscores]` for adding
separator formatting for numbers.](https://github.com/XAMPPRocky/tokei/pull/591)
- [The total is now included in output formats such as JSON.](https://github.com/XAMPPRocky/tokei/pull/580)
- [`--no-ignore` now implies other ignore flags.](https://github.com/XAMPPRocky/tokei/pull/588)
- [Added `--no-ignore-dot` flag to ignore files such as `.ignore`.](https://github.com/XAMPPRocky/tokei/pull/588)
- [Added single line comments to F\*](https://github.com/XAMPPRocky/tokei/pull/670)
- Updated various dependencies.
### Added Languages
- [ABNF](https://github.com/XAMPPRocky/tokei/pull/577)
- [CodeQL](https://github.com/XAMPPRocky/tokei/pull/604)
- [LiveScript](https://github.com/XAMPPRocky/tokei/pull/607)
- [Stylus](https://github.com/XAMPPRocky/tokei/pull/619)
- [DAML](https://github.com/XAMPPRocky/tokei/pull/620)
- [Tera](https://github.com/XAMPPRocky/tokei/pull/627)
- [TTCN-3](https://github.com/XAMPPRocky/tokei/pull/621)
- [Beancount](https://github.com/XAMPPRocky/tokei/pull/630)
- [Gleam](https://github.com/XAMPPRocky/tokei/pull/646)
- [JSONNet](https://github.com/XAMPPRocky/tokei/pull/634)
- [Stan](https://github.com/XAMPPRocky/tokei/pull/633)
- [Gwion](https://github.com/XAMPPRocky/tokei/pull/659)
# 12.0.0
2020-06-22 11:32:44 +00:00
## What's New?
Tokei 12 comes with some of the biggest user facing changes since 1.0, now in
the latest version tokei will now **analyse and count multiple languages
embedded in your source code** as well as adding support for
**Jupyter Notebooks**. Now for the first time is able to handle and display
different languages contained in a single source file. This currently available
for a limited set of languages, with plans to add more support for more in the
future. The currently supported languages are;
### HTML + Siblings (Vue, Svelte, Etc...)
Tokei will now analyse and report the source code contained in `<script>`,
`<style>`, and `<template>` tags in HTML and other similar languages. Tokei will
read the value of the`type` attribute from the `<script>` tag and detects the
appropriate language based on its mime type or JavaScript if not present. Tokei
will do the same for `<style>` and `<template>` except reading the `lang`
attribute instead of `type` and defaulting to CSS and HTML each respectively.
### Jupyter Notebooks
Tokei will now read Jupyter Notebook files (`.ipynb`) and will read the source
code and markdown from Jupyter's JSON and output the analysed result.
### Markdown
Tokei will now detect any code blocks marked with specified source language and
count each as their respective languages or as Markdown if not present or not
found. Now you can easily see how many code examples are included in
your documentation.
### Rust
Tokei will now detect blocks of rustdoc documentation (e.g. `///`/`//!`) and
parse them as markdown.
### Verbatim Strings
Tokei is now also capable of handling "verbatim" strings, which are strings that
do not accept escape sequences like `\`. Thanks to @NickHackman for providing
the implementation! This is initially supported for C++, C#, F#, and Rust.
## New Look
To be able to show these new features, tokei's output has been changed to look
like below. For brevity the CLI only displays one level deep in each language,
however the library's parser is fully recursive and you can get access to the
complete report using the library or by outputting the JSON format.
```
===============================================================================
Language Files Lines Code Comments Blanks
===============================================================================
BASH 4 49 30 10 9
JSON 1 1332 1332 0 0
Shell 1 49 38 1 10
TOML 2 77 64 4 9
-------------------------------------------------------------------------------
Markdown 5 1230 0 965 265
|- JSON 1 41 41 0 0
|- Rust 2 53 42 6 5
|- Shell 1 22 18 0 4
(Total) 1346 101 971 274
-------------------------------------------------------------------------------
Rust 19 3349 2782 116 451
|- Markdown 12 351 5 295 51
(Total) 3700 2787 411 502
===============================================================================
Total 32 6553 4352 1397 804
===============================================================================
```
This feature is not just limited to the default output of tokei. You can see it
broken down by each file with the `--files` option.
```
===============================================================================
Language Files Lines Code Comments Blanks
===============================================================================
Markdown 5 1230 0 965 265
|- JSON 1 41 41 0 0
|- Rust 2 53 42 6 5
|- Shell 1 22 18 0 4
(Total) 1346 101 971 274
-------------------------------------------------------------------------------
./CODE_OF_CONDUCT.md 46 0 28 18
./CHANGELOG.md 570 0 434 136
-- ./markdown.md --------------------------------------------------------------
|- Markdown 4 0 3 1
|- Rust 6 4 1 1
|- (Total) 10 4 4 2
-- ./README.md ----------------------------------------------------------------
|- Markdown 498 0 421 77
|- Shell 22 18 0 4
|- (Total) 520 18 421 81
-- ./CONTRIBUTING.md ----------------------------------------------------------
|- Markdown 112 0 79 33
|- JSON 41 41 0 0
|- Rust 46 38 4 4
|- (Total) 200 79 84 37
===============================================================================
Total 5 1346 101 971 274
===============================================================================
```
## Breaking Changes
- The JSON Output and format of `Languages` has changed.
- The JSON feature has been removed and is now included by default.
- `Stats` has been split into `Report` and `CodeStats` to better represent the
separation between analysing a file versus a blob of code.
2020-05-19 22:05:19 +00:00
# 11.2.0
2020-05-26 11:37:31 +00:00
- @alexmaco Added shebang and env detection for Crystal.
2020-05-26 11:32:33 +00:00
- @NickHackman Updated both Vue and HTML to count CSS & JS comments as comments.
- @XAMPPRocky renamed Perl6's display name to Rakudo.
- @dbackeus Added `erb` extension for Ruby HTML.
- @kobataiwan Tokei will now check for a configuration file in your home
directory as well as your current and configuration directory.
- @dependabot Updated dependencies
2020-05-19 22:05:19 +00:00
**Added Languages**
- @alexmaco Dhall
- @NickHackman Svelte
- @athas Futhark
- @morphy2k Gohtml
- @LucasMW Headache
- @rosasynstylae Tsx
- @XAMPPRocky OpenType Feature Files
# 11.1.0
**Added Languages**
- @rubdos Arduino
- @LuqueDaniel Pan
- @itkovian Ren'Py
- Added `LanguageType::shebangs`, `LanguageType::from_file_extension`, and
`LanguageType::from_shebang`. (@solanav)
Version 11.0.0 **Added languages** - @bwidawsk GNU Assembly, GDB Script - @isker Dust, Apache Velocity - @andreblanke FreeMarker Thanks to some major internal refactoring, Tokei has received significant performance improvements, and is now one of the fastest code counters across any size of codebase. With Tokei 11 showing up to 40–60% faster results than tokei's previous version. To showcase the improvements I've highlighted benchmarks of counting five differently sized codebases. Redis (~220k lines), Rust (~16M lines), and the Unreal Engine (~37.5M lines). In every one of these benchmarks Tokei 11 performed the best by a noticeable margin. *All benchmarks were done on a 15-inch MacBook Pro, with a 2.7GHz Intel Core i7 processor and 16GB 2133 MHz LPDDR3 RAM running macOS Catalina 10.15.3. Your mileage may vary, All benchmarks were done using [hyperfine], using default settings for all programs.* [hyperfine]: https://github.com/sharkdp/hyperfine ### Tokei **Note** This benchmark is not accurate due to `tokei` and `loc` both taking less than 5ms to complete, there is a high degree of error between the times and should mostly be considered equivalent. However it is included because it is notable that `scc` takes nearly 3x as long to complete on smaller codebases (~5k lines). ![Graph comparing programs running on the tokei source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=1242634543&format=image) ### Redis ![Graph comparing programs running on the redis source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=2009389097&format=image) ### Rust ![Graph comparing programs running on the rust source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=424069399&format=image) ### Unreal ![Graph comparing programs running on the unreal source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=439405321&format=image)
2020-03-21 13:40:49 +00:00
# 11.0.0
**Added languages**
- @bwidawsk GNU Assembly, GDB Script
- @isker Dust, Apache Velocity
- @andreblanke FreeMarker
Thanks to some major internal refactoring, Tokei has received significant
performance improvements, and is now one of the fastest code counters across any
size of codebase. With Tokei 11 showing up to 4060% faster results than tokei's
previous version. To showcase the improvements I've highlighted benchmarks
of counting five differently sized codebases. Redis (~220k lines), Rust (~16M
lines), and the Unreal Engine (~37.5M lines). In every one of these benchmarks
Tokei 11 performed the best by a noticeable margin.
*All benchmarks were done on a 15-inch MacBook Pro, with a 2.7GHz Intel Core i7
processor and 16GB 2133 MHz LPDDR3 RAM running macOS Catalina 10.15.3. Your
mileage may vary, All benchmarks were done using [hyperfine], using default
settings for all programs.*
[hyperfine]: https://github.com/sharkdp/hyperfine
### Tokei
**Note** This benchmark is not accurate due to `tokei` and `loc` both taking
less than 5ms to complete, there is a high degree of error between the times and
should mostly be considered equivalent. However it is included because it is
notable that `scc` takes nearly 3x as long to complete on smaller codebases
(~5k lines).
![Graph comparing programs running on the tokei source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=1242634543&format=image)
### Redis
![Graph comparing programs running on the redis source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=2009389097&format=image)
### Rust
![Graph comparing programs running on the rust source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=424069399&format=image)
### Unreal
![Graph comparing programs running on the unreal source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=439405321&format=image)
# 10.1.2
- Added `pyw` extension to Python.
- Updated dependencies
2019-12-28 23:59:32 +00:00
# 10.1.1
- Fixed `.tokeignore` always working even when `--no-ignore` is present.
- Updated dependencies
**Added languages**
- @erikaxel Gherkin (Cucumber)
2019-11-12 15:56:49 +00:00
# 10.1.0
- Added `cjsx` extension to CoffeeScript.
- Tokei will now recognise files with `#!/usr/bin/env ruby` as Ruby.
- Updated dependencies.
- Tokei now uses `crossbeam` channels over `std::mpsc`, which should have a
noticeable performance improvement on large repos.
- Improved documentation for `libtokei`.
**Added languages**
- @lzybkr PowerShell
- @turbo MoonScript
- @dtolnay Thrift
- @Tranzystorek FlatBuffers
- @NieDzejkob Emojicode
- @DanteFalzone0 HolyC
- @sci4me Odin
- @fkarg Rusty Object Notation (RON)
2019-06-10 16:30:00 +00:00
# 10.0.0
- Fixed minor parsing bugs.
- Width is now limited to 80 unless you use the `--files` flag.
- Added the `mjs` extension to JavaScript.
- Added the `tpp` extension to C++.
- You can now disable Tokei's git ignore detection, similar to ripgrep. See
`--help` for options.
- You can now add a `.tokeignore` file to your project to specify file paths
for tokei to always ignore. This file uses the same syntax as `.gitignore`.
- Improved Pascal representation
**Added languages**
2019-11-12 15:56:49 +00:00
- @hobofan solidity
- @stefanmaric GraphQL
- @jhpratt PostCSS
- @evitalis RPM
- @alexmaco Pony
2019-11-12 15:56:49 +00:00
- @yjhmelody WASM, LLVM, Pest
- @XAMPPRocky ASN.1
2019-06-10 16:30:00 +00:00
2019-01-13 20:22:53 +00:00
# 9.0.0
2019-11-12 15:56:49 +00:00
- Tokei now has config files. You can now specify some commonly used arguments
2019-01-13 20:22:53 +00:00
in a `.tokeirc`/`tokei.toml`. Namely `columns` to set the default column
output, `types` to filter your count to just a single set of languages, and
`treat_doc_strings_as_comments` which is a new option that allows you to
specify whether to treat doc strings such as `"""` in Python as comments
or code.
The config files can be specified in two places, the current directory tokei
is running in and your [system configuration
2019-01-13 20:30:46 +00:00
directory](//docs.rs/tokei/struct.Config.html#method.from_config_files). The
2019-01-13 20:22:53 +00:00
priority of options is as follows
`CLI > <current_directory> > <configuration_directory>`.
2019-11-12 15:56:49 +00:00
- Tokei is now available on [Conda](https://anaconda.org/conda-forge/tokei).
- [Tokei's README has been translated
2019-01-13 20:22:53 +00:00
to chinese.](https://github.com/chinanf-boy/tokei-zh#tokei-)
2019-11-12 15:56:49 +00:00
- `LanguageType` now implements `Hash`.
- Tokei now batches it's console output, this should result in a small
2019-01-13 20:22:53 +00:00
performance boost.
2019-11-12 15:56:49 +00:00
- There is now a `--columns` argument for manually setting tokei's output width.
- The `--sort` argument is now case-insensitive.
- Tokei will now mark languages who's files failed to parse correctly as
2019-01-13 20:22:53 +00:00
potentially inaccurate.
2019-11-12 15:56:49 +00:00
- Due to a bug in trust-ci `x86_64-unknown-netbsd` versions are will not be
2019-01-13 20:22:53 +00:00
available in GitHub releases. (You will still be able to install from source.)
2019-11-12 15:56:49 +00:00
- Due to toml-rs's lacking enum support the TOML output option has
2019-01-13 20:22:53 +00:00
been disabled.
**Added languages**
2019-11-12 15:56:49 +00:00
2019-01-13 20:22:53 +00:00
- @t-richards Liquid
- @diaphore Added the `.glsl` extension to GLSL.
- @ahmedelgabri Twig
- @pmoura Logtalk
- @alekratz Perl, Not Quite Perl
2019-03-30 11:25:35 +00:00
- @XAMPPRocky Automake, .NET Resource, HLSL, INI, Unreal Plugin,
2019-01-13 20:22:53 +00:00
Unreal Project, Unreal Shader, Unreal Shader Header, Unreal Markdown,
Visual Basic, Visual Studio Solution, Visual Studio Project, Xcode Config,
2019-01-13 20:22:53 +00:00
- @TheMrNomis SWIG
- @xnorme Added the `.vhdl` extension to VHDL
# 8.0.0
2019-11-12 15:56:49 +00:00
- A language's comments, and quotes are now available through the `LanguageType`
enum.
2019-11-12 15:56:49 +00:00
- You can filter by language using the `-t/--type` option. e.g. `tokei -t "Rust,C"`
2018-08-25 21:08:33 +00:00
will print only Rust and C files.
2019-11-12 15:56:49 +00:00
- Tokei now understands terminal width and will expand to fit it. (Thanks
to @Veykril)
2019-11-12 15:56:49 +00:00
- Added [comparison](./COMPARISON.md) document to compare Tokei to other
code counters.
2019-11-12 15:56:49 +00:00
- Updated dependencies
**Added languages**
2019-11-12 15:56:49 +00:00
- @BrandonBoone VB6, VBScript, XSLT
- @ialpert BrightScript
- @PJB3005 Dream Maker
- @schmee edn
2018-06-02 16:23:45 +00:00
# 7.0.3
Made various optimisations, up to 65% faster in some cases.
**Added languages**
2019-11-12 15:56:49 +00:00
2018-06-02 16:23:45 +00:00
- @DenialAdams Added Forsyth-Edwards-Notation (FEN)
- @DjebbZ Added ClojureC
- @grimm26 Added HCL/Terraform
# 7.0.2
2019-11-12 15:56:49 +00:00
- Updated dependencies.
- Changed how compilied serialization formats are handled.
- Fixed minor parser inaccuracies.
- Tokei should now recognise more python files from their shebang.
**Added languages**
2019-11-12 15:56:49 +00:00
- @ignatenko Added Meson
- @sprang Added Scheme
- @fengcms Added Vue
- @mark.knol Added Haxe
- @rleungx Added ABAP, COBOL, and Groovy
- @tiehuis Added Zig
- @murielsilveira Added Mint
- @notramo Added Elvish Shell and Kakoune
- @aatxe Added Racket
- @kamilchm Added ReasonML
- @cyplp Added XSL
# 7.0.1
2019-11-12 15:56:49 +00:00
- Updated dependencies
# 7.0.0
- Fixed parsing corner cases
- Changed storage of comments and quotes from `Vec` to static slices.
- Added tracing for debugging single files. Not recommended for use on
multiple file
- Updated `log`
# 6.1.0
- Fixed inaccuracies relating to the end comment being smaller than start
comment.
**Added languages**
- @mattico Added Xaml
- @weakish Added Ceylon
- @theduke Added tsx extension to typescript
- @vmchale Added Hamlet, Cassius, Lucius, Cabal, Nix, Happy, Alex, and Madlang
- @notramo Added Crystal
# 6.0.2
- Now can recognise file languages based on their filename.
**Added Languages:**
2019-11-12 15:56:49 +00:00
- @kazimuth CMake, Dockerfile, Rakefile, Scons
2017-05-27 13:57:15 +00:00
# 6.0.1
- Multiple exclude flags now allowed.
**Added Languages:**
2019-11-12 15:56:49 +00:00
2017-05-27 13:57:15 +00:00
- @seiks Added Fish Shell
2019-03-30 11:25:35 +00:00
- @XAMPPRocky Added Module-Definition
2017-05-27 13:57:15 +00:00
- @tbu- Added Vala
2017-02-18 02:17:04 +00:00
# 6.0.0
- Reworked internals
2019-11-12 15:56:49 +00:00
- Now uses serde*derive(\_and thusly requires rust v1.15*)
2017-02-18 02:17:04 +00:00
- Now has better file based testing
**Added languages:**
2019-11-12 15:56:49 +00:00
2017-02-18 02:17:04 +00:00
- @tuncer Added Ur/Web
- @svisser Added PureScript
- @tjodden Add some common extensions for HTML, C++ and Makefile
- @xd009642 Added VHDL
# 5.0.0
- Optimised internals
**Added languages:**
2019-11-12 15:56:49 +00:00
2017-02-18 02:17:04 +00:00
- @GungnirInd Added GDScript
- @tuncer Differentiate between sh and Bash, Added Cogent, F\*, F#
- @pthariensflame Added Agda
# 4.5.0
- Added Regex based hueristics so more expensive multi line handling isn't used
if there are no multi line comments in the file.
- Now uses the `ignore` crate for getting files. Which now also makes
determining language from path/file parallelised
- File counting used to only be parallelised per language, now it is also
parallelised per file per language.
- Updated homepage, and documentation links
- @rmbreak Tokei will now not add directories with `foo.bar` like syntax
to a language.
- @Michael-F-Bryan tokei will now exit gracefully when a feature is missing
2022-06-26 10:19:47 +00:00
instead of panicking
**Added languages:**
2019-11-12 15:56:49 +00:00
- @hauleth Added Elixir support
2016-10-26 23:54:58 +00:00
# 4.4.0
- Simplified language definitions, now consolidated into a single JSON file.
- Fixed regression where lines and files weren't sorted.
- @llogiq : made clippy fixes
- @lligo : Added long verbose name
**Added languages:**
2019-11-12 15:56:49 +00:00
2016-10-26 23:54:58 +00:00
- @little-dude : Tcl(_tcl_)
- @svenstaro : GLSL(_vert, tesc, tese, geom, frag, comp_)
- @not-fl3 : Elm(_elm_)
**Changes to existing languages:**
2019-11-12 15:56:49 +00:00
- @xpayn : Added `pm` extension to Perl.
2016-10-26 23:54:58 +00:00
2016-09-20 21:52:46 +00:00
# 4.3.0
- @lligo : Tokei no longer panics on non-character-boundary when printing file names.
- Fixed regression where no comment style files(_json, markdown_) weren't counted.
- Tokei can now handle files in different encodings.(_using the [encoding](https://crates.io/crates/encoding) library_)
2022-06-26 10:19:47 +00:00
- Tokei now prints errors instead of silently skipping them.
2016-09-20 21:52:46 +00:00
- Tokei can now print unused extensions using `-v` option.
**Added languages:**
2019-11-12 15:56:49 +00:00
2016-09-20 21:52:46 +00:00
- Asp(_asa, asp_)
- Asp.NET(_asax, ascx, asmx, aspx, master, sitemap, webinfo_)
- Hex(_hex_)
- Intel Hex(_ihex_)
- ReStructuredText(_rst_)
- Razor(_cshtml_)
**Changes to existing languages Thanks to @mwilli20 :**
2019-11-12 15:56:49 +00:00
2016-09-20 21:52:46 +00:00
- Another Ada extension(_pad_)
- Assembly - Uses `' '` or `" "` and added another extension(_asm_)
- Bash - Uses `' '` or `" "`
- Batch - They don't use quotes for strings, added `::`
- Cold Fusion - Uses `' '` or `" "`
- D - Uses `" "` or
- Dart - Uses `" "` or `' '` or `""" """` or `''' '''`
- Forth - Uses `" "` but new, doesn't have a preset
- Fortrans - Use `" "` or `' '`
- Idris - Uses `" "` or `""" """`
- Julia - Uses `" "` or `""" """`
- Kotlin - Uses `" "` or `""" """`
- Lisp - Comments can be nested
- Moustache - Uses `" "` or `' '`
- Nim - Uses `" "` or `""" """`
- Pascal - Uses `' '`
- Perl - Uses `" "` or `' '`
- Php - Uses `" "` or `' '`
- Python - Uses `" "` or `' '` or `""" """` or `''' '''`
- Ruby - Uses `" "` or `' '`
- Sass - Uses `" "` or `' '`
- Sql - Uses `' '`
- Toml - Uses `" "` or `' '` or `""" """` or `''' '''`
- Typescript - Uses `" "` or `' '` or
- Vimscript - Uses `" "` or `' '`
- Yaml - Uses `" "` or `' '`
- Zsh - Uses `" "` or `' '`
2019-11-12 15:56:49 +00:00
- Clojure - Removed `#`
- Forth - `( Comment)` style comments need a space after the opening paren
2016-09-20 21:52:46 +00:00
- Haskell - Has nested comments
- Idris - Has nested comments
2019-11-12 15:56:49 +00:00
- Jai - Has nested block comments
- Julia - Has nested block comments
- Kotlin - Has nested block comments
- Pascal - Pascal should be multiline from `{` or `(*` to `}` or `*)`
- Perl - Perl5 and earlier for multiline comments need `=pod` to `=cut`.
- Swift - Has nested block comments
2016-09-20 21:52:46 +00:00
2016-09-20 22:17:43 +00:00
### Tokei's code count
2019-11-12 15:56:49 +00:00
2016-09-20 22:17:43 +00:00
```
-------------------------------------------------------------------------------
Language Files Lines Code Comments Blanks
2016-09-20 22:17:43 +00:00
-------------------------------------------------------------------------------
Rust 13 2413 1596 601 216
2016-09-20 22:17:43 +00:00
-------------------------------------------------------------------------------
|ib\language\languages.rs 693 420 197 76
|anguage\language_type.rs 500 386 102 12
.\src\main.rs 314 256 17 41
|lib\language\language.rs 356 166 166 24
.\src\lib\utils\fs.rs 129 107 9 13
|\lib\utils\multi_line.rs 149 89 39 21
.\src\lib\utils\macros.rs 59 50 3 6
.\src\lib\stats.rs 63 45 12 6
.\src\lib\lib.rs 76 25 47 4
.\src\lib\build.rs 31 23 0 8
.\src\lib\sort.rs 28 19 6 3
.\src\lib\language\mod.rs 11 6 3 2
.\src\lib\utils\mod.rs 4 4 0 0
2016-09-20 22:17:43 +00:00
-------------------------------------------------------------------------------
Markdown 4 492 492 0 0
2016-09-20 22:17:43 +00:00
-------------------------------------------------------------------------------
.\README.md 252 252 0 0
.\CHANGELOG.md 202 202 0 0
.\CONTRIBUTING.md 25 25 0 0
.\CONTRIBUTORS.md 13 13 0 0
2016-09-20 22:17:43 +00:00
-------------------------------------------------------------------------------
YAML 2 70 67 3 0
2016-09-20 22:17:43 +00:00
-------------------------------------------------------------------------------
.\cli.yml 53 50 3 0
.\.travis.yml 17 17 0 0
2016-09-20 22:17:43 +00:00
-------------------------------------------------------------------------------
TOML 1 80 65 0 15
2016-09-20 22:17:43 +00:00
-------------------------------------------------------------------------------
.\Cargo.toml 80 65 0 15
2016-09-20 22:17:43 +00:00
-------------------------------------------------------------------------------
Autoconf 1 9 7 1 1
2016-09-20 22:17:43 +00:00
-------------------------------------------------------------------------------
.\src\lib\lib.rs.in 9 7 1 1
2016-09-20 22:17:43 +00:00
-------------------------------------------------------------------------------
Total 21 3064 2227 605 232
2016-09-20 22:17:43 +00:00
-------------------------------------------------------------------------------
```
2016-09-20 21:52:46 +00:00
2016-08-21 19:45:13 +00:00
# 4.2.0
Tokei is now more precise, and shouldn't ever panic.
Tokei now handles comments in quotes and more precise nested comments properly.
Fixes #53
### Tokei's code count.
```
-------------------------------------------------------------------------------
Language Files Lines Code Comments Blanks
-------------------------------------------------------------------------------
Rust 13 2303 1487 594 222
-------------------------------------------------------------------------------
|ib\language\languages.rs 682 401 198 83
|anguage\language_type.rs 467 359 96 12
.\src\main.rs 302 243 17 42
|lib\language\language.rs 356 166 166 24
.\src\lib\utils\fs.rs 116 95 9 12
|\lib\utils\multi_line.rs 156 93 41 22
.\src\lib\stats.rs 54 36 12 6
.\src\lib\build.rs 31 23 0 8
.\src\lib\lib.rs 69 22 43 4
.\src\lib\utils\macros.rs 27 20 3 4
.\src\lib\sort.rs 28 19 6 3
.\src\lib\language\mod.rs 11 6 3 2
.\src\lib\utils\mod.rs 4 4 0 0
-------------------------------------------------------------------------------
YAML 2 68 65 3 0
-------------------------------------------------------------------------------
.\cli.yml 49 46 3 0
.\.travis.yml 19 19 0 0
-------------------------------------------------------------------------------
TOML 1 71 58 0 13
-------------------------------------------------------------------------------
.\Cargo.toml 71 58 0 13
-------------------------------------------------------------------------------
Autoconf 1 9 7 1 1
-------------------------------------------------------------------------------
.\src\lib\lib.rs.in 9 7 1 1
-------------------------------------------------------------------------------
Total 17 2451 1617 598 236
-------------------------------------------------------------------------------
```
2016-08-08 08:18:32 +00:00
# 4.1.0
Tokei is now **~40%** faster.
**Added languages**
- Ada
- Forth
2016-08-01 11:22:53 +00:00
# 4.0.0
Tokei now has a minimal version without `serde` for faster compilation.
Updated various dependencies.
Internal dependencies removed.
2016-08-01 17:06:01 +00:00
## Regressions
2019-11-12 15:56:49 +00:00
2016-08-01 17:06:01 +00:00
- CBOR is not supported till it supports `serde 0.8`
2016-08-01 11:22:53 +00:00
**Added languages**
- Handlebars
# 3.0.0
2019-11-12 15:56:49 +00:00
Tokei is now available as a library.
Tokei now has a lot more tests.
Tokei now supports TOML
Fixed #41
Fixed #44
Fixed #45
# 2.1.0
2019-11-12 15:56:49 +00:00
Tokei, can now output results in various formats(_cbor, json, yaml_)
Conversely tokei can now take in results in those formats, and add them to the current run.
Premilarily support for nested comments(_currently only supported for rust_)
2019-03-30 11:25:35 +00:00
Change in the output format [PR #35](https://github.com/XAMPPRocky/tokei/pull/35)
2019-11-12 15:56:49 +00:00
Moved `.sc` from Lisp to Scala.
Internals changed to allow for multiple multi line comment formats.
**Added languages:**
2019-11-12 15:56:49 +00:00
- Isabelle
# 2.0.0
Major rewrite, now parallelized.
Can now support sorting files.
Added a progress message for when it is counting files.
Fixed #29
**Added languages:**
2019-11-12 15:56:49 +00:00
- Coq
- Erlang
- Kotlin
- Idris
- Nim
- Oz
- Prolog
- Qcl
- Scala
- Unreal Script
- Wolfram
# 1.6.0
Added file counting.
# 1.5.0
Added Shebang support.
**Added languages:**
2019-11-12 15:56:49 +00:00
- Assembly
- LD Scripts
- Device Trees
- Makefiles
- Plain Text
- C Shell
# 1.4.1
Changed the formatting so tokei looks nice for consoles of 80 column width.
# 1.4.0
Changed from handmade recursive file opening to [walkdir](https://github.com/BurntSushi/walkdir)