<html><head>

<style id="css_styles"> 
blockquote.cite { margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc }
blockquote.cite2 {margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc; margin-top: 3px; padding-top: 0px; }
a img { border: 0px; }
li[style='text-align: center;'], li[style='text-align: right;'] {  list-style-position: inside;}
body { font-family: Calibri; font-size: 12pt;   }
 </style>
</head>
<body>Hi,<br />I am a newbie struggling to get started.  I can see a lot of potential in using Geany to process my ".abc" music files so I am sure once I get going it will be very useful.<br />I am finding the documentation a little frustrating, I spend all my time following links to different parts of the documentation file without ever finding any good examples.  What I need right now is a good tutorial on how to get syntax highlighting working on my new filedef.<br /><br />Here is an example ".abc" file:<br /><br />    X:1<br />    T:24 Carat<br />    C:Hilary Herbert<br />    N:3Cpl set<br />    %%writefields Q 1<br />    L:1/4<br />    M:2/2<br />    Q:1/2=100<br />    K:F<br />    V:1<br />    "^A" |: "F"FA/G/ "/E"FC | "/D"FA "/C"c2 | "C"cc/d/ "C7"cB | "F/F"A2 "C"G2 | "F/F"A"/G"B "/A"cf |<br />    "C/Bb"ed "/C"c2 | "F/F"f>F "/F"A"/A"F | "C"G2 "F/F"F2"^B" :||: "F"cc/c/ cF | "C"BA GC | "F"cc/c/ cF |<br />    "F"A2 "C"G2 | "F/C"FF/F/ F"/F"A | cA FC | "/F"FF/A/ "/A"c"/F"B/A/ | "C"G2 "F"F2 :|<br />    V:2<br />    |: "F"A,C "/E"A,2 | "/D"A,C "/C"F2 | "C"EE/F/ "C7"E2 | "F/F"FC "C"EC | "F/F"A"/G"G "/A"F2 | "C/Bb"GF "/C"E2 | "F/F"F>A, "/F"C"/A"A, | "C"EC "F/F"F2 :|<br />    |: "F"AC AC | "C"EC C2 | "F"AC AC | "F"FC "C"E2 | "F/C"A,A,/A,/A,C | "/F"FC "/A"C2 | "/F"A,A,/C/ "/A"F"/F"C | "C"EC "F"F2 :|<br /><br />    X:2<br />    T:Abbeygate<br />    T:tune: Miss Sulyard's Delight<br />    N:Play 16 bars AB, original tune had repeats<br />    C:Ron Coxall<br />    L:1/8<br />    M:4/4<br />    Q:1/4=100<br />    K:Bb<br />    V:1<br />    "^A""Bb"f2 e/d/c/B/ "F"ABcd | "F7"ecBA "Bb7"Bd F>D | "Eb"EGBd egbg | "Bb"fd"C7"cB "F"AcF2 |<br />    "Bb"f2 e/d/c/B/ "F"ABcd | "F7"ecBA "Bb7"Bd F>D | "Eb"EGBd egbg | "Bb"fd"F7"eA [Ec]2"Bb"[DB]2 ||<br />    "^B""F7".FAcA "Bb".Bdfd | "F7"e2d/e/f/e/ "Bb"dfdB | "Cm"Gc=Bc "Eb"e>df>e | "Cm"gec"C7"B "F"AcAF |<br />    "F7".FAcA "Bb".Bdfd | "F7"e2d/e/f/e/ "Bb"dfdB | "Eb"gabg "Bb"fd"C7"ec | "Bb"Bd"F"FA "F7"[Ec]2"Bb"[DB]2 |]<br />    V:2<br />    B2FD FGAB | cAF2 D2B,2 | G,2E2 G2E2 | D2E2 F2A,2 | B,2FD FGAB | cAF2 D2B,2 | G,2E2 G2E2 | D2C2 A,2B,2 ||<br />    .A,2A,2 .B,2B,2 | C2F2 B3F | E2C2 G2E2 | C3=E F3A, | .A,2A,2 .B,2B,2 | C2F2 B3F | E2G2 B2G2 | DB,A,C A,2B,2 |]<br /><br />    X:3<br />    T:Aberdeen<br />    T:or The De'il's Dead<br />    N:Original tune is just A&B parts, played 3x(AABB AABB)<br />    N:C&D added by D Bearon 2019 - now play 3x(ABABCCDD)<br />    L:1/4<br />    %writefields Q<br />    %%chords<br />    |:F|Fx2 Bbx2|Fx2 Bbx2|C|F| |<br />    Bbx2 Fx2|Gm||F| | |<br />    Bbx2 Cx2|F| |Bbx2 Fx2|Gmx2 Gmx2:|<br />    %%endchords<br />    M:2/2<br />    Q:1/2=110<br />    K:F<br />    V:1<br />    |: "^A"F>G Ac | f2 ed | f2 ed | e/f/g GA | F>G Ac | f>g ag |<br />    fd cA | G2 d2 || "^B"F>G AB | cF A/B/c/A/ | cF A/B/c/A/ |<br />    d/c/B/A/ GA | F>G Ac | f>g ag | fd cA | G2 "Dm"d2 :|<br />    V:2<br />    |: A,>C F2 | A2 B2 | A2 B2 | cE2 C | A,>C F2 | A>B c2 |<br />    B2 AF | B,D B,G, || A,>C FC | A,2 F2 | A,2F2 |<br />    FD EC | A,>C FA | A>G F2 | B2 AF | D4 :|<br />    %%newpage<br />    %%chords<br />    |:Gm| | |Dm|Gm|<br />    Gm:|Dm|Gm|:Dm|Gm|]<br />    Dm| |C|Gx2 Cx2|Dm|Dmx2 Gmx2|<br />    Dmx2 A7x2|Dmx2 A7x2:|Dmx2 Cx2|Bbx2 A7x2|Gmx2 Fx2|Gm|]<br />    %%endchords<br />    V:1<br />    |: "^C"G>A Bd | gG B/c/d | gG B/c/d | A/B/c BA | G>A Bd |<br />    g>a bg |1 fd cA | G2 G2 :|2 fd ba | g2 g2 |]<br />    |: "^D"d>e fg | ad f/g/a/f/ | gc e/f/g/e/ | g/f/e/d/ cg |1 d>e fg | ad b2 |<br />    a>g fe | d2 a2 :|2 d>e fg | ab ag | fd cA | G2 "(Bb)"d2 |]<br />    V:2<br />    |: DG, DG, | DG, DG, | DG, DG, | DA, D2 | DG, DG, |<br />    DG, DG, |1 [A,D]3 [A,D] |[G,D]2 [G,D]2 :|2 [A,D]3 [A,D] |[G,D]2 [G,D]2 |]<br />    |: AD AD | F2 AD | EG cG | =BG c2 |1 AD AD | F2 G2 |<br />    F2 GA | F2 EG :|2 FF EE | DD ^CC | G,B, A,C | B,2 B,2 |]<br /><br /><br />As can be seen it has a very simple structure. Syntax highlighting would consist of highlighting comment lines (beginning with a single %) - colour A say, start-of-tune lines (X: lines) - colour B, Title (T: lines) - colour C, directive lines (beginning %%) - colour D.  Then key words highlighted (M: K: etc)  That is about it really, except I would really like to see all my T:'s in the symbols tab so that I can quickly go to those tunes (I guess that is a separate issue of tags that I have not yet delved into)<br /><br />Here is what I have done so far to make a start:<br />1) Created an entry in my filetype_extensions file to add:<br />[Extensions]<br />ABC=*.abc;<br /><br />2) Created a filetypes.ABC.conf file as follows (removing preset comment lines)<br />[styling]<br />comment=#c00;;;true<br /><br />[keywords]<br />primary=X: T: M: K: C: L: Q: K: V: P:<br />secondary=N S B %%chords endchords staves<br /><br />[settings]<br />extension=abc<br />lexer_filetype=ABC<br />comment_single=%<br />comment_use_indent=false<br />mime_type=text/vnd.abc<br /><br />This has no effect as it stands, though it is clearly being read because if I change BOTH [styling] to [styling=C] and "lexer_filetype=ABC" "lexer_filetype=C" then I get some highlighting, though obviously not what I am looking for.  It is, however, interesting to note that it then highlights "N", "B", "endchords" but NOT "%%chords" or "X:", "T:" etc - which makes me think that ":" and "%" may need special treatment - escaping in some way.<br /><br />Clearly I am missing something that I am not doing correctly to get the syntax highlighting to work.<br />Then there is the question of where to go for the symbols.<br /><br />A noddy guide to getting started, with examples would be very useful. Thanks in advance.<br /><br />NornB<br />
</body></html>