This PR adds the ability for icon themes to provide their own file
associations.
The old `file_types.json` that was previously used to make these
associations has been removed in favor of storing them on the default
theme.
Icon themes have two new fields on them:
- `file_stems`: A mapping of file stems to icon keys.
- `file_suffixes`: A mapping of file suffixes to icon keys.
These mappings produce icon keys which can then be used in `file_icons`
to associate them to a particular icon:
```json
{
"file_stems": {
"Makefile": "make"
},
"file_suffixes": {
"idr": "idris"
},
"file_icons": {
"idris": { "path": "./icons/idris.svg" },
"make": { "path": "./icons/make.svg" }
}
}
```
When loading an icon theme, the `file_stems` and `file_icons` fields
will be merged with the ones from the base icon theme, with the values
from the icon theme being loaded overriding ones in the base theme.
Release Notes:
- Added the ability for icon themes to provide their own file
associations.
64 lines
2.1 KiB
TOML
64 lines
2.1 KiB
TOML
[files]
|
|
ignore-files = true
|
|
ignore-hidden = false
|
|
extend-exclude = [
|
|
".git/",
|
|
|
|
# Contributor names aren't typos.
|
|
".mailmap",
|
|
|
|
# File suffixes aren't typos.
|
|
"crates/theme/src/icon_theme.rs",
|
|
"crates/extensions_ui/src/extension_suggest.rs",
|
|
|
|
# Some countries codes are flagged as typos.
|
|
"crates/anthropic/src/supported_countries.rs",
|
|
"crates/google_ai/src/supported_countries.rs",
|
|
"crates/open_ai/src/supported_countries.rs",
|
|
|
|
# Some crate names are flagged as typos.
|
|
"crates/indexed_docs/src/providers/rustdoc/popular_crates.txt",
|
|
|
|
# Stripe IDs are flagged as typos.
|
|
"crates/collab/src/db/tests/processed_stripe_event_tests.rs",
|
|
# Not our typos.
|
|
"crates/livekit_server/",
|
|
# Vim makes heavy use of partial typing tables.
|
|
"crates/vim/",
|
|
# Editor and file finder rely on partial typing and custom in-string syntax.
|
|
"crates/file_finder/src/file_finder_tests.rs",
|
|
"crates/editor/src/editor_tests.rs",
|
|
# There are some names in the test data that are incorrectly flagged as typos.
|
|
"crates/git/test_data/blame_incremental_complex",
|
|
"crates/git/test_data/golden/blame_incremental_complex.json",
|
|
# We have some base64-encoded data that is incorrectly being flagged.
|
|
"crates/rpc/src/auth.rs",
|
|
# glsl isn't recognized by this tool.
|
|
"extensions/glsl/languages/glsl/",
|
|
# Windows likes its abbreviations.
|
|
"crates/gpui/src/platform/windows/",
|
|
# Some typos in the base mdBook CSS.
|
|
"docs/theme/css/",
|
|
# Spellcheck triggers on `|Fixe[sd]|` regex part.
|
|
"script/danger/dangerfile.ts",
|
|
# Hashes are not typos
|
|
"script/patches/use-cross-platform-livekit.patch"
|
|
]
|
|
|
|
[default]
|
|
extend-ignore-re = [
|
|
'cl\[ist]',
|
|
'\[lan\]guage',
|
|
'"ba"',
|
|
# :/ crates/collab/migrations/20231009181554_add_release_channel_to_rooms.sql
|
|
"COLUMN enviroment",
|
|
"doas",
|
|
# ProtoLS crate with tree-sitter Protobuf grammar.
|
|
"protols",
|
|
# x11rb SelectionNotifyEvent struct field
|
|
"requestor",
|
|
# Not an actual typo but an intentionally invalid color, in `color_extractor`
|
|
"#fof"
|
|
]
|
|
check-filename = true
|