Skip to content

Commit 10d2ec5

Browse files
committed
adjustments
1 parent 3dac504 commit 10d2ec5

9 files changed

Lines changed: 138 additions & 92 deletions

File tree

_doc/start.md

Lines changed: 39 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,110 +1,83 @@
11
---
22
title: Installation
33
excerpt: Install WurstScript and set up your first project.
4-
date: 2025-12-08
4+
date: 2026-03-02
55
icon:
6-
  type: fa
7-
  name: fa-paper-plane
6+
type: fa
7+
name: fa-paper-plane
88
color: green
99
---
1010

11-
WurstScript is a programming language and modding toolkit working in unison to create Warcraft 3 maps.
12-
This guide explains the streamlined setup using the updated VSCode extension, which now manages compiler updates and the CLI automatically.
11+
WurstScript is a programming language and modding toolkit for Warcraft 3 maps.
12+
This guide covers the current streamlined setup with VS Code.
1313

1414
## Prerequisites
1515

16-
WurstScript editor support is provided via the VSCode extension.
17-
The extension now **downloads, installs, and updates both the compiler and the CLI (`grill`) automatically**, requiring no manual setup for most users.
16+
### VS Code
1817

19-
### VSCode
20-
21-
[* *{: .fa .fa-download} Download VSCode](https://code.visualstudio.com/){: .btn .btn-primary}
18+
[* *{: .fa .fa-download} Download VS Code](https://code.visualstudio.com/){: .btn .btn-primary}
2219

2320
### Wurst Extension
2421

25-
Install the VSCode [Wurst language support extension](https://marketplace.visualstudio.com/items?itemName=peterzeller.wurst).
26-
27-
## Activate the Extension
28-
29-
After installation, open a Wurst project or any `.wurst` file.
30-
The extension initializes itself and installs all required components.
31-
You can also trigger setup manually via the command palette (F1):
22+
Install the VS Code [Wurst language support extension](https://marketplace.visualstudio.com/items?itemName=peterzeller.wurst).
3223

33-
* `>wurst: Install`
34-
* `>wurst: New Wurst Project`
24+
The extension now installs and updates the compiler and CLI for you.
25+
`grill` is added to PATH automatically by the extension setup.
3526

36-
Once activated, the extension will keep your compiler up-to-date in the background.
27+
## Quick Start
3728

38-
## Creating and Working With Projects
29+
After installing the extension, use one of these paths:
3930

40-
The extension ships with `grill`, which it installs for you.
41-
Add the `~/.wurst` folder to your PATH so the `grill` command is available everywhere.
42-
See this guide: [https://www.java.com/en/download/help/path.xml](https://www.java.com/en/download/help/path.xml)
31+
### A) Open an existing project
4332

44-
For regular users, the only grill command you normally need is:
33+
1. Clone/open the project folder from version control.
34+
2. If the project has dependencies, run:
4535

46-
### Install project dependencies
47-
48-
Run inside your project root:
49-
50-
```
36+
```bash
5137
grill install
5238
```
5339

54-
This sets up dependencies for a new project or updates an existing one.
40+
3. If language features do not initialize immediately, run `F1` -> `Developer: Reload Window`.
5541

56-
### Add a new dependency
42+
### B) Create a new project
5743

58-
```
59-
grill install https://github.com/Frotty/wurst-astar-jps
60-
```
44+
1. In VS Code, press `F1`.
45+
2. Run `Wurst: New Wurst Project`.
46+
3. Follow the prompts.
6147

62-
This adds the dependency to your project and updates it.
48+
For this flow, you usually do not need to run `grill install` manually right away.
6349

64-
### Opening a project
50+
## Running Your Map
6551

66-
Open the project’s root folder in VSCode:
52+
Use the play button in VS Code to run your project quickly.
6753

68-
```
69-
code my-wurst-project
70-
```
54+
- Open any `.wurst` file and click the play button.
55+
- You can also open a `.w3x` or `.w3m` map and use the same run action.
7156

72-
{: .answer}
73-
* *{: .fa .fa-exclamation-circle} Open the folder containing your `wurst.build` file.
57+
## Useful Commands
7458

75-
After opening the project, selecting a `.wurst` file will activate the language server.
76-
Compilation, map building, and other workflows are available directly through VSCode commands (`F1` → search for “wurst”).
59+
- `>wurst: Install`
60+
- `>wurst: New Wurst Project`
7761

78-
---
62+
Open the command palette with `F1` and search for `wurst`.
7963

80-
## Optional: CLI Usage for Non-VSCode Users
64+
## Optional: CLI-Only Usage
8165

82-
If you prefer using WurstScript without VSCode, or you want full manual control, you can enable standalone CLI usage.
66+
If you are not using VS Code, you can still use `grill` directly.
8367

84-
### Create a new project (CLI-only)
68+
Create a new project:
8569

86-
```
70+
```bash
8771
grill generate my-wurst-project
8872
```
8973

90-
### Update the compiler manually
74+
Add a dependency:
9175

76+
```bash
77+
grill install https://github.com/Frotty/wurst-astar-jps
9278
```
93-
grill install wurstscript
94-
```
95-
96-
This is no longer required when using VSCode, as the extension manages compiler updates automatically.
97-
98-
---
99-
100-
## Graphical User Interface
101-
102-
> Deprecated
103-
104-
Running `WurstSetup.jar` without arguments opens the legacy GUI installer.
105-
This workflow is no longer recommended.
10679

10780
---
10881

109-
If you are new to WurstScript but not new to programming, continue with the
110-
[* *{: .fa .fa-external-link-square} Beginner's Guide](tutorials/wurstbeginner.html).
82+
If you are new to WurstScript, continue with the
83+
[* *{: .fa .fa-external-link-square} Beginner's Guide](tutorials/wurstbeginner.html).

_sass/doc.scss

Lines changed: 98 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -145,47 +145,120 @@ h4 {
145145
}
146146

147147
.question {
148-
padding: 10px 20px;
149-
font-weight: 400 !important;
150-
color: #fff;
151-
border-radius: 6px;
152-
font-size: 22px;
153-
background-color: var(--color-primary-dark);
154-
.body-green {
155-
background-color: var(--color-green-dark);
156-
}
157-
.body-blue & {
158-
background-color: var(--color-blue-dark);
159-
}
160-
.body-orange & {
161-
background-color: var(--color-orange-dark);
148+
margin: 14px 0;
149+
padding: 12px 14px;
150+
font-weight: 500 !important;
151+
color: var(--text-color);
152+
border-radius: 10px;
153+
font-size: 18px;
154+
line-height: 1.45;
155+
background: var(--smoky-white);
156+
border: 1px solid var(--divider-dark);
157+
border-left: 4px solid var(--color-orange);
158+
box-shadow: 0 3px 10px rgba(20, 28, 36, 0.08);
159+
160+
.body-red & {
161+
border-left-color: var(--color-red);
162162
}
163+
163164
.body-pink & {
164-
background-color: var(--color-pink-dark);
165+
border-left-color: var(--color-pink);
165166
}
167+
166168
.body-purple & {
167-
background-color: var(--color-purple-dark);
169+
border-left-color: var(--color-purple);
168170
}
171+
169172
a {
170-
color: #fff !important;
171-
text-decoration: underline !important;
173+
color: var(--text-color-dark) !important;
174+
text-decoration: underline;
175+
text-underline-offset: 2px;
172176
}
177+
173178
.fa {
174-
@include opacity(0.6);
179+
margin-right: 8px;
180+
color: var(--color-orange-dark);
181+
}
182+
183+
.body-red & .fa {
184+
color: var(--color-red-dark);
185+
}
186+
187+
.body-pink & .fa {
188+
color: var(--color-pink-dark);
189+
}
190+
191+
.body-purple & .fa {
192+
color: var(--color-purple-dark);
175193
}
194+
176195
.label {
177196
font-size: 11px;
178197
vertical-align: middle;
179198
}
180199
}
181200

182201
.answer {
183-
background-color: var(--color-primary);
184-
padding: 10px 20px;
185-
font-weight: 400 !important;
186-
color: #fff;
187-
border-radius: 6px;
188-
font-size: 22px;
202+
margin: 14px 0;
203+
padding: 12px 14px;
204+
font-weight: 500 !important;
205+
color: var(--text-color);
206+
border-radius: 10px;
207+
font-size: 18px;
208+
line-height: 1.45;
209+
background: var(--smoky-white);
210+
border: 1px solid var(--divider-dark);
211+
border-left: 4px solid var(--color-primary);
212+
box-shadow: 0 3px 10px rgba(20, 28, 36, 0.08);
213+
214+
.body-green & {
215+
border-left-color: var(--color-green);
216+
}
217+
.body-blue & {
218+
border-left-color: var(--color-blue);
219+
}
220+
.body-orange & {
221+
border-left-color: var(--color-orange);
222+
}
223+
.body-red & {
224+
border-left-color: var(--color-red);
225+
}
226+
.body-pink & {
227+
border-left-color: var(--color-pink);
228+
}
229+
.body-purple & {
230+
border-left-color: var(--color-purple);
231+
}
232+
233+
a {
234+
color: var(--text-color-dark) !important;
235+
text-decoration: underline;
236+
text-underline-offset: 2px;
237+
}
238+
239+
.fa {
240+
margin-right: 8px;
241+
color: var(--color-primary-dark);
242+
}
243+
244+
.body-green & .fa {
245+
color: var(--color-green-dark);
246+
}
247+
.body-blue & .fa {
248+
color: var(--color-blue-dark);
249+
}
250+
.body-orange & .fa {
251+
color: var(--color-orange-dark);
252+
}
253+
.body-red & .fa {
254+
color: var(--color-red-dark);
255+
}
256+
.body-pink & .fa {
257+
color: var(--color-pink-dark);
258+
}
259+
.body-purple & .fa {
260+
color: var(--color-purple-dark);
261+
}
189262
}
190263

191264
.code-block {
1.02 KB
Binary file not shown.

pagefind/index/en_349cdc3.pf_index

38.2 KB
Binary file not shown.

pagefind/index/en_8c4b1bf.pf_index

38.5 KB
Binary file not shown.

pagefind/index/en_8fb7a38.pf_index

38.9 KB
Binary file not shown.

pagefind/index/en_f5cd67f.pf_index

21.3 KB
Binary file not shown.

pagefind/pagefind-entry.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"version":"1.4.0","languages":{"en":{"hash":"en_6c47139117","wasm":"en","page_count":57}},"include_characters":["_","","","","","","","","","_"]}
1+
{"version":"1.4.0","languages":{"en":{"hash":"en_af16fe4373","wasm":"en","page_count":57}},"include_characters":["_","","","","","","","","","_"]}
572 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)