aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2015-10-18 23:02:03 +0200
committerMarc André Tanner <mat@brain-dump.org>2015-11-08 13:37:23 +0100
commit3d609964319ccc50b7b3bf44bd8e704d9d3b6048 (patch)
tree5cabf1203b68b4f1724bb035715564b320650327
parent6b45ee350eab3de652ec1e9ed6d225c67e558054 (diff)
downloadvis-3d609964319ccc50b7b3bf44bd8e704d9d3b6048.tar.gz
vis-3d609964319ccc50b7b3bf44bd8e704d9d3b6048.tar.xz
Update README
-rw-r--r--README.md31
1 files changed, 30 insertions, 1 deletions
diff --git a/README.md b/README.md
index d57f555..bb80ea9 100644
--- a/README.md
+++ b/README.md
@@ -183,6 +183,18 @@ harder. This also implies that standard library calls like the `regex(3)`
functions can not be used as is. However this is the case for all but
the most simple data structures used in text editors.
+Syntax Highlighting using Parsing Expression Grammars
+=====================================================
+
+[Parsing Expression Grammars](https://en.wikipedia.org/wiki/Parsing_expression_grammar)
+(PEG) have the nice property that they are closed under composition.
+In the context of an editor this is useful because lexers can be
+embedded into each other, thus simplifying syntax highlighting
+definitions.
+
+Vis reuses the [Lua](http://www.lua.org/) [LPeg](http://www.inf.puc-rio.br/~roberto/lpeg/)
+based lexers from the [Scintillua](http://foicica.com/scintillua/) project.
+
Future Plans / Ideas
====================
@@ -456,6 +468,14 @@ Operators can be forced to work line wise by specifying `V`.
show/hide special white space replacement symbols
+ cursorline (yes|no)
+
+ highlight the line on which the cursor currently resides
+
+ theme name
+
+ use the given theme / color scheme for syntax highlighting
+
Each command can be prefixed with a range made up of a start and
an end position as in start,end. Valid position specifiers are:
@@ -579,5 +599,14 @@ In order to build vis you will need a C99 compiler as well as:
* [libcurses](http://www.gnu.org/software/ncurses/), preferably in the
wide-character version
* [libtermkey](http://www.leonerd.org.uk/code/libtermkey/)
+ * [lua](http://www.lua.org/) 5.1.4
+ * [LPeg](http://www.inf.puc-rio.br/~roberto/lpeg/) 0.12 (runtime
+ dependency required for syntax highlighting)
+
+If you want a self contained statically linked binary you can try
+to run `make standalone` which will attempt to download, compile
+and install all of the above dependencies.
-Adapt `config.mk` to match your system and run `make`.
+To build a regular dynamically linked binary using the system
+libraries, simply run `make` (possibly after adapting `config.mk`
+to match your system). \ No newline at end of file