merged main
This commit is contained in:
@@ -1,14 +0,0 @@
|
|||||||
.vscode/**
|
|
||||||
.vscode-test/**
|
|
||||||
out/**
|
|
||||||
node_modules/**
|
|
||||||
src/**
|
|
||||||
.gitignore
|
|
||||||
.yarnrc
|
|
||||||
esbuild.js
|
|
||||||
vsc-extension-quickstart.md
|
|
||||||
**/tsconfig.json
|
|
||||||
**/eslint.config.mjs
|
|
||||||
**/*.map
|
|
||||||
**/*.ts
|
|
||||||
**/.vscode-test.*
|
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2026 dutchie031
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
@@ -5,6 +5,60 @@ Direct DCS API checking and a Transpiler that can help keep huge complex scripts
|
|||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
|
- DCS API checking in VSCode
|
||||||
|
Automatic checking of your code for DCS API errors.
|
||||||
|
- Transpiler
|
||||||
|
A tool that can help you write more complex scripts in a more simple and overseeable way.
|
||||||
|
Transpiles multiple files into a single file that can be used in DCS, using standard Lua syntax and features.
|
||||||
|
|
||||||
|
|
||||||
|
## How To use
|
||||||
|
|
||||||
|
### Intellisense and API checking in VSCode.
|
||||||
|
|
||||||
|
1. Install the extension in VSCode.
|
||||||
|
2. Open your workspace with your DCS mission scripts.
|
||||||
|
3. Enable: `> Dutchies Scripting Tools: Enable`
|
||||||
|
|
||||||
|
### Transpiler
|
||||||
|
|
||||||
|
1. Make sure you have the code in `./src` folder by default, or change the `src` folder in the settings.
|
||||||
|
`settings.json`:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"dutchiesScriptingTools.src": "./src"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Write your code in the `src` folder, with possible subfolders. You can use standard Lua syntax and features, and the transpiler will handle the rest.
|
||||||
|
|
||||||
|
NOTE:
|
||||||
|
There's no implicit entry point. The whole code will be put into a single Lua file. <br>
|
||||||
|
The order of the files depends on dependencies via the `require` function. So if you have a file `main.lua` that requires `utils.lua`, the transpiler will first transpile `utils.lua` and then `main.lua`. <br>
|
||||||
|
This means that if you have code that executes on load, it will be executed. <br>
|
||||||
|
Best practice is to have 1 file that executes and the rest be modules. <br>
|
||||||
|
Eg. `main.lua`:
|
||||||
|
```lua
|
||||||
|
local utils = require("utils")
|
||||||
|
|
||||||
|
utils.printHelloWorld()
|
||||||
|
|
||||||
|
```
|
||||||
|
And `utils.lua`:
|
||||||
|
```lua
|
||||||
|
local utils = {}
|
||||||
|
utils.printHelloWorld = function()
|
||||||
|
env.info("Hello World!")
|
||||||
|
end
|
||||||
|
return utils
|
||||||
|
```
|
||||||
|
|
||||||
|
## Possible Future Features
|
||||||
|
|
||||||
|
- DCS Snippets
|
||||||
|
A collection of useful code snippets for DCS scripting in VSCode.
|
||||||
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
`sumenko.lua` : The VSCode Lua Language Server
|
`sumenko.lua` : The VSCode Lua Language Server
|
||||||
@@ -20,5 +74,5 @@ Direct DCS API checking and a Transpiler that can help keep huge complex scripts
|
|||||||
### 0.0.1
|
### 0.0.1
|
||||||
|
|
||||||
Initial.
|
Initial.
|
||||||
Still very much in Test/Development
|
Still very much in Test/Development. Use at your own risk.
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 234 KiB |
@@ -7,6 +7,11 @@
|
|||||||
"name": "dutchie031",
|
"name": "dutchie031",
|
||||||
"email": "54616262+dutchie031@users.noreply.github.com"
|
"email": "54616262+dutchie031@users.noreply.github.com"
|
||||||
},
|
},
|
||||||
|
"icon": "dutchie2.png",
|
||||||
|
"galleryBanner": {
|
||||||
|
"color": "#222430",
|
||||||
|
"theme": "dark"
|
||||||
|
},
|
||||||
"publisher": "dutchie031",
|
"publisher": "dutchie031",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -96,14 +101,15 @@
|
|||||||
"sumneko.lua"
|
"sumneko.lua"
|
||||||
],
|
],
|
||||||
"files": [
|
"files": [
|
||||||
"dist",
|
"dist/**",
|
||||||
"README.md",
|
"README.md",
|
||||||
"lua-addons/**/*",
|
"lua-addons/**/*",
|
||||||
"syntaxes/**/*"
|
"dutchie2.png",
|
||||||
|
"LICENSE"
|
||||||
],
|
],
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"vscode:prepublish": "npm run build -w compiler && npm run package",
|
"vscode:prepublish": "npm run package",
|
||||||
"compile": "npm run check-types && npm run lint && node esbuild.js",
|
"compile": "npm run check-types && npm run lint && node esbuild.js",
|
||||||
"watch": "npm-run-all -p watch:*",
|
"watch": "npm-run-all -p watch:*",
|
||||||
"watch:esbuild": "node esbuild.js --watch",
|
"watch:esbuild": "node esbuild.js --watch",
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
npm install
|
||||||
|
cd dutchies-dcs-scripting-tools
|
||||||
|
npm install
|
||||||
|
npm run package
|
||||||
|
npx @vscode/vsce package --no-dependencies
|
||||||
Generated
+5
@@ -912,6 +912,7 @@
|
|||||||
"integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==",
|
"integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.54.0",
|
"@typescript-eslint/scope-manager": "8.54.0",
|
||||||
"@typescript-eslint/types": "8.54.0",
|
"@typescript-eslint/types": "8.54.0",
|
||||||
@@ -1144,6 +1145,7 @@
|
|||||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"acorn": "bin/acorn"
|
"acorn": "bin/acorn"
|
||||||
},
|
},
|
||||||
@@ -2080,6 +2082,7 @@
|
|||||||
"integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
|
"integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.8.0",
|
"@eslint-community/eslint-utils": "^4.8.0",
|
||||||
"@eslint-community/regexpp": "^4.12.1",
|
"@eslint-community/regexpp": "^4.12.1",
|
||||||
@@ -5169,6 +5172,7 @@
|
|||||||
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
@@ -5299,6 +5303,7 @@
|
|||||||
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
|
"peer": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
"tsserver": "bin/tsserver"
|
"tsserver": "bin/tsserver"
|
||||||
|
|||||||
Reference in New Issue
Block a user