This commit is contained in:
dutchie031
2026-04-07 22:40:54 +02:00
parent d75f424b6a
commit 31a5a99d0f
7 changed files with 58 additions and 4 deletions
+49
View File
@@ -0,0 +1,49 @@
# Dutchies DCS Mission Scripting Tools
This repository is what I see as useful tools for DCS mission scripting. It contains a VS Code extension for easy DCS mission scripting, a Github Action for automatically compiling your mission scripts.
For me, I've used it in [Spearhead](https://github.com/dutchie031/Spearhead) and am using it for every script I write.
## VS Code Extension
### Features:
Get the extension here: https://marketplace.visualstudio.com/items?itemName=dutchie031.dutchies-dcs-scripting-tools
- [x] Syntax highlighting for DCS mission scripts
- [ ] Code snippets for common DCS scripting patterns
- [x] Compilation of mission scripts on save (or command)
- [x] Additional dev script that can be used in DCS. <br>
This way the compiled file will be reloaded on each mission restart. <br>
Without having to re-import the script file into the mission.
## Github Action
### Features:
- [x] Compile the mission script just like in the VS Code extension, but in a Github Action.
### Usage:
```yaml
name: Compile Scripts
on: [push]
jobs:
compile:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dutchie031/DcsMissionScriptingTools/github-action@action/v1
with:
source-root: 'src'
output-file: 'output/compiled.lua'
- name: Upload Compiled Script
uses: actions/upload-artifact@v3
with:
name: compiled-script
path: output/compiled.lua
```
@@ -11,5 +11,12 @@ inputs:
default: 'output/compiled.lua'
runs:
using: 'node20'
main: 'dist/index.js'
using: 'composite'
steps:
- run: |
cd ${{ github.action_path }}
npm ci
npm run build
node dist/index.js
shell: bash
@@ -1,5 +1,4 @@
import * as core from '@actions/core';
import { execSync } from 'child_process';
import { ScriptCompiler, ScriptCompilerOptions, CompilationError, ICompilationLogger } from 'dcs-script-compiler';
class Logger implements ICompilationLogger {
@@ -16,7 +15,6 @@ class Logger implements ICompilationLogger {
}
}
async function run() {
try {