| Crates.io | ass-lsp |
| lib.rs | ass-lsp |
| version | 0.2.0 |
| created_at | 2025-07-03 08:02:12.990151+00 |
| updated_at | 2025-07-03 08:02:12.990151+00 |
| description | Language Server Protocol implementation for Advanced SubStation Alpha (ASS/SSA) subtitle format |
| homepage | https://github.com/wiedymi/ass-lsp |
| repository | https://github.com/wiedymi/ass-lsp |
| max_upload_size | |
| id | 1735997 |
| size | 150,491 |
A Language Server Protocol (LSP) implementation for Advanced SubStation Alpha (ASS/SSA) subtitle format.
This LSP server provides rich language support for ASS/SSA subtitle files, including syntax highlighting, code completion, hover information, and validation. It's designed to work with any LSP-compatible editor like VS Code, Neovim, Emacs, and others.
[Script Info], [V4+ Styles], [Events], etc.)\pos, \move, \c, \t, etc.)git clone https://github.com/wiedymi/ass-lsp
cd ass-lsp
cargo build --release
The compiled binary will be available at target/release/ass-lsp.
cargo install ass-lsp
Add this to your Neovim configuration:
local lspconfig = require('lspconfig')
lspconfig.ass_lsp = {
default_config = {
cmd = { 'ass-lsp' },
filetypes = { 'ass', 'ssa' },
root_dir = function(fname)
return lspconfig.util.find_git_ancestor(fname) or vim.loop.os_homedir()
end,
settings = {},
},
}
-- Setup the LSP
require('lspconfig').ass_lsp.setup{}
Add this to your Emacs configuration:
(use-package lsp-mode
:config
(add-to-list 'lsp-language-id-configuration '(ass-mode . "ass"))
(lsp-register-client
(make-lsp-client
:new-connection (lsp-stdio-connection "ass-lsp")
:major-modes '(ass-mode)
:server-id 'ass-lsp)))
For any LSP-compatible editor, configure it to:
ass-lsp.ass, .ssaThis LSP server supports:
cargo build
cargo test
cargo run
The LSP server currently runs with default settings. Future versions may support configuration files for customizing behavior.
Contributions are welcome! Please feel free to submit issues and pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
The LSP provides completion and documentation for all standard ASS override tags:
\pos, \move, \org, \clip\fn, \fs, \fsp, \fscx, \fscy\c, \1c, \2c, \3c, \4c, \alpha, \1a, \2a, \3a, \4a\t, \fade, \fad\frx, \fry, \frz\bord, \shad, \be, \blur\an, \a, \q, \r\k, \kf, \ko, \ktass-lsp binary is in your PATH.ass and .ssa files.ass or .ssa)For large subtitle files, you may experience slower response times. The LSP includes performance monitoring and will provide suggestions for optimization.