Skip to content
Snippets Groups Projects
Commit 0ad583f3 authored by Roberto Raggi's avatar Roberto Raggi
Browse files

Detect the type of the shader.

parent 1bf87c67
No related branches found
No related tags found
No related merge requests found
<?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 file</comment>
<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"/>
<glob pattern="*.vert"/>
<glob pattern="*.fsh"/>
</mime-type>
<mime-type type="text/x-glsl-vert">
<sub-class-of type="text/x-glsl"/>
<comment>GLSL Fragment Shader file</comment>
<glob pattern="*.vert"/>
<glob pattern="*.vsh"/>
</mime-type>
</mime-info>
......@@ -276,8 +276,10 @@ void GLSLTextEditor::updateDocumentNow()
Semantic sem;
Scope *globalScope = engine.newNamespace();
sem.translationUnit(plugin->shaderInit()->ast, globalScope, plugin->shaderInit()->engine);
sem.translationUnit(plugin->vertexShaderInit()->ast, globalScope, plugin->vertexShaderInit()->engine);
sem.translationUnit(plugin->fragmentShaderInit()->ast, globalScope, plugin->fragmentShaderInit()->engine);
if (isVertexShader())
sem.translationUnit(plugin->vertexShaderInit()->ast, globalScope, plugin->vertexShaderInit()->engine);
if (isFragmentShader())
sem.translationUnit(plugin->fragmentShaderInit()->ast, globalScope, plugin->fragmentShaderInit()->engine);
sem.translationUnit(ast, globalScope, &engine);
QTextCharFormat errorFormat;
......@@ -314,3 +316,13 @@ void GLSLTextEditor::updateDocumentNow()
// refresh the identifiers.
m_identifiers = engine.identifiers();
}
bool GLSLTextEditor::isVertexShader() const
{
return mimeType() == QLatin1String("text/x-glsl-vert");
}
bool GLSLTextEditor::isFragmentShader() const
{
return mimeType() == QLatin1String("text/x-glsl-frag");
}
......@@ -65,6 +65,9 @@ public:
QSet<QString> identifiers() const;
bool isVertexShader() const;
bool isFragmentShader() const;
public slots:
virtual void setFontSettings(const TextEditor::FontSettings &);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment