Handbook
Glossary
analyze-codebase-paths ( paths -- )
Vocabulary
codebase-analyzer
Inputs
paths
an
object
Outputs
None
Definition
USING:
assocs
combinators
formatting
io
io.backend
kernel
prettyprint
sequences
sets
sorting
;
IN:
codebase-analyzer
:
analyze-codebase-paths
( paths -- )
{
[
partition-binary
[
length
"%d binary files"
sprintf
print
]
[
length
"%d text files"
sprintf
print
]
bi*
]
[
github-files
[
"has .github files"
print
...
]
unless-empty
]
[
license-files
[
[
length
"has %d license files"
sprintf
print
]
[
...
]
bi
]
unless-empty
]
[
readme-files
[
"has readme files"
print
...
]
unless-empty
]
[
owners-files
[
"has owners files"
print
...
]
unless-empty
]
[
version-files
[
"has version files"
print
...
]
unless-empty
]
[
{
[
dot-files
]
[
rc-files
diff
]
[
ignore-files
diff
]
}
cleave
[
"has dot files"
print
...
]
unless-empty
]
[
rc-files
[
[
length
"has %d rc files"
sprintf
print
]
[
...
]
bi
]
unless-empty
]
[
configure-files
[
"uses configure files"
print
...
]
unless-empty
]
[
automake-files
[
"uses automake"
print
...
]
unless-empty
]
[
make-files
[
"uses make"
print
...
]
unless-empty
]
[
nmake-files
[
"uses nmake"
print
...
]
unless-empty
]
[
cmake-files
[
"uses cmake"
print
...
]
unless-empty
]
[
gradle-files
[
"uses gradle"
print
...
]
unless-empty
]
[
cargo-files
[
"uses rust/cargo"
print
...
]
unless-empty
]
[
julia-project-files
[
"uses julia Project.toml"
print
...
]
unless-empty
]
[
in-files
[
"uses 'in' files"
print
...
]
unless-empty
]
[
ignore-files
[
[
length
"has %d ignore files"
sprintf
print
]
[
...
]
bi
]
unless-empty
nl
]
[
[
upper-files
]
keep
{
[
license-files
diff
]
[
readme-files
diff
]
[
owners-files
diff
]
[
version-files
diff
]
}
cleave
[
[
length
"has %d UPPER files (minus license,readme,owner,version)"
sprintf
print
]
[
...
]
bi
]
unless-empty
nl
]
[
"Top 20 largest files"
print
file-sizes
sort-values
20
index-or-length
tail*
[
normalize-path
]
map-keys
reverse
assoc.
nl
]
[
"Top 10 file extension sizes"
print
sum-sizes-by-extension
10
index-or-length
tail*
reverse
assoc.
nl
]
[
"Top 10 text file line counts"
print
sum-line-counts-by-extension
10
index-or-length
tail*
reverse
assoc.
nl
]
[
"Top 10 file extension counts"
print
count-by-file-extension
10
index-or-length
tail*
reverse
assoc.
nl
]
}
cleave
;