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

Smali

by QuinnWilton ALL

A syntax highlighter for the Dalvik bytecode language, Smali

Details

  • 2016.07.15.15.12.40
  • github.​com
  • github.​com
  • 4 years ago
  • 1 hour ago
  • 7 years ago

Installs

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

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.