This extension brings the WooWoo Language Server to VSCode. In addition to that, it provides basic client-side syntax highlighting.
Prerequisites
Python 3.8 or higher
Installation Guide
Please follow these steps to set up the extension:
Check System Compatibility:
The extension is compatible with most systems running Python 3.8 or higher.
On non-standard systems, a C++ compiler is required to compile the wuff package.
Install wuff:
Install the wuff package into the Python interpreter that the extension will use to launch the language server. This could be a Python virtual environment, the system-wide Python installation, or any other Python interpreter on your system.
Use pip install wuff to install. wuff is a set of analyzer tools for WooWoo projects, developed in C++ for efficiency.
Install the WooWoo extension from the VSCode Marketplace.
Open Command Menu:
Press Ctrl + Shift + P (Windows/Linux) or Cmd + Shift + P (Mac) and search for the Python: Select Interpreter command.
Select Interpreter:
Choose the Python interpreter where you installed wuff in step 2.
Finalize Setup:
Your setup is complete! If needed, specify the dialect you are using (refer to the Dialect Configuration section for details).
If the language server isn't working, run the WooWoo VSCode: Restart Server command from the command menu.
Dialect Configuration
Language support in WooWoo is highly dependent on the specific dialect used. To ensure the extension operates correctly, you must specify your dialect unless you're using the default FIT-Math dialect.
Access Settings: Open VSCode settings with Ctrl + , (Windows/Linux) or Cmd + , (Mac).
Search for WooWoo: Type WooWoo in the settings search bar.
Set Dialect File Path: Find the WooWoo-vscode: Dialect_file_path setting and input the absolute path to your .yaml dialect file.
Restart VSCode: To apply the changes, restart VSCode.
The dialect file path you set is passed to the language server by the VSCode language server client upon startup.
The choice of theme in VSCode plays a pivotal role in the semantic highlighting experience provided by the WooWoo LS. Some themes might use the same color for various token types, which could lead to suboptimal highlighting when working with WooWoo documents.