Skip to content

Add shell mode - #164

Merged
silverwind merged 2 commits into
masterfrom
shell-mode
Sep 29, 2026
Merged

silverwind merged 2 commits into
masterfrom
shell-mode

Conversation

@silverwind

Copy link
Copy Markdown
Owner

Shell scripts pin go tools and docker images in variables just like Makefiles, e.g. TOOL="${TOOL:-example.com/tool@v1.2.3}". This adds a shell mode for *.sh that reuses make mode's parsing and rewriting, with only shell syntax on top: declaration prefixes, arrays, a trailing ; and ${VAR:-default} defaults.

Values containing $ are now skipped in both modes, and a TS2883 in the declaration build is fixed.

Written by Claude.

silverwind and others added 2 commits September 29, 2026 16:19
Shell scripts pin go tools and docker images in variables the same way
Makefiles do, e.g. `TOOL="${TOOL:-example.com/tool@v1.2.3}"`. The new
`shell` mode reads `*.sh` assignments through make mode's parsers and
rewriter, adding only shell syntax: declaration prefixes, arrays, a
trailing `;` and `${VAR:-default}` defaults.

Values containing `$` are now skipped in both modes because they cannot
be resolved, and prewarming now matches the values themselves instead of
`go install`/`docker` keywords that assignments usually lack.

Co-Authored-By: Claude (Opus 5.5) <noreply@anthropic.com>
Spreading base() into an object literal inferred a type that references
`Override` from the `updates` devDependency, which the declaration build
cannot name (TS2883).

Co-Authored-By: Claude (Opus 5.5) <noreply@anthropic.com>
@silverwind
silverwind merged commit abaf59d into master Sep 29, 2026
18 checks passed
@silverwind
silverwind deleted the shell-mode branch September 29, 2026 14:24
silverwind added a commit that referenced this pull request Sep 29, 2026
* Add shell mode (#164) (silverwind)
* Update dependencies, use replacer functions in String#replace (silverwind)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant