-
Notifications
You must be signed in to change notification settings - Fork 32
/
TODO
61 lines (46 loc) · 2.64 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Hey Emacs, this is a -*-text-*- file!
To Do List for MMM Mode
=======================
Custom mode functions like `mason-mode'.
Make Mason work a little better with PSGML. The fix I've found works,
but it would be nifty if MMM could do it automatically. Maybe the
custom-mode thing could set the variables, or a hook somewhere.
Apostrophes mess up Perl parsing in XEmacs but not Emacs. I thought
it was because XEmacs sets `font-lock-beginning-of-syntax-function'
after MMM does, but changing that that didn't fix it.
Support for: ASP
DEB and/or RPM packages would be nice.
The local-variables improvements can probably be used to set minor
modes locally to submode regions. This could replace tmmofl,
especially if we search for regions other than by regexps, say by
syntax properties.
Trap paragraph motion commands to stop at submode boundaries?
It would be nice if C-j ended a Mason one-liner and began a new one on
the next line. This is a rather Mason-specific thing, but other
classes might have similar single-line regions. Add a new submode
class argument, such as KEYMAP, or even ONE-LINE?
Allow a submode class to specify its allowable "parent" submode
classes. This could also be used to implement htp.p, by first
scanning for the function calls as a major-mode submode region, then
requiring that parent type for the HTML mode class. Nested submodes
alternate highlight colors, say with `mmm-secondary-submode-face'.
Ought %text in Mason to be a non-submode, since any Mason tags inside
it will probably be /edited/ as Perl (being, say, code examples)?
Only problem is it might confuse the programmer into thinking that
code will get executed. Maybe use a different face. Could do that
with another grouping class, say uneval-mason, that overrides the
faces of mason and has :parent mason-text, and allow a mode to specify
what about it changes depending on its parent, or a parent to specify
changes to its children, or a group to specify changes to its members.
Port or generalize the relevant bits from ERB indentation code to similar
packages for other languages.
Make re-parsing the buffer into regions incremental: take the position
of the most early change, see the submodes nesting there, and resume
parsing with that data. Shouldn't be too hard, conceptually. Maybe
even ignore the nesting, backtrack to a position where there are no
overlays, and re-parse from there (see mmm-parse-apply as a starting
point). Remember to handle delimiter inclusion and offsets as best
possible.
Thus, make re-parsing automatic (from syntax-propertize-function,
probably), making manual control unnecessary.
Remove XEmacs stuff?