Difference between revisions of "GNU Zile"

From LibrePlanet
Jump to: navigation, search
(Update for GSoC 2012.)
(Update to match developments in Zile.)
 
Line 2: Line 2:
 
|Short description=Lightweight Emacs clone
 
|Short description=Lightweight Emacs clone
 
|Type=Text editor
 
|Type=Text editor
|Interests=C, Emacs, re-engineering, testing, UNIX tools present and future, XML, structured editing
+
|Interests=Lua, editors, testing, UNIX tools present and future, XML, structured editing
 
|Members=rrt
 
|Members=rrt
|Long description=GNU Zile (short for "Zile Is Lossy Emacs") is a lightweight Emacs subset. Zile has all of Emacs's basic editing features: it is 8-bit clean (though it currently lacks Unicode support), and the number of editing buffers and windows is only limited by available memory and screen space respectively. Registers, minibuffer completion and auto-fill are available. Function and variable names are identical with Emacs's. However, all of this is packed into a program which typically compiles to about 250Kb.
+
|Long description=GNU Zile (short for "Zile Implements Lua Editors") is a toolkit for building editors. (It used to be a lightweight Emacs subset.) Zile has all of Emacs's basic editing features: it is 8-bit clean (though it currently lacks Unicode support), and the number of editing buffers and windows is only limited by available memory and screen space respectively. Syntax coloring, registers, minibuffer completion and auto-fill are available. Function and variable names are identical with Emacs's.
  
There are various projects which could usefully be undertaken:
+
Zile is currently being rewritten by Gary Vaughan, from its previous form (an Emacs clone) to its new form (an editor toolkit). It currently comes with two editors: Zmacs, which as the name suggests emulates Emacs, and Zi, which does not support any form of Lisp, and is Emacs-inspired rather than a strict clone.
  
* '''Zile 2.3 (stable branch, C):''' This is currently in maintenance mode, as development is focussed on the 2.4 branch. However, there is scope for further work: the code could be substantially modernized (better use of abstract data structures and encapsulation) and streamlined (although the 7,700 lines of C have already been substantially reduced, there is still room for further simplification).
+
There is also a fork, Zee (https://github.com/rrthomas/zee), which aims to be a minimal editor which integrates with the UNIX command shell (rather than subsuming it, as Emacs does). So far, only the surface has been scratched: the current incarnation of Zee is a minimal editor with a single file, single window interface, and a CUA (i.e. GNOME/Windows-like) command set. Zee should be rewritten as a Zile flavor. Other projects include turning it into a library (which can be used, for example, as a readline replacement), and working out how it should fit in with the UNIX tools philosophy. Other ideas that have so far only been sketched include extending it to work as a structured file editor (essentially, working on well-formed XML files).
  
* '''Zile 2.4 (development branch, Lua):''' Zile has been translated from C to the popular lightweight scripting language Lua (http://www.lua.org/) in order to make it easier to maintain in future, and is in the final stages of preparation for alpha release. There's plenty of scope both to improve the code (currently, not very "Lua-ish") and reduce its 5,900 lines considerably. If you'd prefer to work on small, precisely-defined projects, the Task Manager lists some mostly small features desired at https://savannah.gnu.org/task/?group=zile
+
There's also a fork of Zile that replaces its stub Lisp interpreter with Guile (https://github.com/spk121/zile).
  
* '''Zile 3.0 (Emacs):''' The maintainer's eventual aim is to make Zile itself redundant, by making Emacs be a suitable replacement. Emacs can already be used for most editing situations, but it needs to be made smaller and more portable before it can completely replace Zile. A good initial aim would be to get a single binary of under 1Mb and the ability to build on any POSIX system.
+
If you're interested in portable software engineering and re-engineering, Emacs, or traditional UNIX tools and their future incarnations, you should find a project to interest you.
 
 
* '''Future-oriented projects (Zee, Zi, …):''' Zile has several experimental offspring. Zee aims to restructure the code to provide an editor library which can be personalised, e.g. by an Emacs interface, making it work like Zile, and to offer a minimal editor which integrates with the UNIX command shell, rather than subsuming it, as Emacs does. Much work has already been done (http://zee.sourceforge.net/), but so far only the surface has been scratched: the current incarnation of Zee is a minimal editor with a single file, single window interface, and a CUA (i.e. GNOME/Windows-like) command set. Potential projects with Zee include reimplementing it on top of the current 2.4 Zile branch (and modularising the code so that both Zile and Zee can be based on the same core), turning it into a library (which can be used, for example, as a readline replacement), and working out how it should fit in with the UNIX tools philosophy. Other ideas that have so far only been sketched include extending it to work as a structured file editor (essentially, working on well-formed XML files). Zi is a branch of Lua Zile (http://git.savannah.gnu.org/cgit/zile.git/log/?h=zi) which breaks Emacs-compatibility in favour of Lua scripting, and adds features such as syntax colouring. There's also a fork of Zile that replaces its stub Lisp interpreter with Guile (https://github.com/spk121/zile).
 
 
 
Pretty much anyone interested in either portable software engineering and re-engineering, Emacs, or traditional UNIX tools and their future incarnations should find a project above to match their interests.
 
 
|Getting started=Go to Zile's Savannah page, and check out current git. If you're interested in contributing, please do email Reuben Thomas!
 
|Getting started=Go to Zile's Savannah page, and check out current git. If you're interested in contributing, please do email Reuben Thomas!
 
|Status=Available
 
|Status=Available

Latest revision as of 10:57, 15 January 2014

</noinclude> About | Blog | Wiki

Sponsored by FSF - Contact Reuben Thomas for more information

Lightweight Emacs clone

Info

Type Text editor
Interests ,|x|x}}
Members ,|x|x}}{{#arraymap:rrt|,|x }}

Description

GNU Zile (short for "Zile Implements Lua Editors") is a toolkit for building editors. (It used to be a lightweight Emacs subset.) Zile has all of Emacs's basic editing features: it is 8-bit clean (though it currently lacks Unicode support), and the number of editing buffers and windows is only limited by available memory and screen space respectively. Syntax coloring, registers, minibuffer completion and auto-fill are available. Function and variable names are identical with Emacs's.

Zile is currently being rewritten by Gary Vaughan, from its previous form (an Emacs clone) to its new form (an editor toolkit). It currently comes with two editors: Zmacs, which as the name suggests emulates Emacs, and Zi, which does not support any form of Lisp, and is Emacs-inspired rather than a strict clone.

There is also a fork, Zee (https://github.com/rrthomas/zee), which aims to be a minimal editor which integrates with the UNIX command shell (rather than subsuming it, as Emacs does). So far, only the surface has been scratched: the current incarnation of Zee is a minimal editor with a single file, single window interface, and a CUA (i.e. GNOME/Windows-like) command set. Zee should be rewritten as a Zile flavor. Other projects include turning it into a library (which can be used, for example, as a readline replacement), and working out how it should fit in with the UNIX tools philosophy. Other ideas that have so far only been sketched include extending it to work as a structured file editor (essentially, working on well-formed XML files).

There's also a fork of Zile that replaces its stub Lisp interpreter with Guile (https://github.com/spk121/zile).

If you're interested in portable software engineering and re-engineering, Emacs, or traditional UNIX tools and their future incarnations, you should find a project to interest you.

How to get started

Go to Zile's Savannah page, and check out current git. If you're interested in contributing, please do email Reuben Thomas!

"GNU Generation project" is not in the list (group, individual) of allowed values for the "Is entity" property.