views:

233

answers:

5

Hello, everybody out there!

I'm currently seeking for a technical solution to create a nice literate programming environment. Unfortunately, most editors are too much hard coded, and their functionalities just cover most famous needs, and can't cleanly cover special needs.

I came to Emacs (later after some others), but I also came to numerous troubles with Emacs (I will not talk about these, this is not the topic).

However, there is one thing I like with Emacs and which was indeed matching what I was looking for: it exposes a full text model to a scriptable environment, and the overall UI is designed so it is well suited to either graphical UIs or text UIs (because it is mostly text based). And last but not least, this is scriptable with a kind of LISP, and LISP indeed seems a good choice to me, in the area of text manipulation and interpretation.

I've searched the web for a text editor which would expose a full text model to a scriptable environment, but I have not found anything. I guess this is not an everyday request on the web, so it is probably better to ask some humans about it, better than to ask a robot.

I was, but in short, I'm looking for: an editor which exposes a full text model [*], and which exposes this model to a script engine (preferably LISP, but I would enjoy Python as well, or any others after all).

[*] Talking about text model, I mean: text attributes (optionally font face), text visibility, text read-write property, and text content iteration, at a level as low as the character basis.

Have a nice day! :)

--

Yannick Duchêne

+1  A: 

JEdit seems very scriptable with Java, BeanShell and other languages targeting the JVM. Most of it's functionality is implemented with OSGI plugins. If you really like LISP, maybe you could even try with Clojure! :-)

fortran
Yeah, Clojure might be a really interesting option. Just found this link to the beginnings of a project called "Waterfront", although I'm not sure how suitable the architecture is: http://www.mail-archive.com/[email protected]/msg09339.html
datageist
+1  A: 

Emacs, Climacs, Portable Hemlock (and to some extent Hemlock).

I am sure there are other editors around that exposes a full text model to a script engine that are NOT in "the emacs family", but I don't know them.

Oh, yes, there's the VMS editor framework, but I cannot recall its name.

Vatine
Hemlock is used in a modified version in Clozure CL. LispWorks' editor also has some roots in Hemlock. Hemlock originates from CMUCL.
Rainer Joswig
@Vatine : Climacs, Portable Hemlock seems good path to start seeking again. I will also try to search the web with an as simple request as "emacs-like editor". I keep these two ones in my bookmarks.
Hibou57
Good point, Rainer. There's also an elisp compatibility layer that sorta-works, but it's a bit of a hack (and I say that as the original implementer).
Vatine
Vatine, what did you use the elisp layer for? Did it help porting some stuff to Hemlock?
Rainer Joswig
+1  A: 

What Vatine said, plus there's a very minimal Scheme editor built into Fluxus, which I extended with Emacs key-bindings (in my personal copy), so I know it would work as something close to a stubbed implementation (if you rip out all the OpenGL stuff).

Edit: Looks like I was working with fluxus-0.8, which doesn't even seem to be on the site anymore. If you end up needing to go that low-level to start, let me know and I'll send it over.

datageist
+1  A: 

Not sure if this is useful, but there is a long list of Emacs-like editors: http://www.finseth.com/emacs.html

Btw., Craig A. Finseth also wrote a book on implementing an Emacs-like editor: http://www.finseth.com/craft/

The Book as PDF.

Rainer Joswig
@Rainer Joswig : dont' doubt! For sure it's useful!
Hibou57
Rainer, I've finished to check your list. It is interesting in some purposes, but this was either Emacs forks with the same troubles as the classic Emacs, or else, Emacs-"like" editors which do not expose a text model. One of them, Emact, seems Ok to me at first sight, but its extension capabilities are far below than what can be expected with classic Emacs.
Hibou57
@Hibou57, what kind of Emacs troubles do you want to avoid?
Rainer Joswig
@Rainer : see the little summary I've wrote to Earwicker. These are mainly technical troubles, not conceptual ones.
Hibou57
A: 

Report of an (unsuccessfully) ending quest :

Although a possible technical choice I could figure will not work for me (see later), I still point it here, if this can ever be useful to someone running UNIX-Like (I'm running Windows).

Context and state of the “ art ” : near to all (or all) so called Emacsen and Emacs clone, has nothing to compare with Emacs. They just mimics terms like major mode an minor mode, mimics key-bindings, and most of time also, the UI look and feel. But the core is not there. I've learned these are called “ Emacs Ersatz ”.

Disclaimer : for some reasons, I have not tested Climax and Hemlock, so the latter comment does not apply to these.

EFuns : the last one I came to, was EFuns, but unfortunately, I could not compile it on Windows (I suspect something is wrong with the sources, some directory are missing in the archive). Interested parties may get it here : EFuns, an Emacs-like scripted in OCaml. Fortunately for UNIX-Like users, binaries are provided (not for Windows).

Implementations List : to complete the list Rainer Joswig pointed to, here is another one, shorter, but more up-to-date : [ Sorry I can't post this link, it seems I'm not allowed to post more than one link - I'm sorry for interested parties (sad) ]

Hibou57