OberonCore https://forum.oberoncore.ru/ |
|
Служба раскраски https://forum.oberoncore.ru/viewtopic.php?f=47&t=48 |
Страница 1 из 1 |
Автор: | Сергей Губанов [ Воскресенье, 04 Декабрь, 2005 00:05 ] |
Заголовок сообщения: | Служба раскраски |
Илья Ермаков писал(а): Vlad писал(а): Кстати, по поводу среды. Где подсветка синтаксиса и все остальное? А что, собственно, надо? Подсветку? Так он же и так шрифт заглавный, куда еще жирнить? Разве что цветом... Ну дык что-то такое есть где-то... Написать эту подсветку - полчаса, кстати. Обявляется свой потомок Services.Action, у него - единственная процедура Do. Она берет Controllers.FocusView(). Если он IS TextViews.View, то берет view.ThisModel(). А дальше - просканить модель и расцветить ключевые слова. Всего строк 20-30 в процедуре. Ну и создали объект Action - и на очередь его, в Services. И какждый раз при "простое" он будет все расцвечивать, да хоть в горошек... Создать службу раскраски - воистину гениальная идея. Раньше я для этого пробовал делать: 1) Раскрашивать просто по явной команде (пункт меню, горячие клавиши). 2) Создавал свою wrapped-view над TextView, которая перехватывала сообщения о редактировании и раскрашивала текст. 3) Пытался создать свою wrapped-TextModel, но до конца не довёл. 4) По идее Ивана Горячева пытался встроить обработчик в TextControllers. Но всё это как-то криво получалось... Служба раскраски - самое правильное решение. Правда надо придумать способ, с помощью которого служба раскраски будет понимать какой документ раскрашивать, а какой трогать не надо. Я сделал так - просто в начале документа помещаю директиву: (* MASTER+ *), увидев которую служба раскрашивает этот документ, а если директивы нет - документ игнорируется. А вот, собственно, сам текст службы (в закодированном виде): StdCoder.Decode ..,, ..fJ,...3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX 7.2.s,6wd.,k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7O NbXmb.2.obIk2EPG,,6.cUGpmWLuOpoKqvCbHZiYpedhA704TeKKw.bHfEWUmL.6..D.,z26., sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.JT2w,,El5,,6.,.1Q0cU.ktAcoZimBhWhioh gnZcZRCY.2.g32U.EEE.2mE4G2.hONZ9N1fP1HA0z.U.2m,.P.1cUZT16.,Uh.,UUU..UK,.E. 07M.,U0Ikmj,2U.ET0.0.,,,EM0HM7.,Ef..6.V2o.AUG.,.,dqJEwnr,IklTcjpBZvPNvQR7I fvQFfEf9RdvPR9F9vQ5nsD2.5uPR9R6F9vQ5HtD.2.e80E.6Y,U.6,PmkQCdnmICbmmIChnoQA 9HLQ8dnkICd15ldADb19nqI5b011kaAAkmICbmmICh1ELEuAAYCBmrQA0ktw6fnkIC71,..M.1 .16.2UU.EtvU.E.6z6.cWE.G.QCdnmkdgAZHv.o3bGuwBV15,.9nq.wBka.gAZndgAZHv.o3YC T1B0ktw6AAZHmE...4k,E,O.4Ek6.36,M.N.3s,M.1.3c..c,k72.3s.M.7..Z,3M0M.P.3M,M .1.3c.M.k,8Mtr.0E.cj6.,UU2.0UveeE.O3..,6Y1.GE.M.7.3M,M.z.3s.M.P.3M0M.N,5s, 2.7.3s.k0k,G.4.IU7U,Q,IU3.1.3c.M.k,.5.5s,M.9.3s.k1k,U,Y.IU3U,o.YU0KyBU.2.8 10E.666.if.6.,UK,.E.07M.,U,w.gU0KyBU.2.m10.000.,1,UK,.E.07s.,6.4k2E,U,g0oU 0KyBU.2.u42.000.VX.2.O3..,6YU1U,I.IU0U,g0IU1.9.K.4kGE,8.Q1gU1U,w.IU1U,g.wU 0KyBU.2.030.00,6.yje0,cJ..2UE0OE.M.H.3.I,IU3U,A.wU4U,g.2V0KyBU.2.G90.00,6. 0N.6.cJ..2UEC.s.E,E08.4ENE04U.M.t.D.4k1E1G.4E3E1a.Q.IU1U,A1IU7U,g3IU1.7.5s ,k,E,K.4k.k1U,g.2V12.4E,E08.4Eak28Mtr.0E.cj6.,UUU.6s,U.UK,6kns.6.,6YUYU,Y6 IU1U,o,IU7U,o0s.kEE,K.4.IU0U,o.2,EE6.G.4k4U1U,I6g.k.E04U.M.5.3.4E2E,a.A1IU 1.P.K.4k.E38Mtr.0E.6W1.0UUE.0U.8U0E.cJ.W,E.07s.,.9.D.4E0E,C.w,IU7U,Q0s.M.Z .3M,kAE2.5.3s.M.d.a.4E3U3.5.3c.M.J.F.4k.E,G.4EbE1C0Y.IU1.3.3.I,M0M.Z.C..K. A12,k,E,C.4E8U7U,A,IU3U,Q.IU0U,I,2,M.1.36,M.P,F.g,oUaU,Y.IU1..E2U3U,I.2U72 U.k.E,U,w.IU1U,I0AU.E.0Gh,U.6.,Ue0,UEW.6,P0bHugAQ89HtoC.RldYC11dH.Q2b0kmgB .11ka.gAZndgAZHv.o3YC11dHX.QCD01HtYA2..U,A.AU.E.00.6.2..cWE.G.QCdnmkdgAZHv .o3bGuwB6.5,.9nq.wBka.gAZndgAZHv.o3YCT1B0ktw6AAZHmE...4E,kzXGJ0ma4odGpW8pJ 0GJam4qobGoemoW0ma4qtGrm8rdKKtOroCqmin4qk28k28k4qk2aoa0pb8Je0mdGLmmorSKK0G ECpm8LvktmGEGoo4KqyqnmWKBhZtQN76PM0H6J99S.mGEGpmWLuO3EekVyKrG5mqm8rtmm4ak2 qokCLusET9PTfQbvCPM1H6Jn8I9O1HM01uMdPOTfP,ND,7ITOGR8J9eI,7JT86ZOF5uHZ8F,78 bONZ1oZ,RgoBBaGEKIbGoRqk4aEf4Idqk2akkCKua4p761uMdPOQbBAV7IiZBgYhgmJbUYeZ3D P0NHL8pm4KmsCPM1H6IZuH5OF7OJZOF,tJZPOdPNNeP,78bfC,NEZeI1OK,tHB8658G1eIHtCP M03OFDOGR86b8R71RtIdfQHfPD98bP8r76b8R71mIrin4akWuIW0mf8roUvg,PM0V0.FOMhPNP OMb118Rd1GbU2ZoJbUYeZ3DEqMHkIeHE8obyIaKoUuoRqU7oe,7659Op7658GQbBg,H6IZ0UBB goRgc3YcQiu..kIeHE82.AVKVdZZUohu2Y7pdIhc5hcGRbBA,3OFko0GRqHE0nR0Gr0GRqHEmo WuIICLGamRqk2ak2SJYaIaKIEuLtKqkG4RNNT9R,d7,7859O,ND,d6,d6H767uH,dQ9PMEdKqk QccBgm3ZX3hd2Y3p7AV7..gAK4ko0GS0GraGEOGEWmlUnRfdhfd2Y2x7PM0HM0HcQ.Z050kR0m YuoVWmoam4ak2akWuYv.ZOFdOJZeH,NO,ND,dPPM0HMF2YBBgolRqk4Ic3,1uIbOFZ8JF7R,t6 ,dHH8HN76Z7AHtCPUmVZ76pNDGLLuomSLdKqkEI8rm44amR0GtK4oZHhgo3ejRic2adQbB.UGV 1,k4cI.POMdXcIYcIZWAZUo2POMUBBcHZ8IYdgV7gcCFY4Kv..kmin4ak4..5uPNvPaKxKKEWm leHEGpmWb1,.RtET1UdQbBM0h0VfC,NGR0U0,.QgUQYUo7.UdhAuGVKqnaKrqorGqoOqoCqkGr oyKrWGfaqmkouKvaqtaKlmqmmGECKLOroM8rN1HM0V96pND,tMRtE1fQ99RVuPAZvUB,C2QiiQ 6NXdFeKKw2ZXpZohAamRq.5f9bONdvE1fQ9HI0rIi1O3Cb3phYhdjZgd,.Ud,..HN1HMFsET9P UvgV7g,V0.FFoaqteHE4olUd6FTvCPM0HkUsMp76kVEt.b1R1kRA,UX3YugbUYeZ3D.ktocjRg pRicAZvk2aIX0GICKE.H76B76FOMh1cQ10kmWmluGuK4H76d8G9eH,tET9PUcQgd2Y3p7kdKKt O5Cb2xhABgohgm3Zo3hd79,tI91EeaqliqtWmI0mJ0mdKKt.8rmCrrmquGroyaUYc7peUIadgV 7.7uPrVB6I.cH9vR1uMd1WmIeHE4olUvk2O34KR0mU.cEUChcL3ZVBZv2YGhcIh8AgBAV3VChg r,UB..CJu4KtGLXyqlKb5hiVJiYJZU2ZKBcG3YkFWaqkEL0pk8rIi1302iiYgdRiVJgghgY3Yu g5FNM59R66576R0PM090b8R11.sCPM103..JtCPM030qk2akYOYVRgo,vFbaIa0GeWoWgV7M01 1cCvFbK4UcAZv2YHhA.70kkCKuEK0mdK4UixhrBZvg,HM0jeQH9R683tl,zvbTy9Tv,D6Xzubj t1Ds,7w,TwJDw,TwJDu,NH1uI.AV3l4akWuYU.in4q.EW.yKsOorCqu.e0...cEEE..pVc.2Yx .H,UjdF.sCak428..JtCP.M1Ad4,kFUU.M0b0UGhghxhqhg,RgoVcAgX,HtC,NM59R66pVCB7r N1HM0S3.RSwZDsPjv3zu9Tv,D6.UkXc1..HM0PkW66kRqk48oWS22Ze2YioZi2YeAZBQcAxdHh cBAVHZij3iBgcCZ6Pmtkd.um4qk28.0G,5TekVEt.QeoZg1ZimZh2hgn7.XDJ..oZ1,U2hgn7. C244.IC...Qii..70,cw7E.2.Y02.A,,U..U,IklbeZFdKLqKKtCLLC3ZORNX2V.AyI,ktuGdK LqKa2V.Iy1E.2.i8SE.sc,U.2.5Qw.sQRtIQeoBjghg2hgnRg.AS.c9Ajg,0EtT.,E..WE.cK2 U.2.86.c918RUotQ70,E0E...7,,M.,.,.,tcpW.6.DOa1kDz41.1.,6.Ikmj,6..EBU.U,.JF kns.U.2m,.,.E4WDN.Ntarm3Wj.Jklb6gBQC5uP..I06..E2E.UA2.0E.Tpt2YbQI,AzJE.nT3 2UP3B,h8l2jm0... --- end of encoding --- Подсветка синтаксиса в BlackBox собственными руками: http://www.progz.ru/forum/viewtopic.php?t=11947 |
Автор: | Иван Горячев [ Вторник, 06 Декабрь, 2005 15:46 ] |
Заголовок сообщения: | |
По-моему, самый правильный вариант - своя модель, которя "подменяет" Default Color у расцвечиваемых элементов. Потому что решение на основе "честного" изменения цвета текста не всегда удобно - если я перенёс исходник в BlackBox без подсветки синтаксиса (и не хочу её там видеть) - у меня всё равно будет цветастый "цирк". |
Автор: | Сергей Губанов [ Вторник, 06 Декабрь, 2005 17:21 ] |
Заголовок сообщения: | |
Тогда, наверное, не то чтобы сама модель, а специфический Reader у этой модели. То есть пусть у модели будет настоящий Reader как и положено, а дополнительно ещё пусть будет и "цветастый" Reader. |
Автор: | Иван Денисов [ Среда, 01 Январь, 2014 16:44 ] |
Заголовок сообщения: | Re: Служба раскраски |
Сергей, а для более свежих ББ есть версия? Я нашел версию: http://www.rsdn.ru/File/30795/Master.zip Но там... GDI32, COMDLG32 при этом WinDlg уже не содержит многих функций для работы со шрифтами из COMDLG32, например ChooseFontData... |
Автор: | Oleg N. Cher [ Пятница, 28 Февраль, 2014 16:55 ] |
Заголовок сообщения: | Re: Служба раскраски |
Иван Денисов писал(а): а для более свежих ББ есть версия? Есть: Подсветка синтаксиса в BlackBox 1.6 собственными руками
|
Автор: | Rifat [ Пятница, 22 Май, 2015 13:51 ] |
Заголовок сообщения: | Re: Служба раскраски |
Нашел статью на английском, где критикуется подсветка синтаксиса в языках программирования: http://www.linusakesson.net/programming ... hlighting/ |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |