A very simple language server for smali with definition support & auto-completion.
| Code completion | Docs |
|---|---|
![]() |
![]() |
pip install -U smalisppip install -U git+https://github.com/AbhiTheModder/smalisp.gitPrerequisites: Zed editor installed.
- Extension path:
extensions/zed.
Option 1: Install from Zed Extensions
- Open the Extensions page in Zed.
- Search for "smalisp".
- Click Install.
Option 2: Local Development
- Open the Extensions page in Zed.
- Click the "Install Dev Extension" button (or run the
zed: Install Dev Extensioncommand). - Select the directory containing your Zed extension (the folder that contains the manifest and source).
Reference: https://zed.dev/docs/extensions/developing-extensions#developing-an-extension-locally
Prerequisites: VSCode installed.
- Extension path:
extensions/vscode. - Marketplace
Option 1: Install from Marketplace
- Open VSCode Extensions view (Ctrl+Shift+X)
- Search for "smalisp"
- Click Install
OR,
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
ext install qbtaumai.smalisp
Alternatively, run code --install-extension qbtaumai.smalisp from the terminal.
Option 2: Local Development
- Build or obtain the VSIX package for the extension from the releases page of this repository.
- In VSCode, go to Extensions view, click the three-dot menu, choose Install from VSIX..., and select the downloaded
.vsixfile. - Alternatively, run
code --install-extension path/to/extension.vsixfrom the terminal.
- Prerequisites: Helix installed.
Install/ensure smalisp is installed in your Python environment (e.g. pip install -U smalisp). For older Helix versions, edit ~/.config/helix/languages.toml and add the following:
[language-server.smalisp]
command = "smalisp" # Or path to smalisp binary
[[language]]
name = "smali"
language-servers = [ "smalisp" ]- The PR has been merged and Smalisp is now supported directly by Helix if installed from source or in upcoming Helix versions.
- Associate smali filetype with file extensions:
autocmd BufNewFile,BufRead *.smali setlocal filetype=smali- In order to install syntax highlighting declare it with your plugin manager (for example vim-plug):
Plug 'Snape3058/vim-smali'Plug 'neoclide/coc.nvim', {'branch': 'release'}{
"languageserver": {
"smalisp": {
"command": "smalisp",
"filetypes": ["smali"]
}
}
}Plug 'prabirshrestha/vim-lsp'
autocmd User lsp_setup call lsp#register_server({
\ 'name': 'smalisp',
\ 'cmd': {server_info->['smalisp']},
\ 'whitelist': ['smali'],
})- Prerequisites: Emacs with lsp-mode and eglot options.
- Setup: enable lsp for
smali-modeand configure the server to runsmalisp. - See lsp-mode docs for exact config syntax.

