]> gitweb.factorcode.org Git - factor.git/blob - extra/contributors/contributors.factor
6ff6ba622f38414aee8ad9761fe254c2e7a6ec18
[factor.git] / extra / contributors / contributors.factor
1 ! Copyright (C) 2007, 2008 Slava Pestov, 2020 Alexander Ilin.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: assocs fry io io.directories io.encodings.utf8
4 io.launcher io.pathnames kernel math.statistics prettyprint
5 sequences sorting system ;
6 IN: contributors
7
8 CONSTANT: aliases {
9     { "Björn Lindqvist" "bjourne@gmail.com" }
10     { "Cat Stevens" "catb0t" }
11     { "Daniel Ehrenberg" "Dan Ehrenberg" }
12     { "Doug Coleman" "U-FROGGER\\erg" "erg" }
13     { "Erik Charlebois" "erikc" }
14     { "KUSUMOTO Norio" "kusumotonorio" }
15     { "Mighty Sheeple" "sheeple" "U-ENCHILADA\\sheeple" }
16     { "Nicolas Pénet" "nicolas-p" }
17     { "Slava Pestov" "slava" "Slava"
18         "U-SLAVA-FB3999113\\Slava" "U-SLAVA-DFB8FF805\\Slava" }
19     { "dharmatech" "U-CUTLER\\dharmatech" }
20 }
21
22 : changelog ( -- authors )
23     image-path parent-directory [
24         "git log --no-merges --pretty=format:%an"
25         utf8 [ read-lines ] with-process-reader
26     ] with-directory ;
27
28 : merge-aliases ( authors -- authors' )
29     aliases [
30         unclip '[ over delete-at* [ _ pick at+ ] [ drop ] if ] each
31     ] each ;
32
33 : contributors ( -- )
34     changelog histogram merge-aliases
35     sort-values <reversed>
36     simple-table. ;
37
38 MAIN: contributors