aboutsummaryrefslogtreecommitdiff
path: root/TODO
blob: d3fb7c3d72264b131208df6f3da02756d161c82e (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
71
72
73
74
75
Checklist:
[X] I
[X] II
[X] III
[ ] IV


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;       │
     │       }                                  │
     └──────────────────────────────────────────┘


IV: Add completions for the most popular interactive shells.  This includes
    bash, zsh, and fish.