diff --git a/components/prism-nasm.js b/components/prism-nasm.js index b10725451f..b47af8c990 100644 --- a/components/prism-nasm.js +++ b/components/prism-nasm.js @@ -1,20 +1,24 @@ Prism.languages.nasm = { - 'comment': /;.*$/m, - 'string': /("|'|`)(\\?.)*?\1/m, - 'label': { - pattern: /^\s*[A-Za-z\._\?\$][\w\.\?\$@~#]*:/m, - alias: 'function' - }, - 'keyword': [ - /\[?BITS (16|32|64)\]?/m, - /^\s*section\s*[a-zA-Z\.]+:?/im, - /(?:extern|global)[^;]*/im, - /(?:CPU|FLOAT|DEFAULT).*$/m - ], - 'register': { - pattern: /\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(bp|sp|si|di)|[cdefgs]s)\b/i, - alias: 'variable' - }, - 'number': /(\b|-|(?=\$))(0[hx][\da-f]*\.?[\da-f]+(p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|\d*\.?\d+(\.?e[+-]?\d+)?[dt]?)\b/i, - 'operator': /[\[\]\*+\-\/%<>=&|\$!]/m + 'comment': /;.*$/m, + 'string': /("|'|`)(\\?.)*?\1/m, + 'label': { + pattern: /(^\s*)[A-Za-z._?$][\w.?$@~#]*:/m, + lookbehind: true, + alias: 'function' + }, + 'keyword': [ + /\[?BITS (16|32|64)\]?/m, + { + pattern: /(^\s*)section\s*[a-zA-Z\.]+:?/im, + lookbehind: true + }, + /(?:extern|global)[^;\r\n]*/im, + /(?:CPU|FLOAT|DEFAULT).*$/m + ], + 'register': { + pattern: /\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(bp|sp|si|di)|[cdefgs]s)\b/i, + alias: 'variable' + }, + 'number': /(\b|-|(?=\$))(0[hx][\da-f]*\.?[\da-f]+(p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|\d*\.?\d+(\.?e[+-]?\d+)?[dt]?)\b/i, + 'operator': /[\[\]*+\-\/%<>=&|$!]/ }; diff --git a/components/prism-nasm.min.js b/components/prism-nasm.min.js index 32960690ac..d117778d8d 100644 --- a/components/prism-nasm.min.js +++ b/components/prism-nasm.min.js @@ -1 +1 @@ -Prism.languages.nasm={comment:/;.*$/m,string:/("|'|`)(\\?.)*?\1/m,label:{pattern:/^\s*[A-Za-z\._\?\$][\w\.\?\$@~#]*:/m,alias:"function"},keyword:[/\[?BITS (16|32|64)\]?/m,/^\s*section\s*[a-zA-Z\.]+:?/im,/(?:extern|global)[^;]*/im,/(?:CPU|FLOAT|DEFAULT).*$/m],register:{pattern:/\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(bp|sp|si|di)|[cdefgs]s)\b/i,alias:"variable"},number:/(\b|-|(?=\$))(0[hx][\da-f]*\.?[\da-f]+(p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|\d*\.?\d+(\.?e[+-]?\d+)?[dt]?)\b/i,operator:/[\[\]\*+\-\/%<>=&|\$!]/m}; \ No newline at end of file +Prism.languages.nasm={comment:/;.*$/m,string:/("|'|`)(\\?.)*?\1/m,label:{pattern:/(^\s*)[A-Za-z._?$][\w.?$@~#]*:/m,lookbehind:!0,alias:"function"},keyword:[/\[?BITS (16|32|64)\]?/m,{pattern:/(^\s*)section\s*[a-zA-Z\.]+:?/im,lookbehind:!0},/(?:extern|global)[^;\r\n]*/im,/(?:CPU|FLOAT|DEFAULT).*$/m],register:{pattern:/\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(bp|sp|si|di)|[cdefgs]s)\b/i,alias:"variable"},number:/(\b|-|(?=\$))(0[hx][\da-f]*\.?[\da-f]+(p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|\d*\.?\d+(\.?e[+-]?\d+)?[dt]?)\b/i,operator:/[\[\]*+\-\/%<>=&|$!]/}; \ No newline at end of file