Ultimately, I’m looking to enable/disable matchClosingTags and autoCloseTags for HTML. Those are enabled by default, but I’d like users to be able to disable that if they want.
No, the language description objects in that package provide just the default configuration. But you can add additional custom language descriptions to the start of the array of desrciptions that you actually use to override some, if you need to.
Following back up on this: It would be really great if you could configure languages from the @codemirror/language-data pack. Right now I’m having to add extra logic to detect languages or even override the load function to just provide matchBrackets and other basic config options.
Another possibility would be to have a configuration facet instead of the config being in the extension function, so those values could be added or extended separate from the actual language initialization.
The idea of adding a parameter to load is really not viable—the type would be different for every mode, and, more importantly, this is a cached thing per LanguageDescription object, and being able to pass in configuration data would break the assumption that this is a single, reusable value.
So, again, the idea is to create your own LanguageDescription objects if you want to change the language’s configuration, possibly by reusing fields from the ones in language-data and adding a custom load function.