Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
ae9152c
feat: vibe-coded wip implementation for binary script editing
idleberg Dec 20, 2025
60695d5
feat: add pre-decompilation view
idleberg Dec 20, 2025
df9cda7
chore: remove font-size
idleberg Dec 20, 2025
dad35df
style: update markup and styles
idleberg Dec 20, 2025
b9c849e
fix: update types
idleberg Dec 21, 2025
7329db4
chore: update tsdown
idleberg Dec 21, 2025
0c3553c
fix: update types
idleberg Dec 21, 2025
c6c6b87
refactor: reduce number of modules in use
idleberg Dec 21, 2025
351dc52
chore: update tooling
idleberg Dec 21, 2025
adcb70a
chore: add type keyword to import
idleberg Dec 21, 2025
f2a89c9
chore: replace require
idleberg Dec 21, 2025
98796d7
chore: fix biome issues
idleberg Dec 21, 2025
4349cab
feat!: remove all JXA features
idleberg Dec 21, 2025
a90c863
chore: add extensionDependencies
idleberg Dec 21, 2025
00ba387
chore: rename file
idleberg Dec 21, 2025
bd4d960
chore: sort imports
idleberg Dec 21, 2025
7cb07fe
chore: sort imports
idleberg Dec 21, 2025
e6386ff
chore: rename files
idleberg Dec 21, 2025
fd2a2ce
style: use arrays over mutable string variables
idleberg Dec 21, 2025
e49be96
chore: remove stray options
idleberg Dec 21, 2025
27199db
fix: biome issues
idleberg Dec 21, 2025
fad967d
chore: remove stray dependency
idleberg Dec 21, 2025
671888c
downgrade vscode types
idleberg Dec 21, 2025
d14fcf8
chore: rename icon package
idleberg Dec 21, 2025
073bcdd
feat: add JXA condition for binary AppleScript
idleberg Dec 22, 2025
91cbe67
chore: remove debug message
idleberg Dec 22, 2025
235c2fc
chore: update error message
idleberg Dec 22, 2025
9456d3b
chore: update comments
idleberg Dec 22, 2025
4845a10
feat: handle recompilation attempts
idleberg Dec 22, 2025
1ea4b4f
feat: handle recompilation attempts
idleberg Dec 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
auto-install-peers=true

