An LSP for Draconic, providing diagnostics, hover docs, and code completion for Avrae alias scripting.
Project description
Wyvern
Wyvern is a Language Server Protocol (LSP) implementation for Draconic, the scripting language used by the Avrae Discord bot. It brings real IDE features to your editor: errors underlined as you type, hover documentation for Avrae's API, and autocomplete for the functions you actually use.
Features
- Diagnostics - syntax errors and forbidden constructs (like
importorclass) are flagged before you ever run the alias - Hover documentation - hover over
vroll(),character(), or any Avrae built-in to see its signature and description inline - Code completion - autocomplete Avrae's API, Draconic built-ins, and your own variables as you type
- Document outline - jump between functions and variables in the sidebar
- Syntax highlighting - visually distinguishes dice expressions
{1d20+5}, inline code{{expr}}, and variable substitutions<target>
Installation
VSCode - install the Wyvern LSP extension from the marketplace. It will detect your Python interpreter and install the language server automatically.
Other editors (Neovim, Emacs, Helix, etc.) - install the language server directly:
pip install wyvern-lsp
Then configure your editor to use wyvern-lsp as the language server for .alias, .snippet, and .gvar files.
Works great with Avrae Utilities
Wyvern pairs naturally with Croebh's Avrae Utilities extension, which handles GVAR push/pull and collection management. The two extensions cover different ground and are designed to be used together.
Contributing
Wyvern is open source under the MIT license. Issues and pull requests are welcome - see CONTRIBUTING.md.
Credits
Wyvern icon by Lorc via game-icons.net, used under CC BY 3.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wyvern_lsp-0.1.0.tar.gz.
File metadata
- Download URL: wyvern_lsp-0.1.0.tar.gz
- Upload date:
- Size: 71.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21aa6320ddcb8161339ec9ad6a855a15dfd06b6142de0791b3c5ed8ac5e3f77a
|
|
| MD5 |
100f08db4bded6e8d3c260cd739ef39e
|
|
| BLAKE2b-256 |
6de055a54c54ce715c9b827d0b24a5e93466ecd17761643db0cabe8a3ac695cb
|
File details
Details for the file wyvern_lsp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: wyvern_lsp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 31.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80f917a79f2099162a9688ecbba7a8f6b124ce9cde094e6eb352a1e55a5217df
|
|
| MD5 |
cd97b0bfa7235e755cb07e3be0232560
|
|
| BLAKE2b-256 |
dc70099f73b6471e71ba3397d30ae78cb546db122e4537f1205cf3c434de8bb9
|