Repository navigation
v0.1.0
Pre-1.0 release. The CLI surface is reasonably stable but breaking changes are expected before v1.0.
Install with:
curl -fsSL https://raw.githubusercontent.com/spuddydev/spudplate/main/install.sh | sh
Or download a binary directly from the assets below and put it on your PATH. Verify with shasum -a 256 -c SHA256SUMS.
What's Changed
- chore: create project structure by @spuddydev in #1
- feat(lexer): lexer tokens by @spuddydev in #2
- feat(lexer): add keyword and identifier lexing by @spuddydev in #3
- feat(lexer): add string and integer literal lexing by @spuddydev in #4
- feat(lexer): add operator lexing by @spuddydev in #5
- feat(lexer): add newline tokens and comment skipping by @spuddydev in #6
- feat(parser): add AST types and expression parsing by @spuddydev in #7
- feat(parser): add statement parsing by @spuddydev in #8
- feat(parser): add repeat blocks and full program parsing by @spuddydev in #9
- feat(parser): add file append support by @spuddydev in #10
- docs: license, syntax reference and Doxygen by @spuddydev in #11
- refactor: bump C++ standard to C++20 by @spuddydev in #12
- style: add clang-format, clang-tidy and update README by @spuddydev in #13
- feat(lexer): add backslash line continuation by @spuddydev in #14
- feat(lexer): add DOT, LBRACE, RBRACE token types for path expressions by @spuddydev in #15
- feat(parser): parse unquoted path expressions by @spuddydev in #16
- feat(parser): replace required with default and options by @spuddydev in #17
- feat(parser): add copy and mkdir from source by @spuddydev in #18
- feat(validator): repeat when and semantic rules by @spuddydev in #19
- feat(parser): parse include statements by @spuddydev in #20
- docs: refresh language reference and readme by @spuddydev in #21
- feat(interpreter): foundation skeleton by @spuddydev in #23
- feat(interpreter): evaluate expressions by @spuddydev in #24
- feat(interpreter): resolve path expressions by @spuddydev in #25
- feat(interpreter): run ask and let statements by @spuddydev in #26
- feat(interpreter): run mkdir and flush by @spuddydev in #27
- feat(interpreter): write files from content by @spuddydev in #28
- feat(interpreter): execute repeat loops by @spuddydev in #29
- feat(interpreter): wire spudplate run cli by @spuddydev in #30
- docs: drop braces from alias references by @spuddydev in #31
- feat(parser): allow expressions as ask defaults by @spuddydev in #32
- feat(interpreter): add replace string function by @spuddydev in #34
- feat(parser): allow hyphens in path expressions by @spuddydev in #33
- feat(interpreter): richer ask prompts by @spuddydev in #35
- feat: allow ask inside repeat by @spuddydev in #36
- feat(interpreter): asset pipeline by @spuddydev in #37
- feat(interpreter): dry run preview by @spuddydev in #38
- chore(docs): clean up warnings and themes by @spuddydev in #39
- feat: run shell commands from template by @spuddydev in #40
- feat: reassign let bindings by @spuddydev in #41
- feat: interpolate file content strings by @spuddydev in #42
- feat: universal string-literal interpolation by @spuddydev in #44
- feat: install layer for templates by @spuddydev in #45
- feat: release pipeline and shell installer by @spuddydev in #46
New Contributors
- @spuddydev made their first contribution in #1
Full Changelog: https://github.com/spuddydev/spudplate/commits/v0.1.0