diff options
Diffstat (limited to 'TECHNOLOGY.md')
-rw-r--r-- | TECHNOLOGY.md | 82 |
1 files changed, 82 insertions, 0 deletions
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/ |