ritobin-lsp is a language server that provides IDE functionality for editing ritobin files, a custom text format to represent League of Legends .bin files. You can use it with any editor that supports the Language Server Protocol (VS Code, Vim, Emacs, Zed, etc.).
The extension is available on the Visual Studio Marketplace, and the Open VSX Registry. You can search for it from the extensions pane in VS Code.
- Download the latest
.vsixfrom the releases page. Make sure to pick the architecture that matches your OS:win32-arm64/win32-x64: Windows ARM / x86 64 bitdarwin-arm64/darwin-x64: MacOS M1 / Intellinux-arm64/linux-x64: Linux ARM / x86 64 bit- If you don't know, you probably want
win32-x64
- Open the
.vsixin VS Code.- You can also use the
Extensions: Install from VSIX...command from the command palette (Ctrl/Cmd + P)
- You can also use the
Warning
The VS Code extension is under the ritobin-lsp-vs release, NOT the ritobin-lsp release. The latter is for usage outside of VS Code.
On the releases page, the binary is available under ritobin-lsp.
If you're using VS Code, the extension already bundles a copy of the ritobin-lsp binary, so you only need the .vsix. For other editors, you'll need to download the binary and configure your editor.
Just open a .rito/.ritobin file, or manually set the language to Ritobin!
You can also directly open/save .bin files as if they were ritobin.
Important
.py files are not recognised as ritobin, to not conflict with actual Python files. Rename your files to .rito.
Note
While you can directly edit .bin with the extension, things like comments and specific formatting get lost in the conversion. For that reason we recommend you always save as .ritobin, and only convert to .bin when you need.
ritobin-lsp automatically updates hashtables, and exposes an Unhash File command, which will look up every hash in your file against and replace them with the original values (if known).
The extension registers itself as a formatter for the Ritobin language, so you can format as you would any other language.
Configure it as you would for any other language server :)
- Semantic tokens (syntax highlighting)
- Direct opening of
.binfiles - Formatting
- Diagnostics
- File unhash command
- Automatic hashtable updates (with Mimir)
- lol-meta-classes integration
- Class property auto-complete
- Property value auto-complete
- Class auto-complete
- Hover information
- Automatic meta dump updates
- LoL Meta Wiki integration
- Links to wiki in hover information
- Class/property documentation
- modpkg support
- Linked bin & bin dependency resolution & related autocomplete
- Asset resolution & related autocomplete
- And much more to come :3