diff options
Diffstat (limited to 'contrib/replxx/README.md')
-rw-r--r-- | contrib/replxx/README.md | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/contrib/replxx/README.md b/contrib/replxx/README.md new file mode 100644 index 0000000..21c907a --- /dev/null +++ b/contrib/replxx/README.md @@ -0,0 +1,119 @@ +# Read Evaluate Print Loop ++ + +![demo](https://drive.google.com/uc?export=download&id=0B53g2Y3z7rWNT2dCRGVVNldaRnc) + +[![Build Status](https://travis-ci.org/AmokHuginnsson/replxx.svg?branch=master)](https://travis-ci.org/AmokHuginnsson/replxx) + +A small, portable GNU readline replacement for Linux, Windows and +MacOS which is capable of handling UTF-8 characters. Unlike GNU +readline, which is GPL, this library uses a BSD license and can be +used in any kind of program. + +## Origin + +This replxx implementation is based on the work by +[ArangoDB Team](https://github.com/arangodb/linenoise-ng) and +[Salvatore Sanfilippo](https://github.com/antirez/linenoise) and +10gen Inc. The goal is to create a zero-config, BSD +licensed, readline replacement usable in Apache2 or BSD licensed +programs. + +## Features + +* single-line and multi-line editing mode with the usual key bindings implemented +* history handling +* completion +* syntax highlighting +* hints +* BSD license source code +* Only uses a subset of VT100 escapes (ANSI.SYS compatible) +* UTF8 aware +* support for Linux, MacOS and Windows + +It deviates from Salvatore's original goal to have a minimal readline +replacement for the sake of supporting UTF8 and Windows. It deviates +from 10gen Inc.'s goal to create a C++ interface to linenoise. This +library uses C++ internally, but to the user it provides a pure C +interface that is compatible with the original linenoise API. +C interface. + +## Requirements + +To build this library, you will need a C++11-enabled compiler and +some recent version of CMake. + +## Build instructions + +### *nix + +1. Create a build directory + +```bash +mkdir -p build && cd build +``` + +2. Build the library + +```bash +cmake -DCMAKE_BUILD_TYPE=Release .. && make +``` + +3. Install the library at the default target location + +```bash +sudo make install +``` + +The default installation location can be adjusted by setting the `DESTDIR` +variable when invoking `make install`: + +```bash +make DESTDIR=/tmp install +``` + +### Windows + +1. Create a build directory in MS-DOS command prompt + +``` +md build +cd build +``` + +2. Generate Visual Studio solution file with cmake + +* 32 bit: +```bash +cmake -G "Visual Studio 12 2013" -DCMAKE_BUILD_TYPE=Release ..` +``` +* 64 bit: +```bash +`cmake -G "Visual Studio 12 2013 Win64" -DCMAKE_BUILD_TYPE=Release ..` +``` + +3. Open the generated file `replxx.sln` in the `build` subdirectory with Visual Studio. + +## Tested with... + + * Linux text only console ($TERM = linux) + * Linux KDE terminal application ($TERM = xterm) + * Linux xterm ($TERM = xterm) + * Linux Buildroot ($TERM = vt100) + * Mac OS X iTerm ($TERM = xterm) + * Mac OS X default Terminal.app ($TERM = xterm) + * OpenBSD 4.5 through an OSX Terminal.app ($TERM = screen) + * IBM AIX 6.1 + * FreeBSD xterm ($TERM = xterm) + * ANSI.SYS + * Emacs comint mode ($TERM = dumb) + * Windows + +Please test it everywhere you can and report back! + +## Let's push this forward! + +Patches should be provided in the respect of linenoise sensibility for +small and easy to understand code that and the license +restrictions. Extensions must be submitted under a BSD license-style. +A contributor license is required for contributions. + |