๐Ÿš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.editor.xemacs
Article #268

Re: [Q] c,c++ font-lock on XEmacs

#268
From: Atushi Shinmura
Date: Wed, 15 Aug 2001 21:36
67 lines
4428 bytes
ๆ–ฐๆ‘ใงใ™ใ€‚ใ€€ใƒ•ใ‚ฉใƒญใƒผๆœ‰้›ฃใ†ใ”ใ–ใ„ใพใ™ใ€‚

Katsumi Yamaokaใ•ใ‚“ใฎ<yosud75x8pns.fsf@jpl.org>ใ‹ใ‚‰

>http://my.gnus.org/mig.php?currDir=./XEmacs&pageType=image&image=c%2B%2B.gif
>
>ใ“ใ‚Œใฏ font-lock ใฎใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใจใฏ้•ใ†ใฟใŸใ„ใงใ™ใญใ€‚ๆ–ฐๆ‘ใ•ใ‚“ใŒไปฅ
>ๅ‰ใซไฝฟใฃใฆใ„ใ‚‰ใฃใ—ใ‚ƒใฃใŸ่จญๅฎšใ‚‚ใ‹ใชใ‚Šๅ‡ใฃใŸใ‚‚ใฎใ ใฃใŸใฎใงใฏใชใ„ใง
>ใ—ใ‚‡ใ†ใ‹ใ€‚ใจ่จ€ใ†ใฎใฏใ€font-lock.el ใ‚’่ชญใฟ็›ดใ—ใฆใฟใ‚‹ใจใ€ใ‚„ใฏใ‚Š
>
>int foo,
>    bar;
>
>ใฎใ‚ˆใ†ใชๅ ดๅˆใ€ไบŒ่กŒ็›ฎใฏ fontify ใฎๅฏพ่ฑกใซใชใ‚‰ใชใ„ใ‚ˆใ†ใชใฎใงใ™ใ€‚

ใฏใ„ใ€‚็ขบใ‹ใ€๏ผ‘๏ผ๏ผ่กŒๅ‰ๅพŒใซใ‚‚ใชใ‚‹ๅŠ›ไฝœใ ใฃใŸใจๆ€ใ„ใพใ™ใ€‚ไฝœ่€…ๆœฌไบบใŒ็พๅœจใŠ
ใ‚Šใพใ›ใ‚“ใฎใงใ€็ขบใ‹ใ‚ใ‚‹่ก“ใ‚‚ใชใ„ใฎใงใ™ใŒใ€็ฑณๅ›ฝใฎใ‚ตใ‚คใƒˆใ‹ใ‚‰่ฒฐใฃใฆๆฅใŸ็‰ฉใ‚’
ๆ‰‹็›ดใ—ใ—ใŸใ ใ‘ใ ใจใ„ใ†ใ“ใจใงใ™ใ€‚ mule,XEmacs20.X ใงๅŒๆง˜ใซๅ‹•ไฝœใ—ใฆใŠใ‚Š
ใพใ—ใŸใ€‚ๆ–‡ๅฅใฎใคใ‘ใ‚ˆใ†ใฎใชใ„ๅ‡บๆฅๆ˜ ใˆใ ใฃใŸใฎใงใ€ไธญ่บซใ‚’่ชฟในใ‚‹ใ“ใจใ‚‚ใชใ—
ใซ้ ผใฃใฆใŠใ‚Šใพใ—ใŸใ€‚

>ใ“ใ‚Œใฏ XEmacs ใซ้™ใ‚‰ใš Emacs 20 ใ‚„ 21 ใ‚‚ๅŒใ˜ใงใ—ใŸใ€‚ใงใ‚‚ใŠๆฐ—ๆŒใก
>ใฏใ‚ˆใใ‚ใ‹ใ‚‹ใฎใงใ€ไฝ•ใจใ‹ใชใ‚‰ใชใ„ใ‹่€ƒใˆใฆใฟใพใ—ใŸใ€‚
>
>(defadvice font-lock-match-c++-style-declaration-item-and-skip-to-next
>  (before work-with-the-next-line activate)
>  "Advised to work with the next line."
>  (if (and (= (point) (ad-get-arg 0)) (eolp))
>      (progn
>	(end-of-line 2)
>	(ad-set-arg 0 (point))
>	(beginning-of-line))))
>
>ใ“ใ‚Œใ‚’ไพ‹ใˆใฐ .emacs ใซๆ›ธใ„ใฆใŠใใจใ€็›ฎ็š„ใฎๅŠๅˆ†ใฏ้”ๆˆใงใใพใ™ใ€‚
>ๅŠๅˆ†ใจ่จ€ใ†ๆ„ๅ‘ณใฏใ€find-file ใ—ใŸ็›ดๅพŒใซใฏๅŠนใใฎใงใ™ใŒใ€on the fly
>ใงใ‚ณใƒผใƒ‰ใ‚’ๆ›ธใ„ใฆใ„ใ‚‹ๆœ€ไธญใซใฏๅŠนๆžœใŒ็„กใ„ใ“ใจใงใ™ใ€‚ใใฎๅ ดๅˆใงใ‚‚
>M-x font-lock-mode ใ‚’ 2 ๅ›žๅฎŸ่กŒใ—ใฆ fontify ใ—็›ดใ›ใฐ็€่‰ฒใ•ใ‚Œใ‚‹ใฎ
>ใงใ™ใŒใ€‚

