Skip to content

sethaldini/Second-Climacs

 
 

Repository files navigation

Second Climacs is an Emacs-like editor written entirely in
Common Lisp.  It is called Second Climacs because it is a complete
rewrite of the Climacs text editor.

Climacs gave us some significant experience with writing a text
editor, and we think we can improve on a number of aspects of it.  As
a result, there are some major differences between Climacs and
Second Climacs:

  * We implemented a better buffer representation, and extracted it
    from the editor code into a separate library named Cluffer.  The
    new buffer representation will have better performance, especially
    on large buffers, and it will make it easier to write
    sophisticated parsers for buffer contents.

  * The incremental parser for Common Lisp syntax of Climacs is very
    hard to maintain, and while it is better than that of Emacs, it is
    still not good enough.  Second Climacs uses a modified version of
    the Common Lisp reader in order to parse buffer contents, making
    it much closer to the way the contents is read by the Common Lisp
    compiler.

  * Climacs depends on McCLIM for its graphic user interface.  Second
    Climacs is independent of any particular library for making
    graphic user interfaces, allowing it to be configured with
    different such libraries.  Though, at the moment, the only graphic
    user interface that exists uses McCLIM.

Before you build Second Climacs, you need to install some other
systems that it depends on and that are not yet available through
Quicklisp:

  Cluffer:
  https://github.com/robert-strandh/Cluffer

  Cluffer Emacs Compatibility:
  https://github.com/robert-strandh/Cluffer-Emacs-compatibility

  Stealth Mixin:
  https://github.com/robert-strandh/Stealth-mixin

The system for Second Climacs is available here:

  Second Climacs:
  https://github.com/robert-strandh/Second-Climacs

To build Second Climacs, make sure ASDF can find the top directory,
and then execute: (asdf:load-system :second-climacs-clim).  To start
Second Climacs, execute this form: (second-climacs-clim-base:climacs).

At the moment, all you can do is type some text, and you can use C-x i
to insert and existing file.  Some basic Emacs commands also work, like
C-f, C-b, C-p, C-n, M-<, M->, and C-x C-c.  The visible window does not
automatically follow the cursor yet.

I am not accepting contributions at this time.  I will make an
exception for someone who is highly motivated and willing to spend
time understanding the goals of the project, and then only after
discussing the ideas with me.

About

Version 2 of the Climacs text editor.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Common Lisp 50.9%
  • TeX 46.6%
  • NewLisp 1.9%
  • Other 0.6%