-
-
Notifications
You must be signed in to change notification settings - Fork 30
Description
Is your feature request related to a problem? Please describe.
Atom Material Icons already allows users to define custom icon mappings based on filename patterns. While powerful, the current configuration process is manual and global – making it inconvenient for teams or for working across multiple projects that follow different architectural patterns (e.g. BCE, MVC, CQRS). Especially for common naming conventions like *Boundary
, *Control
, *Entity
, setting this up from scratch each time is time-consuming.
Describe the solution you'd like
It would be great to have:
-
Selectable pattern presets for known architectural patterns such as:
- BCE (Boundary, Control, Entity)
- MVC
- MVVM
- CQRS
These could be enabled via checkboxes or dropdowns in the plugin settings.
-
Optional project-level configuration support, e.g. via a
.atom-icons.json
or.material-icons.json
file in the root of the project. This would:- Allow teams to share icon mappings via version control
- Make settings portable and reproducible across machines
- Support per-project overrides of global settings
Describe alternatives you've considered
- Using the current global custom mapping UI (works, but not reusable across projects or team members)
- Writing documentation so all devs manually configure the same rules (error-prone)
- Skipping icon customization (hurts clarity in structured architectures)
Additional context
This would be especially useful for teams using Clean Architecture or Domain-Driven Design, where class roles are semantically important but not distinguishable through extensions alone.
Example:
project-root/
├── .material-icons.json ← contains pattern-to-icon mapping
└── src/
├── boundary ← shows network icon
├── control ← shows gear icon
└── entity ← shows database icon
These additions would greatly improve the developer experience, reduce setup effort, and promote consistent usage across teams.