Skip to content

Commit f387dda

Browse files
committed
fix nested structs from the shader variable builtins being pulled in
1 parent 3b0c748 commit f387dda

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
- Templates triggering inside include string autocompletion
1919
- Custom functions in autocomplete
2020
- Autocompletion for functions/variables in front of existing statements
21+
- Recursive included structs from builtins
2122

2223
# Changed
2324
- Minimum IntelliJ version is now 2023.3

src/main/kotlin/glsl/plugin/utils/GlslBuiltinUtils.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.intellij.openapi.project.ProjectManager
44
import com.intellij.psi.PsiFileFactory
55
import com.intellij.psi.util.PsiTreeUtil.findChildOfType
66
import com.intellij.psi.util.PsiTreeUtil.findChildrenOfType
7+
import com.intellij.psi.util.findParentOfType
78
import glsl.data.ShaderType
89
import glsl.data.ShaderType.*
910
import glsl.plugin.language.GlslFile
@@ -111,7 +112,7 @@ object GlslBuiltinUtils {
111112
*/
112113
private fun setShaderVariables() {
113114
val shaderVariablesFile = getBuiltinFile("glsl-shader-variables")
114-
val structSpecifiers = findChildrenOfType(shaderVariablesFile, GlslStructSpecifier::class.java).toList()
115+
val structSpecifiers = findChildrenOfType(shaderVariablesFile, GlslStructSpecifier::class.java).filter { it.findParentOfType<GlslStructSpecifier>() == null }.toList()
115116
// Initializes map with ShaderType enum
116117
shaderVariables = EnumMap(ShaderType::class.java)
117118
val allShaderVariables = hashMapOf<String, GlslNamedVariable>()

0 commit comments

Comments
 (0)