[Doc-SIG] Re: docstring signatures

Ka-Ping Yee ping@lfw.org
Mon, 26 Mar 2001 04:39:23 -0800 (PST)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--0-752675476-985610362=:570
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Mon, 26 Mar 2001, Greg Ward wrote:
> I wouldn't mind my docstrings being entirely one colour (say, the "string"
> colour) and my Python code being colourized properly -- but even without any
> formal markup in docstrings, Emacs can't handle that, so how can adding a
> markup syntax make things worse?
[...]
>     def foo (bar, baz):
>         """Returns 'bar' if 'baz' is "foo", or 'baz' if 'bar' is "foo"."""
> 
> This is legitimate plain-text, and probably pretty close to legit ST, but
> stuff like this throws python-mode for a loop.

This is pretty surprising.  I use Vim and it has never had any trouble
with colourizing this kind of stuff.  It was even very easy to classify
docstrings (based on their position in the code) separately from ordinary
literal strings.  Python's syntax makes this easy; you just look for a
colon at the end of the previous line.  Surely it must be possible for
Emacs to do the same, since elisp is so much more powerful than the
pattern language Vim uses for configuring colourization modes -- it's
annoying to have Python code littered with all of these font-lock hints.

For reference i've attached my Python syntax-highlighting file for Vim.
It has served me quite well over the years.


-- ?!ng

--0-752675476-985610362=:570
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="python.vim"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.10.10103260439220.570@skuld.kingmanhall.org>
Content-Description: 
Content-Disposition: attachment; filename="python.vim"

