Allow icon themes to provide their own file associations (#24926)
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.
This commit is contained in:
parent
f2776099ab
commit
e60123bbdc
16 changed files with 286 additions and 370 deletions
|
@ -1,6 +1,5 @@
|
|||
use std::ops::{Deref, DerefMut};
|
||||
|
||||
use assets::Assets;
|
||||
use editor::test::editor_lsp_test_context::EditorLspTestContext;
|
||||
use gpui::{Context, Entity, SemanticVersion, UpdateGlobal};
|
||||
use search::{project_search::ProjectSearchBar, BufferSearchBar};
|
||||
|
@ -21,7 +20,7 @@ impl VimTestContext {
|
|||
cx.set_global(settings);
|
||||
release_channel::init(SemanticVersion::default(), cx);
|
||||
command_palette::init(cx);
|
||||
project_panel::init(Assets, cx);
|
||||
project_panel::init(cx);
|
||||
git_ui::init(cx);
|
||||
crate::init(cx);
|
||||
search::init(cx);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue