discourse/vendor/assets/javascripts/highlightjs/languages/smali.min.js

12 lines
1021 B
JavaScript

hljs.registerLanguage("smali",(()=>{"use strict";return e=>{
const n=["add","and","cmp","cmpg","cmpl","const","div","double","float","goto","if","int","long","move","mul","neg","new","nop","not","or","rem","return","shl","shr","sput","sub","throw","ushr","xor"]
;return{name:"Smali",contains:[{className:"string",begin:'"',end:'"',relevance:0
},e.COMMENT("#","$",{relevance:0}),{className:"keyword",variants:[{
begin:"\\s*\\.end\\s[a-zA-Z0-9]*"},{begin:"^[ ]*\\.[a-zA-Z]*",relevance:0},{
begin:"\\s:[a-zA-Z_0-9]*",relevance:0},{
begin:"\\s(transient|constructor|abstract|final|synthetic|public|private|protected|static|bridge|system)"
}]},{className:"built_in",variants:[{begin:"\\s("+n.join("|")+")\\s"},{
begin:"\\s("+n.join("|")+")((-|/)[a-zA-Z0-9]+)+\\s",relevance:10},{
begin:"\\s(aget|aput|array|check|execute|fill|filled|goto/16|goto/32|iget|instance|invoke|iput|monitor|packed|sget|sparse)((-|/)[a-zA-Z0-9]+)*\\s",
relevance:10}]},{className:"class",begin:"L[^(;:\n]*;",relevance:0},{
begin:"[vp][0-9]+"}]}}})());