From: Gavin Sinclair Date: 2003-04-01T22:51:57+09:00 Subject: Re: syntax highlighting problem in vim ------------5A192F1C82DAB9 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8bit On Tuesday, April 1, 2003, 1:58:45 AM, Mauricio wrote: > On Mon, Mar 31, 2003 at 11:25:25PM +0900, KONTRA Gergely wrote: >> Negative. It is correct for me. How is it displayed at you? > Wrong colors and incorrect indentation when I make it reindent. > ========================= > ;-) Thanks for underlining the point. I'd hate to have missed it! ;) I've attached the latest, bleeding edge indent/ruby.vim. Anyone who cares deeply about Ruby, Vim and indenting *might* want to play with it. Some things may be broken, but there are some good things implemented, and just maybe someone can improve on it. Gavin PS. DON'T delete the real indent/ruby.vim. ------------5A192F1C82DAB9 Content-Type: application/octet-stream; name="ruby.vim" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ruby.vim" IiBWaW0gaW5kZW50IGZpbGUKIiBMYW5ndWFnZToJUnVieQoiIE1haW50YWluZXI6CUdhdmluIFNp bmNsYWlyIDxnc2luY2xhaXJAc295YWJlYW4uY29tLmF1PgoiIExhc3QgQ2hhbmdlOgkkRGF0ZTog MjAwMy8wMS8yMCAxNjoyNzowNiAkCiIgUmV2aXNpb246ICAgICAkUmV2aXNpb246IDEuMTEgJAoi IFVSTDogd3d3LnNveWFiZWFuLmNvbS5hdS9nYXZpbi92aW0vaW5kZXguaHRtbAoiIENoYW5nZXM6 IChzaW5jZSB2aW0gNi4xKQoiICAtIGluZGVudGF0aW9uIGFmdGVyIGEgbGluZSBlbmRpbmcgaW4g Y29tbWEsIGV0YywgKGV2ZW4gaW4gYSBjb21tZW50KSB3YXMKIiAgICBicm9rZW4sIG5vdyBmaXhl ZCAoMjAwMi8wOC8xNCkKIiAgLSByZWdleGVzIGNoYW5nZWQgdG8gJ3ZlcnkgbWFnaWMnIGZvciBj bGFyaXR5ICgyMDAyLzA4LzE3KQoiICAtIGZ1cnRoZXIgcmVhZGFiaWxpdHkgKDIwMDIvMDgvMTcp CiIgIC0gZnVydGhlciB3b3JrIG9uIGluZGVudGF0aW9uIG9mIGNvbnRpbnVhdGlvbiBsaW5lcyAo MjAwMy8wMS8yMSkKIiAgLSA9YmVnaW4vPWVuZCBoYXZlIHplcm8gaW5kZW50YXRpb24gKDIwMDMv MDEvMjEpCiIgIC0gaW5kZW50YXRpb24gbm90IGNoYW5nZWQgd2hlbiBhcHBsaWVkIHRvIHBhcnQg b2YgYSBjb21tZW50IG9yIHN0cmluZwoiICAgIChleHBlcmltZW50YWwpICgyMDAzLzAxLzIxKQoi CiIgVG9kbzoKIiAgLSBoYXZlIGluZGVudGF0aW9uIHJldHVybiB0byBub3JtYWwgYWZ0ZXIgYSBj b250aW51ZWQgc3RhdGVtZW50IGlzIGZpbmlzaGVkCgoiIE9ubHkgbG9hZCB0aGlzIGluZGVudCBm aWxlIHdoZW4gbm8gb3RoZXIgd2FzIGxvYWRlZC4KaWYgZXhpc3RzKCJiOmRpZF9pbmRlbnQiKQog IGZpbmlzaAplbmRpZgpsZXQgYjpkaWRfaW5kZW50ID0gMQoKc2V0bG9jYWwgaW5kZW50ZXhwcj1H ZXRSdWJ5SW5kZW50KCkKc2V0bG9jYWwgbm9saXNwCnNldGxvY2FsIG5vc21hcnRpbmRlbnQKc2V0 bG9jYWwgYXV0b2luZGVudApzZXRsb2NhbCBpbmRlbnRrZXlzKz09ZW5kLD1lbHNlLD1lbHNpZiw9 d2hlbiw9ZW5zdXJlLD1yZXNjdWUsPT1iZWdpbiw9PWVuZAoKCiIgLS0tLS0tLS0tLS0tLS0tIEEg VSBYIEkgTCBMIEkgQSBSIFkgICBGIFUgTiBDIFQgSSBPIE4gUyAtLS0tLS0tLS0tLS0tLS0gIgoK bGV0IGc6c3ltYm9scyA9ICdbLSsqLyUhPD49PzpeJnwuLFsofl0nCmxldCBnOndvcmRzID0gJzwo YW5kfG9yfG5vdHxpZnx1bmxlc3N8d2hpbGV8dW50aWx8cmVzY3VlKT4nCmxldCBnOnJ1YnlfY29u dGludWF0aW9uX3BhdHRlcm4gPSAnXHZccygnIC4gZzpzeW1ib2xzIC4gJ3wnIC4gZzp3b3JkcyAu ICcpXHMqJCcKCmZ1bmN0aW9uISBFbmRPZlN0YXRlbWVudChsaW5lbnIpCiAgIiIgUmV0dXJuIDEg KHRydWUpIGlmZiB0aGUgbGluZSBvZiB0aGUgZ2l2ZW4gbnVtYmVyIGNvbnRhaW5zIHRoZSBlbmQg b2YgYQogICIiIHN0YXRlbWVudCwgMCAoZmFsc2UpIG90aGVyd2lzZS4KICBsZXQgbGluZSA9IGdl dGxpbmUoYTpsaW5lbnIpCiAgcmV0dXJuIDEgLSAobGluZSA9fiBnOnJ1YnlfY29udGludWF0aW9u X3BhdHRlcm4pCmVuZGZ1bmN0aW9uCgoiIEZpbmQgdGhlIGZpcnN0IHBoeXNpY2FsIGxpbmUgb2Yg dGhlIGxhc3QgbG9naWNhbCBzdGF0ZW1lbnQgYmVmb3JlIGE6bGluZW5yLgoiZnVuY3Rpb24hIExh c3RTdGF0ZW1lbnRGaXJzdExpbmUobGluZW5yKQoiICBsZXQgbG4gPSBwcmV2bm9uYmxhbmsoYTps aW5lbnIpCiIgIHdoaWxlIGxuID4gMAoiICAgIGlmIEVuZE9mU3RhdGVtZW50KGxuKQoiICAgICAg cmV0dXJuIGxuICsgMQoiICAgIGVuZGlmCiIgICAgbGV0IGxuID0gbG4gLSAxCiIgIGVuZHdoaWxl CiJlbmRmdW5jdGlvbgoKIiBGaW5kIHRoZSBmaXJzdCBwaHlzaWNhbCBsaW5lIG9mIHRoZSBsYXN0 IGxvZ2ljYWwgc3RhdGVtZW50IGJlZm9yZSBhOmxpbmVuci4KZnVuY3Rpb24hIExhc3RTdGF0ZW1l bnRGaXJzdExpbmUobGluZW5yKQogIGxldCBwcmV2X2xpbmUgPSBwcmV2bm9uYmxhbmsoYTpsaW5l bnIpCiAgbGV0IGN1cnJfbGluZSA9IHByZXZub25ibGFuayhwcmV2X2xpbmUgLSAxKQogIHdoaWxl ICEgRW5kT2ZTdGF0ZW1lbnQoY3Vycl9saW5lKQogICAgbGV0IHByZXZfbGluZSA9IGN1cnJfbGlu ZQogICAgbGV0IGN1cnJfbGluZSA9IHByZXZub25ibGFuayhwcmV2X2xpbmUgLSAxKQogIGVuZHdo aWxlCiAgcmV0dXJuIHByZXZfbGluZQplbmRmdW5jdGlvbgoKZnVuY3Rpb24hIEluQ29tbWVudE9y U3RyaW5nKCkKICBsZXQgbmFtZSA9IHN5bklEYXR0cihzeW5JRHRyYW5zKHN5bklEKGxpbmUoIi4i KSwgY29sKCIuIiksIDEpKSwgIm5hbWUiKQogIHJldHVybiAobmFtZSA9PSAiQ29tbWVudCIpIHx8 IChuYW1lID09ICJTdHJpbmciKSB8fCAobmFtZSA9PSAiQ29uc3RhbnQiKQplbmRmdW5jdGlvbgoK CiIgLS0tLS0tLS0tLS0tLS0tLS0tLS0gTSBBIEkgTiAgIEYgVSBOIEMgVCBJIE8gTiAtLS0tLS0t LS0tLS0tLS0tLS0tLSAiCgpmdW5jdGlvbiEgR2V0UnVieUluZGVudCgpCiAgIiBGaW5kIGEgbm9u LWJsYW5rIGxpbmUgYWJvdmUgdGhlIGN1cnJlbnQgbGluZS4KICBsZXQgbG51bSA9IHByZXZub25i bGFuayh2OmxudW0gLSAxKQogIGxldCBsaW5lID0gZ2V0bGluZShsbnVtKQogIGxldCBpbmQgID0g aW5kZW50KGxudW0pCiAgbGV0IGZsYWcgPSAwCgogIGVjaG9tc2cgJz09PT09PT09PT09PT09PT09 PT09PT09PT09PSBTVEFSVCcKICBlY2hvbXNnICdsbnVtID0gJyAuIGxudW0KICBlY2hvbXNnICds aW5lID0gJyAuIGxpbmUKICBlY2hvbXNnICdpbmQgPSAgJyAuIGluZAoKICAiIEF0IHRoZSBzdGFy dCBvZiB0aGUgZmlsZSB1c2UgemVybyBpbmRlbnQuCiAgaWYgbG51bSA9PSAwCiAgICByZXR1cm4g MAogIGVuZGlmCgogICIgVXNlIHplcm8gaW5kZW50IGZvciAiPWJlZ2luIiBhbmQgIj1lbmQiIChS RCkgbGluZXMuCiAgaWYgZ2V0bGluZSh2OmxudW0pID1+ICdcdl5ccypcPShiZWdpbnxlbmQpJwog ICAgcmV0dXJuIDAKICBlbmRpZgoKICAiIERvbid0IHRhbXBlciB3aXRoIGluZGVudGF0aW9uIGlm IHdlIGFyZSBpbiBhIGNvbW1lbnQgb3Igc3RyaW5nLgogIGlmIEluQ29tbWVudE9yU3RyaW5nKCkK ICAgIGVjaG9tc2cgImluIGNvbW1lbnQiCiAgICByZXR1cm4gLTEKICBlbmRpZgoKICAiIEFkZCBh ICdzaGlmdHdpZHRoJyBhZnRlciBsaW5lcyBiZWdpbm5pbmcgd2l0aCBtb2R1bGUsIGNsYXNzLCBk ZWYsIC4uLgogICIgb3IgZW5kaW5nIGluIHssIGRvICh3aXRoIG9wdGlvbmFsIHwuLi58IGFuZCBj b21tZW50KS4KICBsZXQgYmVnaW5fd29yZHMgPSAnKG1vZHVsZXxjbGFzc3xkZWZ8aWZ8Zm9yfHdo aWxlfHVudGlsfGVsc2V8ZWxzaWZ8Y2FzZXx3aGVufHVubGVzc3xiZWdpbnxlbnN1cmV8cmVzY3Vl KT4nCiAgaWYgbGluZSA9fiAnXHZeXHMqJyAuIGJlZ2luX3dvcmRzICB8fCAgbGluZSA9fiAnXHYo XHt8PGRvPilccyooXHxbXnxdKlx8KT8oXHMqIy4qKT8kJwogICAgbGV0IGluZCA9IGluZCArICZz dwogICAgbGV0IGZsYWcgPSAxCiAgICBlY2hvICdhMicKICBlbmRpZgoKICAiIFN1YnRyYWN0IGEg J3NoaWZ0d2lkdGgnIGFmdGVyIGxpbmVzIGVuZGluZyB3aXRoCiAgIiAiZW5kIiB3aGVuIHRoZXkg YmVnaW4gd2l0aCB3aGlsZSwgaWYsIGZvciwgdW50aWwKICBpZiBmbGFnID09IDEgJiYgbGluZSA9 fiAnXHY8ZW5kPihccyojLiopPyQnCiAgICBsZXQgaW5kID0gaW5kIC0gJnN3CiAgICBlY2hvbXNn ICdhMycKICAgIHJldHVybiBpbmQKICBlbmRpZgoKICAiIFN1YnRyYWN0IGEgJ3NoaWZ0d2lkdGgn IG9uIGVuZCwgZWxzZSwgZWxzaWYsIHdoZW4sIH0sIGVuc3VyZSwgcmVzY3VlCiAgIiAoQ1VSUkVO VCBsaW5lKQogIGlmIGdldGxpbmUodjpsbnVtKSA9fiAnXHZeXHMqKChlbmR8ZWxzZXxlbHNpZnx3 aGVufGVuc3VyZXxyZXNjdWUpPnxcfSknCiAgICBsZXQgaW5kID0gaW5kIC0gJnN3CiAgICBlY2hv bXNnICdhNCcKICAgIHJldHVybiBpbmQKICBlbmRpZgoKICAiIEluZGVudCBjb250aW51YXRpb24g bGluZXMKICAibGV0IHN0bXRfYmVnaW4gPSBMYXN0U3RhdGVtZW50Rmlyc3RMaW5lKHY6bG51bSkg CiAgImVjaG9tc2cgJ3N0bXRfYmVnaW4gPSAnIC4gc3RtdF9iZWdpbgogICJlY2hvbXNnICd2Omxu dW0gPSAnIC4gdjpsbnVtCiAgImlmIHN0bXRfYmVnaW4gIT0gdjpsbnVtCiAgIiAgbGV0IGluZCA9 IGluZGVudChzdG10X2JlZ2luKSArICZzdwogICIgIGVjaG9tc2cgJ2ZvdW5kIGNvbnRpbnVhdGlv biwgaW5kID0gJyAuIGluZAogICJlbmRpZgoKICAiIEluZGVudCBjb250aW51YXRpb24gbGluZXMK ICBsZXQgY29udGludWF0aW9uID0gIUVuZE9mU3RhdGVtZW50KHByZXZub25ibGFuayh2OmxudW0g LSAxKSkKICBlY2hvbXNnICdjb250aW51YXRpb24gPSAnIC4gY29udGludWF0aW9uCiAgbGV0IGxz ZmwgPSBMYXN0U3RhdGVtZW50Rmlyc3RMaW5lKHY6bG51bSkKICBlY2hvbXNnICdsc2ZsID0gJyAu IGxzZmwKICBsZXQgcHJldl9pbmRlbnQgPSBpbmRlbnQobHNmbCkKICBlY2hvbXNnICdwcmV2X2lu ZGVudCA9ICcgLiBwcmV2X2luZGVudAogIGlmIGNvbnRpbnVhdGlvbiA9PSAxCiAgICBpbmQgPSBw cmV2X2luZGVudCArIDQgIigyICogJnN3KQogICAgaW5kID0gMTAKICAgIGVjaG9tc2cgJ2E1IGlu ZCA9ICcgLiBpbmQKICBlbHNlCiAgICBlY2hvbXNnICdhNiBpbmQgPSAnIC4gaW5kCiAgICBpbmQg PSBwcmV2X2luZGVudAogIGVuZGlmCgogIGVjaG9tc2cgJ0ZpbmFsIGluZCA9ICcgLiBpbmQKICBl Y2hvbXNnICdFTkQgT0YgRlVOQ1RJT04nCiAgcmV0dXJuIGluZAplbmRmdW5jdGlvbgoKIiB2aW06 c3c9MiBmZj11bml4Cgo= ------------5A192F1C82DAB9--