Repository navigation
Releases: grimdork/kush
Releases · grimdork/kush
Release list
v0.4.0
Changelog
- eae2414 absolute-positioned deterministic candidate redraw; add TAB debug traces
- 62ed18a add #!/usr/bin/env kush shebang
- 757c8f1 add --install-scripts to copy bundled scripts to blessed dir, set shebang to exe and chmod+x
- 05a7bc8 add --version/-v flag (version set via ldflags)
- 0239957 add BSD/Darwin pty implementation (openpty via x/sys/unix)
- 95de9e4 add KUSH_PROMPT token expansion, allowExternal toggle, Invalidate() and tests; doc in README_PROMPT.md
- 2294eaf add basic tab completion (PATH, files, builtins, aliases) and editor cycling
- eea547b add darwin cgo openpty wrapper (use system openpty)
- daaf2e1 add deep-debug dumps for preview and candidate-block bytes (KUSH_KEYDEBUG=3)
- 112f651 add export builtin and invalidate prompt provider on env changes; New(pp *prompt.Provider)
- 4ef0c5d add linux RunShell + platform build tags; fix pty build constraints and unused imports
- 3b54796 add linux build tag and use TCGETS/TCSETS for termios; dedupe restoreTermios
- d873606 add parse_example.tengo demonstrating parseKeywords
- 9534b35 anchor DECSTBM to live cursor row (CSI 6n) with short timeout; fallback to winsize
- e90c827 atomic single-write for candidate rows + prompt to avoid terminal interleaving
- 10a20a2 avoid newlines when moving cursor; add stderr TAB debug output
- a481b84 clear-to-end-of-screen before redraw, flush per-row, add per-row debug indices
- 2a2dd98 coloured highlight, in-place two-line rendering, ioctl terminal width for denser columns
- 2c87d96 conservative render always write fixed two-line candidate block atomically; pad/clear lines
- 3f20398 debug conservative candidate buffer dump when KUSH_KEYDEBUG=3
- 81f2fc5 debug trailing-newline decision; conditional second-pass alias expansion to avoid duplicates
- 600ec82 deterministic downward-first-tab + completion reuse + post-insert CSI + debug-timing probe
- e39b0ca draw prompt before candidate area to avoid overlap; reorder redraws
- 2c30959 enable cgo for mac build; fix Makefile tar paths and rm dist before goreleaser
- 9a0b4c6 ensure cursor positioned inside prompt after candidate redraw
- 92e6483 ensure prompt restored after candidate redraw; avoid prompt/candidates cursor races
- 5b7e96d fix CSI nG off-by-one (position is 1-indexed); ensure cursor placed after prompt
- c419e56 fix Tengo undefined checks (use undefined instead of nil)
- 18fc451 fix deterministic in-place candidate rendering, ensure two lines overwrite and stable highlighting
- 7e937da fix linux pty open and use TCGETS/TCSETS termios ioctls; remove unused import
- 0e6fc47 import time for CSI 6n read timeout
- 501ea9a improve help colours and formatting (cyan args/commands, bold white headings)
- 070bf8d integrate completion.Complete and basic Tab cycling/printing
- 28fcc6e merge README_PROMPT into README.md and remove temp file
- d8cb5bf move RunShell into run_shell.go and keep linux helpers tagged; ensure openpty per-platform
- 38abaed normalize Makefile tabs, ensure rm -rf dist before goreleaser
- 8e22760 normalize pages, absolute prompt-end positioning, full-line clears, verbose TAB geometry debug, page indicator
- b15cd9f pass prompt.Provider to builtins; builtins can invalidate prompt cache on export
- 2c04e87 prefer /opt/homebrew/bin/kush shebang on macOS
- 5db7435 provide RunShell in run_shell.go and platform helpers; ensure build across OSes
- 8ff2a1a publish brew formula to grimdork/homebrew-tools via goreleaser
- c4216dc remove duplicate pty_darwin (use unified pty_bsd implementation)
- 57b83e2 remove duplicated writes in renderCandidates; single atomic write + final cursor move
- 95d40cc remove legacy .goreleaser.yml and use macOS config as default
- 80712bf render prompt inline inside renderCandidates to make redraw atomic
- 8fee45f render prompt on dedicated line below candidates to avoid prompt pollution; avoid restoring cursor into candidate area
- c3f882f restore columnized candidate rendering (build full row before writing) and add debug dump for conservative path
- f62f46d restore saved cursor before restoring scroll region to avoid coordinate remap (DECSTBM trial)
- da9e2ca retry-on-mismatch for DECSTBM anchoring (CSI 6n) with one-shot retry and fallback
- ba51303 safer above-vs-below heuristic + plain-text preview + deterministic post-insert cursor positioning (debug gated)
- 48734ea session-level disable for DECSTBM (conservative fallback render) + KUSH_DISABLE_DECSTBM env
- 85442e2 session-level disable for DECSTBM (conservative fallback render) + KUSH_DISABLE_DECSTBM env (fix perLine)
- 5d0b14d split goreleaser configs (linux CI + macOS local) and add Makefile + cask helper
- 924540c stop publishing homebrew casks; publish formula only to tap
- 203bf9d strip shebang lines and print help text cleanly (no Runtime Error prefix)
- 47e0256 support #! kush shebang; show help text cleanly instead of fatal error
- d158c73 trial DECSTBM scroll-region around candidate redraw to avoid scrolling when prompt at bottom
- f14f990 trial DECSTBM scroll-region around candidate redraw to avoid scrolling when prompt at bottom (fix redeclare)
- b608c6f trial DECSTBM scroll-region around candidate redraw; restore scroll region and cursor
- fd1dede two-line paged completion UI with inverse-video highlight and Shift+Tab
- df069c2 update TODO — mark scripting auto-registration and kush/http modules implemented
- e2b8b1c use CSI G for absolute column moves (avoid relative C)
- 4a4aa6f use climate/arg for flag parsing; New(name) variant
- 2ba343a use climate/arg for flag parsing; replace flag package
- 23a1e8e use repo root for go build (main.go at project root)
- 6a0487f use save/restore cursor around candidate redraw; explicit final cursor move
- 4ac9125 use unix.Openpty on BSDs only; darwin uses cgo wrapper
- a1bce2c Add CHANGELOG.md with v0.1.0 entry
- 95270a8 Add FreeBSD arm64 ztypes for PTY support
- 5242bb9 Add FreeBSD support for PTY and termios (creack/pty implementation)
- b221f70 Add GoReleaser config and GitHub Actions release workflow
- 286da60 Add PTY-backed command runner, alias system, and line editor improvements
- d7fdb97 Add Tengo scripting runtime with run and eval builtins
- c3b6b0b Add commit-msg hook to enforce capitalised-verb commit messages
- 42a0b84 Add env_get builtin to scripting engine
- f9f24d4 Add example script demonstrating networking built-ins
- 417d979 Add handy aliases: getenv/setenv/pr/checkport (plus port_check)
- d6bc236 Add macOS arm64 Goreleaser workflow
- 92324d0 Add native HTTP builtins: get, post, put, delete, head, fetch
- 0355294 Add paeseArgs internal and more.
- 50977bb Add pipeline/redirect support, parenthesised alias bypass, and documentation overhaul
- 453f29c Add print (no newline), ping, and dig builtins for scripts
- 80dd8e5 Add tests for base-N encoder/decoders and CI workflow
- c2ec9d9 Added baseN and two variants of base64 functions.
- fac61a5 Added support for quotes in export.
- 4e1b397 Added this.
- 30fc0ec CI: avoid running GoReleaser on PRs and limit linux-only builds to prevent FreeBSD cross-build...