smali.json 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. {
  2. "aliases": [
  3. "smali"
  4. ],
  5. "contains": [
  6. {
  7. "className": "string",
  8. "begin": "\"",
  9. "end": "\"",
  10. "relevance": 0
  11. },
  12. {
  13. "className": "comment",
  14. "begin": "#",
  15. "end": "$",
  16. "contains": [
  17. {
  18. "begin": "\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b"
  19. },
  20. {
  21. "className": "doctag",
  22. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  23. "relevance": 0
  24. }
  25. ],
  26. "relevance": 0
  27. },
  28. {
  29. "className": "keyword",
  30. "variants": [
  31. {
  32. "begin": "\\s*\\.end\\s[a-zA-Z0-9]*"
  33. },
  34. {
  35. "begin": "^[ ]*\\.[a-zA-Z]*",
  36. "relevance": 0
  37. },
  38. {
  39. "begin": "\\s:[a-zA-Z_0-9]*",
  40. "relevance": 0
  41. },
  42. {
  43. "begin": "\\s(transient|constructor|abstract|final|synthetic|public|private|protected|static|bridge|system)"
  44. }
  45. ]
  46. },
  47. {
  48. "className": "built_in",
  49. "variants": [
  50. {
  51. "begin": "\\s(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)\\s"
  52. },
  53. {
  54. "begin": "\\s(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)((\\-|\/)[a-zA-Z0-9]+)+\\s",
  55. "relevance": 10
  56. },
  57. {
  58. "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",
  59. "relevance": 10
  60. }
  61. ]
  62. },
  63. {
  64. "className": "class",
  65. "begin": "L[^(;:\n]*;",
  66. "relevance": 0
  67. },
  68. {
  69. "begin": "[vp][0-9]+"
  70. }
  71. ]
  72. }