Ok, I could reproduce it. As I suspected, the issue is in the Eclipse Platform. When querying content types for a file, eventually [ContentTypeCatalog#selectMatchingByName](https://github.com/eclipse-platform/eclipse.platform/blob/e7069db92859e15a44852ff753b9edeec2c1d7ed/runtime/bundles/org.eclipse.core.contenttype/src/org/eclipse/core/internal/content/ContentTypeCatalog.java#L700-L729) will be invoked.
When this method is called with the file extension "txt" it will return the directly mapped contenttype org.eclipse.core.runtime.text and all child content types that have no "builtInAssociations", e.g. have no file-extensions, file-patterns, file-names defined. So it will return these additional content types if the language pack is installed:
When this method is called with the file extension "txt" it will return the directly mapped contenttype
org.eclipse.core.runtime.text
and all child content types that have no "builtInAssociations", e.g. have nofile-extensions
,file-patterns
,file-names
defined. So it will return these additional content types if the language pack is installed:I don't think this behavior is correct.
Originally posted by @sebthom in https://github.com/eclipse/tm4e/issues/703#issuecomment-1944801545