Skip to content

text/x-objc++src: new type

This MIME type name is used in Qt Creator [1] and KDevelop [2]. A different name - text/x-objcpp-src - is used in KSyntaxHighlighting [3]. The name text/x-objc++src is consistent with the existing MIME type names text/x-c++src and text/x-objcsrc. So KSyntaxHighlighting's name will have to be replaced later.

The Objective-C Wikipedia article and the KSyntaxHighlighting's data file [3] claim that *.M is one of the file extensions of Objective-C++ source files. But since macOS's file system is case-insensitive by default, *.mm is used almost universally. Thus there is no need to complicate the MIME type database with case-sensitive attributes.

Make text/x-troff-mm a subclass of text/troff to reuse its magic element. As far as I can tell, these two file formats share the same comment syntax, which is encoded in text/troff's magic.

Add Objective-C, Objective-C++, Troff, Troff MM and C tests to verify correct detection of the new MIME type and the absence of regressions.

[1] https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/src/plugins/cppeditor/CppEditor.json.in?id=2cc28dea65846153d16c213283ffac7af530590d#n100
[2] https://invent.kde.org/kdevelop/kdevelop/-/blob/ebd207cca2387b5734a591803381880505e39a30/plugins/astyle/astyle_plugin.cpp#L284
[3] https://invent.kde.org/frameworks/syntax-highlighting/-/blob/0b2c0dc5368de519c4e9517a4dec69017df4cd6c/data/syntax/objectivecpp.xml#L3

Merge request reports