Open chris-morgan opened 3 years ago
Thank you for your issue! I'm reticent to make this too much more complex, as the JSON output does already provide everything, I will think about some more and would be interested in hearing other people's opinions.
Hello! I applied tokei to my web application, and obtained the following outputs [one] and [two]:
[one] (branch a)
===============================================================================
Language Files Lines Code Comments Blanks
===============================================================================
Batch 4 18 15 0 3
CSS 70 36431 31550 780 4101
INI 5 596 525 35 36
JavaScript 356 43263 34611 4773 3879
JSON 21 3729 3727 0 2
Markdown 23 611 0 413 198
Python 535 123085 105052 4336 13697
Sass 26 3635 3020 33 582
Shell 9 196 142 23 31
SQL 2 6 6 0 0
SVG 95 3404 3391 11 2
Plain Text 160 1109 0 1032 77
TypeScript 82 9380 7128 1314 938
-------------------------------------------------------------------------------
HTML 547 42550 41213 328 1009
|- CSS 351 16344 14237 104 2003
|- HTML 1 28 28 0 0
|- JavaScript 419 26886 25056 1050 780
(Total) 85808 80534 1482 3792
-------------------------------------------------------------------------------
Vue 260 12097 11560 5 532
|- CSS 123 4766 4367 44 355
|- HTML 242 10869 10785 77 7
|- JavaScript 257 34695 32675 940 1080
(Total) 62427 59387 1066 1974
===============================================================================
Total 2195 280110 241940 13083 25087
===============================================================================
[two] (branch b)
===============================================================================
Language Files Lines Code Comments Blanks
===============================================================================
Batch 4 18 15 0 3
CSS 70 36431 31550 780 4101
INI 5 606 524 46 36
JavaScript 356 43263 34611 4773 3879
JSON 21 3729 3727 0 2
Markdown 23 611 0 413 198
Python 523 120112 102447 4262 13403
Sass 26 3635 3020 33 582
Shell 9 196 142 23 31
SQL 2 6 6 0 0
SVG 95 3404 3391 11 2
Plain Text 160 1109 0 1032 77
TypeScript 82 9380 7128 1314 938
-------------------------------------------------------------------------------
HTML 483 36890 35686 303 901
|- CSS 305 10573 9290 49 1234
|- HTML 1 28 28 0 0
|- JavaScript 373 21273 19698 940 635
(Total) 68764 64702 1292 2770
-------------------------------------------------------------------------------
Vue 260 12097 11560 5 532
|- CSS 123 4766 4367 44 355
|- HTML 242 10869 10785 77 7
|- JavaScript 257 34695 32675 940 1080
(Total) 62427 59387 1066 1974
===============================================================================
Total 2119 271487 233807 12995 24685
===============================================================================
and I was confused by the difference of GitHub's addition/deletion line (branch b - branch a). GitHub shows "+80 −20,125", this is not equal to 271487 - 280110.
I also don't find the output of embedded languages within a file helpful.
Why not simply offer a separate flag, say, --noembedded
that ignores embedded languages?
Tokei 12.1.2 on Arch Linux.
Here’s some usual output:
But
--type
filters only apply to the top-level language, and so--type=Rust
shows embedded Markdown, which I don’t think it should:(In this simple case,
--compact
would resolve it, but if you allowed more than one type you could get to wanting to include some and hide others.)And
--type=Markdown
doesn’t include Markdown embedded in Rust (whether it should or not is more subjective):I think there are three reasonable behaviours people might want here:
--type=Markdown
would find doc comments in Rust files).Perhaps there should be a tristate parameter to control this, e.g.
--type-filter=files|all|any
.(Example repository used was swash_demo.)