mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-18 03:18:19 -07:00
36 lines
1.3 KiB
JavaScript
36 lines
1.3 KiB
JavaScript
Prism.languages.aspnet = Prism.languages.extend('markup', {
|
|
'page-directive tag': {
|
|
pattern: /<%\s*@.*%>/i,
|
|
inside: {
|
|
'page-directive tag': /<%\s*@\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,
|
|
rest: Prism.languages.markup.tag.inside
|
|
}
|
|
},
|
|
'directive tag': {
|
|
pattern: /<%.*%>/i,
|
|
inside: {
|
|
'directive tag': /<%\s*?[$=%#:]{0,2}|%>/i,
|
|
rest: Prism.languages.csharp
|
|
}
|
|
}
|
|
});
|
|
// Regexp copied from prism-markup, with a negative look-ahead added
|
|
Prism.languages.aspnet.tag.pattern = /<(?!%)\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i;
|
|
|
|
// match directives of attribute value foo="<% Bar %>"
|
|
Prism.languages.insertBefore('inside', 'punctuation', {
|
|
'directive tag': Prism.languages.aspnet['directive tag']
|
|
}, Prism.languages.aspnet.tag.inside["attr-value"]);
|
|
|
|
Prism.languages.insertBefore('aspnet', 'comment', {
|
|
'asp comment': /<%--[\w\W]*?--%>/
|
|
});
|
|
|
|
// script runat="server" contains csharp, not javascript
|
|
Prism.languages.insertBefore('aspnet', Prism.languages.javascript ? 'script' : 'tag', {
|
|
'asp script': {
|
|
pattern: /(<script(?=.*runat=['"]?server['"]?)[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,
|
|
lookbehind: true,
|
|
inside: Prism.languages.csharp || {}
|
|
}
|
|
}); |