From 27946289f778797aa10669d39749bb6098c99ba6 Mon Sep 17 00:00:00 2001 From: Zhuang Ma Date: Thu, 5 Nov 2015 16:47:14 +0800 Subject: [PATCH 01/12] fix for 'L' in function name like Lorg/apache/http/HttpResponse;->getStatusLine()Lorg/apache/http/StatusLine; References: https://github.com/kelwin/vim-smali/pull/1 --- syntax/smali.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/smali.vim b/syntax/smali.vim index 8778e3e..9a2bb95 100644 --- a/syntax/smali.vim +++ b/syntax/smali.vim @@ -83,7 +83,7 @@ syn keyword dalvikInstruction invoke-static/range invoke-interface/range filled- syn keyword dalvikInstruction invoke-virtual-quick/range invoke-super-quick/range const-wide " class names (between L and ;) -syn region dalvikName matchgroup=dalvikNameWrapper start="L" end=";" oneline +syn match dalvikName "L[^();]\+;"hs=s+1,he=e-1 syn region dalvikString start=+"+ end=+"+ " branch labels From 9cc211996892e20164a0478b79def9171f8bb11c Mon Sep 17 00:00:00 2001 From: Zhuang Ma Date: Thu, 5 Nov 2015 16:52:25 +0800 Subject: [PATCH 02/12] add .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bf9dfdc --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.swp +.DS_Store From 8f0534b5b146b2782206aacfcdfcbce709327d65 Mon Sep 17 00:00:00 2001 From: Zhuang Ma Date: Thu, 5 Nov 2015 16:53:21 +0800 Subject: [PATCH 03/12] fix for 'L' in enum name like .field public static final enum USELESSFILE:Lorg/mazhuang/IFileRequest$EM_FILE_TYPE; --- syntax/smali.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/smali.vim b/syntax/smali.vim index 9a2bb95..f9cfd62 100644 --- a/syntax/smali.vim +++ b/syntax/smali.vim @@ -83,7 +83,7 @@ syn keyword dalvikInstruction invoke-static/range invoke-interface/range filled- syn keyword dalvikInstruction invoke-virtual-quick/range invoke-super-quick/range const-wide " class names (between L and ;) -syn match dalvikName "L[^();]\+;"hs=s+1,he=e-1 +syn match dalvikName "L[^();:]\+;"hs=s+1,he=e-1 syn region dalvikString start=+"+ end=+"+ " branch labels From 4736b61c38e9cf87fac79d4a2e7b3e30b2e68752 Mon Sep 17 00:00:00 2001 From: Zhuang Ma Date: Thu, 5 Nov 2015 17:23:30 +0800 Subject: [PATCH 04/12] add README --- README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..7876469 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +vim-smali +=== + +Smali syntax highlighting for Vim. + +### Installation + +Recommend to install vim-smali with [Vundle](https://github.com/VundleVim/Vundle.vim#about). + + 1. Add `Plugin 'mzlogin/vim-smali'` to your vimrc file. + 2. Execute `:PluginInstall`. + 3. Enjoy your colorful smali! + +### Related Links + +| # | link | +|-------------------------------------|------------------------------------------------------------------------------------------------------------------------| +| Support of taglist/tagbar for smali | [为 Vim 添加 Smali 语法高亮和 Taglist 支持](http://www.mazhuang.org/2015/06/23/vim-taglist-smali/) | +| Work Base | [kelwin/vim-smali](https://github.com/kelwin/vim-smali) | +| Origin | [smali syntax highlighting for vim](http://androidcracking.blogspot.hk/2011/03/smali-syntax-highlighting-for-vim.html) | From e0c2177647cfe1c4762de0dacb198bc7a60954c8 Mon Sep 17 00:00:00 2001 From: Zhuang Ma Date: Thu, 5 Nov 2015 17:25:07 +0800 Subject: [PATCH 05/12] remove unnecessary indent --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7876469..86b7e19 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,9 @@ Smali syntax highlighting for Vim. Recommend to install vim-smali with [Vundle](https://github.com/VundleVim/Vundle.vim#about). - 1. Add `Plugin 'mzlogin/vim-smali'` to your vimrc file. - 2. Execute `:PluginInstall`. - 3. Enjoy your colorful smali! +1. Add `Plugin 'mzlogin/vim-smali'` to your vimrc file. +2. Execute `:PluginInstall`. +3. Enjoy your colorful smali! ### Related Links From 012c21565e6be8f1718ad634aa84730a0a84b42c Mon Sep 17 00:00:00 2001 From: Zhuang Ma Date: Thu, 5 Nov 2015 17:37:23 +0800 Subject: [PATCH 06/12] update Installation --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 86b7e19..3a01676 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,9 @@ Smali syntax highlighting for Vim. Recommend to install vim-smali with [Vundle](https://github.com/VundleVim/Vundle.vim#about). 1. Add `Plugin 'mzlogin/vim-smali'` to your vimrc file. -2. Execute `:PluginInstall`. -3. Enjoy your colorful smali! +2. Execute `:so $MYVIMRC` to reload your vimrc file. +3. Execute `:PluginInstall`. +4. Enjoy your colorful smali! ### Related Links From f7802daf47ed2793bf3081388c201a922fefc4cd Mon Sep 17 00:00:00 2001 From: alansnape Date: Tue, 7 Mar 2017 21:22:36 +0800 Subject: [PATCH 07/12] add .param to directives --- syntax/smali.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/smali.vim b/syntax/smali.vim index f9cfd62..b4dc478 100644 --- a/syntax/smali.vim +++ b/syntax/smali.vim @@ -23,7 +23,7 @@ syn keyword dalvikDirective .subannotation .annotation syn keyword dalvikDirective .enum .method .registers .locals .array-data syn keyword dalvikDirective .packed-switch syn keyword dalvikDirective .sparse-switch .catch .catchall .line -syn keyword dalvikDirective .parameter .local +syn keyword dalvikDirective .parameter .param .local syn keyword dalvikDirective .prologue .epilogue syn keyword dalvikDirective .source syn match dalvikDirective /\.end\s\+\(field\|subannotation\|annotation\|method\|array-data\)/ From 617f3479195c212c7c4bd8ddfd1fbcf3b7bc2710 Mon Sep 17 00:00:00 2001 From: alansnape Date: Tue, 7 Mar 2017 21:25:13 +0800 Subject: [PATCH 08/12] fix regexp mistake for .restart local --- syntax/smali.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/smali.vim b/syntax/smali.vim index b4dc478..53d1414 100644 --- a/syntax/smali.vim +++ b/syntax/smali.vim @@ -28,7 +28,7 @@ syn keyword dalvikDirective .prologue .epilogue syn keyword dalvikDirective .source syn match dalvikDirective /\.end\s\+\(field\|subannotation\|annotation\|method\|array-data\)/ syn match dalvikDirective /\.end\s\+\(packed-switch\|sparse-switch\|parameter\|local\)/ -syn match dalvikDirective /\.restart\s+local/ +syn match dalvikDirective /\.restart\s\+local/ " access modifiers syn keyword dalvikAccess public private protected static final synchronized bridge varargs From 34fa660fbab9a9c376cdc79b84d5605a25c0dc1c Mon Sep 17 00:00:00 2001 From: alansnape Date: Tue, 7 Mar 2017 21:40:31 +0800 Subject: [PATCH 09/12] update regexp for L...; with more precise one --- syntax/smali.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/smali.vim b/syntax/smali.vim index 53d1414..d1831e0 100644 --- a/syntax/smali.vim +++ b/syntax/smali.vim @@ -83,7 +83,7 @@ syn keyword dalvikInstruction invoke-static/range invoke-interface/range filled- syn keyword dalvikInstruction invoke-virtual-quick/range invoke-super-quick/range const-wide " class names (between L and ;) -syn match dalvikName "L[^();:]\+;"hs=s+1,he=e-1 +syn match dalvikName "L\([a-zA-Z_][a-zA-Z_0-9]*/\)*[a-zA-Z_][a-zA-Z_0-9]*\(\$\([a-zA-Z_][a-zA-Z_0-9]*\)\?\)\?;"hs=s+1,he=e-1 syn region dalvikString start=+"+ end=+"+ " branch labels From a44b13536fd4529185ee3698997836807ac7706c Mon Sep 17 00:00:00 2001 From: alansnape Date: Tue, 7 Mar 2017 21:46:15 +0800 Subject: [PATCH 10/12] update regexp for string with more precise one --- syntax/smali.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/smali.vim b/syntax/smali.vim index d1831e0..58a3220 100644 --- a/syntax/smali.vim +++ b/syntax/smali.vim @@ -84,7 +84,7 @@ syn keyword dalvikInstruction invoke-virtual-quick/range invoke-super-quick/rang " class names (between L and ;) syn match dalvikName "L\([a-zA-Z_][a-zA-Z_0-9]*/\)*[a-zA-Z_][a-zA-Z_0-9]*\(\$\([a-zA-Z_][a-zA-Z_0-9]*\)\?\)\?;"hs=s+1,he=e-1 -syn region dalvikString start=+"+ end=+"+ +syn match dalvikString ;"\([^"\\]\|\\['"?\\abfnrtv]\|\\[0-7]\{1,3\}\|\\[Xx][0-9a-fA-F]\{2\}\)*"; " branch labels syn match dalvikLabel "\<[A-Za-z0-9_]\+\>:$" From 5315932f0b5cc87d17978076f59a5542d21ec4bf Mon Sep 17 00:00:00 2001 From: alansnape Date: Tue, 7 Mar 2017 21:48:23 +0800 Subject: [PATCH 11/12] fix regexp mistake for labels --- syntax/smali.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/smali.vim b/syntax/smali.vim index 58a3220..261f9d1 100644 --- a/syntax/smali.vim +++ b/syntax/smali.vim @@ -87,7 +87,7 @@ syn match dalvikName "L\([a-zA-Z_][a-zA-Z_0-9]*/\)*[a-zA-Z_][a-zA-Z_0-9]*\(\$\([ syn match dalvikString ;"\([^"\\]\|\\['"?\\abfnrtv]\|\\[0-7]\{1,3\}\|\\[Xx][0-9a-fA-F]\{2\}\)*"; " branch labels -syn match dalvikLabel "\<[A-Za-z0-9_]\+\>:$" +syn match dalvikLabel "^ \+:\<[A-Za-z0-9_]\+\>$" " registers syn match dalvikRegister "\<[vp]\d\+\>" From 46d2a7583234bf0819a18d9f73ab8c751d6a58ad Mon Sep 17 00:00:00 2001 From: alansnape Date: Tue, 7 Mar 2017 21:51:31 +0800 Subject: [PATCH 12/12] add method name to dalvikAccess group --- syntax/smali.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/syntax/smali.vim b/syntax/smali.vim index 261f9d1..2626497 100644 --- a/syntax/smali.vim +++ b/syntax/smali.vim @@ -34,6 +34,7 @@ syn match dalvikDirective /\.restart\s\+local/ syn keyword dalvikAccess public private protected static final synchronized bridge varargs syn keyword dalvikAccess native abstract strictfp synthetic constructor declared-synchronized syn keyword dalvikAccess interface enum annotation volatile transient +syn match dalvikAccess "" " instructions syn keyword dalvikInstruction goto return-void nop const/4 move-result move-result-wide