WoW API
Adds IntelliSense features for World of Warcraft API to VS Code. This extension uses Sumneko's Lua Language Server with EmmyLua annotations.
See Recommended settings for suggested config options and comparisons.
Features
API
- Parses Wowpedia pages for API documentation
- Lua shorthand references e.g.
format
(string.format) andtinsert
(table.insert) - Custom WoW Lua functions e.g.
wipe
andstrsplit
Widgets
Events
CVars
Enums
Enum
andConstants
tableLE_
Lua Enums
GlobalStrings
Shows completion for GlobalStrings at >3 uppercase letters to declutter fuzzy search.
Environment Setup
If using WSL, it is HIGHLY recommended that you setup your WSL instance and handle all git operations within WSL.
While using WSL is not required, the below setups are written around the assumption that WSL is being used. If you do not have WSL setup, you can start the install by running wsl --install
from an elevated command prompt.
Setting up a WSL Ubuntu Instance
Windows Command Prompt (Elevated)
- Start an elevated command prompt in Windows
- Execute
wsl --install -d Ubuntu-20.04
- Follow the prompts to configure a username/password.
- You should be dropped into the bash shell.
WSL Ubuntu Bash Shell
- Execute
sudo apt-get update
- Use the password you setup with WSL previously.
- This updates the apt-get repos.
- Execute
sudo apt-get install pip unzip libreadline-dev libssl-dev
- Execute
git clone https://github.com/Ketho/vscode-wow-api/
- Execute
cd vscode-wow-api
- Execute
bin/setup.sh
This will setup an isolated Lua 5.3 environment (using hererocks and luarocks) within the.lua
directory and install the below dependencies: - If using VS Code on Windows, you can execute
code .
while in thevscode-wow-api
directory within WSL. - This will open VS Code in windows and prompt you to install the Remote WSL extension
- You will then be able to use VS Code like you normally do but with the benefits of running an environment in Linux!
- Read more here!
Generating documentation
- Blizzard documented functions are generated from Blizzard_APIDocumentation.
- Non-Blizzard documented functions are exported and parsed from Wowpedia.
- JSON data for the hover provider (Events, CVars and Enums) is generated from Lua/ToTypeScript.
lua53 ./Lua/main.lua
or
./lua/bin/vscodewowapi
Acknowledgements
The following people contributed to the development resources or their work was of invaluable help.
- Andols
- Buds
- ChrisKader
- DahkCeles
- Ellypse
- Ferronn
- Foxlit
- Gethe
- Iriel
- jnwhiteh
- Kaydeethree
- Marlamin
- Meorawr
- nebula
- Nevcairiel
- Resike
- Stanzilla
- Sumneko
- Yuyuli