public-hoist-pattern[]=*@biomejs/biome*
public-hoist-pattern[]=*@e18e/cli*
public-hoist-pattern[]=*@total-typescript/tsconfig*
public-hoist-pattern[]=*lefthook*
6 changes: 0 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,6 @@ On macOS, you can make use of the following build commands through the [command-
- AppleScript: Compile Script – <kbd>Shift ⇧</kbd>+<kbd>Option ⌥</kbd>+<kbd>B</kbd>
- AppleScript: Compile Script bundle
- AppleScript: Compile Application
- JXA: Run Script
- JXA: Compile Script
- JXA: Compile Script bundle
- JXA: Compile Application

### Settings

Expand All @@ -69,8 +65,6 @@ You can tweak the defaults for this package, `osacompile` and `osascript` in the
| `osacompile.stayOpen` | `false` | Stay open after run handler |
| `osacompile.startupScreen` | `false` | Show startup-screen |
| `osascript.outputStyle` | - | The flags argument is a string consisting of any of the modifier characters `e`, `h`, `o`, and `s` |
| `scpt.theme` | `"(none)"` | Custom syntax theme for binary AppleScript files, which are opened in a custom web-view |
| `scpt.overrideThemeBackground` | `false` | Allows overriding the syntax-theme's background color |

#### File Encoding

Expand Down
7 changes: 0 additions & 7 deletions config/jxa.configuration.json

This file was deleted.

6 changes: 5 additions & 1 deletion lefthook.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
[[remotes]]
git_url = "https://github.com/idleberg/configs"
ref = "main"
configs = ["lefthook/biome.toml", "lefthook/commitlint.toml"]
configs = [
"lefthook/biome.toml",
"lefthook/commitlint.toml",
"lefthook/e18e.toml",
]
175 changes: 22 additions & 153 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"compile": "npm run build",
"build": "concurrently --prefix-colors 'blue,green' 'npm:build:*'",
"build:code": "tsdown",
"build:image": "sharp resize 1024 1024 --input node_modules/applescript-svg-icon/src/applescript.svg --output resources/logo.png",
"build:image": "sharp resize 1024 1024 --input node_modules/@idleberg/applescript-svg-icon/src/applescript.svg --output resources/logo.png",
"dev": "npm run start",
"lint": "biome check",
"publish:ovsx": "ovsx publish --no-dependencies",
Expand All @@ -25,8 +25,6 @@
"keywords": [
"apple",
"applescript",
"jxa",
"javascript for automation",
"macos"
],
"repository": {
Expand All @@ -37,7 +35,7 @@
"bugs": {
"url": "https://github.com/idleberg/vscode-applescript/issues"
},
"main": "./lib/index.js",
"main": "./lib/index.cjs",
"icon": "resources/logo.png",
"engines": {
"vscode": "^1.85.0"
Expand Down Expand Up @@ -125,50 +123,6 @@
"markdownDescription": "%osascriptOutputStyle%",
"order": 11
},
"applescript.scpt.theme": {
"type": "string",
"enum": [
"(none)",
"css-variables",
"dark-plus",
"dracula-soft",
"dracula",
"github-dark-dimmed",
"github-dark",
"github-light",
"hc_light",
"light-plus",
"material-theme-darker",
"material-theme-lighter",
"material-theme-ocean",
"material-theme-palenight",
"material-theme",
"min-dark",
"min-light",
"monokai",
"nord",
"one-dark-pro",
"poimandres",
"rose-pine-dawn",
"rose-pine-moon",
"rose-pine",
"slack-dark",
"slack-ochin",
"solarized-dark",
"solarized-light",
"vitesse-dark",
"vitesse-light"
],
"default": "(none)",
"markdownDescription": "You can specify a syntax theme for binary AppleScript files, which are displayed in a custom web-view. Changes apply after re-opening the file or editor.",
"order": 13
},
"applescript.scpt.overrideThemeBackground": {
"type": "boolean",
"default": false,
"description": "Override theme background color of the syntax theme. Changes apply after re-opening the file or editor.",
"order": 14
},
"applescript.allowMultiTermination": {
"type": "boolean",
"default": false,
Expand All @@ -178,6 +132,10 @@
}
},
"commands": [
{
"command": "extension.applescript.openBinaryFile",
"title": "AppleScript: Open Binary File"
},
{
"command": "extension.applescript.run",
"title": "AppleScript: Run Script",
Expand Down Expand Up @@ -233,54 +191,6 @@
"dark": "./resources/dark/task.svg",
"light": "./resources/light/task.svg"
}
},
{
"command": "extension.jxa.run",
"title": "JXA: Run Script",
"icon": {
"dark": "./resources/dark/run.svg",
"light": "./resources/light/run.svg"
}
},
{
"command": "extension.jxa.compile",
"title": "JXA: Compile Script",
"icon": {
"dark": "./resources/dark/script.svg",
"light": "./resources/light/script.svg"
}
},
{
"command": "extension.jxa.compileBundle",
"title": "JXA: Compile Script bundle",
"icon": {
"dark": "./resources/dark/bundle.svg",
"light": "./resources/light/bundle.svg"
}
},
{
"command": "extension.jxa.compileApp",
"title": "JXA: Compile Application",
"icon": {
"dark": "./resources/dark/app.svg",
"light": "./resources/light/app.svg"
}
},
{
"command": "extension.jxa.openSettings",
"title": "JXA: Open Settings",
"icon": {
"dark": "./resources/dark/settings.svg",
"light": "./resources/light/settings.svg"
}
},
{
"command": "extension.jxa.terminateProcess",
"title": "JXA: Terminate Process",
"icon": {
"dark": "./resources/dark/terminate.svg",
"light": "./resources/light/terminate.svg"
}
}
],
"menus": {
Expand Down Expand Up @@ -319,36 +229,13 @@
"when": "resourceLangId == applescript",
"command": "extension.applescript.openSettings",
"group": "navigation@6"
},
{
"when": "resourceLangId == jxa",
"command": "extension.jxa.run",
"group": "navigation@1"
},
{
"when": "resourceLangId == jxa",
"command": "extension.jxa.compile",
"group": "navigation@2"
},
{
"when": "resourceLangId == jxa",
"command": "extension.jxa.compileBundle",
"group": "navigation@3"
},
{
"when": "resourceLangId == jxa",
"command": "extension.jxa.compileApp",
"group": "navigation@4"
},
{
"when": "resourceLangId == jxa",
"command": "extension.applescript.terminateProcess",
"group": "navigation@5"
},
}
],
"explorer/context": [
{
"when": "resourceLangId == jxa",
"command": "extension.applescript.openSettings",
"group": "navigation@6"
"when": "resourceExtname == .scpt || resourceExtname == .scptd",
"command": "extension.applescript.openBinaryFile",
"group": "navigation"
}
]
},
Expand Down Expand Up @@ -398,18 +285,6 @@
],
"configuration": "./config/applescript.configuration.json"
},
{
"id": "jxa",
"aliases": [
"JavaScript for Automation (JXA)",
"jxa"
],
"extensions": [
".jxa",
".jxainc"
],
"configuration": "./config/jxa.configuration.json"
},
{
"id": "applescript-injection"
}
Expand All @@ -435,14 +310,6 @@
"scopeName": "source.applescript",
"path": "./syntaxes/applescript.tmLanguage"
},
{
"language": "jxa",
"scopeName": "source.js.jxa",
"path": "./syntaxes/jxa.tmLanguage",
"embeddedLanguages": {
"source.js": "javascript"
}
},
{
"language": "applescript-injection",
"scopeName": "markdown.applescript.codeblock",
Expand All @@ -467,23 +334,25 @@
]
},
"dependencies": {
"acorn": "^8.15.0",
"line-column": "^1.0.2",
"vscode-get-config": "^0.5.0"
"vscode-get-config": "^0.6.2"
},
"devDependencies": {
"@commitlint/cli": "^20.1.0",
"@commitlint/config-conventional": "^20.0.0",
"@idleberg/configs": "^0.3.1",
"@commitlint/cli": "^20.2.0",
"@commitlint/config-conventional": "^20.2.0",
"@idleberg/applescript-svg-icon": "github:idleberg/applescript-svg-icon",
"@idleberg/configs": "^0.4.1",
"@types/line-column": "^1.0.2",
"@types/node": "^24.7.0",
"@types/vscode": "1.85.0",
"applescript-svg-icon": "github:idleberg/applescript-svg-icon",
"concurrently": "^9.2.1",
"cross-env": "^10.1.0",
"sharp-cli": "^5.2.0",
"tsdown": "^0.15.6",
"tsdown": "^0.18.1",
"typescript": "^5.9.3"
},
"packageManager": "[email protected]+sha512.34e538c329b5553014ca8e8f4535997f96180a1d0f614339357449935350d924e22f8614682191264ec33d1462ac21561aff97f6bb18065351c162c7e8f6de67"
"extensionDependencies": [
"idleberg.jxa"
],
"packageManager": "[email protected]+sha512.664074abc367d2c9324fdc18037097ce0a8f126034160f709928e9e9f95d98714347044e5c3164d65bd5da6c59c6be362b107546292a8eecb7999196e5ce58fa"
}
Loading