Portál AbcLinuxu, 24. května 2024 15:32


Dotaz: Kate Highlighter

27.2.2017 13:24 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
Kate Highlighter
Přečteno: 330×
Odpovědět | Admin
Zdravím, nevím, jestli otázka patří zrovna sem, ale lepší místo jsem nenašel

Starší Kate (už je to let, nevím verzi ) umožňovalo vytvářet v php kódu naprosto nesystémové ale velmi mnou oblíbené zvýrazněné komentáře. Stačilo komentář začít třemi lomítky a komentář se rozsvítil ( jak si kdo nastavil ).

Nové Kate toto neumí. Jediné zvýraznění je slovíčka TODO a ještě něco, teď nevím ...

Zkusil jsem se podívat na /usr/share/kde4/apps/katepart/syntax/php.xml , kde se mají nacházet pravidla pro obarvování kódu. No chaos. Něco jsem pohledal na netu, jak to funguje a podobně prozkoumal jsem i ten php.xml a zkusil ho upravit

do sekce
<  contexts > 
    <context name="phpsource" attribute="PHP Text" lineEndContext="#stay">
jsem přidal pravidlo
 <Detect2Chars attribute="Special comment" context="onelinehicomment" char="#" char1="#" />
před 
<DetectChar attribute="Comment" context="onelinecomment" char="#" />
a přidal kontext onelinehicomment
      <context name="onelinecomment" attribute="Comment" lineEndContext="#pop">
        <StringDetect attribute="Keyword" context="#pop" lookAhead="true" String="?>" />
        <IncludeRules context="##Alerts" />
      </context>
      <context name="onelinehicomment" attribute="Special comment" lineEndContext="#pop">
        <StringDetect attribute="Keyword" context="#pop" lookAhead="true" String="?>" />
        <IncludeRules context="##Alerts" />
      </context>
a data pro "Special comment"
<itemDatas>
  <itemData name="Comment" defStyleNum="dsComment" />
  <itemData name="Special comment" defStyleNum="dsComment" backgroundColor="#D8FFD9" />
V podstatě jsem to okopčil ze stávajícího popisu jen jsem přidal jedno pravidlo atd ...

Dostal jsem se k tomu, že pokud zdroják prohlížím (z Krusaderu F3 ), tak se komentáře začínající dvěmi křížky ## obarvují. Pravidlo je v "nastavení editoru vidět v PHP/PHP jako Special comment atd ... tedy - nějak to funguje.

Kate ale Special comment nezobrazí ( v nastavení -> nastavení Kate -> Komponenta editoru ->Písma a barvy -> Zvýrazněné styly textu -> vybrat z selectu "Skripty PHP/PHP" ( tedy na stejném místě, kde "holý" prohlížeč ten styl Special comment vidí), řádky s novým stylem ani neobarví, prostě v Kate to nefunguje

Kate, přes všechny nedostatky je mým oblíbeným editorem, zkoušel jsem i jiné editory Kdevelop, netBeans, které umějí užitečné věci jako subverze, opravdový projekt a podobně, ale zvyk je železná košile.

Vyzná se někdo z vás v tom guláši a je schopen mi poradit, jak docílit požadované chování?

Předem děkuji

Milan

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.2.2017 13:57 Sten
Rozbalit Rozbalit vše Re: Kate Highlighter
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ty tři lomítka jsou z Doxygenu. Kromě tří lomítek jde použít /** … */. Tak třeba to druhé funguje.
27.2.2017 14:26 chrono
Rozbalit Rozbalit vše Re: Kate Highlighter
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nemáš tie súbory so zvýrazňovaním aktualizované v domovskom adresári? (tam sa totiž ukladajú aktualizácie pre používateľov a logicky majú preferenciu pred systémovým nastavením)
27.2.2017 22:31 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Kate Highlighter
ne, v domovském adresáři nejsou kopie definic (openSuse 42.1).

KWrite na změny definice reaguje, Kate ne. Podezřívám z toho nějakou cache, do které si Kate překompiluje pravidla, aby se s tím nezdržoval při startu .. nevím.

28.2.2017 07:05 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Kate Highlighter
Odpovědět | | Sbalit | Link | Blokovat | Admin
nicméně zde čtu, že od frameworku 5.29 se již xml nepoužívá, pravidla jsou natvrdo zkompilována do programu. Pokud jsem to pochopil dobře. Upravená pravidla ( myslím ) se dají vložit do $HOME/.local/share/org.kde.syntax-highlighting/syntax.

Doma mi sice Kate "about" ukazuje že jede na frameworku 5.26, v práci 5.21 ... ale kdoví, v jakém stavu to kompilovali.

ještě oprava .. KWrite taky zlobí.. Aplikace, která ty upravené XMLka čte a používá je KrEditor a KrViewer ( součást Krusaderu ? ) , a ty jedou na frameworku 4.14 .. to je možná ten problém.

Vyzkouším, a dám vědět
Řešení 1× (Milan Uhrák (tazatel))
28.2.2017 10:31 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Kate Highlighter
Odpovědět | | Sbalit | Link | Blokovat | Admin
Takže Vyřešeno.

Na webu kate byl popis, jak stáhnout aktualizované definice. Zkusil jsem to a definici PHP stáhl 2x. Podruhé to zaječelo, že soubor .... bude přepsán. ale ne
/usr/share/kde4/apps/katepart/syntax/php.xml
ani
/home/.kde4/share/apps/katepart/syntax/php.xml
ale
/home/local/share/katepart5/syntax/php.xml
Když jsem na toto místo překopíroval můj dřívější výtvor, kate ho nenačetl. Hlavičky byly trochu rozdílné, tak jsem nakonec pro jistotu lehce upravil ten nový soubor.

Nejprve jsem "styl" " Special Comment" bez závislých definic. Kate ho viděl. Pokrok. Změnil jsem tomu barvu pozadí.

Přidal jsem definice pro Special Comment do contextu, ale mnou zamýšlený text ve zdrojáku to neovlivnilo (neobarvilo). Divné. změnil jsem Special Comment v itemdatas tak, že jsem mu nadefinoval i pozadí, a hle ! Text se vybarvil, přesně jak jsem zamýšlel. V nastavení editoru se ale nastavená barva pozadí u Special Comment v textu neprojeví. Nevím, co to zapříčiňuje, zda nějaká nekonzistence v kódu KTextHighlighteru a GUI ladítka nebo kde, ale čert to vem.

Úkol, který jsem si dal je splněn, dávám si fajfku a vám to snad pomůže ve vlastním experimentování

Milan
k3dAR avatar 1.3.2017 01:36 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: Kate Highlighter
kdyz mas KDE5, tak cpat neco pod KDE4 cestu neni (bohuzel?) to prave ;)
porad nemam telo, ale uz mam hlavu... nobody

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.