[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: IDE
From: |
David Kastrup |
Subject: |
Re: IDE |
Date: |
Sat, 10 Oct 2015 22:47:27 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
Eli Zaretskii <address@hidden> writes:
>> From: David Kastrup <address@hidden>
>> Cc: address@hidden
>> Date: Sat, 10 Oct 2015 21:11:57 +0200
>>
>> Eli Zaretskii <address@hidden> writes:
>>
>> > I indeed think that we should have infrastructure to turn on a major
>> > mode in a region of a buffer.
>> >
>> > I'm not sure we should use text properties or overlays for that,
>> > though. The region could be part of the command that turns on the
>> > mode with region limits stored in markers.
>>
>> A typical LilyPond score file switches into Scheme thousands of times
>> (most of the time just for a single scalar Scheme constant where an
>> actual mode switch would not necessarily be required, but also for all
>> user-defined functions and any non-trivial non-music expression).
>
> Not sure what you are saying. Is it that a region with two ends is
> not enough, and we need a list of regions? If so, I'm okay with that,
> and I don't see any serious obstacles to implement that.
It's rather a host of regions determined by syntax.
This can look like:
compressMMRests =
#(define-music-function (music) (ly:music?)
(_i "Remove the empty bars created by multi-measure rests,
leaving just the first bar containing the MM rest itself.")
(music-map
(lambda (m)
(if (eq? 'MultiMeasureRestMusic (ly:music-property m 'name))
#{ \once \set Score.skipBars = ##t #m #}
#{ #m #} ))
music))
The first # switches into Scheme mode until the end, but then every #{
escape backs into LilyPond mode, and every # inside until #} goes back
to Scheme in order to evaluate expressions #t, m, and m in Scheme again.
Basically, inside of LilyPond, # escapes into Scheme for a single sexp,
and inside of Scheme, #{ escapes into LilyPond until the matching #} is
encountered, of course with #sexp again escaping into Scheme. Either
can easily form multi-line expressions (or not) but definitely wants to
change the mode of font-locking.
--
David Kastrup
- Re: IDE, (continued)
- Re: IDE, Eli Zaretskii, 2015/10/10
- Re: IDE, David Engster, 2015/10/10
- Re: IDE, Eli Zaretskii, 2015/10/10
- Re: IDE, martin rudalics, 2015/10/10
- Re: IDE, John Wiegley, 2015/10/10
- Re: IDE, David Kastrup, 2015/10/10
- Re: IDE, Eli Zaretskii, 2015/10/10
- Re: IDE, David Kastrup, 2015/10/10
- Re: IDE, Eli Zaretskii, 2015/10/10
- RE: IDE, Drew Adams, 2015/10/10
- Re: IDE,
David Kastrup <=
- Re: IDE, John Wiegley, 2015/10/10
- Re: IDE, Richard Stallman, 2015/10/11
- Re: IDE, Eli Zaretskii, 2015/10/10
- Re: IDE, David Kastrup, 2015/10/10
- Re: IDE, Eli Zaretskii, 2015/10/10
- Re: IDE, John Wiegley, 2015/10/10
- Re: IDE, Dmitry Gutov, 2015/10/10
- Re: IDE, Daniel Colascione, 2015/10/10
- Re: IDE, Andreas Röhler, 2015/10/11
- Re: IDE, Steinar Bang, 2015/10/12