Skip to content

Commit

Permalink
[shaderlab/hlsl] Add update scripts, minor fixes to OSSREADME (for #2…
Browse files Browse the repository at this point in the history
  • Loading branch information
aeschli committed Feb 20, 2017
1 parent 5fb4b1d commit a734c13
Show file tree
Hide file tree
Showing 6 changed files with 211 additions and 20 deletions.
5 changes: 2 additions & 3 deletions extensions/hlsl/OSSREADME.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
// ATTENTION - THIS DIRECTORY CONTAINS THIRD PARTY OPEN SOURCE MATERIALS:

[{
"name": "shaders-tmLanguage-hlsl",
"name": "shaders-tmLanguage",
"version": "0.1.0",
"license": "MIT",
"repositoryURL": "https://github.com/tgjones/shaders-tmLanguage",
"description": "The file syntaxes/hlsl.json was included from https://github.com/tgjones/shaders-tmLanguage/blob/master/grammars/hlsl.json."
"repositoryURL": "https://github.com/tgjones/shaders-tmLanguage"
}]
3 changes: 3 additions & 0 deletions extensions/hlsl/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
"version": "0.1.0",
"publisher": "vscode",
"engines": { "vscode": "*" },
"scripts": {
"update-grammar": "node ../../build/npm/update-grammar.js tgjones/shaders-tmLanguage grammars/shaderlab.json ./syntaxes/shaderlab.json"

This comment has been minimized.

Copy link
@tgjones

tgjones Feb 20, 2017

Contributor

Shouldn't this reference the HLSL grammar? Or did you intentionally duplicate the ShaderLab grammar into the HLSL extension?

This comment has been minimized.

Copy link
@aeschli

aeschli Feb 21, 2017

Author Contributor

Sorry, my mistake. I'll fix it!

},
"contributes": {
"languages": [{
"id": "hlsl",
Expand Down
175 changes: 175 additions & 0 deletions extensions/hlsl/syntaxes/shaderlab.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
{
"scopeName": "source.shaderlab",
"name": "ShaderLab",
"fileTypes": [
"shader"
],
"patterns": [
{
"name": "comment.line.double-slash.shaderlab",
"begin": "//",
"end": "$"
},
{
"name": "support.type.basic.shaderlab",
"match": "\\b(?i:Range|Float|Int|Color|Vector|2D|3D|Cube|Any)\\b"
},
{
"include": "#numbers"
},
{
"name": "storage.type.structure.shaderlab",
"match": "\\b(?i:Shader|Properties|SubShader|Pass|Category)\\b"
},
{
"name": "support.type.propertyname.shaderlab",
"match": "\\b(?i:Name|Tags|Fallback|CustomEditor|Cull|ZWrite|ZTest|Offset|Blend|BlendOp|ColorMask|AlphaToMask|LOD|Lighting|Stencil|Ref|ReadMask|WriteMask|Comp|CompBack|CompFront|Fail|ZFail|UsePass|GrabPass|Dependency|Material|Diffuse|Ambient|Shininess|Specular|Emission|Fog|Mode|Density|SeparateSpecular|SetTexture|Combine|ConstantColor|Matrix|AlphaTest|ColorMaterial|BindChannels|Bind)\\b"
},
{
"name": "support.constant.property-value.shaderlab",
"match": "\\b(?i:Back|Front|On|Off|[RGBA]{1,3}|AmbientAndDiffuse|Emission)\\b"
},
{
"name": "support.constant.property-value.comparisonfunction.shaderlab",
"match": "\\b(?i:Less|Greater|LEqual|GEqual|Equal|NotEqual|Always|Never)\\b"
},
{
"name": "support.constant.property-value.stenciloperation.shaderlab",
"match": "\\b(?i:Keep|Zero|Replace|IncrSat|DecrSat|Invert|IncrWrap|DecrWrap)\\b"
},
{
"name": "support.constant.property-value.texturecombiners.shaderlab",
"match": "\\b(?i:Previous|Primary|Texture|Constant|Lerp|Double|Quad|Alpha)\\b"
},
{
"name": "support.constant.property-value.fog.shaderlab",
"match": "\\b(?i:Global|Linear|Exp2|Exp)\\b"
},
{
"name": "support.constant.property-value.bindchannels.shaderlab",
"match": "\\b(?i:Vertex|Normal|Tangent|TexCoord0|TexCoord1)\\b"
},
{
"name": "support.constant.property-value.blendoperations.shaderlab",
"match": "\\b(?i:Add|Sub|RevSub|Min|Max|LogicalClear|LogicalSet|LogicalCopyInverted|LogicalCopy|LogicalNoop|LogicalInvert|LogicalAnd|LogicalNand|LogicalOr|LogicalNor|LogicalXor|LogicalEquiv|LogicalAndReverse|LogicalAndInverted|LogicalOrReverse|LogicalOrInverted)\\b"
},
{
"name": "support.constant.property-value.blendfactors.shaderlab",
"match": "\\b(?i:One|Zero|SrcColor|SrcAlpha|DstColor|DstAlpha|OneMinusSrcColor|OneMinusSrcAlpha|OneMinusDstColor|OneMinusDstAlpha)\\b"
},
{
"name": "support.variable.reference.shaderlab",
"match": "\\[([a-zA-Z_][a-zA-Z0-9_]*)\\](?!\\s*[a-zA-Z_][a-zA-Z0-9_]*\\s*\\(\")"
},
{
"name": "meta.attribute.shaderlab",
"begin": "(\\[)",
"end": "(\\])",
"patterns": [
{
"name": "support.type.attributename.shaderlab",
"match": "\\G([a-zA-Z]+)\\b"
},
{
"include": "#numbers"
}
]
},
{
"name": "support.variable.declaration.shaderlab",
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\("
},
{
"name": "meta.cgblock",
"begin": "\\b(CGPROGRAM|CGINCLUDE)\\b",
"beginCaptures": {
"1": {
"name": "keyword.other"
}
},
"end": "\\b(ENDCG)\\b",
"endCaptures": {
"1": {
"name": "keyword.other"
}
},
"patterns": [
{
"include": "source.hlsl"
},
{
"name": "storage.type.basic.shaderlab",
"match": "\\b(fixed([1-4](x[1-4])?)?)\\b"
},
{
"name": "support.variable.transformations.shaderlab",
"match": "\\b(UNITY_MATRIX_MVP|UNITY_MATRIX_MV|UNITY_MATRIX_V|UNITY_MATRIX_P|UNITY_MATRIX_VP|UNITY_MATRIX_T_MV|UNITY_MATRIX_IT_MV|_Object2World|_World2Object)\\b"
},
{
"name": "support.variable.camera.shaderlab",
"match": "\\b(_WorldSpaceCameraPos|_ProjectionParams|_ScreenParams|_ZBufferParams|unity_OrthoParams|unity_CameraProjection|unity_CameraInvProjection|unity_CameraWorldClipPlanes)\\b"
},
{
"name": "support.variable.time.shaderlab",
"match": "\\b(_Time|_SinTime|_CosTime|unity_DeltaTime)\\b"
},
{
"name": "support.variable.lighting.shaderlab",
"match": "\\b(_LightColor0|_WorldSpaceLightPos0|_LightMatrix0|unity_4LightPosX0|unity_4LightPosY0|unity_4LightPosZ0|unity_4LightAtten0|unity_LightColor|_LightColor|unity_LightPosition|unity_LightAtten|unity_SpotDirection)\\b"
},
{
"name": "support.variable.fog.shaderlab",
"match": "\\b(unity_AmbientSky|unity_AmbientEquator|unity_AmbientGround|UNITY_LIGHTMODEL_AMBIENT|unity_FogColor|unity_FogParams)\\b"
},
{
"name": "support.variable.various.shaderlab",
"match": "\\b(unity_LODFade)\\b"
},
{
"name": "support.variable.preprocessor.targetplatform.shaderlab",
"match": "\\b(SHADER_API_D3D9|SHADER_API_D3D11|SHADER_API_GLCORE|SHADER_API_OPENGL|SHADER_API_GLES|SHADER_API_GLES3|SHADER_API_METAL|SHADER_API_D3D11_9X|SHADER_API_PSSL|SHADER_API_XBOXONE|SHADER_API_PSP2|SHADER_API_WIIU|SHADER_API_MOBILE|SHADER_API_GLSL)\\b"
},
{
"name": "support.variable.preprocessor.targetmodel.shaderlab",
"match": "\\b(SHADER_TARGET)\\b"
},
{
"name": "support.variable.preprocessor.unityversion.shaderlab",
"match": "\\b(UNITY_VERSION)\\b"
},
{
"name": "support.variable.preprocessor.platformdifference.shaderlab",
"match": "\\b(UNITY_BRANCH|UNITY_FLATTEN|UNITY_NO_SCREENSPACE_SHADOWS|UNITY_NO_LINEAR_COLORSPACE|UNITY_NO_RGBM|UNITY_NO_DXT5nm|UNITY_FRAMEBUFFER_FETCH_AVAILABLE|UNITY_USE_RGBA_FOR_POINT_SHADOWS|UNITY_ATTEN_CHANNEL|UNITY_HALF_TEXEL_OFFSET|UNITY_UV_STARTS_AT_TOP|UNITY_MIGHT_NOT_HAVE_DEPTH_Texture|UNITY_NEAR_CLIP_VALUE|UNITY_VPOS_TYPE|UNITY_CAN_COMPILE_TESSELLATION|UNITY_COMPILER_HLSL|UNITY_COMPILER_HLSL2GLSL|UNITY_COMPILER_CG|UNITY_REVERSED_Z)\\b"
},
{
"name": "support.variable.preprocessor.texture2D.shaderlab",
"match": "\\b(UNITY_PASS_FORWARDBASE|UNITY_PASS_FORWARDADD|UNITY_PASS_DEFERRED|UNITY_PASS_SHADOWCASTER|UNITY_PASS_PREPASSBASE|UNITY_PASS_PREPASSFINAL)\\b"
},
{
"name": "support.class.structures.shaderlab",
"match": "\\b(appdata_base|appdata_tan|appdata_full|appdata_img)\\b"
},
{
"name": "support.class.surface.shaderlab",
"match": "\\b(SurfaceOutputStandardSpecular|SurfaceOutputStandard|SurfaceOutput|Input)\\b"
}
]
},
{
"name": "string.quoted.double.shaderlab",
"begin": "\"",
"end": "\""
}
],
"repository": {
"numbers": {
"patterns": [
{
"name": "constant.numeric.shaderlab",
"match": "\\b([0-9]+\\.?[0-9]*)\\b"
}
]
}
},
"version": "https://github.com/tgjones/shaders-tmLanguage/commit/cd1ef40f549f9ce2b9e6b73498688de114a85382"
}
5 changes: 2 additions & 3 deletions extensions/shaderlab/OSSREADME.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
// ATTENTION - THIS DIRECTORY CONTAINS THIRD PARTY OPEN SOURCE MATERIALS:

[{
"name": "shaders-tmLanguage-shaderlab",
"name": "shaders-tmLanguage",
"version": "0.1.0",
"license": "MIT",
"repositoryURL": "https://github.com/tgjones/shaders-tmLanguage",
"description": "The file syntaxes/shaderlab.json was included from https://github.com/tgjones/shaders-tmLanguage/blob/master/grammars/shaderlab.json."
"repositoryURL": "https://github.com/tgjones/shaders-tmLanguage"
}]
38 changes: 26 additions & 12 deletions extensions/shaderlab/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,32 @@
"name": "shaderlab",
"version": "0.1.0",
"publisher": "vscode",
"engines": { "vscode": "*" },
"engines": {
"vscode": "*"
},
"scripts": {
"update-grammar": "node ../../build/npm/update-grammar.js tgjones/shaders-tmLanguage grammars/shaderlab.json ./syntaxes/shaderlab.json"
},
"contributes": {
"languages": [{
"id": "shaderlab",
"extensions": [".shader"],
"aliases": ["ShaderLab", "shaderlab"],
"configuration": "./language-configuration.json"
}],
"grammars": [{
"language": "shaderlab",
"path": "./syntaxes/shaderlab.json",
"scopeName":"source.shaderlab"
}]
"languages": [
{
"id": "shaderlab",
"extensions": [
".shader"
],
"aliases": [
"ShaderLab",
"shaderlab"
],
"configuration": "./language-configuration.json"
}
],
"grammars": [
{
"language": "shaderlab",
"path": "./syntaxes/shaderlab.json",
"scopeName": "source.shaderlab"
}
]
}
}
5 changes: 3 additions & 2 deletions extensions/shaderlab/syntaxes/shaderlab.json
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@
{
"include": "source.hlsl"
},
{
{
"name": "storage.type.basic.shaderlab",
"match": "\\b(fixed([1-4](x[1-4])?)?)\\b"
},
Expand Down Expand Up @@ -170,5 +170,6 @@
}
]
}
}
},
"version": "https://github.com/tgjones/shaders-tmLanguage/commit/cd1ef40f549f9ce2b9e6b73498688de114a85382"
}

0 comments on commit a734c13

Please sign in to comment.