Horde3D

Next-Generation Graphics Engine
It is currently 21.11.2024, 23:38

All times are UTC + 1 hour




Post new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: 24.04.2017, 14:57 
Offline
Tool Developer

Joined: 13.11.2007, 11:07
Posts: 1150
Location: Germany
I created a KDE Kate syntax highlight file for Horde3D's shader. Not perfect, but better than no highlight at all:

Code:
<language name="Horde3D/Shader" version="1" kateversion="2.4" section="3D" extensions="*.shader">
   <highlighting>
      <list name="fx_datatypes">
         <item>sampler2D</item>
         <item>samplerCube</item>
         <item>sampler3D</item>
         <item>float</item>
         <item>Texture</item>
         <item>ComputeImageRO</item>
         <item>ComputeImageWO</item>
         <item>ComputeImageRW</item>
      </list>

      <list name="fx_keywords">
         <item>OpenGL4</item>
      </list>
      <list name="sympler_types">
         <item>sampler_state</item>
         <item>Texture</item>
         <item>TexUnit</item>
         <item>Address</item>
         <item>Filter</item>
         <item>MaxAnisotropy</item>
         <item>Usage</item>
     </list>
     <list name="context_keywords">
         <item>VertexShader</item>
         <item>PixelShader</item>
         <item>GeometryShader</item>
         <item>ComputeShader</item>
         <item>TessEvalShader</item>
         <item>TessControlShader</item>
         <item>ZWriteEnable</item>
         <item>ZEnable</item>
         <item>ZFunc</item>
         <item>BlendMode</item>
         <item>CullMode</item>
         <item>AlphaToCoverage</item>
         <item>TessPatchVertices</item>
      </list>
      <contexts>
         <context attribute="Normaltext" lineEndContext="#stay" name="none">
            <StringDetect String="[[FX]]" attribute="Section" context="fx_section"/>
         </context>
         <context attribute="Normaltext" lineEndContext="#stay" name="fx_section">
            <RegExpr String="^\[\[VS_[a-zA-Z0-9_]+\]]" attribute="Section" context="#pop!vs_section"/>
            <RegExpr String="^\[\[FS_[a-zA-Z0-9_]+\]]" attribute="Section" context="#pop!fs_section"/>
            <DetectChar attribute="String" context="string" char="""/>
            <StringDetect String="sampler_state" attribute="FX_Keyword" context="samplerDef"/>
           <RegExpr String="context\s*\w+\s*" attribute="FX_Keyword" context="context" beginRegion="context"/>
           <keyword attribute="FX_Datatype" String="fx_datatypes" context="#stay"/>
           <keyword attribute="FX_Keyword" String="fx_keywords" context="#stay"/>
           <Float attribute="Float" context="#stay"/>
           <Detect2Chars attribute="Comment" context="CommentSingleLine" char="/" char1="/"/>
           <Detect2Chars attribute="Comment" context="CommentMultiLine" char="/" char1="*" beginRegion="Comment"/>
         </context>
         <context attribute="Normaltext" lineEndContext="#stay" name="samplerDef">
            <keyword attribute="Sampler" String="sampler_types" context="#stay"/>
            <Detect2Chars context="#pop" char="}" char1=";"/>
         </context>
         <context attribute="Normaltext" lineEndContext="#stay" name="context">
            <keyword attribute="Sampler" String="context_keywords" context="#stay"/>
            <DetectChar context="#pop" char="}" endRegion="context"/>
         </context>
         <context name="CommentSingleLine" attribute="Comment" lineEndContext="#pop"></context>
         <context name="CommentMultiLine" attribute="Comment" lineEndContext="#stay">
            <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
         </context>
         <context attribute="Normaltext" lineEndContext="#stay" name="vs_section">
            <DetectChar attribute="String" context="string" char="""/>
            <RegExpr String="^\[\[FS_[a-zA-Z0-9_]+\]]" attribute="Section" context="#pop!fs_section"/>
            <RegExpr String="^\[\[VS_[a-zA-Z0-9_]+\]]" attribute="Section" context="#pop#pop!vs_section"/>
            <IncludeRules context="##GLSL"/>
         </context>
         <context attribute="Normaltext" lineEndContext="#stay" name="fs_section">
            <RegExpr String="^\[\[FS_[a-zA-Z0-9_]+\]]" attribute="Section" context="#pop!fs_section"/>
            <RegExpr String="^\[\[VS_[a-zA-Z0-9_]+\]]" attribute="Section" context="#pop#pop!vs_section"/>
            <DetectChar attribute="String" context="string" char="""/>
            <IncludeRules context="##GLSL"/>
         </context>
         <context attribute="String" lineEndContext="#stay" name="string">
            <DetectChar attribute="String" context="#pop" char="""/>
         </context>
      </contexts>
      <itemDatas>
         <itemData name="String" defStyleNum="dsString"/>
         <itemData name="FX_Datatype" defStyleNum="dsDataType"/>
         <itemData name="FX_Keyword" defStyleNum="dsNormal" bold="1"/>
         <itemData name="Section" defStyleNum="dsNormal" bold="1"/>
         <itemData name="Sampler" defStyleNum="dsNormal" bold="1"/>
         <itemData name="Comment" defStyleNum="dsComment"/>
         <itemData name="Float" defStyleNum="dsFloat"/>
      </itemDatas>
   </highlighting>
   <general>
      <comments>
         <comment name="singleLine" start="//"/>
         <comment name="multiLine" start="/*" end="*/"/>
      </comments>
      <keywords casesensitive="1"/>
    </general>
