highlightjs-ass
Version:
(Advanced) SubStation Alpha subtitle grammar for highlight.js
6 lines • 4.59 kB
JavaScript
/**!
* `ass` grammar v1.0.1 compiled for Highlight.js ^11.11.1
* License: 0BSD
**/
!function(){"use strict";hljs.registerLanguage("ass",(function(e){const n=e.regex,t=n.either(/-?\d+/,/-?\d*[Ee]\d*/),c=n.either(/-?\d*\.\d+/,/-?\d+\.\d*/,/-?\d*\.\d*[Ee]\d*/,t),i={begin:[/\\/,n.either("(?:xbord|ybord|xshad|yshad|bord|shad|blur|fscx|fscy|fsc)","(?:pbo|frx|fry|frz|fax|fay|fsp|kf|ko|kt|fe|be|fr|fs|K|k)"),c],beginScope:{1:"title.function.invoke",2:"title.function.invoke",3:"params"}},o={begin:new RegExp("\\\\(an|b|q|a(?!lpha))",""),beginScope:"title.function.invoke",end:n.concat(t,"?"),endScope:"number"},a={begin:new RegExp("\\\\(i(?!clip)|s|u)",""),beginScope:"title.function.invoke",end:/[01]?/,endScope:"number"},m={begin:new RegExp("\\\\(alpha|1a|2a|3a|4a)",""),beginScope:"title.function.invoke",end:n.concat(/&H[0-9A-Fa-f]{2}&/,"?"),endScope:"literal",relevance:5},l={begin:new RegExp("\\\\(1c|2c|3c|4c|c(?!lip))",""),beginScope:"title.function.invoke",end:n.concat(/&H[0-9A-Fa-f]{3,8}&/,"?"),endScope:"literal",relevance:5},r={begin:[new RegExp("\\\\(move|fade|fad|org|pos)",""),/\(/,/[^\)]*/,/\)/],beginScope:{1:"title.function.invoke",3:"literals"},relevance:2},s={begin:[new RegExp("\\\\(fn|r)",""),/[^\\\}]*/],beginScope:{1:"title.function.invoke",2:"string"}},d={begin:[/[mnlbspc]? /,c,/ /,c],beginScope:{1:"built_in",2:"link",4:"literal"}},b={begin:[/\\i?clip/,/\(/],beginScope:{1:"built_in"},starts:{end:/\)|$/,contains:[d,{match:c,scope:"number"}]},relevance:5},g={scope:"comment",begin:/\{/,end:/\}/,contains:[b,i,o,a,m,l,r,s,{scope:"string",begin:[/\\t/,/\(/],beginScope:{1:"title.function.invoke"},starts:{end:/\)/,excludeEnd:!0,scope:"formula",contains:[i,o,a,m,l,r,s]}},{begin:/\\p[1-4]/,beginScope:"built_in",starts:{end:/\\p0\}?|$/,endsParent:!0,contains:[d,b,i,o,a,m,l,r,s]}}],relevance:0},p={match:/\\[nNh]/,scope:"literal",relevance:0};return{name:"Advanced SubStation Alpha",aliases:["ssa"],case_insensitive:!1,contains:[g,p,{scope:"section",begin:/^\[/,end:/\]/,relevance:0},{variants:[e.COMMENT(/^;/,"$"),e.COMMENT(/^Data:\s+/,"$"),e.COMMENT(/^Comment:\s+/,"$"),e.COMMENT(/^Format:\s+/,"$"),e.COMMENT(/^!: /,"$")],relevance:5},{begin:[/^(?!Dialogue|Style|Format|Comment|Data)[A-Za-z][A-Za-z \t]*/,/:[\t ]*/],beginScope:{1:"attr"},starts:{scope:"string",end:/$/},relevance:0},{begin:[/^Dialogue/,/:[\t ]/,/\d{0,3}/,/,/,/[:\d.]+/,/,/,/[:\d.]+/,/,/,/[^,\r\n]+/,/,/,/[^,\r\n]*/,/,/,/\d{0,4}/,/,/,/\d{0,4}/,/,/,/\d{0,4}/,/,/,/[^,\r\n]*/,/,/],beginScope:{1:"built_in",2:"comment",3:"number",4:"comment",5:"literal",6:"comment",7:"title.class",8:"comment",9:"variable.constant",10:"comment",11:"variable",12:"comment",13:"comment",14:"comment",15:"comment",16:"comment",17:"comment",18:"comment",19:"comment",20:"comment"},starts:{end:/$/,contains:[p,g]},relevance:10},{begin:[/^Dialogue/,/:[\t ]/,/Marked=\d/,/,/,/[:\d.]+/,/,/,/[:\d.]+/,/,/,/[^,\r\n]+/,/,/,/[^,\r\n]*/,/,/,/\d{4}/,/,/,/\d{4}/,/,/,/\d{4}/,/,/,new RegExp("(![Ee]ffect|[Kk]araoke|[Ss]croll ?[Uu]p|)",""),/,/],beginScope:{1:"built_in",2:"comment",3:"number",4:"comment",5:"literal",6:"comment",7:"title.class",8:"comment",9:"variable.constant",10:"comment",11:"variable",12:"comment",13:"comment",14:"comment",15:"comment",16:"comment",17:"comment",18:"comment",19:"built_in",20:"comment"},starts:{end:/$/,contains:[p,g]},relevance:10},{begin:[/^Dialogue/,/:[\t ]/,/Marked=\d/,/,/,/[:\d.]+/,/,/,/[:\d.]+/,/,/,/[^,\r\n]+/,/,/,/[^,\r\n]*/,/,/,/\d+/,/,/,/\d+/,/,/,/\d+/,/,(?!!Effect,)/],beginScope:{1:"built_in",2:"comment",3:"number",4:"comment",5:"literal",6:"comment",7:"title.class",8:"comment",9:"variable.constant",10:"comment",11:"variable",12:"comment",13:"comment",14:"comment",15:"comment",16:"comment",17:"comment",18:"comment"},starts:{end:/$/,contains:[p,{begin:/\\C/,end:/[\dF]/,beginScope:"title.function.invoke",endScope:"title.function.invoke"},{begin:/\\F/,end:/[12]/,beginScope:"title.function.invoke",endScope:"title.function.invoke"},{begin:/\\I/,beginScope:"title.function.invoke"},g]},relevance:10},{begin:[/^Style/,/:[\t ]/,/[^,\r\n]+/,/,/,/[^,\r\n]+/,/,/,/\d{1,8}/,/,/,new RegExp("(&H[0-9A-Fa-f]{2,8}&?|-?\\d+)",""),/,/,new RegExp("(&H[0-9A-Fa-f]{2,8}&?|-?\\d+)",""),/,/,new RegExp("(&H[0-9A-Fa-f]{2,8}&?|-?\\d+)",""),/,/,new RegExp("(&H[0-9A-Fa-f]{2,8}&?|-?\\d+)",""),/,/,/[\d+,.-]+$/],beginScope:{1:"attr",2:"comment",3:"title.class",4:"comment",5:"title.class",6:"comment",7:"number",8:"comment",9:"literal",10:"comment",11:"literal",12:"comment",13:"literal",14:"comment",15:"literal",16:"comment",17:"comment"},relevance:10}]}}))}();
//# sourceMappingURL=ass.min.js.map