From e96154f12bbfe50ce23b9fb7430275c276a544ec Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Mon, 7 Apr 2014 08:56:50 -0400 Subject: Added page describing Textadept's underlying technologies. --- TECHNOLOGY.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/index.html | 7 +++-- 2 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 TECHNOLOGY.md diff --git a/TECHNOLOGY.md b/TECHNOLOGY.md new file mode 100644 index 00000000..7cac0192 --- /dev/null +++ b/TECHNOLOGY.md @@ -0,0 +1,82 @@ +# Technology + +Textadept is composed of many different technologies, which are briefly listed +in the following sections. + +## User Interface + +Textadept's user interface consists of a graphical user interface (GUI) and a +terminal user interface (TUI). + +=[GTK+][] - GIMP Toolkit= + Textadept uses GTK as its cross-platform GUI toolkit. + +=[ncurses][], [pdcurses][] - Libraries for displaying terminal applications= + Textadept uses ncurses as its Linux, MacOSX, and BSD terminal UI, and uses + pdcurses as its Windows terminal UI. + +=[gtDialog][]\* - Cross-platform tool for creating interactive dialogs= + Textadept uses gtDialog for displaying interactive GUI and TUI dialogs. + +=[cdk][] - Widget library for terminal applications= + Textadept uses cdk for drawing terminal UI widgets. + +=[curses-windowman][] - Library to manage split views in curses applications= + Textadept uses curses-windowman for handling split views in the terminal + version. + +=[libtermkey][] - Library for processing keyboard entry for terminal apps= + Textadept uses libtermkey for advanced keyboard entry handling. + +## Editor + +Textadept's core text editing component is Scintilla. + +=[Scintilla][] - Scintilla= + Textadept uses Scintilla as its core text editing component. + +=[Scinterm][]\* - Scintilla for curses= + Textadept uses Scinterm as its core text editing component for the terminal + version. + +=[Scintillua][]\* - Dynamic Lua LPeg Lexers for Scintilla= + Textadept uses Scintillua and its lexers for highlighting source code. + +## Scripting + +Textadept uses Lua as its scripting language. The editor is primarily written in +Lua and includes a few external libraries. + +=[Lua][] - Lua Programming Language= + Textadept uses Lua as its internal scripting language. Most of Textadept is + written in Lua. + +=[LuaJIT][] - Just in Time Compiler for Lua= + Textadept optionally uses LuaJIT as a substitute for vanilla Lua. + +=[LPeg][] - Parsing Expression Grammars for Lua= + Textadept uses LPeg in its Scintillua lexers. + +=[LuaFileSystem][] - Library for accessing directories and file attributes= + Textadept uses LFS for accessing the host filesystem. + +=[lspawn][]\* - Lua module for spawning processes= + Textadept uses lspawn for spawning asynchronous processes. + +\* A Foicica.com project. + +[GTK+]: http://www.gtk.org +[Scintilla]: http://scintilla.org +[Lua]: http://www.lua.org +[LuaJIT]: http://luajit.org +[Scintillua]: http://foicica.com/scintillua +[Scinterm]: http://foicica.com/scinterm +[LPeg]: http://www.inf.puc-rio.br/~roberto/lpeg/lpeg.html +[LuaFileSystem]: http://keplerproject.github.io/luafilesystem/ +[lspawn]: http://foicica.com/hg/lspawn +[gtDialog]: http://foicica.com/gtdialog/ +[curses-windowman]: https://bitbucket.org/jugglerchris/curses-windowman +[ncurses]: http://invisible-island.net/ncurses/ +[pdcurses]: http://pdcurses.sourceforge.net/ +[cdk]: http://invisible-island.net/cdk/ +[libtermkey]: http://www.leonerd.org.uk/code/libtermkey/ diff --git a/doc/index.html b/doc/index.html index 56b56c52..c1405a08 100644 --- a/doc/index.html +++ b/doc/index.html @@ -38,7 +38,7 @@

Nightly* Builds

@@ -138,7 +138,8 @@

Unlimited Split Views

Both the graphical version and the terminal version of Textadept - support unlimited vertical and horizontal view splitting. + support unlimited vertical and horizontal view splitting, even of + the same file.

Split Views @@ -249,6 +250,8 @@

FAQ · Media · + Stats · + Technologies · Credits

-- cgit v1.2.3