gedit *.lang Datei mit eigenen Einfärbungen?

N

Naubaddi

Gast
Hi,

bin der Neue und habe ein kleines Problem mit meiner PICAXE.lang Datei, es geht dabei um die Einfärbung, habe aus den Infos von der Seite gnome Developer und aus vorhandenen *.lang Dateien versucht eine gedit PICAXE.lang Datei für den Quelltext eines Mikrocontrollers zu erstellen, klappt auch schon ganz gut und die meisten Dinge werden korrekt dargestellt.

Im Moment werden die Farben für die Zeichen einfach aus der folgenden Liste genommen:

Code:
<styles>
  <style id="comment"            _name="Comment"                map-to="def:comment"/>       <!-- blau -->
  <style id="keyword"            _name="Keyword"                map-to="def:keyword"/>       <!-- braun -->
  <style id="decimal"            _name="Decimal"                map-to="def:decimal"/>       <!-- rosa -->
  <style id="type"               _name="Data Type"              map-to="def:type"/>          <!-- grün -->
  <style id="string"             _name="String"                 map-to="def:string"/>        <!-- rosa -->
  <style id="function"           _name="Function"               map-to="def:function"/>      <!-- hellgrün -->
  <style id="special-char"       _name="Special Character"      map-to="def:special-char"/>  <!-- hellblau -->
  <style id="preprocessor"       _name="Preprocessor"           map-to="def:preprocessor"/>  <!-- lila -->
  <style id="error"              _name="Error Text"             map-to="def:error"/>         <!-- rot hinterlegt -->
</styles>

sieht dann für verschiedene Dinge recht merkwürdig aus:

Code:
<context id="HexNumbers" style-ref="preprocessor">
  <match extended="true">
    (?&lt;![^\s])
    ([$][-+]?[A-F0-9.]+)
    (?![^\s])
  </match>
</context>

<context id="BinNumbers" style-ref="function">
  <match extended="true">
    (?&lt;![^\s])
    ([%][-+]?[0-1.]+)
    (?![^\s])
  </match>
</context>

konnte nichts finden um eventuell eigene zu erstellen die sinniger sind, z.B.:

Code:
<styles>
  <style id="comment"            _name="Comment"                color="blau"/>
  <style id="keyword"            _name="Keyword"                color="braun"/>
  <style id="string"             _name="String"                 color="rosa"/>
  <style id="decimal"            _name="Decimal"                color="hellblau"/>
  <style id="binary"             _name="Binary"                 color="blau"/>
  <style id="error"              _name="Error Text"             color="rot/>
</styles>

Hat Jemand einen Link zu einer Seite auf der man so etwas nachlesen kann (nach Möglichkeit auf deutsch)?

Grüßle
 
N

Naubaddi

Gast
Hi,


konnte von der Seite noch ein wenig von dem englisch Geschriebenem entziffern, man kann bei <styles> id= und _name= eigene Namen vergeben die man dann bei style-ref= benutzten kann. So kann man zumindest vorhandene map-to= Einträge benutzen/zweckentfremden, wie man eigene map-to= Einträge erstellt ist mir noch unklar.

eine eigene Benennung:

Code:
<styles>
  <style id="hexadecimal"            _name="Hexadecimal"                map-to="def:boolean"/>
</styles>

sieht dann so aus:

Code:
<context id="HexNumbers" style-ref="hexadecimal">
  <match extended="true">
    (?<![^\s])
    ([$][-+]?[A-F0-9.]+)
    (?![^\s])
  </match>
</context>

Vielleicht hilft diese Info Jemanden der genauso schlecht englisch kann wie ich.

Grüßle
 
N

Naubaddi

Gast
Hi,

...wie man eigene map-to= Einträge erstellt ist mir noch unklar...

funktioniert mittlerweile auch, im Verzeichnis "~/.local/share/gedit/styles" kann man eine "picaxe.xml" anlegen und Farben zuweisen.

Eine "picaxe.xml" Datei (ein Auszug):
Code:
<style-scheme name="PICAXE" id="picaxe" version="1.0">
  <author>Foto Schubser</author>
  <description>PICAXE Farbschema</description>

  <style name="picaxe:intnumber"	foreground="#FF0000" /> <!-- rot -->
  <style name="picaxe:hexnumber"	foreground="#00FF00" /> <!-- grün -->
  <style name="picaxe:binnumber"	foreground="#0000FF" /> <!-- blau -->
</style-scheme>

Eine "picaxe.lang" Datei (ein Auszug):
Code:
<styles>
  <style id="intnumber"       _name="Integer Numbers"           map-to="picaxe:intnumber"/>
  <style id="hexnumber"       _name="Hexadecimal Numbers"       map-to="picaxe:hexnumber"/>
  <style id="binnumber"       _name="Binary Numbers"            map-to="picaxe:binnumber"/>
</styles>

Somit sind die Probleme gelöst, gedit kann nun den eigenen Bedürfnissen angepasst werden. Hat wegen der (fast) nicht vorhandenen englisch Kenntnisse etwas länger gedauert bis sich mir die Dinge erschlossen haben.

Grüßle
 

Ähnliche Themen

CentOS 6.3 RADIUS - Keine Verbindung möglich

dovecot und postfix Konfiguration Problem

NagiosGrapher 1.7.1 funktioniert nicht

Leerer Parameter in Funktion

Squid nur zum maskieren der eigenen IP, nicht für Webserver auf port 80

Oben