- Auto-capitalisation of keywords

From: CFB Software <"CFB>
Date: Tue, 3 Oct 2006 00:25:42 +0930

----boundary-LibPST-iamunique-1297693463_-_-
Content-type: text/plain

> -----Original Message-----
> From: blackbox{([at]})nowhere.xy
> Behalf Of Alexander Iljin
> Sent: Wednesday, 27 September 2006 4:58 AM
> To: BlackBox Mailing List
> Subject: [BlackBox] - Tabbed document user interface example
>
> Thanks, that one worked! Quite an interesting topic on syntax
> highlighting and "transparent" wrapper views.

The work being done on syntax highlighting looks interesting. Whoever is
working on that should also look at implementing auto-capitalisation of
keywords as the two features are closely related.

I've done some initial implementation work on this feature in the
Gardens Point CP IDE that I'm developing and now that I've tried it, as
a two-finger typist I suspect that I'm going to find auto-capitalisation
hard to do without.

Much of the BlackBox work has already been done (it's somewhat hidden in
Epse21 by Fyodor Tkachov: http://www.zinnamturm.de/#Epse21 ) However, as
far as I know, this requires you to press a function key for each word
you want capitalised - there is not an automatic mechanism.

Suggested rules for automation are:

* the keyword is only capitalised if it is completely in lowercase
* capitalisation of the current word is considered when the next
keyboard press is the Return, space, semicolon or left parenthesis key
(have I forgotten anything?)

There also needs to be a simple way of either (temporarily?) suppressing
or reversing the capitalisation where it is not required:

e.g.

1. VAR begin: INTEGER;

2. (* begin in a comment *)

3. "begin in a string"

Strings could be detected quite easily but comments are more difficult
as they can span more than one line.

The detection of the use of lowercase keywords as identifiers requires
more rigorous parsing than is otherwise necessary. However, these are
hopefully rare occurrences that could be manually suppressed or
converted.

Chris Burrows
CFB Software
http://www.cfbsoftware.com/gpcp

--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy


----boundary-LibPST-iamunique-1297693463_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS1c
cGFyDQo+IEZyb206IGJsYWNrYm94QG9iZXJvbi5jaCBbbWFpbHRvOmJsYWNrYm94QG9iZXJvbi5j
aF0gT24gXHBhcg0KPiBCZWhhbGYgT2YgQWxleGFuZGVyIElsamluXHBhcg0KPiBTZW50OiBXZWRu
ZXNkYXksIDI3IFNlcHRlbWJlciAyMDA2IDQ6NTggQU1ccGFyDQo+IFRvOiBCbGFja0JveCBNYWls
aW5nIExpc3RccGFyDQo+IFN1YmplY3Q6IFtCbGFja0JveF0gLSBUYWJiZWQgZG9jdW1lbnQgdXNl
ciBpbnRlcmZhY2UgZXhhbXBsZVxwYXINCj4gXHBhcg0KPiBUaGFua3MsIHRoYXQgb25lIHdvcmtl
ZCEgUXVpdGUgYW4gaW50ZXJlc3RpbmcgdG9waWMgb24gc3ludGF4XHBhcg0KPiBoaWdobGlnaHRp
bmcgYW5kICJ0cmFuc3BhcmVudCIgd3JhcHBlciB2aWV3cy5ccGFyDQpccGFyDQpUaGUgd29yayBi
ZWluZyBkb25lIG9uIHN5bnRheCBoaWdobGlnaHRpbmcgbG9va3MgaW50ZXJlc3RpbmcuIFdob2V2
ZXIgaXNccGFyDQp3b3JraW5nIG9uIHRoYXQgc2hvdWxkIGFsc28gbG9vayBhdCBpbXBsZW1lbnRp
bmcgYXV0by1jYXBpdGFsaXNhdGlvbiBvZlxwYXINCmtleXdvcmRzIGFzIHRoZSB0d28gZmVhdHVy
ZXMgYXJlIGNsb3NlbHkgcmVsYXRlZC4gXHBhcg0KXHBhcg0KSSd2ZSBkb25lIHNvbWUgaW5pdGlh
bCBpbXBsZW1lbnRhdGlvbiB3b3JrIG9uIHRoaXMgZmVhdHVyZSBpbiB0aGVccGFyDQpHYXJkZW5z
IFBvaW50IENQIElERSB0aGF0IEknbSBkZXZlbG9waW5nIGFuZCBub3cgdGhhdCBJJ3ZlIHRyaWVk
IGl0LCBhc1xwYXINCmEgdHdvLWZpbmdlciB0eXBpc3QgSSBzdXNwZWN0IHRoYXQgSSdtIGdvaW5n
IHRvIGZpbmQgYXV0by1jYXBpdGFsaXNhdGlvblxwYXINCmhhcmQgdG8gZG8gd2l0aG91dC4gXHBh
cg0KXHBhcg0KTXVjaCBvZiB0aGUgQmxhY2tCb3ggd29yayBoYXMgYWxyZWFkeSBiZWVuIGRvbmUg
KGl0J3Mgc29tZXdoYXQgaGlkZGVuIGluXHBhcg0KRXBzZTIxIGJ5IEZ5b2RvciBUa2FjaG92OiBo
dHRwOi8vd3d3Lnppbm5hbXR1cm0uZGUvI0Vwc2UyMSApIEhvd2V2ZXIsIGFzXHBhcg0KZmFyIGFz
IEkga25vdywgdGhpcyByZXF1aXJlcyB5b3UgdG8gcHJlc3MgYSBmdW5jdGlvbiBrZXkgZm9yIGVh
Y2ggd29yZFxwYXINCnlvdSB3YW50IGNhcGl0YWxpc2VkIC0gdGhlcmUgaXMgbm90IGFuIGF1dG9t
YXRpYyBtZWNoYW5pc20uIFxwYXINClxwYXINClN1Z2dlc3RlZCBydWxlcyBmb3IgYXV0b21hdGlv
biBhcmU6XHBhcg0KXHBhcg0KKiB0aGUga2V5d29yZCBpcyBvbmx5IGNhcGl0YWxpc2VkIGlmIGl0
IGlzIGNvbXBsZXRlbHkgaW4gbG93ZXJjYXNlXHBhcg0KKiBjYXBpdGFsaXNhdGlvbiBvZiB0aGUg
Y3VycmVudCB3b3JkIGlzIGNvbnNpZGVyZWQgd2hlbiB0aGUgbmV4dFxwYXINCmtleWJvYXJkIHBy
ZXNzIGlzIHRoZSBSZXR1cm4sIHNwYWNlLCBzZW1pY29sb24gb3IgbGVmdCBwYXJlbnRoZXNpcyBr
ZXlccGFyDQooaGF2ZSBJIGZvcmdvdHRlbiBhbnl0aGluZz8pXHBhcg0KXHBhcg0KVGhlcmUgYWxz
byBuZWVkcyB0byBiZSBhIHNpbXBsZSB3YXkgb2YgZWl0aGVyICh0ZW1wb3JhcmlseT8pIHN1cHBy
ZXNzaW5nXHBhcg0Kb3IgcmV2ZXJzaW5nIHRoZSBjYXBpdGFsaXNhdGlvbiB3aGVyZSBpdCBpcyBu
b3QgcmVxdWlyZWQ6XHBhcg0KXHBhcg0KZS5nLlxwYXINClxwYXINCjEuIFZBUiBiZWdpbjogSU5U
RUdFUjtccGFyDQpccGFyDQoyLiAoKiBiZWdpbiBpbiBhIGNvbW1lbnQgKilccGFyDQpccGFyDQoz
LiAiYmVnaW4gaW4gYSBzdHJpbmciIFxwYXINClxwYXINClN0cmluZ3MgY291bGQgYmUgZGV0ZWN0
ZWQgcXVpdGUgZWFzaWx5IGJ1dCBjb21tZW50cyBhcmUgbW9yZSBkaWZmaWN1bHRccGFyDQphcyB0
aGV5IGNhbiBzcGFuIG1vcmUgdGhhbiBvbmUgbGluZS4gXHBhcg0KXHBhcg0KVGhlIGRldGVjdGlv
biBvZiB0aGUgdXNlIG9mIGxvd2VyY2FzZSBrZXl3b3JkcyBhcyBpZGVudGlmaWVycyByZXF1aXJl
c1xwYXINCm1vcmUgcmlnb3JvdXMgcGFyc2luZyB0aGFuIGlzIG90aGVyd2lzZSBuZWNlc3Nhcnku
IEhvd2V2ZXIsIHRoZXNlIGFyZVxwYXINCmhvcGVmdWxseSByYXJlIG9jY3VycmVuY2VzIHRoYXQg
Y291bGQgYmUgbWFudWFsbHkgc3VwcHJlc3NlZCBvclxwYXINCmNvbnZlcnRlZC5ccGFyDQpccGFy
DQpDaHJpcyBCdXJyb3dzXHBhcg0KQ0ZCIFNvZnR3YXJlXHBhcg0KaHR0cDovL3d3dy5jZmJzb2Z0
d2FyZS5jb20vZ3BjcFxwYXINClxwYXINCi0tLSBCbGFja0JveFxwYXINCi0tLSBzZW5kIHN1Ympl
Y3QgSEVMUCBvciBVTlNVQlNDUklCRSB0byBibGFja2JveEBvYmVyb24uY2h9fQAE6gQBBS0FQwVF



----boundary-LibPST-iamunique-1297693463_-_---
Received on Mon Oct 02 2006 - 16:55:42 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:32:13 UTC