</language>


Store it as "Horde3D.xml" in the following subfolder of your home folder: .local/share/org.kde.syntax-highlighting/syntax/
Kate should now highlight the Horde3D's shader files based on the default GLSL syntax highlight of Kate


Top
 Profile  
Reply with quote  
PostPosted: 24.04.2017, 15:34 
Offline

Joined: 17.11.2009, 17:00
Posts: 205
Location: Russia, Moscow
Great, thanks for sharing!
You should probably add it to wiki.
I'll share my notepad++ configuration:
Code:
<NotepadPlus>
    <UserLang name="Horde3D" ext="vert frag geom tesc tese v f g shader" udlVersion="2.1">
        <Settings>
            <Global caseIgnored="no" allowFoldOfComments="yes" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
            <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="yes" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
        </Settings>
        <KeywordLists>
            <Keywords name="Comments">00// 01 02 03/* 04*/</Keywords>
            <Keywords name="Numbers, prefix1"></Keywords>
            <Keywords name="Numbers, prefix2"></Keywords>
            <Keywords name="Numbers, extras1"></Keywords>
            <Keywords name="Numbers, extras2"></Keywords>
            <Keywords name="Numbers, suffix1"></Keywords>
            <Keywords name="Numbers, suffix2"></Keywords>
            <Keywords name="Numbers, range"></Keywords>
            <Keywords name="Operators1">- ! ( ) , . ; [ ] + &lt; = &gt;</Keywords>
            <Keywords name="Operators2"></Keywords>
            <Keywords name="Folders in code1, open">{</Keywords>
            <Keywords name="Folders in code1, middle"></Keywords>
            <Keywords name="Folders in code1, close">}; }</Keywords>
            <Keywords name="Folders in code2, open"></Keywords>
            <Keywords name="Folders in code2, middle"></Keywords>
            <Keywords name="Folders in code2, close"></Keywords>
            <Keywords name="Folders in comment, open"></Keywords>
            <Keywords name="Folders in comment, middle"></Keywords>
            <Keywords name="Folders in comment, close"></Keywords>
            <Keywords name="Keywords1">attribute const uniform varying buffer shared&#x000D;&#x000A;coherent volatile restrict readonly writeonly&#x000D;&#x000A;struct&#x000D;&#x000A;layout&#x000D;&#x000A;centroid flat smooth noperspective&#x000D;&#x000A;patch sample&#x000D;&#x000A;break continue do for while switch case default &#x000D;&#x000A;if else&#x000D;&#x000A;subroutine&#x000D;&#x000A;in out inout&#x000D;&#x000A;true false&#x000D;&#x000A;invariant&#x000D;&#x000A;discard return&#x000D;&#x000A;&#x000D;&#x000A;lowp mediump highp precision&#x000D;&#x000A;std140 std430 packed binding&#x000D;&#x000A;&#x000D;&#x000A;context [[FX]] compile</Keywords>
            <Keywords name="Keywords2">sampler1D sampler2D sampler3D samplerCube&#x000D;&#x000A;sampler1DShadow sampler2DShadow samplerCubeShadow&#x000D;&#x000A;sampler1DArray sampler2DArray&#x000D;&#x000A;sampler1DArrayShadow sampler2DArrayShadow&#x000D;&#x000A;isampler1D isampler2D isampler3D isamplerCube&#x000D;&#x000A;isampler1DArray isampler2DArray&#x000D;&#x000A;usampler1D usampler2D usampler3D usamplerCube&#x000D;&#x000A;usampler1DArray usampler2DArray&#x000D;&#x000A;sampler2DRect sampler2DRectShadow isampler2DRect usampler2DRect&#x000D;&#x000A;samplerBuffer isamplerBuffer usamplerBuffer&#x000D;&#x000A;sampler2DMS isampler2DMS usampler2DMS&#x000D;&#x000A;sampler2DMSArray isampler2DMSArray usampler2DMSArray&#x000D;&#x000A;samplerCubeArray samplerCubeArrayShadow isamplerCubeArray usamplerCubeArray&#x000D;&#x000A;image1D iimage1D uimage1D&#x000D;&#x000A;image2D iimage2D uimage2D&#x000D;&#x000A;image3D iimage3D uimage3D&#x000D;&#x000A;image2DRect iimage2DRect uimage2DRect&#x000D;&#x000A;imageCube iimageCube uimageCube&#x000D;&#x000A;imageBuffer iimageBuffer uimageBuffer&#x000D;&#x000A;image1DArray iimage1DArray uimage1DArray&#x000D;&#x000A;image2DArray iimage2DArray uimage2DArray&#x000D;&#x000A;imageCubeArray iimageCubeArray uimageCubeArray&#x000D;&#x000A;image2DMS iimage2DMS uimage2DMS&#x000D;&#x000A;image2DMSArray iimage2DMSArray uimage2DMSArray&#x000D;&#x000A;atomic_uint&#x000D;&#x000A;mat2 mat3 mat4 dmat2 dmat3 dmat4&#x000D;&#x000A;mat2x2 mat2x3 mat2x4 dmat2x2 dmat2x3 dmat2x4&#x000D;&#x000A;mat3x2 mat3x3 mat3x4 dmat3x2 dmat3x3 dmat3x4&#x000D;&#x000A;mat4x2 mat4x3 mat4x4 dmat4x2 dmat4x3 dmat4x4&#x000D;&#x000A;vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 dvec2 dvec3 dvec4 float double int void bool &#x000D;&#x000A;uint uvec2 uvec3 uvec4&#x000D;&#x000A;x y z w xy xyz xyzw r g b a rgb rgba s t p q st stp&#x000D;&#x000A;points triangle_strip max_vertices&#x000D;&#x000A;&#x000D;&#x000A;float4&#x000D;&#x000A;Wrap Clamp None Bilinear Trilinear Always Equal Less LessEqual Greater GreaterEqual Replace Blend Add AddBlended Mult Back Front </Keywords>
            <Keywords name="Keywords3">#&#x000D;&#x000A;#define&#x000D;&#x000A;#undef&#x000D;&#x000A;#if&#x000D;&#x000A;#ifdef&#x000D;&#x000A;#ifndef&#x000D;&#x000A;#else&#x000D;&#x000A;#elif&#x000D;&#x000A;#endif&#x000D;&#x000A;#error&#x000D;&#x000A;#pragma&#x000D;&#x000A;#extension &#x000D;&#x000A;#version &#x000D;&#x000A;#line&#x000D;&#x000A;#include</Keywords>
            <Keywords name="Keywords4">gl_NumWorkGroups&#x000D;&#x000A;gl_WorkGroupSize&#x000D;&#x000A;gl_WorkGroupID&#x000D;&#x000A;gl_LocalInvocationID&#x000D;&#x000A;gl_GlobalInvocationID&#x000D;&#x000A;gl_LocalInvocationIndex&#x000D;&#x000A;gl_VertexID&#x000D;&#x000A;gl_InstanceID&#x000D;&#x000A;gl_PerVertex &#x000D;&#x000A;gl_Position&#x000D;&#x000A;gl_PointSize&#x000D;&#x000A;gl_ClipDistance&#x000D;&#x000A;gl_in&#x000D;&#x000A;gl_PrimitiveIDIn&#x000D;&#x000A;gl_InvocationID&#x000D;&#x000A;gl_Layer&#x000D;&#x000A;gl_ViewportIndex&#x000D;&#x000A;gl_PatchVerticesIn&#x000D;&#x000A;gl_InvocationID&#x000D;&#x000A;gl_out&#x000D;&#x000A;gl_TessLevelOuter&#x000D;&#x000A;gl_TessLevelInner&#x000D;&#x000A;gl_PatchVerticesIn&#x000D;&#x000A;gl_PrimitiveID&#x000D;&#x000A;gl_TessCoord&#x000D;&#x000A;gl_FragCoord&#x000D;&#x000A;gl_FrontFacing&#x000D;&#x000A;gl_ClipDistance&#x000D;&#x000A;gl_PointCoord&#x000D;&#x000A;gl_PrimitiveID&#x000D;&#x000A;gl_SampleID&#x000D;&#x000A;gl_SamplePosition&#x000D;&#x000A;gl_SampleMaskIn&#x000D;&#x000A;gl_Layer&#x000D;&#x000A;gl_ViewportIndex&#x000D;&#x000A;gl_FragDepth&#x000D;&#x000A;gl_SampleMask</Keywords>
            <Keywords name="Keywords5">gl_MaxComputeWorkGroupCount&#x000D;&#x000A;gl_MaxComputeWorkGroupSize&#x000D;&#x000A;gl_MaxComputeUniformComponents&#x000D;&#x000A;gl_MaxComputeTextureImageUnits&#x000D;&#x000A;gl_MaxComputeImageUniforms&#x000D;&#x000A;gl_MaxComputeAtomicCounters&#x000D;&#x000A;gl_MaxComputeAtomicCounterBuffers&#x000D;&#x000A;gl_MaxVertexAttribs&#x000D;&#x000A;gl_MaxVertexUniformComponents&#x000D;&#x000A;gl_MaxVaryingComponents&#x000D;&#x000A;gl_MaxVertexOutputComponents&#x000D;&#x000A;gl_MaxGeometryInputComponents&#x000D;&#x000A;gl_MaxGeometryOutputComponents&#x000D;&#x000A;gl_MaxFragmentInputComponents&#x000D;&#x000A;gl_MaxVertexTextureImageUnits&#x000D;&#x000A;gl_MaxCombinedTextureImageUnits&#x000D;&#x000A;gl_MaxTextureImageUnits&#x000D;&#x000A;gl_MaxImageUnits &#x000D;&#x000A;gl_MaxCombinedImageUnitsAndFragmentOutputs&#x000D;&#x000A;gl_MaxImageSamples&#x000D;&#x000A;gl_MaxVertexImageUniforms&#x000D;&#x000A;gl_MaxTessControlImageUniforms&#x000D;&#x000A;gl_MaxTessEvaluationImageUniforms&#x000D;&#x000A;gl_MaxGeometryImageUniforms&#x000D;&#x000A;gl_MaxFragmentImageUniforms&#x000D;&#x000A;gl_MaxCombinedImageUniforms&#x000D;&#x000A;gl_MaxFragmentUniformComponents&#x000D;&#x000A;gl_MaxDrawBuffers&#x000D;&#x000A;gl_MaxClipDistances&#x000D;&#x000A;gl_MaxGeometryTextureImageUnits&#x000D;&#x000A;gl_MaxGeometryOutputVertices&#x000D;&#x000A;gl_MaxGeometryTotalOutputComponents&#x000D;&#x000A;gl_MaxGeometryUniformComponents&#x000D;&#x000A;gl_MaxGeometryVaryingComponents&#x000D;&#x000A;gl_MaxTessControlInputComponents &#x000D;&#x000A;gl_MaxTessControlOutputComponents &#x000D;&#x000A;gl_MaxTessControlTextureImageUnits &#x000D;&#x000A;gl_MaxTessControlUniformComponents &#x000D;&#x000A;gl_MaxTessControlTotalOutputComponents &#x000D;&#x000A;gl_MaxTessEvaluationInputComponents &#x000D;&#x000A;gl_MaxTessEvaluationOutputComponents &#x000D;&#x000A;gl_MaxTessEvaluationTextureImageUnits &#x000D;&#x000A;gl_MaxTessEvaluationUniformComponents &#x000D;&#x000A;gl_MaxTessPatchComponents &#x000D;&#x000A;gl_MaxPatchVertices &#x000D;&#x000A;gl_MaxTessGenLevel &#x000D;&#x000A;gl_MaxViewports &#x000D;&#x000A;gl_MaxVertexUniformVectors &#x000D;&#x000A;gl_MaxFragmentUniformVectors &#x000D;&#x000A;gl_MaxVaryingVectors &#x000D;&#x000A;gl_MaxVertexAtomicCounters &#x000D;&#x000A;gl_MaxTessControlAtomicCounters &#x000D;&#x000A;gl_MaxTessEvaluationAtomicCounters &#x000D;&#x000A;gl_MaxGeometryAtomicCounters &#x000D;&#x000A;gl_MaxFragmentAtomicCounters &#x000D;&#x000A;gl_MaxCombinedAtomicCounters &#x000D;&#x000A;gl_MaxAtomicCounterBindings &#x000D;&#x000A;gl_MaxVertexAtomicCounterBuffers &#x000D;&#x000A;gl_MaxTessControlAtomicCounterBuffers &#x000D;&#x000A;gl_MaxTessEvaluationAtomicCounterBuffers &#x000D;&#x000A;gl_MaxGeometryAtomicCounterBuffers &#x000D;&#x000A;gl_MaxFragmentAtomicCounterBuffers &#x000D;&#x000A;gl_MaxCombinedAtomicCounterBuffers &#x000D;&#x000A;gl_MaxAtomicCounterBufferSize &#x000D;&#x000A;gl_MinProgramTexelOffset &#x000D;&#x000A;gl_MaxProgramTexelOffset</Keywords>
            <Keywords name="Keywords6">radians&#x000D;&#x000A;degrees&#x000D;&#x000A;sin&#x000D;&#x000A;cos&#x000D;&#x000A;tan&#x000D;&#x000A;asin&#x000D;&#x000A;acos&#x000D;&#x000A;atan&#x000D;&#x000A;sinh&#x000D;&#x000A;cosh&#x000D;&#x000A;tanh&#x000D;&#x000A;asinh&#x000D;&#x000A;acosh&#x000D;&#x000A;atanh&#x000D;&#x000A;pow&#x000D;&#x000A;exp&#x000D;&#x000A;log&#x000D;&#x000A;exp2&#x000D;&#x000A;log2&#x000D;&#x000A;sqrt&#x000D;&#x000A;inversqrt&#x000D;&#x000A;abs&#x000D;&#x000A;sign&#x000D;&#x000A;floor&#x000D;&#x000A;trunc&#x000D;&#x000A;round&#x000D;&#x000A;roundEven&#x000D;&#x000A;ceil&#x000D;&#x000A;fract&#x000D;&#x000A;mod&#x000D;&#x000A;modf&#x000D;&#x000A;min&#x000D;&#x000A;max&#x000D;&#x000A;clamp&#x000D;&#x000A;mix&#x000D;&#x000A;step&#x000D;&#x000A;smoothstep&#x000D;&#x000A;isnan&#x000D;&#x000A;isinf&#x000D;&#x000A;floatBitsToInt&#x000D;&#x000A;floatBitsToUInt&#x000D;&#x000A;intBitsToFloat&#x000D;&#x000A;uintBitsToFloat&#x000D;&#x000A;fma&#x000D;&#x000A;frexp&#x000D;&#x000A;ldexp&#x000D;&#x000A;packUnorm2x16&#x000D;&#x000A;packSnorm2x16&#x000D;&#x000A;packUnorm4x8&#x000D;&#x000A;packSnorm4x8&#x000D;&#x000A;unpackUnorm2x16&#x000D;&#x000A;unpackSnorm2x16&#x000D;&#x000A;unpackUnorm4x8&#x000D;&#x000A;unpackSnorm4x8 &#x000D;&#x000A;packDouble2x32&#x000D;&#x000A;unpackDouble2x32&#x000D;&#x000A;packHalf2x16&#x000D;&#x000A;unpackHalf2x16&#x000D;&#x000A;length&#x000D;&#x000A;distance&#x000D;&#x000A;dot&#x000D;&#x000A;cross&#x000D;&#x000A;normalize&#x000D;&#x000A;faceforward&#x000D;&#x000A;reflect&#x000D;&#x000A;refract&#x000D;&#x000A;matrixCompMult&#x000D;&#x000A;outerProduct&#x000D;&#x000A;transpose&#x000D;&#x000A;determinant&#x000D;&#x000A;inverse&#x000D;&#x000A;lessThan&#x000D;&#x000A;lessThanEqual&#x000D;&#x000A;greaterThan&#x000D;&#x000A;greaterThanEqual&#x000D;&#x000A;equal&#x000D;&#x000A;notEqual&#x000D;&#x000A;any&#x000D;&#x000A;all&#x000D;&#x000A;not&#x000D;&#x000A;uaddCarry&#x000D;&#x000A;usubBorrow&#x000D;&#x000A;umulExtended&#x000D;&#x000A;imulExtended&#x000D;&#x000A;bitfieldExtract&#x000D;&#x000A;bitfieldInsert&#x000D;&#x000A;bitfieldReverse&#x000D;&#x000A;findLSB&#x000D;&#x000A;bitCount&#x000D;&#x000A;findMSB&#x000D;&#x000A;textureSize&#x000D;&#x000A;textureQueryLod&#x000D;&#x000A;textureQueryLevels&#x000D;&#x000A;texture&#x000D;&#x000A;textureProj&#x000D;&#x000A;textureLod&#x000D;&#x000A;textureOffset&#x000D;&#x000A;texelFetch&#x000D;&#x000A;texelFetchOffset&#x000D;&#x000A;textureProjOffset&#x000D;&#x000A;textureLodOffset&#x000D;&#x000A;textureProjLod&#x000D;&#x000A;textureProjLodOffset&#x000D;&#x000A;textureGrad&#x000D;&#x000A;textureGradOffset&#x000D;&#x000A;textureProjGrad&#x000D;&#x000A;textureProjGradOffset&#x000D;&#x000A;textureGather&#x000D;&#x000A;textureGatherOffset&#x000D;&#x000A;textureGatherOffsets&#x000D;&#x000A;texture1D &#x000D;&#x000A;texture1DProj&#x000D;&#x000A;texture1DLod&#x000D;&#x000A;texture1DProjLod&#x000D;&#x000A;texture2D&#x000D;&#x000A;texture2DProj&#x000D;&#x000A;texture2DLod&#x000D;&#x000A;texture2DProjLod&#x000D;&#x000A;texture3D&#x000D;&#x000A;texture3DProj&#x000D;&#x000A;texture3DLod&#x000D;&#x000A;texture3DProjLod&#x000D;&#x000A;textureCube&#x000D;&#x000A;textureCubeLod&#x000D;&#x000A;shadow1D&#x000D;&#x000A;shadow2D&#x000D;&#x000A;shadow1DProj&#x000D;&#x000A;shadow2DProj&#x000D;&#x000A;shadow1DLod&#x000D;&#x000A;shadow2DLod&#x000D;&#x000A;shadow1DProjLod&#x000D;&#x000A;shadow2DProjLod&#x000D;&#x000A;atomicCounterIncrement&#x000D;&#x000A;atomicCounterDecrement&#x000D;&#x000A;atomicCounter&#x000D;&#x000A;atomicAdd&#x000D;&#x000A;atomicMin&#x000D;&#x000A;atomicMax&#x000D;&#x000A;atomicAnd&#x000D;&#x000A;atomicOr&#x000D;&#x000A;atomicXor&#x000D;&#x000A;atomicExchange&#x000D;&#x000A;atomicCompSwap&#x000D;&#x000A;imageSize&#x000D;&#x000A;imageLoad&#x000D;&#x000A;imageStore&#x000D;&#x000A;imageAtomicAdd&#x000D;&#x000A;imageAtomicMin&#x000D;&#x000A;imageAtomicMax&#x000D;&#x000A;imageAtomicAnd&#x000D;&#x000A;imageAtomicOr&#x000D;&#x000A;imageAtomicXor&#x000D;&#x000A;imageAtomicExchange&#x000D;&#x000A;imageAtomicCompSwap&#x000D;&#x000A;dFdx&#x000D;&#x000A;dFdy&#x000D;&#x000A;fwidth&#x000D;&#x000A;interpolateAtCentroid&#x000D;&#x000A;interpolateAtSample&#x000D;&#x000A;interpolateAtOffset&#x000D;&#x000A;noise1&#x000D;&#x000A;noise2&#x000D;&#x000A;noise3&#x000D;&#x000A;noise4&#x000D;&#x000A;EmitStreamVertex&#x000D;&#x000A;EndStreamPrimitive&#x000D;&#x000A;EmitVertex&#x000D;&#x000A;EndPrimitive&#x000D;&#x000A;barrier&#x000D;&#x000A;memoryBarrier&#x000D;&#x000A;memoryBarrierAtomicCounter&#x000D;&#x000A;memoryBarrierBuffer&#x000D;&#x000A;memoryBarrierShared&#x000D;&#x000A;memoryBarrierImage&#x000D;&#x000A;groupMemoryBarrier</Keywords>
            <Keywords name="Keywords7">VertexShader PixelShader GeometryShader ComputeShader TessEvalShader TessControlShader ZWriteEnable ZEnable ZFunc BlendMode CullMode AlphaToCoverage TessPatchVertices&#x000D;&#x000A;Texture TexUnit Address Filter MaxAnisotropy Usage</Keywords>
            <Keywords name="Keywords8"></Keywords>
            <Keywords name="Delimiters">00&quot; 01 02&quot; 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
        </KeywordLists>
        <Styles>
            <WordsStyle name="DEFAULT" fgColor="242424" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="COMMENTS" fgColor="008040" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
            <WordsStyle name="LINE COMMENTS" fgColor="008040" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
            <WordsStyle name="NUMBERS" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS1" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS2" fgColor="408080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS3" fgColor="C46200" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS4" fgColor="8080FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS6" fgColor="FF8040" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS7" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="OPERATORS" fgColor="242424" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="FOLDER IN CODE1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS1" fgColor="808000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="32769" />
            <WordsStyle name="DELIMITERS2" fgColor="363636" bgColor="FFFFFF" fontName="" fontStyle="7" nesting="0" />
            <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
        </Styles>
    </UserLang>
</NotepadPlus>


Just import it in user defined languages dialog.
P.S. Maybe rename this thread to something like "Horde3D Shader Syntax Highlighting" and stick it? And use this thread for sharing of highlighting methods in different editors?


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 17 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group