ใ†ใƒผใƒผใ‚“ใ€‚ใ™ใใ•ใพ่ฉฆใ—ใฆใฟใŸใฎใงใ™ใŒใ€ใ‚ณใƒผใƒ‰ใ‚’่ชญใฟใ“ใฟใ€็€่‰ฒใฎใƒ—ใƒญใ‚ฐใƒฌ
ใ‚นใƒใƒผใŒ็”ป้ขไธ‹ๅดใซๅ‡บใฆใใฆใ€๏ผ™๏ผ๏ผ…ใใ‚‰ใ„ใพใง้€ฒใ‚€ใฎใงใ™ใŒใ€ใใ“ใ‹ใ‚‰ๅ…ˆใซ
ใ„ใ‹ใšใซใ€ใšใฃใจๅ‡ฆ็†ไธญใซใชใฃใฆใ—ใพใ„ใพใ—ใŸใ€‚ๅ˜็ด”ใซใ€ไป˜ใ‘ใŸใ—ใฆใฟใŸใ‚Šใ€
่‡ชๅ‰ใฎ้ƒจๅˆ†ใฎใ€font-lockใฎ่ตทๅ‹•้ƒจๅˆ†ใ‚’ใฏใšใ—ใฆใฟใŸใ‚Šใ—ใŸใฎใงใ™ใŒใ€ๅค‰ใ‚ใ‚Š
ใพใ›ใ‚“ใงใ—ใŸใ€‚ไฝ•ๆ•…ใ ใ‚ใ†๏ผŸๅ…ฅใ‚Œๆ–นใŒใพใšใ‹ใฃใŸใ‹ใชใ€‚

>ใ“ใ‚Œใฎๅ…ƒใฎ้–ขๆ•ฐใฏใ€"int foo," ใ‚’็€่‰ฒใ—ใŸๅพŒใงใ€ใ•ใ‚‰ใซๆฎ‹ใ‚Šใฎๅฏพ่ฑกใ‚’
>ๆŽขใ™ใŸใ‚ใฎใ‚‚ใฎใงใ™ใ€‚ใงใ‚‚ๆฎ‹ใ‚Šใ‚’ๆŽขใ™็ฏ„ๅ›ฒใŒ่กŒๆœซใพใงใชใฎใงใ€ใใ‚Œใ‚’ๆฌก
>ใฎ่กŒๆœซใพใงๆ‹กๅผตใ—ใฆใฟใŸใ‚ใ‘ใงใ™ใŒใ€ใใฎ้€ธ่„ฑใŒใ†ใพใใ„ใ‹ใชใ„ๅŽŸๅ› ใช
>ใฎใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใ€‚ใจใ‚Šใ‚ใˆใšไปŠๆ—ฅใฎใจใ“ใ‚ใฏใ“ใ“ใพใงใงใ™ใ€‚

ใŠๆ‰‹้–“ๅ–ใ‚‰ใ›ใฆ็”ณใ—่จณใ‚ใ‚Šใพใ›ใ‚“ใ€‚ใงใ‚‚ใ€ๅฑฑๅฒกใ•ใ‚“ใฎๆ›ธใ‹ใ‚ŒใŸ่จญๅฎšใ‚’่ฆ‹ใฆใ„
ใฆใ€ไฝ•ใ ใ‹ๅŸบๆœฌ็š„ใช่€ƒใˆๆ–นใจใ„ใ†ใฎใŒๅฐ‘ใ—่ฆ‹ใˆใฆๆฅใพใ—ใŸใ€‚ใใ†ใ‹ใ€‚ๆฌก่กŒใ‚’่ชฟ
ในใ‚‚ใฃใฆไฝœๆฅญใ‚’้€ฒใ‚ใ‚‹ใ‚ใ‘ใงใ™ใญใ€‚

