Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
# REPLmk
[![Build](https://github.com/bira/replmk/actions/workflows/build.yml/badge.svg)]

Friendly custom REPL building tool

!! Beta version !!

![image](assets/replmk1.png)

## Features

- Custom commands definitions via configuration files
- Save and restore command and output history


## Usage

The simplest way to starting a REPL is just by, well, typing `replmk` in the terminal.
Expand Down Expand Up @@ -50,6 +55,11 @@ You can also specify a file to save and load the command history as well as the
-o, --output-history-file arg -> Optional path to a file where to save the output history
```

If not specified, the default values for those arguments are:

- Command history file: `~/.replmk_history`
- Output history file: `~/.replmk_output_history`

## Installation from source

Requirements:
Expand All @@ -65,3 +75,13 @@ make -C build
```

The binary will be in `build/src/replmk`

## Dependencies

Many thanks to the people who created the great libraries and tools in use by this project. Here is a list of them:

- [doctest](https://github.com/doctest/doctest)
- [yaml-cpp](https://github.com/jbeder/yaml-cpp.git)
- [cxxopts](https://github.com/jarro2783/cxxopts.git)
- [ftxui](https://github.com/ArthurSonzogni/FTXUI.git)
- and of course, [CMake](https://cmake.org/) and your favourite C++ Compiler
Binary file added assets/replmk1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 5 additions & 9 deletions examples/simple.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,25 +17,21 @@ commands:
description: "Lists all environment variables"
type: single
exec: "env"
- name: ot
description: "Test stdout and stderr. Ah, end shell scripts"
- name: example_output
description: "Example using stdout and stderr"
type: shell
exec: |
#!/bin/bash

echo "received args $@"

for arg in "$@"; do
echo "arg: $arg"
echo "argument: $arg"
done
sleep 2
echo "it's working"
echo "running..."
sleep 2
echo "and this goes to stderr" 1>&2
sleep 2
echo "bye"
sleep 2
- name: jqt
description: "jq test"
type: "shell"
exec: "echo '{\"a\": 1, \"b\": 2}' | jq ."
sleep 2