<commit_before># Mysh

mysh -- A ruby based command line shell program.

## Background

Inspired by the excellent article "Writing a Shell in 25 Lines of Ruby Code"
I thought it would be fun to experiment with that concept and see if it could
be taken further.

Many years ago, a popular shell program was modeled after
the 'C' programming language. It went by the name csh for C-shell (by the C
shore :-) Instead of 'C', my shell would be based on Ruby (were you shocked?)!
The obvious name rsh for Ruby-shell was already in use by the Remote-shell. So,
given the limited scope of this effort, and not wanting to do a lot of typing
all the time, I chose the name mysh for MY-SHell.

Since that name was available, it would seem that no one had yet written a
shell program at this level of narcissism.

The mysh is available as both a stand-alone CLI program and for use as a
command shell within Ruby applications and Rails web sites.

See the original article at:
(http://www.blackbytes.info/2016/07/writing-a-shell-in-ruby/)

By the way. The briefest look at the code will reveal that mysh has grown to be
way more than 25 lines long. Gotta love dem features!

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'mysh'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install mysh

## Usage

The mysh gem includes a simple executable called mysh. When run, the user is
presented with a command prompt:<commit_msg>Tiny update to the readme file.<commit_after># Mysh

mysh -- A ruby based command line shell program.

## Background

Inspired by the excellent article "Writing a Shell in 25 Lines of Ruby Code"
I thought it would be fun to experiment with that concept and see if it could
be taken further.

Many years ago, a popular shell program was modeled after
the 'C' programming language. It went by the name csh for C-shell (by the C
shore :-) Instead of 'C', my shell would be based on Ruby (were you shocked?)!
The obvious name rsh for Ruby-shell was already in use by the Remote-shell. So,
given the limited scope of this effort, and not wanting to do a lot of typing
all the time, I chose the name mysh for MY-SHell.

Since that name was available, it would seem that no one had yet written a
shell program at this level of narcissism.

The mysh is available as both a stand-alone CLI program and for use as a
command shell within Ruby applications and (eventually) Rails web sites.

See the original article at:
(http://www.blackbytes.info/2016/07/writing-a-shell-in-ruby/)

By the way. The briefest look at the code will reveal that mysh has grown to be
way more than 25 lines long. Gotta love dem features!

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'mysh'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install mysh

## Usage

The mysh gem includes a simple executable called mysh. When run, the user is
presented with a command prompt:
{'fraction_non_alphanumeric': 0.05497470489038786, 'fraction_numerical': 0.006745362563237774, 'mean_word_length': 3.7684887459807075, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '696032', 'n_tokens_mistral': 862, 'n_tokens_neox': 807, 'n_words': 497}