[Openmcl-devel] Hemlock text display
alex crain
alexcrain at mail2.widgetworks.com
Sun Aug 29 15:56:35 PDT 2004
On Aug 29, 2004, at 2:48 AM, Gary Byers wrote:
> Using a subclass of NSLayoutManager (and maybe some flavor of
> NSTypeSetter)
> might enable us to optimize the fixed-width font case(s).
>
> I'm tempted to think that if suboptimal layout manager behavior isn't
> killing us anymore, this is less important than it might have seemed
> a few days ago.
>
> A lisp-aware NSLayoutManager might be good for other reasons;
> background
> layout might be able to do syntax highlighting or other
> "sectionization"
> activities. (I'm not sure that this is the right place for that, but
> it might be.)
>
I'm inclined to think that most of the display oriented stuff: parent
matching,
selection highlighting and maybe even completion could be done by the
LayoutManager.
I don't see why the hemlock core should even know about paren matching,
for example,
except that in the X implementation there was no other way to do it.
After spending a couple of days trying to figure out how to make the
layout manager
smarter, I'm wondering if I'm not thinking about this all wrong. My
first thought
was to teach the layout manager not to try to be smart because we're
using fixed fonts
and therefore inserting a character can't have an effect on characters
on different lines
(unless we're doing line wrap). Even under line wrap, the manager could
just shift the
whole world down one line of we rolled over.
The more I get into it, however, the more I wonder if there isn't some
really cool functionality
that couldn't be added. Historically, hemlock was designed for ttys and
later X11, which
doesn't have much in the way of text management, and consequently the
presentation
layer is pretty minimal. The COCOA text management system, however,
offers lots of possibilities
that have never been practical before. I don't like proportional fonts
for development myself,
but we can easily add all kinds of syntax formatting.
Sooo... free association time.
Aside from paren matching and syntax coloring, is there anything that
we should think about
adding, like inline controls or something, that might be very useful?
COCOA, for example, has
the ability to put attachments into the text stream. I can't think of a
reason why that would be useful
in a lisp IDE, but it might.
:alex
More information about the Openmcl-devel
mailing list