I'm currently developing an editing mode for Scheme in IntelliJ. I'd like to allow the user to switch between implementations (currently Kawa and SISC but I'd like to allow more), but Scheme implementations tend to customise the syntax a fair amount. Ideally I'd like the user to be able to select an implementation in their facet configuration, and to have that configuration determine which lexer and parser to use. Ideally I'd have one implementation of each per Scheme implementation, probably extending a common base. I can't see any obvious way to do this - is this even possible?