aboutsummaryrefslogtreecommitdiff
path: root/TODO
blob: 2650495df66aaf99b7be32a91088a17d3c516679 (plain) (blame)
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
Checklist:
[ ] I
[ ] II
[ ] III


I: Add a flag that allows the user to specify a tab width.  At the moment tab
   widths are hardcoded to 8 in the center() function.  Perhaps a new flag could
   be -t?


II: Transform tabs into spaces.  At the moment tabs remain as tabs when centered
    which causes some visual issues.  For example when centering figure A you
    would expect to get figure B, but you currently get figure C.  The
    underscores are a placeholder for a ‹TAB› character.  The current
    functionality if desired could be provided via a command-line flag such as
    -r.

    Figure A:
    /------------------------------------------\
    | 1234567890                               |
    | ________12                               |
    \------------------------------------------/

    Figure B:
    /------------------------------------------\
    |                1234567890                |
    |                ________12                |
    \------------------------------------------/

    Figure C:
    /------------------------------------------\
    |                1234567890                |
    |                 ________12               |
    \------------------------------------------/


III: Add a new flag for assuming all lines are of the same length as the longest
     line.  At the moment each line is centered individually, and this means
     that figure A would get transformed into figure B after being passed
     through center(1).  We would however often times prefer to have it be
     transformed into figure C, such as when centering code, or a manual page.
     This new flag could potentially be -l.

     Figure A:
     /------------------------------------------\
     | int                                      |
     | main(int argc, char **argv)              |
     | {                                        |
     |         return EXIT_SUCCESS;             |
     | }                                        |
     \------------------------------------------/
  
     Figure B:
     /------------------------------------------\
     |                   int                    |
     |       main(int argc, char **argv)        |
     |                    {                     |
     |               return EXIT_SUCCESS;       |
     |                    }                     |
     \------------------------------------------/
  
     Figure C:
     /------------------------------------------\
     |       int                                |
     |       main(int argc, char **argv)        |
     |       {                                  |
     |               return EXIT_SUCCESS;       |
     |       }                                  |
     \------------------------------------------/