summaryrefslogtreecommitdiff
path: root/mac/.config/yazi/plugins/mime-ext.yazi/README.md
blob: 3c2ee1fdeaae8ea00932980a4acb875eb3526cc7 (plain)
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
# mime-ext.yazi

A mime-type provider based on a file extension database, replacing the [builtin `file(1)`](https://github.com/sxyazi/yazi/blob/main/yazi-plugin/preset/plugins/mime.lua) to speed up mime-type retrieval at the expense of accuracy.

See https://yazi-rs.github.io/docs/tips#make-yazi-even-faster for more information.

## Installation

```sh
ya pkg add yazi-rs/plugins:mime-ext
```

## Usage

Add this to your `~/.config/yazi/yazi.toml`:

```toml
[[plugin.prepend_fetchers]]
id   = "mime"
name = "*"
run  = "mime-ext"
prio = "high"
```

## Advanced

You can also customize it in your `~/.config/yazi/init.lua` with:

```lua
require("mime-ext"):setup {
	-- Expand the existing filename database (lowercase), for example:
	with_files = {
		makefile = "text/makefile",
		-- ...
	},

	-- Expand the existing extension database (lowercase), for example:
	with_exts = {
		mk = "text/makefile",
		-- ...
	},

	-- If the mime-type is not in both filename and extension databases,
	-- then fallback to Yazi's preset `mime` plugin, which uses `file(1)`
	fallback_file1 = false,
}
```

## TODO

- Add more file types (PRs welcome!).
- Compress mime-type tables.

## License

This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file.