11 lines
5.7 KiB
JavaScript
11 lines
5.7 KiB
JavaScript
import gdshader from './gdshader.mjs'
|
|
import gdscript from './gdscript.mjs'
|
|
|
|
const lang = Object.freeze(JSON.parse("{\"displayName\":\"GDResource\",\"name\":\"gdresource\",\"patterns\":[{\"include\":\"#embedded_shader\"},{\"include\":\"#embedded_gdscript\"},{\"include\":\"#comment\"},{\"include\":\"#heading\"},{\"include\":\"#key_value\"}],\"repository\":{\"comment\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.gdresource\"}},\"match\":\"(;).*$\\\\n?\",\"name\":\"comment.line.gdresource\"},\"data\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<!\\\\w)(\\\\{)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.table.inline.gdresource\"}},\"end\":\"\\\\s*(})(?!\\\\w)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.table.inline.gdresource\"}},\"patterns\":[{\"include\":\"#key_value\"},{\"include\":\"#data\"}]},{\"begin\":\"(?<!\\\\w)(\\\\[)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.array.gdresource\"}},\"end\":\"\\\\s*(])(?!\\\\w)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.array.gdresource\"}},\"patterns\":[{\"include\":\"#data\"}]},{\"begin\":\"\\\"\\\"\\\"\",\"end\":\"\\\"\\\"\\\"\",\"name\":\"string.quoted.triple.basic.block.gdresource\",\"patterns\":[{\"match\":\"\\\\\\\\([\\\\n \\\"/\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})\",\"name\":\"constant.character.escape.gdresource\"},{\"match\":\"\\\\\\\\[^\\\\n\\\"/\\\\\\\\bfnrt]\",\"name\":\"invalid.illegal.escape.gdresource\"}]},{\"match\":\"\\\"res://[^\\\"\\\\\\\\]*(?:\\\\\\\\.[^\\\"\\\\\\\\]*)*\\\"\",\"name\":\"support.function.any-method.gdresource\"},{\"match\":\"(?<=type=)\\\"[^\\\"\\\\\\\\]*(?:\\\\\\\\.[^\\\"\\\\\\\\]*)*\\\"\",\"name\":\"support.class.library.gdresource\"},{\"match\":\"(?<=NodePath\\\\(|parent=|name=)\\\"[^\\\"\\\\\\\\]*(?:\\\\\\\\.[^\\\"\\\\\\\\]*)*\\\"\",\"name\":\"constant.character.escape.gdresource\"},{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.basic.line.gdresource\",\"patterns\":[{\"match\":\"\\\\\\\\([\\\\n \\\"/\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})\",\"name\":\"constant.character.escape.gdresource\"},{\"match\":\"\\\\\\\\[^\\\\n\\\"/\\\\\\\\bfnrt]\",\"name\":\"invalid.illegal.escape.gdresource\"}]},{\"match\":\"'.*?'\",\"name\":\"string.quoted.single.literal.line.gdresource\"},{\"match\":\"(?<!\\\\w)(true|false)(?!\\\\w)\",\"name\":\"constant.language.gdresource\"},{\"match\":\"(?<!\\\\w)([-+]?(0|([1-9](([0-9]|_[0-9])+)?))(?:(?:\\\\.(0|([1-9](([0-9]|_[0-9])+)?)))?[Ee][-+]?[1-9]_?[0-9]*|\\\\.[0-9_]*))(?!\\\\w)\",\"name\":\"constant.numeric.float.gdresource\"},{\"match\":\"(?<!\\\\w)([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?!\\\\w)\",\"name\":\"constant.numeric.integer.gdresource\"},{\"match\":\"(?<!\\\\w)([-+]?inf)(?!\\\\w)\",\"name\":\"constant.numeric.inf.gdresource\"},{\"match\":\"(?<!\\\\w)([-+]?nan)(?!\\\\w)\",\"name\":\"constant.numeric.nan.gdresource\"},{\"match\":\"(?<!\\\\w)(0x((\\\\h((_??\\\\h)+)?)))(?!\\\\w)\",\"name\":\"constant.numeric.hex.gdresource\"},{\"match\":\"(?<!\\\\w)(0o[0-7](_?[0-7])*)(?!\\\\w)\",\"name\":\"constant.numeric.oct.gdresource\"},{\"match\":\"(?<!\\\\w)(0b[01](_?[01])*)(?!\\\\w)\",\"name\":\"constant.numeric.bin.gdresource\"},{\"begin\":\"(?<!\\\\w)(Vector2i??|Vector3i??|Color|Rect2i??|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray)(\\\\()\\\\s?\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.library.gdresource\"}},\"end\":\"\\\\s?(\\\\))\",\"patterns\":[{\"include\":\"#key_value\"},{\"include\":\"#data\"}]},{\"begin\":\"(?<!\\\\w)((?:Ext|Sub)Resource)(\\\\()\\\\s?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.gdresource\"}},\"end\":\"\\\\s?(\\\\))\",\"patterns\":[{\"include\":\"#key_value\"},{\"include\":\"#data\"}]}]},\"embedded_gdscript\":{\"begin\":\"(script/source) = \\\"\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.property.gdresource\"}},\"end\":\"\\\"\",\"patterns\":[{\"include\":\"source.gdscript\"}]},\"embedded_shader\":{\"begin\":\"(code) = \\\"\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.property.gdresource\"}},\"end\":\"\\\"\",\"name\":\"meta.embedded.block.gdshader\",\"patterns\":[{\"include\":\"source.gdshader\"}]},\"heading\":{\"begin\":\"\\\\[([_a-z]*)\\\\s?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.gdresource\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#heading_properties\"},{\"include\":\"#data\"}]},\"heading_properties\":{\"patterns\":[{\"match\":\"(\\\\s*[-A-Z_a-z][-0-9A-Z_a-z]*\\\\s*=)(?=\\\\s*$)\",\"name\":\"invalid.illegal.noValue.gdresource\"},{\"begin\":\"\\\\s*([-A-Z_a-z]\\\\S*|\\\".+\\\"|'.+'|[0-9]+)\\\\s*(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.property.gdresource\"},\"2\":{\"name\":\"punctuation.definition.keyValue.gdresource\"}},\"end\":\"($|(?==)|,?|\\\\s*(?=}))\",\"patterns\":[{\"include\":\"#data\"}]}]},\"key_value\":{\"patterns\":[{\"match\":\"(\\\\s*[-A-Z_a-z][-0-9A-Z_a-z]*\\\\s*=)(?=\\\\s*$)\",\"name\":\"invalid.illegal.noValue.gdresource\"},{\"begin\":\"\\\\s*([-A-Z_a-z]\\\\S*|\\\".+\\\"|'.+'|[0-9]+)\\\\s*(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.property.gdresource\"},\"2\":{\"name\":\"punctuation.definition.keyValue.gdresource\"}},\"end\":\"($|(?==)|,|\\\\s*(?=}))\",\"patterns\":[{\"include\":\"#data\"}]}]}},\"scopeName\":\"source.gdresource\",\"embeddedLangs\":[\"gdshader\",\"gdscript\"]}"))
|
|
|
|
export default [
|
|
...gdshader,
|
|
...gdscript,
|
|
lang
|
|
]
|