Commit e8e46ab5 authored by Eike Ziller's avatar Eike Ziller

Plugins: Fix that mimetype definition was not valid JSON

JSON officially does not support multiline strings, so we should use
the same mechanism that we already use for the plugin description
(i.e. additionally support arrays of strings which are interpreted
as lines).
This just happens to work because Qt's JSON parser eats it without
choking.

Change-Id: I25ef04600b209775c5a7af916c687fda4a8b1a4d
Reviewed-by: Oswald Buddenhagen's avatarOswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Christian Stenger's avatarChristian Stenger <christian.stenger@qt.io>
parent 5df0f97d
......@@ -31,6 +31,7 @@
#include "pluginmanager.h"
#include <utils/algorithm.h>
#include <utils/qtcassert.h>
#include <QCoreApplication>
#include <QDebug>
......@@ -630,12 +631,9 @@ static inline QString msgInvalidFormat(const char *key, const QString &content)
.arg(QLatin1String(key), content);
}
static inline bool readMultiLineString(const QJsonValue &value, QString *out)
bool PluginSpec::readMultiLineString(const QJsonValue &value, QString *out)
{
if (!out) {
qCWarning(pluginLog) << Q_FUNC_INFO << "missing output parameter";
return false;
}
QTC_ASSERT(out, return false);
if (value.isString()) {
*out = value.toString();
} else if (value.isArray()) {
......@@ -737,7 +735,7 @@ bool PluginSpecPrivate::readMetaData(const QJsonObject &pluginMetaData)
copyright = value.toString();
value = metaData.value(QLatin1String(DESCRIPTION));
if (!value.isUndefined() && !readMultiLineString(value, &description))
if (!value.isUndefined() && !PluginSpec::readMultiLineString(value, &description))
return reportError(msgValueIsNotAString(DESCRIPTION));
value = metaData.value(QLatin1String(URL));
......@@ -751,7 +749,7 @@ bool PluginSpecPrivate::readMetaData(const QJsonObject &pluginMetaData)
category = value.toString();
value = metaData.value(QLatin1String(LICENSE));
if (!value.isUndefined() && !readMultiLineString(value, &license))
if (!value.isUndefined() && !PluginSpec::readMultiLineString(value, &license))
return reportError(msgValueIsNotAMultilineString(LICENSE));
value = metaData.value(QLatin1String(PLATFORM));
......
......@@ -131,6 +131,8 @@ public:
bool hasError() const;
QString errorString() const;
static bool readMultiLineString(const QJsonValue &value, QString *out);
private:
PluginSpec();
......
......@@ -17,14 +17,14 @@
\"Url\" : \"http://necessitas.kde.org\",
$$dependencyList,
\"Mimetypes\" : \"
<?xml version=\'1.0\'?>
<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>
<mime-type type=\'application/vnd.google.android.android_manifest\'>
<comment>Android manifest file</comment>
<sub-class-of type=\'application/xml\'/>
<glob pattern=\'AndroidManifest.xml\'/>
</mime-type>
</mime-info>
\"
\"Mimetypes\" : [
\"<?xml version=\'1.0\'?>\",
\"<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>\",
\" <mime-type type=\'application/vnd.google.android.android_manifest\'>\",
\" <comment>Android manifest file</comment>\",
\" <sub-class-of type=\'application/xml\'/>\",
\" <glob pattern=\'AndroidManifest.xml\'/>\",
\" </mime-type>\",
\"</mime-info>\"
]
}
......@@ -19,13 +19,13 @@
\"Url\" : \"http://www.qt.io\",
$$dependencyList,
\"Mimetypes\" : \"
<?xml version=\'1.0\'?>
<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>
<mime-type type=\'application/vnd.audc.text.clearcase.submit\'>
<comment>ClearCase submit template</comment>
<sub-class-of type=\'text/plain\'/>
</mime-type>
</mime-info>
\"
\"Mimetypes\" : [
\"<?xml version=\'1.0\'?>\",
\"<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>\",
\" <mime-type type=\'application/vnd.audc.text.clearcase.submit\'>\",
\" <comment>ClearCase submit template</comment>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" </mime-type>\",
\"</mime-info>\"
]
}
......@@ -17,19 +17,19 @@
\"Url\" : \"http://www.qt.io\",
$$dependencyList,
\"Mimetypes\" : \"
<?xml version=\'1.0\'?>
<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>
<mime-type type=\'text/x-cmake\'>
<sub-class-of type=\'text/plain\'/>
<comment>CMake Project file</comment>
<glob pattern=\'*.cmake\'/>
</mime-type>
<mime-type type=\'text/x-cmake-project\'>
<sub-class-of type=\'text/x-cmake\'/>
<comment>CMake Project file</comment>
<glob pattern=\'CMakeLists.txt\'/>
</mime-type>
</mime-info>
\"
\"Mimetypes\" : [
\"<?xml version=\'1.0\'?>\",
\"<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>\",
\" <mime-type type=\'text/x-cmake\'>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <comment>CMake Project file</comment>\",
\" <glob pattern=\'*.cmake\'/>\",
\" </mime-type>\",
\" <mime-type type=\'text/x-cmake-project\'>\",
\" <sub-class-of type=\'text/x-cmake\'/>\",
\" <comment>CMake Project file</comment>\",
\" <glob pattern=\'CMakeLists.txt\'/>\",
\" </mime-type>\",
\"</mime-info>\"
]
}
......@@ -131,8 +131,9 @@ bool CorePlugin::initialize(const QStringList &arguments, QString *errorMessage)
continue;
const QJsonObject metaData = plugin->metaData();
const QJsonValue mimetypes = metaData.value("Mimetypes");
if (mimetypes.isString())
Utils::addMimeTypes(plugin->name() + ".mimetypes", mimetypes.toString().trimmed().toUtf8());
QString mimetypeString;
if (ExtensionSystem::PluginSpec::readMultiLineString(mimetypes, &mimetypeString))
Utils::addMimeTypes(plugin->name() + ".mimetypes", mimetypeString.trimmed().toUtf8());
}
if (ThemeEntry::availableThemes().isEmpty()) {
......
......@@ -18,101 +18,101 @@
\"Url\" : \"http://www.qt.io\",
$$dependencyList,
\"Mimetypes\" : \"
<?xml version=\'1.0\' encoding=\'UTF-8\'?>
<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>
<mime-type type=\'text/x-csrc\'>
<comment>C source code</comment>
<sub-class-of type=\'text/plain\'/>
<alias type=\'text/x-c\'/>
<glob pattern=\'*.c\' case-sensitive=\'true\' weight=\'70\'/>
</mime-type>
\"Mimetypes\" : [
\"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\",
\"<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>\",
\" <mime-type type=\'text/x-csrc\'>\",
\" <comment>C source code</comment>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <alias type=\'text/x-c\'/>\",
\" <glob pattern=\'*.c\' case-sensitive=\'true\' weight=\'70\'/>\",
\" </mime-type>\",
<mime-type type=\'text/vnd.nvidia.cuda.csrc\'>
<sub-class-of type=\'text/x-csrc\'/>
<comment>NVIDIA CUDA C source code</comment>
<glob pattern=\'*.cu\'/>
</mime-type>
\" <mime-type type=\'text/vnd.nvidia.cuda.csrc\'>\",
\" <sub-class-of type=\'text/x-csrc\'/>\",
\" <comment>NVIDIA CUDA C source code</comment>\",
\" <glob pattern=\'*.cu\'/>\",
\" </mime-type>\",
<mime-type type=\'text/x-chdr\'>
<comment>C header</comment>
<sub-class-of type=\'text/x-csrc\'/>
<!-- reduce weight from freedesktop to avoid conflict with text/x-c++hdr -->
<glob pattern=\'*.h\' weight=\'30\'/>
</mime-type>
\" <mime-type type=\'text/x-chdr\'>\",
\" <comment>C header</comment>\",
\" <sub-class-of type=\'text/x-csrc\'/>\",
\" <!-- reduce weight from freedesktop to avoid conflict with text/x-c++hdr -->\",
\" <glob pattern=\'*.h\' weight=\'30\'/>\",
\" </mime-type>\",
<!-- Those are used to find matching headers by the CppTools plugin,
so, they should match -->
<mime-type type=\'text/x-c++hdr\'>
<sub-class-of type=\'text/x-chdr\'/>
<comment>C++ header</comment>
<glob pattern=\'*.hh\' weight=\'70\'/>
<glob pattern=\'*.hxx\' weight=\'70\'/>
<glob pattern=\'*.h++\' weight=\'70\'/>
<glob pattern=\'*.hpp\' weight=\'70\'/>
<glob pattern=\'*.hp\' weight=\'70\'/>
<!-- Additions to freedesktop: -->
<glob pattern=\'*.h\' weight=\'70\'/>
<glob pattern=\'*.H\' weight=\'70\'/>
<!-- Find include guards of header files without extension, for
example, STL ones like <string>. Those can have a big initial
comment exceeding 1000 chars, though. -->
<magic priority=\'50\'>
<match value=\'#ifndef \' type=\'string\' offset=\'0:2000\'/>
<match value=\'#if \' type=\'string\' offset=\'0:2000\'/>
<match value=\'#include \' type=\'string\' offset=\'0:2000\'/>
</magic>
</mime-type>
\" <!-- Those are used to find matching headers by the CppTools plugin,\",
\" so, they should match -->\",
\" <mime-type type=\'text/x-c++hdr\'>\",
\" <sub-class-of type=\'text/x-chdr\'/>\",
\" <comment>C++ header</comment>\",
\" <glob pattern=\'*.hh\' weight=\'70\'/>\",
\" <glob pattern=\'*.hxx\' weight=\'70\'/>\",
\" <glob pattern=\'*.h++\' weight=\'70\'/>\",
\" <glob pattern=\'*.hpp\' weight=\'70\'/>\",
\" <glob pattern=\'*.hp\' weight=\'70\'/>\",
\" <!-- Additions to freedesktop: -->\",
\" <glob pattern=\'*.h\' weight=\'70\'/>\",
\" <glob pattern=\'*.H\' weight=\'70\'/>\",
\" <!-- Find include guards of header files without extension, for\",
\" example, STL ones like <string>. Those can have a big initial\",
\" comment exceeding 1000 chars, though. -->\",
\" <magic priority=\'50\'>\",
\" <match value=\'#ifndef \' type=\'string\' offset=\'0:2000\'/>\",
\" <match value=\'#if \' type=\'string\' offset=\'0:2000\'/>\",
\" <match value=\'#include \' type=\'string\' offset=\'0:2000\'/>\",
\" </magic>\",
\" </mime-type>\",
<mime-type type=\'text/x-c++src\'>
<comment>C++ source code</comment>
<sub-class-of type=\'text/x-csrc\'/>
<glob pattern=\'*.cpp\' weight=\'70\'/>
<glob pattern=\'*.cxx\' weight=\'70\'/>
<glob pattern=\'*.cc\' weight=\'70\'/>
<glob pattern=\'*.C\' case-sensitive=\'true\' weight=\'70\'/>
<glob pattern=\'*.c++\' weight=\'70\'/>
<!-- Additions to freedesktop: -->
<glob pattern=\'*.cp\' weight=\'70\'/>
<glob pattern=\'*.inl\' weight=\'70\'/>
<glob pattern=\'*.tcc\' weight=\'70\'/>
<glob pattern=\'*.tpp\' weight=\'70\'/>
<glob pattern=\'*.t++\' weight=\'70\'/>
<glob pattern=\'*.txx\' weight=\'70\'/>
<magic priority=\'30\'>
<match value=\'-*- C++ -*-\' type=\'string\' offset=\'0:30\'/>
</magic>
</mime-type>
\" <mime-type type=\'text/x-c++src\'>\",
\" <comment>C++ source code</comment>\",
\" <sub-class-of type=\'text/x-csrc\'/>\",
\" <glob pattern=\'*.cpp\' weight=\'70\'/>\",
\" <glob pattern=\'*.cxx\' weight=\'70\'/>\",
\" <glob pattern=\'*.cc\' weight=\'70\'/>\",
\" <glob pattern=\'*.C\' case-sensitive=\'true\' weight=\'70\'/>\",
\" <glob pattern=\'*.c++\' weight=\'70\'/>\",
\" <!-- Additions to freedesktop: -->\",
\" <glob pattern=\'*.cp\' weight=\'70\'/>\",
\" <glob pattern=\'*.inl\' weight=\'70\'/>\",
\" <glob pattern=\'*.tcc\' weight=\'70\'/>\",
\" <glob pattern=\'*.tpp\' weight=\'70\'/>\",
\" <glob pattern=\'*.t++\' weight=\'70\'/>\",
\" <glob pattern=\'*.txx\' weight=\'70\'/>\",
\" <magic priority=\'30\'>\",
\" <match value=\'-*- C++ -*-\' type=\'string\' offset=\'0:30\'/>\",
\" </magic>\",
\" </mime-type>\",
<mime-type type=\'text/x-qdoc\'>
<comment>Qt documentation file</comment>
<sub-class-of type=\'text/plain\'/>
<glob pattern=\'*.qdoc\' weight=\'70\'/>
</mime-type>
\" <mime-type type=\'text/x-qdoc\'>\",
\" <comment>Qt documentation file</comment>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <glob pattern=\'*.qdoc\' weight=\'70\'/>\",
\" </mime-type>\",
<mime-type type=\'text/x-moc\'>
<comment>Qt MOC file</comment>
<!-- Fix to freedesktop: moc is C++ source -->
<sub-class-of type=\'text/x-c++src\'/>
<glob pattern=\'*.moc\' weight=\'70\'/>
</mime-type>
\" <mime-type type=\'text/x-moc\'>\",
\" <comment>Qt MOC file</comment>\",
\" <!-- Fix to freedesktop: moc is C++ source -->\",
\" <sub-class-of type=\'text/x-c++src\'/>\",
\" <glob pattern=\'*.moc\' weight=\'70\'/>\",
\" </mime-type>\",
<mime-type type=\'text/x-objc++src\'>
<comment>Objective-C++ source code</comment>
<sub-class-of type=\'text/x-c++src\'/>
<sub-class-of type=\'text/x-objcsrc\'/>
<glob pattern=\'*.mm\' weight=\'70\'/>
</mime-type>
\" <mime-type type=\'text/x-objc++src\'>\",
\" <comment>Objective-C++ source code</comment>\",
\" <sub-class-of type=\'text/x-c++src\'/>\",
\" <sub-class-of type=\'text/x-objcsrc\'/>\",
\" <glob pattern=\'*.mm\' weight=\'70\'/>\",
\" </mime-type>\",
<mime-type type=\'text/x-objcsrc\'>
<comment>Objective-C source code</comment>
<sub-class-of type=\'text/x-csrc\'/>
<glob pattern=\'*.m\' weight=\'70\'/>
<magic priority=\'30\'>
<match value=\'#import\' type=\'string\' offset=\'0\'/>
</magic>
</mime-type>
\" <mime-type type=\'text/x-objcsrc\'>\",
\" <comment>Objective-C source code</comment>\",
\" <sub-class-of type=\'text/x-csrc\'/>\",
\" <glob pattern=\'*.m\' weight=\'70\'/>\",
\" <magic priority=\'30\'>\",
\" <match value=\'#import\' type=\'string\' offset=\'0\'/>\",
\" </magic>\",
\" </mime-type>\",
</mime-info>
\"
\"</mime-info>\"
]
}
......@@ -17,13 +17,13 @@
\"Url\" : \"http://www.qt.io\",
$$dependencyList,
\"Mimetypes\" : \"
<?xml version=\'1.0\'?>
<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>
<mime-type type=\'text/vnd.qtcreator.cvs.submit\'>
<comment>CVS submit template</comment>
<sub-class-of type=\'text/plain\'/>
</mime-type>
</mime-info>
\"
\"Mimetypes\" : [
\"<?xml version=\'1.0\'?>\",
\"<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>\",
\" <mime-type type=\'text/vnd.qtcreator.cvs.submit\'>\",
\" <comment>CVS submit template</comment>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" </mime-type>\",
\"</mime-info>\"
]
}
......@@ -41,20 +41,20 @@
],
$$dependencyList,
\"Mimetypes\" : \"
<?xml version=\'1.0\'?>
<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>
<mime-type type=\'text/x-asm\'>
<sub-class-of type=\'text/plain\'/>
<comment>Assembler</comment>
<glob pattern=\'*.asm\'/>
</mime-type>
<!-- Catch-all for assemblers -->
<mime-type type=\'text/x-qtcreator-generic-asm\'>
<sub-class-of type=\'text/x-asm\'/>
<comment>Qt Creator Generic Assembler</comment>
<glob pattern=\'*.asm\'/>
</mime-type>
</mime-info>
\"
\"Mimetypes\" : [
\"<?xml version=\'1.0\'?>\",
\"<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>\",
\" <mime-type type=\'text/x-asm\'>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <comment>Assembler</comment>\",
\" <glob pattern=\'*.asm\'/>\",
\" </mime-type>\",
\" <!-- Catch-all for assemblers -->\",
\" <mime-type type=\'text/x-qtcreator-generic-asm\'>\",
\" <sub-class-of type=\'text/x-asm\'/>\",
\" <comment>Qt Creator Generic Assembler</comment>\",
\" <glob pattern=\'*.asm\'/>\",
\" </mime-type>\",
\"</mime-info>\"
]
}
......@@ -17,34 +17,34 @@
\"Url\" : \"http://www.qt.io\",
$$dependencyList,
\"Mimetypes\" : \"
<?xml version=\'1.0\'?>
\"Mimetypes\" : [
\"<?xml version=\'1.0\'?>\",
<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>
<mime-type type=\'text/x-generic-project\'>
<sub-class-of type=\'text/plain\'/>
<comment>Generic Qt Creator Project file</comment>
<glob pattern=\'*.creator\'/>
</mime-type>
\"<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>\",
\" <mime-type type=\'text/x-generic-project\'>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <comment>Generic Qt Creator Project file</comment>\",
\" <glob pattern=\'*.creator\'/>\",
\" </mime-type>\",
<mime-type type=\'application/vnd.qtcreator.generic.files\'>
<sub-class-of type=\'text/plain\'/>
<comment>Generic Project Files</comment>
<glob pattern=\'*.files\'/>
</mime-type>
\" <mime-type type=\'application/vnd.qtcreator.generic.files\'>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <comment>Generic Project Files</comment>\",
\" <glob pattern=\'*.files\'/>\",
\" </mime-type>\",
<mime-type type=\'application/vnd.qtcreator.generic.includes\'>
<sub-class-of type=\'text/plain\'/>
<comment>Generic Project Include Paths</comment>
<glob pattern=\'*.includes\'/>
</mime-type>
\" <mime-type type=\'application/vnd.qtcreator.generic.includes\'>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <comment>Generic Project Include Paths</comment>\",
\" <glob pattern=\'*.includes\'/>\",
\" </mime-type>\",
<mime-type type=\'application/vnd.qtcreator.generic.config\'>
<sub-class-of type=\'text/plain\'/>
<comment>Generic Project Configuration File</comment>
<glob pattern=\'*.config\'/>
</mime-type>
\" <mime-type type=\'application/vnd.qtcreator.generic.config\'>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <comment>Generic Project Configuration File</comment>\",
\" <glob pattern=\'*.config\'/>\",
\" </mime-type>\",
</mime-info>
\"
\"</mime-info>\"
]
}
......@@ -17,20 +17,20 @@
\"Url\" : \"http://www.qt.io\",
$$dependencyList,
\"Mimetypes\" : \"
<?xml version=\'1.0\'?>
<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>
<mime-type type=\'text/vnd.qtcreator.git.commit\'>
<sub-class-of type=\'text/plain\'/>
<comment>Git Commit File</comment>
<glob pattern=\'COMMIT_MSG\'/>
<glob pattern=\'COMMIT_EDITMSG\'/>
</mime-type>
<mime-type type=\'text/vnd.qtcreator.git.rebase\'>
<sub-class-of type=\'text/plain\'/>
<comment>Git Commit File</comment>
<glob pattern=\'git-rebase-todo\'/>
</mime-type>
</mime-info>
\"
\"Mimetypes\" : [
\"<?xml version=\'1.0\'?>\",
\"<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>\",
\" <mime-type type=\'text/vnd.qtcreator.git.commit\'>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <comment>Git Commit File</comment>\",
\" <glob pattern=\'COMMIT_MSG\'/>\",
\" <glob pattern=\'COMMIT_EDITMSG\'/>\",
\" </mime-type>\",
\" <mime-type type=\'text/vnd.qtcreator.git.rebase\'>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <comment>Git Commit File</comment>\",
\" <glob pattern=\'git-rebase-todo\'/>\",
\" </mime-type>\",
\"</mime-info>\"
]
}
......@@ -17,48 +17,48 @@
\"Url\" : \"http://www.qt.io\",
$$dependencyList,
\"Mimetypes\" : \"
<?xml version=\'1.0\'?>
<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>
\"Mimetypes\" : [
\"<?xml version=\'1.0\'?>\",
\"<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>\",
<mime-type type=\'application/x-glsl\'>
<alias type=\'text/x-glsl\'/>
<sub-class-of type=\'text/plain\'/>
<comment>GLSL Shader file</comment>
<glob pattern=\'*.glsl\'/>
<glob pattern=\'*.shader\'/>
</mime-type>
\" <mime-type type=\'application/x-glsl\'>\",
\" <alias type=\'text/x-glsl\'/>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <comment>GLSL Shader file</comment>\",
\" <glob pattern=\'*.glsl\'/>\",
\" <glob pattern=\'*.shader\'/>\",
\" </mime-type>\",
<mime-type type=\'text/x-glsl-frag\'>
<sub-class-of type=\'text/x-glsl\'/>
<comment>GLSL Fragment Shader file</comment>
<glob pattern=\'*.frag\'/>
</mime-type>
\" <mime-type type=\'text/x-glsl-frag\'>\",
\" <sub-class-of type=\'text/x-glsl\'/>\",
\" <comment>GLSL Fragment Shader file</comment>\",
\" <glob pattern=\'*.frag\'/>\",
\" </mime-type>\",
<mime-type type=\'text/x-glsl-es-frag\'>
<sub-class-of type=\'text/x-glsl\'/>
<comment>GLSL/ES Fragment Shader file</comment>
<glob pattern=\'*.fsh\'/>
</mime-type>
\" <mime-type type=\'text/x-glsl-es-frag\'>\",
\" <sub-class-of type=\'text/x-glsl\'/>\",
\" <comment>GLSL/ES Fragment Shader file</comment>\",
\" <glob pattern=\'*.fsh\'/>\",
\" </mime-type>\",
<mime-type type=\'text/x-glsl-vert\'>
<sub-class-of type=\'text/x-glsl\'/>
<comment>GLSL Vertex Shader file</comment>
<glob pattern=\'*.vert\'/>
</mime-type>
\" <mime-type type=\'text/x-glsl-vert\'>\",
\" <sub-class-of type=\'text/x-glsl\'/>\",
\" <comment>GLSL Vertex Shader file</comment>\",
\" <glob pattern=\'*.vert\'/>\",
\" </mime-type>\",
<mime-type type=\'text/x-glsl-es-vert\'>
<sub-class-of type=\'text/x-glsl\'/>
<comment>GLSL/ES Vertex Shader file</comment>
<glob pattern=\'*.vsh\'/>
</mime-type>
\" <mime-type type=\'text/x-glsl-es-vert\'>\",
\" <sub-class-of type=\'text/x-glsl\'/>\",
\" <comment>GLSL/ES Vertex Shader file</comment>\",
\" <glob pattern=\'*.vsh\'/>\",
\" </mime-type>\",
<mime-type type=\'text/x-glsl-es-geometry\'>
<sub-class-of type=\'text/x-glsl\'/>
<comment>GLSL/ES Geometry Shader file</comment>
<glob pattern=\'*.gsh\'/>
</mime-type>
\" <mime-type type=\'text/x-glsl-es-geometry\'>\",
\" <sub-class-of type=\'text/x-glsl\'/>\",
\" <comment>GLSL/ES Geometry Shader file</comment>\",
\" <glob pattern=\'*.gsh\'/>\",
\" </mime-type>\",
</mime-info>
\"
\"</mime-info>\"
]
}
......@@ -17,15 +17,15 @@
\"Url\" : \"http://www.qt.io\",
$$dependencyList,
\"Mimetypes\" : \"
<?xml version=\'1.0\'?>
<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>
\"Mimetypes\" : [
\"<?xml version=\'1.0\'?>\",
\"<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>\",
<mime-type type=\'image/webp\'>
<comment>WebP Image file</comment>
<glob pattern=\'*.webp\'/>
</mime-type>
\" <mime-type type=\'image/webp\'>\",
\" <comment>WebP Image file</comment>\",
\" <glob pattern=\'*.webp\'/>\",
\" </mime-type>\",
</mime-info>
\"
\"</mime-info>\"
]
}
......@@ -18,14 +18,14 @@
\"Experimental\" : true,
$$dependencyList,
\"Mimetypes\" : \"
<?xml version=\'1.0\' encoding=\'UTF-8\'?>
<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>
<mime-type type=\'text/vnd.qtcreator.model\'>
<sub-class-of type=\'text/xml\'/>
<comment>Qt Creator Model File</comment>
<glob pattern=\'*.qmodel\'/>
</mime-type>
</mime-info>
\"
\"Mimetypes\" : [
\"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\",
\"<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>\",
\" <mime-type type=\'text/vnd.qtcreator.model\'>\",
\" <sub-class-of type=\'text/xml\'/>\",
\" <comment>Qt Creator Model File</comment>\",
\" <glob pattern=\'*.qmodel\'/>\",
\" </mime-type>\",
\"</mime-info>\"
]
}
......@@ -18,27 +18,27 @@
\"Experimental\" : true,
$$dependencyList,
\"Mimetypes\" : \"
<?xml version=\'1.0\'?>
<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>
\"Mimetypes\" : [
\"<?xml version=\'1.0\'?>\",
\"<mime-info xmlns=\'http://www.freedesktop.org/standards/shared-mime-info\'>\",
<mime-type type=\'text/x-nim-project\'>
<sub-class-of type=\'text/plain\'/>
<comment>Nim project file</comment>
<glob pattern=\'*.nimproject\'/>
</mime-type>
\" <mime-type type=\'text/x-nim-project\'>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <comment>Nim project file</comment>\",
\" <glob pattern=\'*.nimproject\'/>\",
\" </mime-type>\",
<mime-type type=\'text/x-nim\'>
<sub-class-of type=\'text/plain\'/>
<comment>Nim source file </comment>
<glob pattern=\'*.nim\'/>
</mime-type>
\" <mime-type type=\'text/x-nim\'>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <comment>Nim source file </comment>\",
\" <glob pattern=\'*.nim\'/>\",
\" </mime-type>\",
<mime-type type=\'text/x-nim-script\'>
<sub-class-of type=\'text/plain\'/>
<comment>Nim script file </comment>
<glob pattern=\'*.nims\'/>
</mime-type>
</mime-info>
\"
\" <mime-type type=\'text/x-nim-script\'>\",
\" <sub-class-of type=\'text/plain\'/>\",
\" <comment>Nim script file </comment>\",
\" <glob pattern=\'*.nims\'/>\",