Skip to content

Releases: MrPicklePinosaur/shrs

Pre-release 0.0.6

01 Jun 17:58
Compare
Choose a tag to compare

Hey everyone πŸ‘‹!

We are back once again for a release πŸš€! In 0.0.6 we have directed our attention in heavily overhauling the ergonomics of shrs. The most awesome improvement is the introduction of dependency injection to most of the API, including hooks, builtins, keybindings, prompt, and more. What this means for you is that instead of passing around a bunch of state structs, you can now query for exactly what state you need! See how this heavily simplifies your code below.

This first example shows the difference when writing a prompt. You no longer need to reach into line_ctx.ctx.state and query for the specific state yourself. Just put desired state in the argument list and you get it right away! No more error handling either!

Similarly, see how writing builtins have become a breeze, with much less noise in the argument noise and no longer requiring implementing a Builtin trait.

Finally, we have done a bunch of work on overhauling the docs with much more descriptive docstrings and code examples in each module! We hope this release has made writing your own shell using shrs that much more delightful.

See you around 🫑
- pinosaur

What's Changed

New Contributors

Full Changelog: 0.0.5...0.0.6

Pre-release 0.0.5

16 Apr 06:18
Compare
Choose a tag to compare

Hey everyone πŸ‘‹ ! It's been a while but we are back with the 0.0.5 pre-release of shrs πŸš€ ! In this release we have seen a couple of exciting new features to speed up your workflow in the shell!

Firstly, we now support rhai for writing completion scripts via the shrs_rhai_completion plugin. Leveraging this functionality, we now provide automatically generated completion scripts for a large number of common programs!

Next, shrs now has command suggestions as you type, allowing you to quickly re-run relevant commands from history.

Finally, we have introduced the concepts of snippets - automatically expanding text triggered by a keyword. This can be used to abbreviate long words or type out boilerplate.

Coming up in the next release will be a rewrite of the shell language to make it more feature complete as well as further experimental features for mux! Until then!

- pinosaur

What's Changed

Full Changelog: 0.0.4...0.0.5

Pre-release 0.0.4

02 Feb 04:34
Compare
Choose a tag to compare

With the 0.0.4 pre-release, we are celebrating shrs's first birthday πŸ₯³ ! This project was started on February 2nd, one year ago, and we have came a long way since then (just look at the main.rs from one year ago). Thanks for all the continuous support from the contributors and the community, and I am excited to see how this project will grow :D

In this release, we saw many exciting improvements to our mux system! Mux languages are now spawned as their own process in order to maintain context, and we have introduced support for python, ssh and sqlite to be ran inside of shrs! Other notable changes include:

  • Globbing
  • Theming system
  • More vi mode commands
  • Experimental rhai scripting support via shrs_rhai plugin
  • Styled macro improvements
  • History builtin
  • ... and a ton of refactoring and bug fixes

Stay tuned for 0.0.5 release next month πŸ‘‹

What's Changed

New Contributors

Full Changelog: 0.0.3...0.0.4

Pre-release 0.0.3

03 Jan 18:42
Compare
Choose a tag to compare

New pre-release for shrs just dropped! This release focused on many ergonomic changes and polishing up old features. Notably

  • Restored shrs as the default shell language, fixing many issues with broken interactive commands
  • Completion menu visual improvements
  • More completions (like for ssh)
  • Multiline prompts
  • Analytics plugin prototype
  • Improvements to builtins like history and help
  • Lots of bug fixes!

What's Changed

New Contributors

Full Changelog: 0.0.2...0.0.3

Pre-release 0.0.2

13 Nov 00:21
Compare
Choose a tag to compare

Hey all! Pre-release version 0.0.2 of shrs: the rusty shell toolkit has just been released πŸŽ‰ ! shrs is not just a shell written in Rust, it is a library for you to build your own command line shell. Here are some exciting new features that can be found in this release:

  • Run contexts: save and restore your execution environment
  • Dynamic aliases: change the definition of alias depending on which directory you are in
  • Project/workspace parsing: enables the abilitiy to create prompts like starship
  • Serde support: enables abilitiy to parse options from config files

What's Changed

New Contributors

Full Changelog: 0.0.1...0.0.2

Pre-release 0.0.1

03 Jun 09:13
Compare
Choose a tag to compare

πŸŽ‰ This is the first pre-release of shrs: the rusty POSIX shell. Please keep in mind that the core is still in active development and breaking changes to the API are frequent and common. If you encounter any issues or have any feature requests, don't be shy to leave an issue!

You can start using shrs in your project today:

shrs = { version = "0.0.1" }

New Contributors

Full Changelog: https://github.com/MrPicklePinosaur/shrs/commits/0.0.1