• Stars
    star
    275
  • Rank 149,796 (Top 3 %)
  • Language
    Common Lisp
  • License
    BSD 2-Clause "Sim...
  • Created about 11 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Version 2 of the Climacs text editor.

Second Climacs: An Emacs-like editor

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.

Improvements

Climacs gave us some significant experenice 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.

Quick Start

  1. Make sure you have installed the dependencies:

The bash script get-dependencies.sh will do this work for you.

  1. Clone the source with git:

    $ git clone https://github.com/robert-strandh/Second-Climacs
    $ cd Second-Climacs
    
  2. Make sure the top-level directory can be found by ASDF.

  3. Compile the editor system as follows:

    (asdf:load-system :second-climacs-clim)
  4. To start Second Climacs, execute this form:

    (second-climacs-clim-base:climacs)

Documentation

Check the Documentation directory for more information.

Commands

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.

Contributing

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.

More Repositories

1

SICL

A fresh implementation of Common Lisp
TeX
1,068
star
2

LispOS

An operating system written in, but especially inspired by Common Lisp and its interactive environment.
TeX
94
star
3

Bootstrap-Common-Lisp

An implementation of Common Lisp with the sole purpose of bootstrapping other implementations.
C
59
star
4

CLIMatis

Sample implementation and specification of CLIM 3.
Common Lisp
54
star
5

Clobber

A simpler alternative to object prevalence for Common Lisp.
Common Lisp
40
star
6

Cluffer

General-purpose text-editor buffer.
Common Lisp
36
star
7

Cluster

Assembler with input in the form of standard instances
Common Lisp
31
star
8

Well-Specified-Common-Lisp

A specification of an improvement to the Common Lisp standard
TeX
22
star
9

CLOS-MOP-HTML

HTML rendering of chapters 5 and 6 of "The Art of the Metaobject Protocol".
HTML
18
star
10

CL-reference

Reference manual for the Common Lisp programming language.
TeX
17
star
11

Clostrophilia

An implementation of CLOS and the CLOS MOP
Common Lisp
16
star
12

Climacs

Version 1 of the Climacs editor.
Common Lisp
14
star
13

Common-Lisp-style-guide

TeX
12
star
14

Spell

Common Lisp
12
star
15

Common-macros

Portable implementation of many standard Common Lisp macros.
Common Lisp
10
star
16

Clordane

Debugger for Common Lisp systems.
Common Lisp
10
star
17

TransClime

CLIM-based appliction for learning languages, in particular Vietnamese.
Common Lisp
9
star
18

Doclang

A documentation and typesetting system.
TeX
8
star
19

Ducling

Library providing a multi-level map
Common Lisp
8
star
20

Acclimation

Tools for internationalization of Common Lisp programs.
Common Lisp
8
star
21

Stealth-mixin

Common Lisp library for creating stealth mixin classes
Common Lisp
7
star
22

Clump

A collection of trees for a variety of purposes.
Common Lisp
7
star
23

Cluffer-Emacs-compatibility

Emacs compatibility layer for Cluffer
Common Lisp
7
star
24

Gsharp

Interactive editor for music scores using traditional notation
Common Lisp
7
star
25

Docleanser

Application for improving scanned documents.
Common Lisp
6
star
26

Closix

Common Lisp interface to Posix/Linux system calls.
HTML
6
star
27

Flexichain

Common Lisp
6
star
28

Compta

Primitive accounting system with CLIM GUI.
Common Lisp
6
star
29

Clordecone

Portable "debugger" for Common Lisp, extracted from the Portable Condition System by Phoe
Common Lisp
5
star
30

Sandbox

Common Lisp
4
star
31

Clonedijk

Simple library for cloning instances of standard classes according to client descriptions
Common Lisp
4
star
32

Cloak

Intermediate backend for libraries for greating graphic user interfaces
Common Lisp
4
star
33

Salmagundi

An implementation of Common Lisp hash tables
Common Lisp
3
star
34

Sudoku

Common Lisp
3
star
35

VietAnh

English-Vietnamese and Vietnamese-English dictionaries
3
star
36

BOCL

Bootstrap Common Lisp, version 2
C
3
star
37

Iconoclast

Common Lisp
2
star
38

Bootstrapping-paper

Paper about the reasons most Common Lisp systems are written in a lower-level language.
TeX
2
star
39

Common-boot

Initial Clostrum environment containing portable macros for bootstrapping.
Common Lisp
2
star
40

Clearcut

Library for abstracting representation of expressions.
Common Lisp
2
star
41

Online-Common-Lisp-Tutorial

Specification and some nodes of an online turorial for the Common Lisp programming language.
TeX
2
star
42

Predicament

Extrinsic and intrinsic condition system for Common Lisp
Common Lisp
2
star
43

SICL-bytecode

A bytecode-only version of the SICL Common Lisp implementation
1
star
44

Posterior

Library for back-end compilation of Common Lisp and similar languages.
Common Lisp
1
star
45

Regalia

An implementation of the Common Lisp ARRAY class hierarchy and associated operations.
Common Lisp
1
star
46

Document-recovery

Experimental software for improving quality of scanned documents
Common Lisp
1
star
47

Subsequence

Common Lisp
1
star
48

Declare

A library for manipulating Common Lisp declarations
Common Lisp
1
star
49

Clouseau-issues

1
star
50

Awele

Game of Awele using Common Lisp and Hunchentoot
Common Lisp
1
star
51

USE-finder

Common Lisp
1
star
52

Seminars

A selection of seminars/talks
TeX
1
star
53

Clovetree

Score Editor/Music Engraver
Common Lisp
1
star