Skip to main content

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 import or class) 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


Download files

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

Source Distribution

wyvern_lsp-0.1.0.tar.gz (71.8 kB view details)

Uploaded Source

Built Distribution

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

wyvern_lsp-0.1.0-py3-none-any.whl (31.0 kB view details)

Uploaded Python 3

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

Hashes for wyvern_lsp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 21aa6320ddcb8161339ec9ad6a855a15dfd06b6142de0791b3c5ed8ac5e3f77a
MD5 100f08db4bded6e8d3c260cd739ef39e
BLAKE2b-256 6de055a54c54ce715c9b827d0b24a5e93466ecd17761643db0cabe8a3ac695cb

See more details on using hashes here.

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

Hashes for wyvern_lsp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 80f917a79f2099162a9688ecbba7a8f6b124ce9cde094e6eb352a1e55a5217df
MD5 cd97b0bfa7235e755cb07e3be0232560
BLAKE2b-256 dc70099f73b6471e71ba3397d30ae78cb546db122e4537f1205cf3c434de8bb9

See more details on using hashes here.

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