ใ‚‚ใ†ไธ€ๅบฆใ€ใ“ใ‚Œใ‚’ใƒ’ใƒณใƒˆใซใ€่ชฟในใฆใฟใพใ™ใ€‚ๆœ‰้›ฃใ†ใ”ใ–ใ„ใพใ—ใŸใ€‚

PS:็งไฟกใซใฆใ€ใ”้€ไป˜ใ—ใŸC++ใฎใ‚ณใƒผใƒ‰ใฏใ€Linuxใงใฏใ€ncrsesใงใ—ใŸใญใ€‚
#include<curses.h>ใ‚’#include<ncruses.h>ใซใ€ใ‚ณใƒณใƒ‘ใ‚คใƒซใฏใ€
g++ sample.C -lncurses -o sample ใงใŠ้ก˜ใ„่‡ดใ—ใพใ™ใ€‚ใคใ„ใงใซใ€
void EditBox::inschar(int e) ใฎๆœ€ๅพŒใ€
move(home_y, home_x);ใฏ
move(home_y, home_x + col);ใ€€ใŒๆญฃใ—ใ„ใงใ™ใ€‚ๅ‹˜้•ใ„ใ—ใฆใพใ—ใŸใ€‚ใ‚ฝใƒผใ‚นใฎ
ๅ†’้ ญใงใ€ใ‚ญใƒผๅฎš็พฉใ—ใฆใ‚ใ‚‹ใฎใงใ™ใŒใ€Linuxใงใฏๅ…ฅๅŠ›ใจCtr-u ใฎใƒชใƒ•ใƒฌใƒƒใ‚ทใƒฅ
ใจCtr-q ใฎ็ต‚ไบ†ๅ‡ฆ็†ใ ใ‘ใŒๅŠนใ„ใฆใพใ™ใญใ€‚ๆ‚ฉใฟใŒๅข—ใˆใŸ^^;

-- 
Atushi Shinmura mailto:atushi.shinmura@nifty.ne.jp
Technical Details
Message-ID: <9leq0g$15s$1@news512.nifty.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!howland.erols.net!news-out.worldnet.att.net.MISMATCH!wn3feed!worldnet.att.net!24.0.0.38!newshub2.rdc1.sfba.home.com!news.home.com!newsfeed.mesh.ad.jp!newsgate1.web.ad.jp!news501.nifty.com!not-for-mail
References: <9lbar7$h5g$1@news511.nifty.com> <yosu3d6u6qdn.fsf@jpl.org> <9ld8fs$t6i$1@news512.nifty.com> <yosud75x8pns.fsf@jpl.org>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 1107f7,5ebf9490fc0312ee
X-Google-Attributes: gid1107f7,public
X-Google-ArrivalTime: 2001-08-15 14:36:33 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!howland.erols.net!news-out.worldnet.att.net.MISMATCH!wn3feed!worldnet.att.net!24.0.0.38!newshub2.rdc1.sfba.home.com!news.home.com!newsfeed.mesh.ad.jp!newsgate1.web.ad.jp!news501.nifty.com!not-for-mail
From: Atushi Shinmura <atushi.shinmura@nifty.ne.jp>
Newsgroups: fj.editor.xemacs
Subject: Re: [Q] c,c++ font-lock on XEmacs
Date: Thu, 16 Aug 2001 06:36:27 +0900
Organization: Gen sys co.
Lines: 67
Message-ID: <9leq0g$15s$1@news512.nifty.com>
References: <9lbar7$h5g$1@news511.nifty.com>
 <yosu3d6u6qdn.fsf@jpl.org>
 <9ld8fs$t6i$1@news512.nifty.com>
 <yosud75x8pns.fsf@jpl.org>
NNTP-Posting-Host: nara003n038.ppp.infoweb.ne.jp
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
X-Trace: news512.nifty.com 997911377 1212 211.2.82.198 (15 Aug 2001 21:36:17 GMT)
X-Complaints-To: -
NNTP-Posting-Date: Wed, 15 Aug 2001 21:36:17 +0000 (UTC)
In-Reply-To: <yosud75x8pns.fsf@jpl.org>
X-Newsreader: Datula version 1.51.08 for Windows