xaizek / libcursedrl (License: GPLv3+) (since 2019-03-24)
libcursed extension for integration with readline.
Commit 194ab84b1f4185a7451f33146bfff2a812457013

Add README.md file
Author: xaizek
Author date (UTC): 2019-03-24 18:45
Committer name: xaizek
Committer date (UTC): 2019-03-24 18:52
Parent(s): bcf9ad20b6ea9e285c0fdbe386a1cbf97c923ee5
Signing key: 99DC5E4DB05F6BE2
Tree: 7bef76205c24927a481f5ba97a4bd32394ad76a8
File Lines added Lines deleted
README.md 51 0
File README.md added (mode: 100644) (index 0000000..acbc54f)
1 **libcursedrl**, _2019_
2
3 _This file last updated on 24 March, 2019_
4
5 ### Brief Description ###
6
7 This is a C++11 library that integrates [GNU Readline library][readline] into
8 [*libcursed*][libcursed] (provides classes for using
9 [*curses* library][curses]).
10
11 The library should never pull in any *readline* headers via its headers nor
12 clients should have to include them in order to use the library.
13 They uses some very generic names, some of which are macros, all of which can
14 cause conflicts in completely unrelated code.
15
16 #### Implementation state ####
17
18 It was created for a couple of projects, has minimally necessary functionality
19 and can change quite a bit in the future.
20
21 #### Throw-in library state ####
22
23 There is no build system and nothing is getting built for the client. To use
24 it clone the repository (possibly as a submodule) and handle the building with
25 the build system that's used by the main project. Compile with C++11 enabled
26 and headers of *libcursed* available under `cursed/` prefix. Obviously link
27 in *libcursed* and link against `readline`.
28
29 ### Prerequisites ###
30
31 * C++11 capable compiler
32 * [GNU Readline library][readline]
33 * [*libcursed*][libcursed]
34
35 ### Structure ###
36
37 The library doesn't provide a widget, instead it accepts reference to one
38 created and placed on the screen by the client. It automatically updates and
39 resizes the screen while handling input.
40
41 ### What's available ###
42
43 * Loading/saving history.
44 * Updating history with input.
45 * Cancellation on Escape key.
46 * Completion callback.
47 * Callback on input change.
48
49 [libcursed]: https://code.reversed.top/user/xaizek/libcursed
50 [curses]: https://en.wikipedia.org/wiki/Curses_(programming_library)
51 [readline]: https://tiswww.case.edu/php/chet/readline/rltop.html
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/libcursedrl

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/libcursedrl

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master