vamchale/polyglot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# Features
- [ ] `.poly.toml` project file
- [ ] per-file output like `tokei`
- [ ] run on multiple directories
  - [ ] point at a single file
- [ ] error if directory does not exist
- [ ] parse directories on the command line starting with a `-` by using escapes
- [ ] detect documentation comments
- [ ] feature to use data from quasi-quotes (e.g. haskell)
# Performance
- [ ] parallelism
# Bugs
- [ ] command-line parser is vaguely stupid.
- [ ] doesn't disambiguate objective C/C headers
# Code Maintenance
- [ ] Test suite
- [ ] builds for other systems
- [ ] linear types to ensure each field gets printed at the end?
## Heuristics
### Heuristics for determining file type:
- [ ] parser (happy)
- [ ] parent directory (`.cargo/config`)
- [ ] modeline
- [ ] `.gitattributes`
- [ ] `.poly.toml` project file
### Heuristics for determining file relevance:
- [ ] `.gitignore`/darcs boringfile/`.ignore` file
- [ ] `.gitattributes`
- [ ] `.poly.toml` project file
### Language Support
- [ ] Ada
- [ ] literate Haskell
- [ ] literate Idris
- [ ] crystal (`.cr`)
- [ ] D (`.d`)
- [ ] DDoc
- [ ] Dockerfile
- [ ] Jenkinsfile (groovy?)
- [ ] mustache
- [ ] jinja
- [ ] Agda library
- [ ] groovy
- [ ] F\* (`.fst`)
- [ ] Isabelle (`.thy`)
- [ ] REBOL
- [ ] Intel hex (`.ihex`)
- [ ] occam
- [ ] Pascal
- [ ] modula
- [ ] racket (`.rkt`)
- [ ] TypeScript
- [ ] CoffeeScript (`.coffee`)
- [ ] clean
- [ ] lean
- [ ] dash
- [ ] fish
- [ ] dyon
- [ ] ketos
- [ ] harlan (`.kfc`)
- [ ] Ragel (`.rl`)
- [ ] puppet (`.pp`)
- [ ] forth
- [ ] Objective C++
- [ ] J
- [ ] Bison (`.yy` among others)
- [ ] Flex
- [ ] Felix
- [ ] Sass
- [ ] gemfile
- [ ] gemspec
- [ ] rdoc
- [ ] Scons
- [ ] Vala
- [ ] Cmake
- [ ] shen
- [ ] gradle
- [ ] tulip (`.tlp`)
- [ ] kitten (`.ktn`)
- [ ] siren (`.siren`)
- [ ] emily (`.em`)
- [ ] ceylon
- [ ] Dart
- [ ] Korn shell
- [ ] jsx
- [ ] ColdFusion
- [ ] Balsa
- [ ] Teak
- [ ] SQL
- [ ] Carp
- [ ] Dale
- [ ] awk
- [ ] microsoft module definition
- [ ] XSLT
- [ ] `.rst`
- [ ] QML
- [ ] `.ini`
- [ ] roff/troff/groff
- [ ] Terra
- [ ] logos (also `.x`)
- [ ] PureBasic
- [ ] visual basic
- [ ] MSBuild
- [ ] Ur
- [ ] SRecoder template
- [ ] Cogent
- [ ] emacs dev env
- [ ] Xtend
- [ ] less (fancy CSS)
- [ ] haxe
- [ ] HLSL
- [ ] GNU plot (`.plt`)
- [ ] dtrace
- [ ] `pyf` - F2PY signature
- [ ] quack (`.qk`)