IiBWaW0gc3ludGF4IGZpbGUgZm9yIFB5dGhvbg0KIiBLYS1QaW5nIFllZSwg
MTMgSmFudWFyeSAxOTk5DQoNCnN5bnRheCBjbGVhcg0KDQpzeW50YXgga2V5
d29yZCBweXRob25TdGF0ZW1lbnQgICAgICAgICAgYnJlYWsgY29udGludWUg
ZGVsDQpzeW50YXgga2V5d29yZCBweXRob25TdGF0ZW1lbnQgICAgICAgICAg
ZXhjZXB0IGV4ZWMgZmluYWxseQ0Kc3ludGF4IGtleXdvcmQgcHl0aG9uU3Rh
dGVtZW50ICAgICAgICAgIHBhc3MgcHJpbnQgcmFpc2UNCnN5bnRheCBrZXl3
b3JkIHB5dGhvblN0YXRlbWVudCAgICAgICAgICByZXR1cm4gdHJ5DQpzeW50
YXgga2V5d29yZCBweXRob25SZXBlYXQgICAgICAgICAgICAgZm9yIHdoaWxl
DQpzeW50YXgga2V5d29yZCBweXRob25Db25kaXRpb25hbCAgICAgICAgaWYg
ZWxpZiBlbHNlIHRoZW4NCnN5bnRheCBrZXl3b3JkIHB5dGhvbk9wZXJhdG9y
ICAgICAgICAgICBhbmQgaW4gaXMgbm90IG9yDQpzeW50YXgga2V5d29yZCBw
eXRob25Ub2RvICAgICAgICAgICAgICAgVE9ETyBGSVhNRSBYWFggY29udGFp
bmVkDQoNCnN5bnRheCBtYXRjaCAgIHB5dGhvbkRvY1N0YXJ0ICAgICAgICAg
ICAiOiAqJCIgbmV4dGdyb3VwPXB5dGhvbkRvY1N0cmluZyBza2lwbmwgc2tp
cHdoaXRlDQpzeW50YXggcmVnaW9uICBweXRob25Eb2NTdHJpbmcgICAgICBz
dGFydD0vclw9Jy8gIGVuZD0vJy8gc2tpcD0vXFwnXHxcXFxcLw0Kc3ludGF4
IHJlZ2lvbiAgcHl0aG9uRG9jU3RyaW5nICAgICAgc3RhcnQ9L3JcPSIvICBl
bmQ9LyIvIHNraXA9L1xcIlx8XFxcXC8NCnN5bnRheCByZWdpb24gIHB5dGhv
bkRvY1N0cmluZyAgICAgIHN0YXJ0PS9yXD0iIiIvICBlbmQ9LyIiIi8gc2tp
cD0vXFwiXHxcXFxcLw0Kc3ludGF4IHJlZ2lvbiAgcHl0aG9uRG9jU3RyaW5n
ICAgICAgc3RhcnQ9L3JcPScnJy8gIGVuZD0vJycnLyBza2lwPS9cXCdcfFxc
XFwvDQoNCnN5bnRheCByZWdpb24gIHB5dGhvblN0cmluZyAgICAgICAgIHN0
YXJ0PS9yXD0nLyAgZW5kPS8nLyBza2lwPS9cXCdcfFxcXFwvDQpzeW50YXgg
cmVnaW9uICBweXRob25TdHJpbmcgICAgICAgICBzdGFydD0vclw9Ii8gIGVu
ZD0vIi8gc2tpcD0vXFwiXHxcXFxcLw0Kc3ludGF4IHJlZ2lvbiAgcHl0aG9u
U3RyaW5nICAgICAgICAgc3RhcnQ9L3JcPSIiIi8gIGVuZD0vIiIiLyBza2lw
PS9cXCJcfFxcXFwvDQpzeW50YXggcmVnaW9uICBweXRob25TdHJpbmcgICAg
ICAgICBzdGFydD0vclw9JycnLyAgZW5kPS8nJycvIHNraXA9L1xcJ1x8XFxc
XC8NCg0Kc3ludGF4IG1hdGNoIHB5dGhvbkNhbGwgICAgICAgICAgICAgICAg
ICJbQS1aYS16MC05X11cKygibWU9ZS0xDQoNCnN5bnRheCBrZXl3b3JkIHB5
dGhvblR5cGUgICAgICAgICAgICAgICBsYW1iZGENCnN5bnRheCBrZXl3b3Jk
IHB5dGhvbkRlZmluaXRpb24gICAgICAgICBkZWYgY2xhc3MgY29udGFpbmVk
DQpzeW50YXgga2V5d29yZCBweXRob25QcmVQcm9jICAgICAgICAgICAgaW1w
b3J0IGZyb20NCnN5bnRheCBtYXRjaCAgIHB5dGhvbkNsYXNzRGVmICAgICAg
ICAgICAiXDxjbGFzc1xzXCtbQS1aYS16MC05X11cKyIgY29udGFpbnM9cHl0
aG9uRGVmaW5pdGlvbixweXRob25DbGFzcw0Kc3ludGF4IG1hdGNoICAgcHl0
aG9uQ2xhc3MgICAgICAgICAgICAgICJbQS1aYS16MC05X11cKyIgY29udGFp
bmVkDQpzeW50YXggbWF0Y2ggICBweXRob25GdW5jdGlvbkRlZiAgICAgICAg
Ilw8ZGVmXHNcK1tBLVphLXowLTlfXVwrIiBjb250YWlucz1weXRob25EZWZp
bml0aW9uLHB5dGhvbkZ1bmN0aW9uDQpzeW50YXggbWF0Y2ggICBweXRob25G
dW5jdGlvbiAgICAgICAgICAgIltBLVphLXowLTlfXVwrIiBjb250YWluZWQN
CnN5bnRheCBtYXRjaCAgIHB5dGhvbkNvbW1lbnQgICAgICAgICAgICAiIy4q
JCIgY29udGFpbnM9cHl0aG9uVG9kbw0Kc3ludGF4IG1hdGNoICAgcHl0aG9u
TnVtYmVyICAgICAgICAgICAgICItXD1cPFxkXCtcKFwuXGQqXClcPVwoW2VF
XVxkXCtcKVw9Ig0Kc3ludGF4IG1hdGNoICAgcHl0aG9uTm9uZSAgICAgICAg
ICAgICAgICJcPE5vbmVcPiINCnN5bnRheCBtYXRjaCAgIHB5dGhvblNlbGYg
ICAgICAgICAgICAgICAiXDxzZWxmXD4iDQoNCnN5bnRheCBzeW5jIG1hdGNo
IHB5dGhvblN5bmMgZ3JvdXBoZXJlIE5PTkUgIik6JCINCnN5bnRheCBzeW5j
IG1heGxpbmVzPTEwMA0KDQppZiAhZXhpc3RzKCJkaWRfcHl0aG9uX2hpZ2hs
aWdodCIpDQogIGxldCBkaWRfcHl0aG9uX2hpZ2hsaWdodCA9IDENCiAgaGln
aGxpZ2h0IGxpbmsgcHl0aG9uU3RhdGVtZW50ICAgICAgICAgICAgICAgIFN0
YXRlbWVudA0KICBoaWdobGlnaHQgbGluayBweXRob25UeXBlICAgICAgICAg
ICAgICAgICAgICAgVHlwZQ0KICBoaWdobGlnaHQgbGluayBweXRob25EZWZp
bml0aW9uICAgICAgICAgICAgICAgVHlwZQ0KICBoaWdobGlnaHQgbGluayBw
eXRob25Db25kaXRpb25hbCAgICAgICAgICAgICAgQ29uZGl0aW9uYWwNCiAg
aGlnaGxpZ2h0IGxpbmsgcHl0aG9uUmVwZWF0ICAgICAgICAgICAgICAgICAg
IFJlcGVhdA0KICBoaWdobGlnaHQgbGluayBweXRob25TdHJpbmcgICAgICAg
ICAgICAgICAgICAgU3RyaW5nDQogIGhpZ2hsaWdodCBsaW5rIHB5dGhvbk9w
ZXJhdG9yICAgICAgICAgICAgICAgICBPcGVyYXRvcg0KICBoaWdobGlnaHQg
bGluayBweXRob25DbGFzcyAgICAgICAgICAgICAgICAgICAgQ2xhc3MNCiAg
aGlnaGxpZ2h0IGxpbmsgcHl0aG9uRnVuY3Rpb24gICAgICAgICAgICAgICAg
IEZ1bmN0aW9uDQogIGhpZ2hsaWdodCBsaW5rIHB5dGhvblByZVByb2MgICAg
ICAgICAgICAgICAgICBQcmVQcm9jDQogIGhpZ2hsaWdodCBsaW5rIHB5dGhv
bkNvbW1lbnQgICAgICAgICAgICAgICAgICBDb21tZW50DQogIGhpZ2hsaWdo
dCBsaW5rIHB5dGhvbkRvY1N0cmluZyAgICAgICAgICAgICAgICBDb21tZW50
DQogIGhpZ2hsaWdodCBsaW5rIHB5dGhvblRvZG8gICAgICAgICAgICAgICAg
ICAgICBUb2RvDQogIGhpZ2hsaWdodCBsaW5rIHB5dGhvbk51bWJlciAgICAg
ICAgICAgICAgICAgICBOdW1iZXINCiAgaGlnaGxpZ2h0IGxpbmsgcHl0aG9u
Tm9uZSAgICAgICAgICAgICAgICAgICAgIENvbnN0YW50DQogIGhpZ2hsaWdo
dCBsaW5rIHB5dGhvblNlbGYgICAgICAgICAgICAgICAgICAgICBDb25zdGFu
dA0KICBoaWdobGlnaHQgbGluayBweXRob25DYWxsICAgICAgICAgICAgICAg
ICAgICAgQ2FsbA0KZW5kaWYNCg0KbGV0IGI6Y3VycmVudF9zeW50YXggPSAi
cHl0aG9uIg0K
--0-752675476-985610362=:570--