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