Skip to main content

A very simple language server for smali

Project description

smalisp

A very simple language server for smali with definition support & auto-completion.

Code completion Docs
image image

Installation

pip

pip install -U smalisp

From source

pip install -U git+https://github.com/AbhiTheModder/smalisp.git

Extensions & Setup

Zed Extension (Local Development)

Prerequisites: Zed editor installed.

  • Extension path: extensions/zed.
  1. Open the Extensions page in Zed.
  2. Click the Install Dev Extension button (or run the zed: Install Dev Extension command).
  3. 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

Note: These dev extensions are not yet officially accepted in the Zed extension registry; acceptance is expected soon.

VSCode Extension (Local Development)

Prerequisites: VSCode installed.

  • Extension path: extensions/vscode.
  1. Build or obtain the VSIX package for the extension from the releases page of this repository.
  2. In VSCode, go to Extensions view, click the three-dot menu, choose Install from VSIX..., and select the downloaded .vsix file.
  3. Alternatively, run code --install-extension path/to/extension.vsix from the terminal.

Note: The VSCode extension is not yet published in the official VSCode Marketplace; use local VSIX for testing.

Helix

  • Prerequisites: Helix installed.

Install/ensure smalisp is installed in your Python environment (e.g. pip install -U smalisp). Then 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" ]
  • Official integration PR for Helix has been submitted; Smalisp should be available out-of-the-box soon.

Vim/NeoVim

  • 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'],
})

Emacs (lsp-mode)

  • Prerequisites: Emacs with lsp-mode and eglot options.
  • Setup: enable lsp for smali-mode and configure the server to run smalisp.
  • See lsp-mode docs for exact config syntax.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smalisp-0.1.0.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smalisp-0.1.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file smalisp-0.1.0.tar.gz.

File metadata

  • Download URL: smalisp-0.1.0.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for smalisp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fbc9de8a6cd846301352d8b51f73b808c11860370f6585c0d390172eac3ba48f
MD5 7bb73ceb316936016e712168ec10083a
BLAKE2b-256 01a2fa9f1187edde28732cc4df7a4881ab884ef2a6524e8a6e2bf1661e7e3fa4

See more details on using hashes here.

Provenance

The following attestation bundles were made for smalisp-0.1.0.tar.gz:

Publisher: python-publish.yml on AbhiTheModder/smalisp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file smalisp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: smalisp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for smalisp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 41a0c8eedb5e9914641829519179d66359406b8708d999d9ebb5f22d6691b714
MD5 1aa00c40e5613c480a97a90bb6ac7116
BLAKE2b-256 bc26e54a6fdb107ebe6a3756e1ea869087b4e5ed4ad8906a1dc3fb3572023f85

See more details on using hashes here.

Provenance

The following attestation bundles were made for smalisp-0.1.0-py3-none-any.whl:

Publisher: python-publish.yml on AbhiTheModder/smalisp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page