jak-project/third-party/replxx
ManDude 5b44aece75
random fixes + support clang-cl on visual studio (#1129)
* delete unused shaders

* hide some options in debug menu

* change fullscreen logic a bit

* add "all actors" toggle

* borderless fix and fix alpha in direct renderer untextured (do we need a separate shader for that?)

* fix fuel cell orbit icons in widescreen

* fix `curve` types

* refs

* fix levitator task...

* fix some task stuff

* update font code a bit (temp)

* cmake, third-party and visual studio overhaul

* Update .gitmodules

* update modules

* clone repos

* fix encoding in zydis

* where did these come from

* try again

* add submodule

* Update 11zip

* Update 11zip

* Update 11zip

* delete

* try again

* clang

* update compiler flags

* delete 11zip. go away.

* Create memory-dump-p2s.py

* properly

* fix minimum architecture c++ compiler flags

* fix zydis

* oops

* Update all-types.gc

* fix clang-cl tests

* make "all actors" work better, entity debug qol

* update game-text conversion code to be more modularized

* Create vendor.txt

* fix typos and minor things

* update refs

* clang

* Attempt to add clang-cl support to vs2019 and CI

* vs2022 + clang-cl

* srsly? fix clang build

* Update launch.vs.json

* extend windows CI timer
2022-02-07 19:15:37 -05:00
..
examples REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting (#316) 2021-03-07 23:41:21 -05:00
include REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting (#316) 2021-03-07 23:41:21 -05:00
src [compiler] fix warnings in repl lib and add macros to autocomplete (#317) 2021-03-11 12:54:16 -05:00
.appveyor.yml REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting (#316) 2021-03-07 23:41:21 -05:00
.editorconfig REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting (#316) 2021-03-07 23:41:21 -05:00
.gitignore REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting (#316) 2021-03-07 23:41:21 -05:00
.travis.yml REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting (#316) 2021-03-07 23:41:21 -05:00
build-all.sh REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting (#316) 2021-03-07 23:41:21 -05:00
CMakeLists.txt random fixes + support clang-cl on visual studio (#1129) 2022-02-07 19:15:37 -05:00
gen-coverage.sh REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting (#316) 2021-03-07 23:41:21 -05:00
LICENSE.md REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting (#316) 2021-03-07 23:41:21 -05:00
make.ps1 REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting (#316) 2021-03-07 23:41:21 -05:00
README.md REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting (#316) 2021-03-07 23:41:21 -05:00
replxx-config.cmake.in REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting (#316) 2021-03-07 23:41:21 -05:00
tests.py REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting (#316) 2021-03-07 23:41:21 -05:00

Read Evaluate Print Loop ++

demo

Build Status

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 and Salvatore Sanfilippo 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
mkdir -p build && cd build
  1. Build the library
cmake -DCMAKE_BUILD_TYPE=Release .. && make
  1. Install the library at the default target location
sudo make install

The default installation location can be adjusted by setting the DESTDIR variable when invoking make install:

make DESTDIR=/tmp install

Windows

  1. Create a build directory in MS-DOS command prompt
md build
cd build
  1. Generate Visual Studio solution file with cmake
  • 32 bit:
cmake -G "Visual Studio 12 2013" -DCMAKE_BUILD_TYPE=Release ..
  • 64 bit:
cmake -G "Visual Studio 12 2013 Win64" -DCMAKE_BUILD_TYPE=Release ..
  1. 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.