1e5c31af7Sopenharmony_ci%YAML 1.2 2e5c31af7Sopenharmony_ci--- 3e5c31af7Sopenharmony_ciname: amber 4e5c31af7Sopenharmony_cifile_extensions: [amber] 5e5c31af7Sopenharmony_ciscope: source.amber 6e5c31af7Sopenharmony_cicontexts: 7e5c31af7Sopenharmony_ci main: 8e5c31af7Sopenharmony_ci # Strings begin and end with quotes, and use backslashes as an escape 9e5c31af7Sopenharmony_ci # character 10e5c31af7Sopenharmony_ci - match: '"' 11e5c31af7Sopenharmony_ci scope: punctuation.definition.string.begin.amber 12e5c31af7Sopenharmony_ci push: double_quoted_string 13e5c31af7Sopenharmony_ci 14e5c31af7Sopenharmony_ci # Comments begin with a '#' and finish at the end of the line 15e5c31af7Sopenharmony_ci - match: '#' 16e5c31af7Sopenharmony_ci scope: punctuation.definition.comment.amber 17e5c31af7Sopenharmony_ci push: line_comment 18e5c31af7Sopenharmony_ci 19e5c31af7Sopenharmony_ci # Keywords 20e5c31af7Sopenharmony_ci - match: '\b(END|SHADER|BUFFER|DATA_TYPE|SIZE|DATA|FILL|SERIES_FROM)\b' 21e5c31af7Sopenharmony_ci scope: keyword.control.amber 22e5c31af7Sopenharmony_ci - match: '\b(PASSTHROUGH|PIPELINE|ATTACH|ENTRY_POINT|DESCRIPTOR_SET|INC_BY)\b' 23e5c31af7Sopenharmony_ci scope: keyword.control.amber 24e5c31af7Sopenharmony_ci - match: '\b(BINDING|IDX|TO|RUN|DRAW_RECT|POS|DRAW_GRID|CELLS|DRAW_ARRAY|IN|AS|START_IDX)\b' 25e5c31af7Sopenharmony_ci scope: keyword.control.amber 26e5c31af7Sopenharmony_ci - match: '\b(COUNT|CLEAR_COLOR|CLEAR|EXPECT|TYPE|FRAMEBUFFER|SHADER_OPTIMIZATION)\b' 27e5c31af7Sopenharmony_ci scope: keyword.control.amber 28e5c31af7Sopenharmony_ci - match: '\b(FORMAT|FRAMEBUFFER_SIZE|BIND|SAMPLER|VERTEX_DATA|INDEX_DATA|INDEXED)\b' 29e5c31af7Sopenharmony_ci scope: keyword.control.amber 30e5c31af7Sopenharmony_ci - match: '\b(IMAGE_ATTACHMENT|DEPTH_STENCIL_ATTACHMENT|LOCATION|DEVICE_FEATURE)\b' 31e5c31af7Sopenharmony_ci scope: keyword.control.amber 32e5c31af7Sopenharmony_ci - match: '\b(DERIVE_PIPELINE|FROM|STD140|STD430)\b' 33e5c31af7Sopenharmony_ci scope: keyword.control.amber 34e5c31af7Sopenharmony_ci - match : '\b(COPY|TOLERANCE|REPEAT)\b' 35e5c31af7Sopenharmony_ci scope: keyword.control.amber 36e5c31af7Sopenharmony_ci 37e5c31af7Sopenharmony_ci - match: '\b(vertex|fragment|compute|geometry|tessellation_evaluation|tessellation_control|multi)\b' 38e5c31af7Sopenharmony_ci scope: constant.character.escape.amber 39e5c31af7Sopenharmony_ci - match: '\b(framebuffer|graphics)\b' 40e5c31af7Sopenharmony_ci scope: constant.character.escape.amber 41e5c31af7Sopenharmony_ci - match: '\b(uniform|storage|push_constant|color|depth_stencil)\b' 42e5c31af7Sopenharmony_ci scope: constant.character.escape.amber 43e5c31af7Sopenharmony_ci - match: '\b(EQ|NE|LT|LE|GT|GE|EQ_RGB|EQ_RGBA|EQ_BUFFER|RMSE_BUFFER)\b' 44e5c31af7Sopenharmony_ci scope: constant.character.esape.amber 45e5c31af7Sopenharmony_ci - match: '\b(GLSL|HLSL|SPIRV-ASM|SPIRV-HEX|OPENCL-C)\b' 46e5c31af7Sopenharmony_ci scope: constant.character.escape.amber 47e5c31af7Sopenharmony_ci 48e5c31af7Sopenharmony_ci - match: '\b(point_list|line_list|line_list_with_adjacency|line_strip)\b' 49e5c31af7Sopenharmony_ci scope: entity.name.type.amber 50e5c31af7Sopenharmony_ci - match: '\b(line_strip_with_adjacency|triangle_list|triangle_list_with_adjacency)\b' 51e5c31af7Sopenharmony_ci scope: entity.name.type.amber 52e5c31af7Sopenharmony_ci - match: '\b(triangle_strip|triangle_strip_with_adjacency|triangle_fan|patch_list)\b' 53e5c31af7Sopenharmony_ci scope: entity.name.type.amber 54e5c31af7Sopenharmony_ci 55e5c31af7Sopenharmony_ci - match: '\b(u?int\d*|float|double|vec\d*|mat\d*)\b' 56e5c31af7Sopenharmony_ci scope: entity.name.type.amber 57e5c31af7Sopenharmony_ci 58e5c31af7Sopenharmony_ci # Numbers 59e5c31af7Sopenharmony_ci - match: '\b(-)?[0-9.]+\b' 60e5c31af7Sopenharmony_ci scope: constant.numeric.amber 61e5c31af7Sopenharmony_ci 62e5c31af7Sopenharmony_ci double_quoted_string: 63e5c31af7Sopenharmony_ci - meta_scope: string.quoted.double.amber 64e5c31af7Sopenharmony_ci - match: '\\.' 65e5c31af7Sopenharmony_ci scope: constant.character.escape.amber 66e5c31af7Sopenharmony_ci - match: '"' 67e5c31af7Sopenharmony_ci scope: punctuation.definition.string.end.amber 68e5c31af7Sopenharmony_ci pop: true 69e5c31af7Sopenharmony_ci 70e5c31af7Sopenharmony_ci line_comment: 71e5c31af7Sopenharmony_ci - meta_scope: comment.line.amber 72e5c31af7Sopenharmony_ci - match: $ 73e5c31af7Sopenharmony_ci pop: true 74