From 65c601bb6fdb28e0ed9a1d5b2c6f48cb03901d0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?KOBAYASHI=20Y=C5=AB?= Date: Thu, 6 Oct 2022 09:12:32 +0900 Subject: [PATCH] Add HLSL language support (#675) --- README.md | 2 +- lexers/embedded/hlsl.xml | 107 ++++++++++++++++++++++++++++++++++ lexers/testdata/hlsl.actual | 3 + lexers/testdata/hlsl.expected | 40 +++++++++++++ 4 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 lexers/embedded/hlsl.xml create mode 100644 lexers/testdata/hlsl.actual create mode 100644 lexers/testdata/hlsl.expected diff --git a/README.md b/README.md index ffaccb653..88b9e285c 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ D | D, Dart, Diff, Django/Jinja, Docker, DTD, Dylan E | EBNF, Elixir, Elm, EmacsLisp, Erlang F | Factor, Fish, Forth, Fortran, FSharp G | GAS, GDScript, Genshi, Genshi HTML, Genshi Text, Gherkin, GLSL, Gnuplot, Go, Go HTML Template, Go Text Template, GraphQL, Groff, Groovy -H | Handlebars, Haskell, Haxe, HCL, Hexdump, HLB, HTML, HTTP, Hy +H | Handlebars, Haskell, Haxe, HCL, Hexdump, HLB, HLSL, HTML, HTTP, Hy I | Idris, Igor, INI, Io J | J, Java, JavaScript, JSON, Julia, Jungle K | Kotlin diff --git a/lexers/embedded/hlsl.xml b/lexers/embedded/hlsl.xml new file mode 100644 index 000000000..774f53cf2 --- /dev/null +++ b/lexers/embedded/hlsl.xml @@ -0,0 +1,107 @@ + + + HLSL + hlsl + *.hlsl + *.hlsli + text/x-hlsl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lexers/testdata/hlsl.actual b/lexers/testdata/hlsl.actual new file mode 100644 index 000000000..a84631c8a --- /dev/null +++ b/lexers/testdata/hlsl.actual @@ -0,0 +1,3 @@ +float4 vertex(float3 position) { + return mul(projection, mul(view, mul(model, float4(position, 1.0)))); +} diff --git a/lexers/testdata/hlsl.expected b/lexers/testdata/hlsl.expected new file mode 100644 index 000000000..dcd0491e5 --- /dev/null +++ b/lexers/testdata/hlsl.expected @@ -0,0 +1,40 @@ +[ + {"type":"KeywordType","value":"float4"}, + {"type":"Text","value":" "}, + {"type":"Name","value":"vertex"}, + {"type":"Punctuation","value":"("}, + {"type":"KeywordType","value":"float3"}, + {"type":"Text","value":" "}, + {"type":"Name","value":"position"}, + {"type":"Punctuation","value":")"}, + {"type":"Text","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"Text","value":"\n "}, + {"type":"Keyword","value":"return"}, + {"type":"Text","value":" "}, + {"type":"NameBuiltin","value":"mul"}, + {"type":"Punctuation","value":"("}, + {"type":"Name","value":"projection"}, + {"type":"Punctuation","value":","}, + {"type":"Text","value":" "}, + {"type":"NameBuiltin","value":"mul"}, + {"type":"Punctuation","value":"("}, + {"type":"Name","value":"view"}, + {"type":"Punctuation","value":","}, + {"type":"Text","value":" "}, + {"type":"NameBuiltin","value":"mul"}, + {"type":"Punctuation","value":"("}, + {"type":"Name","value":"model"}, + {"type":"Punctuation","value":","}, + {"type":"Text","value":" "}, + {"type":"KeywordType","value":"float4"}, + {"type":"Punctuation","value":"("}, + {"type":"Name","value":"position"}, + {"type":"Punctuation","value":","}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberFloat","value":"1.0"}, + {"type":"Punctuation","value":"))));"}, + {"type":"Text","value":"\n"}, + {"type":"Punctuation","value":"}"}, + {"type":"Text","value":"\n"} +] \ No newline at end of file