1# 12.1.0 2 3## Introduction 4Tokei is a fast and accurate code analysis CLI tool and library, allowing you to 5easily and quickly see how many blank lines, comments, and lines of code are in 6your codebase. All releases and work on Tokei and tokei.rs ([the free companion 7badge service][rs-info]) are [funded by the community through 8GitHub Sponsors][sponsor]. 9 10You can always download the latest version of tokei through GitHub Releases or 11Cargo. Tokei is also available through other [package managers][pkg], though 12they may not always contain the latest release. 13 14``` 15cargo install tokei 16``` 17 18[pkg]: https://github.com/XAMPPRocky/tokei#package-managers 19[rs-info]: https://github.com/XAMPPRocky/tokei/blob/master/README.md#Badges 20[sponsor]: https://github.com/sponsors/XAMPPRocky 21 22## What's New? 23 24- [Added `-n/--num-format=[commas, dots, plain, underscores]` for adding 25 separator formatting for numbers.](https://github.com/XAMPPRocky/tokei/pull/591) 26- [The total is now included in output formats such as JSON.](https://github.com/XAMPPRocky/tokei/pull/580) 27- [`--no-ignore` now implies other ignore flags.](https://github.com/XAMPPRocky/tokei/pull/588) 28- [Added `--no-ignore-dot` flag to ignore files such as `.ignore`.](https://github.com/XAMPPRocky/tokei/pull/588) 29- [Added single line comments to F\*](https://github.com/XAMPPRocky/tokei/pull/670) 30- Updated various dependencies. 31 32### Added Languages 33 34- [ABNF](https://github.com/XAMPPRocky/tokei/pull/577) 35- [CodeQL](https://github.com/XAMPPRocky/tokei/pull/604) 36- [LiveScript](https://github.com/XAMPPRocky/tokei/pull/607) 37- [Stylus](https://github.com/XAMPPRocky/tokei/pull/619) 38- [DAML](https://github.com/XAMPPRocky/tokei/pull/620) 39- [Tera](https://github.com/XAMPPRocky/tokei/pull/627) 40- [TTCN-3](https://github.com/XAMPPRocky/tokei/pull/621) 41- [Beancount](https://github.com/XAMPPRocky/tokei/pull/630) 42- [Gleam](https://github.com/XAMPPRocky/tokei/pull/646) 43- [JSONNet](https://github.com/XAMPPRocky/tokei/pull/634) 44- [Stan](https://github.com/XAMPPRocky/tokei/pull/633) 45- [Gwion](https://github.com/XAMPPRocky/tokei/pull/659) 46 47# 12.0.0 48 49## What's New? 50Tokei 12 comes with some of the biggest user facing changes since 1.0, now in 51the latest version tokei will now **analyse and count multiple languages 52embedded in your source code** as well as adding support for 53**Jupyter Notebooks**. Now for the first time is able to handle and display 54different languages contained in a single source file. This currently available 55for a limited set of languages, with plans to add more support for more in the 56future. The currently supported languages are; 57 58### HTML + Siblings (Vue, Svelte, Etc...) 59Tokei will now analyse and report the source code contained in `<script>`, 60`<style>`, and `<template>` tags in HTML and other similar languages. Tokei will 61read the value of the`type` attribute from the `<script>` tag and detects the 62appropriate language based on its mime type or JavaScript if not present. Tokei 63will do the same for `<style>` and `<template>` except reading the `lang` 64attribute instead of `type` and defaulting to CSS and HTML each respectively. 65 66### Jupyter Notebooks 67Tokei will now read Jupyter Notebook files (`.ipynb`) and will read the source 68code and markdown from Jupyter's JSON and output the analysed result. 69 70### Markdown 71Tokei will now detect any code blocks marked with specified source language and 72count each as their respective languages or as Markdown if not present or not 73found. Now you can easily see how many code examples are included in 74your documentation. 75 76### Rust 77Tokei will now detect blocks of rustdoc documentation (e.g. `///`/`//!`) and 78parse them as markdown. 79 80### Verbatim Strings 81Tokei is now also capable of handling "verbatim" strings, which are strings that 82do not accept escape sequences like `\`. Thanks to @NickHackman for providing 83the implementation! This is initially supported for C++, C#, F#, and Rust. 84 85## New Look 86To be able to show these new features, tokei's output has been changed to look 87like below. For brevity the CLI only displays one level deep in each language, 88however the library's parser is fully recursive and you can get access to the 89complete report using the library or by outputting the JSON format. 90 91``` 92=============================================================================== 93 Language Files Lines Code Comments Blanks 94=============================================================================== 95 BASH 4 49 30 10 9 96 JSON 1 1332 1332 0 0 97 Shell 1 49 38 1 10 98 TOML 2 77 64 4 9 99------------------------------------------------------------------------------- 100 Markdown 5 1230 0 965 265 101 |- JSON 1 41 41 0 0 102 |- Rust 2 53 42 6 5 103 |- Shell 1 22 18 0 4 104 (Total) 1346 101 971 274 105------------------------------------------------------------------------------- 106 Rust 19 3349 2782 116 451 107 |- Markdown 12 351 5 295 51 108 (Total) 3700 2787 411 502 109=============================================================================== 110 Total 32 6553 4352 1397 804 111=============================================================================== 112``` 113 114This feature is not just limited to the default output of tokei. You can see it 115broken down by each file with the `--files` option. 116 117``` 118=============================================================================== 119 Language Files Lines Code Comments Blanks 120=============================================================================== 121 Markdown 5 1230 0 965 265 122 |- JSON 1 41 41 0 0 123 |- Rust 2 53 42 6 5 124 |- Shell 1 22 18 0 4 125 (Total) 1346 101 971 274 126------------------------------------------------------------------------------- 127 ./CODE_OF_CONDUCT.md 46 0 28 18 128 ./CHANGELOG.md 570 0 434 136 129-- ./markdown.md -------------------------------------------------------------- 130 |- Markdown 4 0 3 1 131 |- Rust 6 4 1 1 132 |- (Total) 10 4 4 2 133-- ./README.md ---------------------------------------------------------------- 134 |- Markdown 498 0 421 77 135 |- Shell 22 18 0 4 136 |- (Total) 520 18 421 81 137-- ./CONTRIBUTING.md ---------------------------------------------------------- 138 |- Markdown 112 0 79 33 139 |- JSON 41 41 0 0 140 |- Rust 46 38 4 4 141 |- (Total) 200 79 84 37 142=============================================================================== 143 Total 5 1346 101 971 274 144=============================================================================== 145``` 146 147## Breaking Changes 148- The JSON Output and format of `Languages` has changed. 149- The JSON feature has been removed and is now included by default. 150- `Stats` has been split into `Report` and `CodeStats` to better represent the 151 separation between analysing a file versus a blob of code. 152 153# 11.2.0 154 155- @alexmaco Added shebang and env detection for Crystal. 156- @NickHackman Updated both Vue and HTML to count CSS & JS comments as comments. 157- @XAMPPRocky renamed Perl6's display name to Rakudo. 158- @dbackeus Added `erb` extension for Ruby HTML. 159- @kobataiwan Tokei will now check for a configuration file in your home 160 directory as well as your current and configuration directory. 161- @dependabot Updated dependencies 162 163**Added Languages** 164- @alexmaco Dhall 165- @NickHackman Svelte 166- @athas Futhark 167- @morphy2k Gohtml 168- @LucasMW Headache 169- @rosasynstylae Tsx 170- @XAMPPRocky OpenType Feature Files 171 172# 11.1.0 173 174**Added Languages** 175 176- @rubdos Arduino 177- @LuqueDaniel Pan 178- @itkovian Ren'Py 179 180- Added `LanguageType::shebangs`, `LanguageType::from_file_extension`, and 181 `LanguageType::from_shebang`. (@solanav) 182 183 184# 11.0.0 185 186**Added languages** 187 188- @bwidawsk GNU Assembly, GDB Script 189- @isker Dust, Apache Velocity 190- @andreblanke FreeMarker 191 192 193Thanks to some major internal refactoring, Tokei has received significant 194performance improvements, and is now one of the fastest code counters across any 195size of codebase. With Tokei 11 showing up to 40–60% faster results than tokei's 196previous version. To showcase the improvements I've highlighted benchmarks 197of counting five differently sized codebases. Redis (~220k lines), Rust (~16M 198lines), and the Unreal Engine (~37.5M lines). In every one of these benchmarks 199Tokei 11 performed the best by a noticeable margin. 200 201*All benchmarks were done on a 15-inch MacBook Pro, with a 2.7GHz Intel Core i7 202processor and 16GB 2133 MHz LPDDR3 RAM running macOS Catalina 10.15.3. Your 203mileage may vary, All benchmarks were done using [hyperfine], using default 204settings for all programs.* 205 206[hyperfine]: https://github.com/sharkdp/hyperfine 207 208### Tokei 209**Note** This benchmark is not accurate due to `tokei` and `loc` both taking 210less than 5ms to complete, there is a high degree of error between the times and 211should mostly be considered equivalent. However it is included because it is 212notable that `scc` takes nearly 3x as long to complete on smaller codebases 213(~5k lines). 214![Graph comparing programs running on the tokei source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=1242634543&format=image) 215 216### Redis 217![Graph comparing programs running on the redis source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=2009389097&format=image) 218 219### Rust 220![Graph comparing programs running on the rust source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=424069399&format=image) 221 222### Unreal 223![Graph comparing programs running on the unreal source code](https://docs.google.com/spreadsheets/d/e/2PACX-1vRN2Um3G9Mn4Bg6UVWwgntsMy4faZMIP3EDjAfY5Y6Tav7T5z1TxVKmPu7wUNIpUSsSJDfCNH0SAKBB/pubchart?oid=439405321&format=image) 224 225# 10.1.2 226 227- Added `pyw` extension to Python. 228- Updated dependencies 229 230# 10.1.1 231 232- Fixed `.tokeignore` always working even when `--no-ignore` is present. 233- Updated dependencies 234 235**Added languages** 236 237- @erikaxel Gherkin (Cucumber) 238 239# 10.1.0 240 241- Added `cjsx` extension to CoffeeScript. 242- Tokei will now recognise files with `#!/usr/bin/env ruby` as Ruby. 243- Updated dependencies. 244- Tokei now uses `crossbeam` channels over `std::mpsc`, which should have a 245 noticeable performance improvement on large repos. 246- Improved documentation for `libtokei`. 247 248**Added languages** 249 250- @lzybkr PowerShell 251- @turbo MoonScript 252- @dtolnay Thrift 253- @Tranzystorek FlatBuffers 254- @NieDzejkob Emojicode 255- @DanteFalzone0 HolyC 256- @sci4me Odin 257- @fkarg Rusty Object Notation (RON) 258 259# 10.0.0 260 261- Fixed minor parsing bugs. 262- Width is now limited to 80 unless you use the `--files` flag. 263- Added the `mjs` extension to JavaScript. 264- Added the `tpp` extension to C++. 265- You can now disable Tokei's git ignore detection, similar to ripgrep. See 266 `--help` for options. 267- You can now add a `.tokeignore` file to your project to specify file paths 268 for tokei to always ignore. This file uses the same syntax as `.gitignore`. 269- Improved Pascal representation 270 271**Added languages** 272 273- @hobofan solidity 274- @stefanmaric GraphQL 275- @jhpratt PostCSS 276- @evitalis RPM 277- @alexmaco Pony 278- @yjhmelody WASM, LLVM, Pest 279- @XAMPPRocky ASN.1 280 281# 9.0.0 282 283- Tokei now has config files. You can now specify some commonly used arguments 284 in a `.tokeirc`/`tokei.toml`. Namely `columns` to set the default column 285 output, `types` to filter your count to just a single set of languages, and 286 `treat_doc_strings_as_comments` which is a new option that allows you to 287 specify whether to treat doc strings such as `"""` in Python as comments 288 or code. 289 The config files can be specified in two places, the current directory tokei 290 is running in and your [system configuration 291 directory](//docs.rs/tokei/struct.Config.html#method.from_config_files). The 292 priority of options is as follows 293 `CLI > <current_directory> > <configuration_directory>`. 294- Tokei is now available on [Conda](https://anaconda.org/conda-forge/tokei). 295- [Tokei's README has been translated 296 to chinese.](https://github.com/chinanf-boy/tokei-zh#tokei-) 297- `LanguageType` now implements `Hash`. 298- Tokei now batches it's console output, this should result in a small 299 performance boost. 300- There is now a `--columns` argument for manually setting tokei's output width. 301- The `--sort` argument is now case-insensitive. 302- Tokei will now mark languages who's files failed to parse correctly as 303 potentially inaccurate. 304- Due to a bug in trust-ci `x86_64-unknown-netbsd` versions are will not be 305 available in GitHub releases. (You will still be able to install from source.) 306- Due to toml-rs's lacking enum support the TOML output option has 307 been disabled. 308 309**Added languages** 310 311- @t-richards Liquid 312- @diaphore Added the `.glsl` extension to GLSL. 313- @ahmedelgabri Twig 314- @pmoura Logtalk 315- @alekratz Perl, Not Quite Perl 316- @XAMPPRocky Automake, .NET Resource, HLSL, INI, Unreal Plugin, 317 Unreal Project, Unreal Shader, Unreal Shader Header, Unreal Markdown, 318 Visual Basic, Visual Studio Solution, Visual Studio Project, Xcode Config, 319- @TheMrNomis SWIG 320- @xnorme Added the `.vhdl` extension to VHDL 321 322# 8.0.0 323 324- A language's comments, and quotes are now available through the `LanguageType` 325 enum. 326- You can filter by language using the `-t/--type` option. e.g. `tokei -t "Rust,C"` 327 will print only Rust and C files. 328- Tokei now understands terminal width and will expand to fit it. (Thanks 329 to @Veykril) 330- Added [comparison](./COMPARISON.md) document to compare Tokei to other 331 code counters. 332- Updated dependencies 333 334**Added languages** 335 336- @BrandonBoone VB6, VBScript, XSLT 337- @ialpert BrightScript 338- @PJB3005 Dream Maker 339- @schmee edn 340 341# 7.0.3 342 343Made various optimisations, up to 65% faster in some cases. 344 345**Added languages** 346 347- @DenialAdams Added Forsyth-Edwards-Notation (FEN) 348- @DjebbZ Added ClojureC 349- @grimm26 Added HCL/Terraform 350 351# 7.0.2 352 353- Updated dependencies. 354- Changed how compilied serialization formats are handled. 355- Fixed minor parser inaccuracies. 356- Tokei should now recognise more python files from their shebang. 357 358**Added languages** 359 360- @ignatenko Added Meson 361- @sprang Added Scheme 362- @fengcms Added Vue 363- @mark.knol Added Haxe 364- @rleungx Added ABAP, COBOL, and Groovy 365- @tiehuis Added Zig 366- @murielsilveira Added Mint 367- @notramo Added Elvish Shell and Kakoune 368- @aatxe Added Racket 369- @kamilchm Added ReasonML 370- @cyplp Added XSL 371 372# 7.0.1 373 374- Updated dependencies 375 376# 7.0.0 377 378- Fixed parsing corner cases 379- Changed storage of comments and quotes from `Vec` to static slices. 380- Added tracing for debugging single files. Not recommended for use on 381 multiple file 382- Updated `log` 383 384# 6.1.0 385 386- Fixed inaccuracies relating to the end comment being smaller than start 387 comment. 388 389**Added languages** 390 391- @mattico Added Xaml 392- @weakish Added Ceylon 393- @theduke Added tsx extension to typescript 394- @vmchale Added Hamlet, Cassius, Lucius, Cabal, Nix, Happy, Alex, and Madlang 395- @notramo Added Crystal 396 397# 6.0.2 398 399- Now can recognise file languages based on their filename. 400 401**Added Languages:** 402 403- @kazimuth CMake, Dockerfile, Rakefile, Scons 404 405# 6.0.1 406 407- Multiple exclude flags now allowed. 408 409**Added Languages:** 410 411- @seiks Added Fish Shell 412- @XAMPPRocky Added Module-Definition 413- @tbu- Added Vala 414 415# 6.0.0 416 417- Reworked internals 418- Now uses serde*derive(\_and thusly requires rust v1.15*) 419- Now has better file based testing 420 421**Added languages:** 422 423- @tuncer Added Ur/Web 424- @svisser Added PureScript 425- @tjodden Add some common extensions for HTML, C++ and Makefile 426- @xd009642 Added VHDL 427 428# 5.0.0 429 430- Optimised internals 431 432**Added languages:** 433 434- @GungnirInd Added GDScript 435- @tuncer Differentiate between sh and Bash, Added Cogent, F\*, F# 436- @pthariensflame Added Agda 437 438# 4.5.0 439 440- Added Regex based hueristics so more expensive multi line handling isn't used 441 if there are no multi line comments in the file. 442- Now uses the `ignore` crate for getting files. Which now also makes 443 determining language from path/file parallelised 444- File counting used to only be parallelised per language, now it is also 445 parallelised per file per language. 446- Updated homepage, and documentation links 447- @rmbreak Tokei will now not add directories with `foo.bar` like syntax 448 to a language. 449- @Michael-F-Bryan tokei will now exit gracefully when a feature is missing 450 instead of panicing 451 452**Added languages:** 453 454- @hauleth Added Elixir support 455 456# 4.4.0 457 458- Simplified language definitions, now consolidated into a single JSON file. 459- Fixed regression where lines and files weren't sorted. 460- @llogiq : made clippy fixes 461- @lligo : Added long verbose name 462 463**Added languages:** 464 465- @little-dude : Tcl(_tcl_) 466- @svenstaro : GLSL(_vert, tesc, tese, geom, frag, comp_) 467- @not-fl3 : Elm(_elm_) 468 469**Changes to existing languages:** 470 471- @xpayn : Added `pm` extension to Perl. 472 473# 4.3.0 474 475- @lligo : Tokei no longer panics on non-character-boundary when printing file names. 476- Fixed regression where no comment style files(_json, markdown_) weren't counted. 477- Tokei can now handle files in different encodings.(_using the [encoding](https://crates.io/crates/encoding) library_) 478- Tokei now prints errors instead of sliently skipping them. 479- Tokei can now print unused extensions using `-v` option. 480 481**Added languages:** 482 483- Asp(_asa, asp_) 484- Asp.NET(_asax, ascx, asmx, aspx, master, sitemap, webinfo_) 485- Hex(_hex_) 486- Intel Hex(_ihex_) 487- ReStructuredText(_rst_) 488- Razor(_cshtml_) 489 490**Changes to existing languages Thanks to @mwilli20 :** 491 492- Another Ada extension(_pad_) 493- Assembly - Uses `' '` or `" "` and added another extension(_asm_) 494- Bash - Uses `' '` or `" "` 495- Batch - They don't use quotes for strings, added `::` 496- Cold Fusion - Uses `' '` or `" "` 497- D - Uses `" "` or 498- Dart - Uses `" "` or `' '` or `""" """` or `''' '''` 499- Forth - Uses `" "` but new, doesn't have a preset 500- Fortrans - Use `" "` or `' '` 501- Idris - Uses `" "` or `""" """` 502- Julia - Uses `" "` or `""" """` 503- Kotlin - Uses `" "` or `""" """` 504- Lisp - Comments can be nested 505- Moustache - Uses `" "` or `' '` 506- Nim - Uses `" "` or `""" """` 507- Pascal - Uses `' '` 508- Perl - Uses `" "` or `' '` 509- Php - Uses `" "` or `' '` 510- Python - Uses `" "` or `' '` or `""" """` or `''' '''` 511- Ruby - Uses `" "` or `' '` 512- Sass - Uses `" "` or `' '` 513- Sql - Uses `' '` 514- Toml - Uses `" "` or `' '` or `""" """` or `''' '''` 515- Typescript - Uses `" "` or `' '` or 516- Vimscript - Uses `" "` or `' '` 517- Yaml - Uses `" "` or `' '` 518- Zsh - Uses `" "` or `' '` 519- Clojure - Removed `#` 520- Forth - `( Comment)` style comments need a space after the opening paren 521- Haskell - Has nested comments 522- Idris - Has nested comments 523- Jai - Has nested block comments 524- Julia - Has nested block comments 525- Kotlin - Has nested block comments 526- Pascal - Pascal should be multiline from `{` or `(*` to `}` or `*)` 527- Perl - Perl5 and earlier for multiline comments need `=pod` to `=cut`. 528- Swift - Has nested block comments 529 530### Tokei's code count 531 532``` 533------------------------------------------------------------------------------- 534 Language Files Lines Code Comments Blanks 535------------------------------------------------------------------------------- 536 Rust 13 2413 1596 601 216 537------------------------------------------------------------------------------- 538 |ib\language\languages.rs 693 420 197 76 539 |anguage\language_type.rs 500 386 102 12 540 .\src\main.rs 314 256 17 41 541 |lib\language\language.rs 356 166 166 24 542 .\src\lib\utils\fs.rs 129 107 9 13 543 |\lib\utils\multi_line.rs 149 89 39 21 544 .\src\lib\utils\macros.rs 59 50 3 6 545 .\src\lib\stats.rs 63 45 12 6 546 .\src\lib\lib.rs 76 25 47 4 547 .\src\lib\build.rs 31 23 0 8 548 .\src\lib\sort.rs 28 19 6 3 549 .\src\lib\language\mod.rs 11 6 3 2 550 .\src\lib\utils\mod.rs 4 4 0 0 551------------------------------------------------------------------------------- 552 Markdown 4 492 492 0 0 553------------------------------------------------------------------------------- 554 .\README.md 252 252 0 0 555 .\CHANGELOG.md 202 202 0 0 556 .\CONTRIBUTING.md 25 25 0 0 557 .\CONTRIBUTORS.md 13 13 0 0 558------------------------------------------------------------------------------- 559 YAML 2 70 67 3 0 560------------------------------------------------------------------------------- 561 .\cli.yml 53 50 3 0 562 .\.travis.yml 17 17 0 0 563------------------------------------------------------------------------------- 564 TOML 1 80 65 0 15 565------------------------------------------------------------------------------- 566 .\Cargo.toml 80 65 0 15 567------------------------------------------------------------------------------- 568 Autoconf 1 9 7 1 1 569------------------------------------------------------------------------------- 570 .\src\lib\lib.rs.in 9 7 1 1 571------------------------------------------------------------------------------- 572 Total 21 3064 2227 605 232 573------------------------------------------------------------------------------- 574``` 575 576# 4.2.0 577 578Tokei is now more precise, and shouldn't ever panic. 579Tokei now handles comments in quotes and more precise nested comments properly. 580Fixes #53 581 582### Tokei's code count. 583 584``` 585------------------------------------------------------------------------------- 586 Language Files Lines Code Comments Blanks 587------------------------------------------------------------------------------- 588 Rust 13 2303 1487 594 222 589------------------------------------------------------------------------------- 590 |ib\language\languages.rs 682 401 198 83 591 |anguage\language_type.rs 467 359 96 12 592 .\src\main.rs 302 243 17 42 593 |lib\language\language.rs 356 166 166 24 594 .\src\lib\utils\fs.rs 116 95 9 12 595 |\lib\utils\multi_line.rs 156 93 41 22 596 .\src\lib\stats.rs 54 36 12 6 597 .\src\lib\build.rs 31 23 0 8 598 .\src\lib\lib.rs 69 22 43 4 599 .\src\lib\utils\macros.rs 27 20 3 4 600 .\src\lib\sort.rs 28 19 6 3 601 .\src\lib\language\mod.rs 11 6 3 2 602 .\src\lib\utils\mod.rs 4 4 0 0 603------------------------------------------------------------------------------- 604 YAML 2 68 65 3 0 605------------------------------------------------------------------------------- 606 .\cli.yml 49 46 3 0 607 .\.travis.yml 19 19 0 0 608------------------------------------------------------------------------------- 609 TOML 1 71 58 0 13 610------------------------------------------------------------------------------- 611 .\Cargo.toml 71 58 0 13 612------------------------------------------------------------------------------- 613 Autoconf 1 9 7 1 1 614------------------------------------------------------------------------------- 615 .\src\lib\lib.rs.in 9 7 1 1 616------------------------------------------------------------------------------- 617 Total 17 2451 1617 598 236 618------------------------------------------------------------------------------- 619``` 620 621# 4.1.0 622 623Tokei is now **~40%** faster. 624 625**Added languages** 626 627- Ada 628- Forth 629 630# 4.0.0 631 632Tokei now has a minimal version without `serde` for faster compilation. 633 634Updated various dependencies. 635 636Internal dependencies removed. 637 638## Regressions 639 640- CBOR is not supported till it supports `serde 0.8` 641 642**Added languages** 643 644- Handlebars 645 646# 3.0.0 647 648Tokei is now available as a library. 649 650Tokei now has a lot more tests. 651 652Tokei now supports TOML 653 654Fixed #41 655 656Fixed #44 657 658Fixed #45 659 660# 2.1.0 661 662Tokei, can now output results in various formats(_cbor, json, yaml_) 663 664Conversely tokei can now take in results in those formats, and add them to the current run. 665 666Premilarily support for nested comments(_currently only supported for rust_) 667 668Change in the output format [PR #35](https://github.com/XAMPPRocky/tokei/pull/35) 669 670Moved `.sc` from Lisp to Scala. 671 672Internals changed to allow for multiple multi line comment formats. 673 674**Added languages:** 675 676- Isabelle 677 678# 2.0.0 679 680Major rewrite, now parallelized. 681Can now support sorting files. 682Added a progress message for when it is counting files. 683Fixed #29 684 685**Added languages:** 686 687- Coq 688- Erlang 689- Kotlin 690- Idris 691- Nim 692- Oz 693- Prolog 694- Qcl 695- Scala 696- Unreal Script 697- Wolfram 698 699# 1.6.0 700 701Added file counting. 702 703# 1.5.0 704 705Added Shebang support. 706 707**Added languages:** 708 709- Assembly 710- LD Scripts 711- Device Trees 712- Makefiles 713- Plain Text 714- C Shell 715 716# 1.4.1 717 718Changed the formatting so tokei looks nice for consoles of 80 column width. 719 720# 1.4.0 721 722Changed from handmade recursive file opening to [walkdir](https://github.com/BurntSushi/walkdir) 723