Skip to content

Releases: podlLev/shell-java

v0.6.0 — Command History

Choose a tag to compare

@podlLev podlLev released this 06 Jul 08:19
5e00834

Sixth milestone release adding full command history support.

What's New

  • Persistent history saved to ~/.shell_java_history across sessions
  • HISTFILE — custom history file location
  • HISTSIZE — limit number of stored entries (default 1000)
  • HISTCONTROLignoredups, ignorespace, erasedups, ignoreboth
  • history builtin with -r, -w, -a, -c flags
  • !! — repeat last command
  • !n — run command by number
  • !prefix — run last command starting with prefix
  • fc builtin with -l flag for listing and rerun by number
  • clear builtin to clear terminal screen

Changes

See [#7] for full details.

Notes

Planned for v0.7.0: pipes (|) and variable expansion ($VAR).

v0.5.0 — Job Control

Choose a tag to compare

@podlLev podlLev released this 05 Jul 09:06
2573d61

Fifth milestone release adding background job execution and job management.

What's New

  • & operator — run commands in background (ping -n 10 127.0.0.1 &)
  • Background processes launch immediately, printing [1] <pid>
  • jobs — list background jobs with status and +/- markers
  • Done jobs appear once on next jobs call then are removed
  • Job numbers reset when all jobs are cleared

Changes

See [#6] for full details.

Notes

Planned for v0.6.0: command history (history builtin, persistent history file, Up/Down arrow navigation).

v0.4.0 — Tab Completion

Choose a tag to compare

@podlLev podlLev released this 04 Jul 12:19
b363ef9

Fourth milestone release adding full tab completion support via JLine3.

What's New

  • Tab completes builtin command names
  • Tab completes PATH executables (Windows-aware, strips .exe/.bat extensions)
  • Tab completes file and directory paths for arguments
  • Tab cycles through candidates with repeated presses
  • complete -C <script> <command> — register custom completion script
  • complete -p <command> — print registered completion spec
  • complete -r <command> — remove registered completion spec
  • Registered scripts run on Tab with COMP_LINE/COMP_POINT env vars

Changes

See [#5] for full details.

Notes

Planned for v0.5.0: job control.

v0.3.0 — I/O Redirection

Choose a tag to compare

@podlLev podlLev released this 03 Jul 07:05

Third milestone release adding full I/O redirection support for both builtin and external commands.

What's New

  • > — redirect stdout to file (overwrite)
  • >> — redirect stdout to file (append)
  • 2> — redirect stderr to file (overwrite)
  • 2>> — redirect stderr to file (append)
  • All builtins and external commands respect redirection
  • ParseResult converted to record for cleaner code

Notes

Planned for v0.4.0: tab autocomplete via JLine3.

v0.2.0 — File operations and shell quoting

Choose a tag to compare

@podlLev podlLev released this 02 Jul 07:51
9b33f7a

Second milestone release adding file and directory operation builtins and full POSIX-compliant shell quoting.

What's New

File & Directory Operations (#2)

  • ls — list directory contents, sorted alphabetically
  • mkdir — create directories including intermediate parents
  • rmdir — remove empty directories
  • touch — create empty files or update last-modified timestamp
  • cat — display file contents
  • BuiltinFactory enum for centralized builtin registration

Shell Quoting (#3)

  • Single quotes — all characters preserved literally
  • Double quotes — literal value except \\, \", $, and `
  • Backslash outside quotes — escapes next character
  • Backslash inside double quotes — recognized sequences resolved, unrecognized sequences preserve backslash literally
  • Empty string preservation — echo "" produces empty string token
  • Unterminated quote detection — clean error message, shell continues

Notes

Planned for v0.3.0: I/O redirection (>, >>, <).

v0.1.0 — Initial shell with builtins and external command execution

Choose a tag to compare

@podlLev podlLev released this 30 Jun 09:14

First milestone release of a custom Java shell implementation supporting an interactive REPL, builtin commands, and execution of external programs via PATH resolution.

Features

  • Interactive REPL loop for reading and dispatching commands
  • Builtin commands:
    • exit
    • echo
    • pwd
    • cd
    • type — identifies whether a command is a builtin or an external executable
  • PATH-based resolution and execution of external programs, with PATHEXT-aware extension matching on Windows
  • Graceful handling of unrecognized/invalid commands

Notes

This is an early-stage release focused on core shell mechanics. Planned for
future versions: quoting/escaping, I/O redirection, pipes, and command history.