Update README

- QOL for *.tape files
This commit is contained in:
Shav Kinderlehrer 2023-04-22 15:33:08 -04:00
parent 69cf5566cf
commit d1bbadfbd6
17 changed files with 72 additions and 92 deletions

View File

@ -54,7 +54,7 @@ make
## Use
`lat` can, for the most part, be a direct drop in for `cat`. However it really shines when embedded into another program. For example, in `fzf`, `lat` makes an excellent viewer with the command `fzf --command lat -l {}`.
`lat` can, for the most part, be a direct drop in for `cat`. However it really shines when embedded into another program. For example, in `fzf`, `lat` makes an excellent viewer with the command `fzf --command lat -r {}`.
![Using lat in fzf](social/render/fzf_embed.gif)
@ -64,7 +64,7 @@ For example, this should be possible in a future version of `lat`
```c
int main(void) {
FILE *st = popen("lat -l", "w");
FILE *st = popen("lat -r", "w");
if (st == NULL)
exit(1);
@ -77,37 +77,43 @@ int main(void) {
### Features and Flags
#### `--color`
#### `-c` color
Completely disables or enables all colored output from `lat`.
##### Example
![Color in lat](social/render/color.gif)
> `lat` also respects [NO_COLOR](https://no-color.org/), but `--color` overrides it
> `lat` also respects [NO_COLOR](https://no-color.org/), but `-c` overrides it
#### `--lines`
#### `-l` line numbers
Print numbers for each line of the file.
##### Example
![Line numbers in lat](social/render/line_numbers.gif)
#### `--headers`
#### `-t` file title
Shows or hides formatted file data headers.
##### Example
![Headers in lat](social/render/headers.gif)
#### `--binary`
#### `-b` binary mode
By default, `lat` will attempt to detect if the file is printable or not. If the file isn't (e.g. you ran `lat file.pdf`) then lat will enter *`binary mode`*. In *`binary mode`*, `lat` will skip a lot of processing in favor of speed.
You can force *`binary mode`* to be `on` or `off` with the flags `-b` and `-bb` respectively.
##### Example
![Binary Mode in lat](social/render/binary.gif)
#### `--literal`
`lat` is smart enough to print all non-file characters to a separate filestream. That way, the output of `lat` can be used to con**cat**enate files, the way it was originally meant to be.
#### `-r` raw output
`lat` is smart enough to print all non-file characters to a separate filestream. That way, the output of `lat` can be used to con**cat**enate files, the way it was originally meant to be (with `>` or `|`).
However, sometimes you want those extra symbols.
`--literal` prints everything out to the primary filestream (usually `stdout`)
`-r` prints everything out to the primary filestream (usually `stdout`)
##### Example
![Literal output in lat](social/render/literal.gif)
![Literal output in lat](social/render/raw.gif)
#### `--pager`
#### `-p` pager
`lat` comes with out-of-the-box support for paging in `less`. If you don't want your file messing up your terminal, just `-p` it.
### `-n` name
`lat` allows you to customize the name of the file shown. This can be useful in demonstrations or when `lat` is embedded in another program.
#### Example
![Custom filename in lat](social/render/name.gif)
##### Example
![Paging in lat](social/render/pager.gif)
@ -115,42 +121,26 @@ However, sometimes you want those extra symbols.
## Helptext
> `lat --help`
> `lat -h`
```text
lat | lazy cat - a cat clone with some quality-of-life embellishments
usage: lat [-cntblpVh] [file...]
usage: lat [-cltbrpnVh] [file...]
options:
-c, --color toggle color
-n, --lines toggle line numbers
-t, --headers toggle file info headers
-b, --binary toggle binary mode, -b forces binary and -bb forces NOT binary
-l, --literal print everything to stdout (or equivalent)
-p, --pager print file with the pager (uses less)
-V, --version show program version
-h, --help display this help text (--help shows additional info)
-c toggle color
-l toggle line numbers
-t toggle file info headers
-b toggle binary mode, -b forces binary and -bb forces NOT binary
-r print everything to stdout (or equivalent)
-p print file with the pager (uses less)
-n set the name of the file in the title
-V show program version
-h display this help text
environment:
NO_COLOR, see https://no-color.org/
examples:
lat file1
print the contents of file1 with the default formatting
lat - file1
read from stdin (the '-' flag reads from stdin) and then print the contents of stdin and file1
lat -nc file1 file2
print the contents of file1 and file2 without printing line numbers or colors
lat --binary file.txt
force file.txt to be treated as a binary file
lat -bb --pager file.txt
force file.txt to NOT be treated as a binary file and print it in the pager
curl example.com | lat
pipe the results of 'curl example.com' into lat
fzf --preview 'lat -l {}'
use lat as the file viewer in fzf
```

View File

@ -10,7 +10,6 @@ Set FontSize 32
Set Width 2400
Set Height 1200
Set TypingSpeed 0.2
Set PlaybackSpeed 0.5
Type "lat src/main.c"
Sleep 2s

View File

@ -10,7 +10,6 @@ Set FontSize 32
Set Width 2400
Set Height 1200
Set TypingSpeed 0.2
Set PlaybackSpeed 0.5
Type "lat src/main.c"
Sleep 2s
@ -24,7 +23,7 @@ Enter
Sleep 2s
Type "lat --color src/main.c"
Type "lat -c src/main.c"
Sleep 2s
Enter

View File

@ -11,7 +11,7 @@ Set Width 2400
Set Height 1200
Set TypingSpeed 0.2
Type "fzf --preview 'lat -l {}'"
Type "fzf --preview 'lat -r {}'"
Sleep 1s
Enter
@ -32,49 +32,8 @@ Sleep 3s
Backspace 7
Sleep 2s
Up
Sleep 3s
Up@3s 15
Up
Sleep 3s
Up
Sleep 3s
Up
Sleep 3s
Up
Sleep 3s
Up
Sleep 3s
Up
Sleep 3s
Up
Sleep 3s
Up
Sleep 3s
Up
Sleep 3s
Up
Sleep 3s
Up
Sleep 3s
Up
Sleep 3s
Up
Sleep 3s
Up
Sleep 3s
Enter

View File

@ -10,7 +10,6 @@ Set FontSize 32
Set Width 2400
Set Height 1200
Set TypingSpeed 0.2
Set PlaybackSpeed 0.5
Type "lat src/main.c"
Sleep 2s
@ -24,7 +23,7 @@ Enter
Sleep 2s
Type "lat --headers src/main.c"
Type "lat -t src/main.c"
Sleep 2s
Enter

View File

@ -10,7 +10,6 @@ Set FontSize 32
Set Width 2400
Set Height 1200
Set TypingSpeed 0.2
Set PlaybackSpeed 0.5
Type "lat src/main.c"
Sleep 2s

View File

@ -10,7 +10,6 @@ Set FontSize 32
Set Width 2400
Set Height 1200
Set TypingSpeed 0.2
Set PlaybackSpeed 0.5
Type "lat src/main.c > example.c"
Sleep 2s
@ -30,7 +29,7 @@ Enter
Sleep 2s
Type "lat --literal src/main.c > example.c"
Type "lat -r src/main.c > example.c"
Sleep 2s
Enter

37
social/name.tape Normal file
View File

@ -0,0 +1,37 @@
Require lat
Output social/render/name.gif
Set Theme "Gruvbox Dark"
Set WindowBar Rings
Set BorderRadius 10
Set Margin 10
Set FontSize 32
Set Width 2400
Set Height 1200
Set TypingSpeed 0.2
Type "lat"
Sleep 2s
Enter
Type "hello, world!"
Enter
Sleep 3s
Ctrl+d
Sleep 3s
Type "lat -n "custom name" src/main.c"
Sleep 2s
Enter
Type "hello, world!"
Enter
Sleep 3s
Ctrl+d
Sleep 4s

View File

@ -10,7 +10,6 @@ Set FontSize 32
Set Width 2400
Set Height 1200
Set TypingSpeed 0.2
Set PlaybackSpeed 0.5
Type "lat src/main.c"
Sleep 2s
@ -24,7 +23,7 @@ Enter
Sleep 2s
Type "lat --pager src/main.c"
Type "lat -p src/main.c"
Sleep 2s
Enter

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 573 KiB

After

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 MiB

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 573 KiB

After

Width:  |  Height:  |  Size: 408 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 543 KiB

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 KiB

After

Width:  |  Height:  |  Size: 413 KiB

BIN
social/render/name.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 MiB

After

Width:  |  Height:  |  Size: 18 MiB