ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Smali

by ShaneWilton ST2/ST3

A syntax highlighter for the Dalvik bytecode language, Smali

Details

  • 2016.07.15.15.12.40
  • github.​com
  • github.​com
  • 1 year ago
  • 2 hours ago
  • 5 years ago

Installs

  • Total 6K
  • Win 3K
  • OS X 2K
  • Linux 1K
Dec 13 Dec 12 Dec 11 Dec 10 Dec 9 Dec 8 Dec 7 Dec 6 Dec 5 Dec 4 Dec 3 Dec 2 Dec 1 Nov 30 Nov 29 Nov 28 Nov 27 Nov 26 Nov 25 Nov 24 Nov 23 Nov 22 Nov 21 Nov 20 Nov 19 Nov 18 Nov 17 Nov 16 Nov 15 Nov 14 Nov 13 Nov 12 Nov 11 Nov 10 Nov 9 Nov 8 Nov 7 Nov 6 Nov 5 Nov 4 Nov 3 Nov 2 Nov 1 Oct 31 Oct 30 Oct 29
Windows 2 5 3 1 3 3 3 3 1 5 0 2 1 2 2 2 4 1 1 3 6 1 11 3 1 3 5 5 1 2 2 0 1 1 2 6 2 3 4 3 1 2 4 1 1 2
OS X 3 1 3 1 1 1 2 2 3 1 0 2 2 2 2 1 0 1 1 0 0 1 0 2 0 0 3 3 1 2 1 0 0 1 4 1 2 1 1 1 0 1 3 1 2 1
Linux 0 3 1 0 0 2 2 1 0 0 1 1 0 3 2 1 2 0 1 0 3 0 1 3 2 0 1 1 1 3 0 0 0 0 4 1 2 1 1 3 1 0 2 0 2 0

Readme

Source
raw.​githubusercontent.​com

Smali Sublime Syntax

Context-aware syntax highlighting for Sublime Text 2 / 3.

Installation

If you have Package Manager, install Smali.

Without Package Manager:

  • Navigate to Sublime's packages directory
    • Command + Shift + P, “Preferences: Browse Packages”
  • Create a directory named Smali
  • Copy smali.tmLanguage to Smali

Features

  • Line-level syntax validation
    • Incorrectly formatted instructions are highlighted red
    • Register and literal ranges are validated
  • Objectively better than your current Smali highlighter
  • Includes the color purple!

Development

Syntax defintions are edited in JSON here: smali.JSON-tmLanguage.

Sublime wants the syntax definitions in a property list or .tmLanguage file. To convert the JSON to a property list:

  1. Open smali.JSON-tmLanguage
  2. From Sublime's Command Pallet, select “Build With: Convert to …-Property List”

The udpated file can be quickly installed to Sublime 3 with:

cp smali.tmLanguage "$HOME/Library/Application Support/Sublime Text 3/Packages"

Afterwards, you'll need to restart. Sublime doesn't have a native way of reloading packages. There's probably a hard way of hacking this into working without restarting, but I don't know it.