mirror of
https://github.com/hydroxycarbamide/dotfiles.git
synced 2025-05-07 05:19:07 -04:00
56 lines
1.2 KiB
Markdown
56 lines
1.2 KiB
Markdown
# 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 pack -a 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.
|