termbox-bindings alternatives and similar packages
Based on the "Text" category.
Alternatively, view termbox-bindings alternatives based on common mentions on social networks and blogs.
-
pandoc-citeproc
Library and executable for using citeproc with pandoc -
scholdoc
Fork of Pandoc for the implementation of a ScholarlyMarkdown parser -
skylighting
A Haskell syntax highlighting library with tokenizers derived from KDE syntax highlighting descriptions -
blaze-from-html
A blazingly fast HTML combinator library for Haskell. -
prettyprinter
A modern, extensible and well-documented prettyprinter. -
commonmark
Pure Haskell commonmark parsing library, designed to be flexible and extensible -
regex-genex
Given a list of regexes, generate all possible strings that matches all of them. -
text-offset
Emits code crossreference data for Haskell sources. -
regex-applicative
Regex-based parsing with an applicative interface -
pandoc-csv2table
A Pandoc filter that renders CSV as Pandoc Markdown Tables. -
servant-checked-exceptions
type-level errors for Servant APIs. -
pretty-show
Tools for working with derived Show instances in Haskell. -
double-conversion
A fast Haskell library for converting between double precision floating point numbers and text strings. It is implemented as a binding to the V8-derived C++ double-conversion library. -
text-format
A Haskell text formatting library optimized for ease of use and high performance. -
diagrams-pandoc
A pandoc filter to express diagrams inline using the haskell EDSL diagrams. -
boxes
A pretty-printing library for laying out text in two dimensions, using a simple box model.
Clean code begins in your IDE with SonarLint
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of termbox-bindings or a related project?
README
A very thin wrapper around [Termbox](github.com/nsf/termbox).
Got the idea to do this from [Rustbox](github.com/gchp/rustbox), as you can probably tell from the following example.
Example
An excerpt from Example.hs
.
import Termbox
import Termbox.Enums
import Termbox.Modes
main :: IO ()
main = do
(Right _) <- tbInit
tbSelectInputMode inputMode { isEsc = True, isMouse = True }
puts 1 1 White Black "Hello, world!"
puts 1 3 White Black "Press 'q' to quit."
tbPresent
loop
tbShutdown
where
loop = do
e <- tbPollEvent
puts 1 8 Magenta Black (show e) >> tbPresent
case e of
Right (KeyEvent _ _ 113) -> return ()
_ -> loop
Build
Get [Termbox](github.com/nsf/termbox).
$ git clone github.com/nsf/termbox .termbox
Build it.
$ cd termbox
$ ./waf configure --prefix=/usr
$ ./waf
$ ./waf install --targets=termbox_static --destdir=.termbox/dist
Now we're ready to build the bindings.
$ cabal configure --extra-include-dir=.termbox/src --extra-lib-dir=`pwd`/.termbox/dist/lib
$ cabal build
And run the example.
$ DYLD_LIBRARY_PATH=.termbox/dist/lib dist/build/example/example