Here is an editing mode for jEdit.
Installation:
Put tagz.xml in either %UserProfile%\.jedit\modes or %ProgramFiles%\jEdit\modes
Add the following to catalog, which is in the same directory:
<MODE NAME="tagz" FILE="tagz.xml"
FILE_NAME_GLOB="*.{t*gz,fb2k}" />
And that's it.
Now you just have to give your Tagz files one of these extensions: tgz, tagz or fb2k.
Get it as a zip file here. That way you will get the correct indentation.
<?xml version="1.0"?>
<!DOCTYPE MODE SYSTEM "xmode.dtd">
<!--
Tagz syntax highlight for jEdit
http://www.jedit.org/42docs/users-guide/writing-modes.html for info on editing this file.
-->
<MODE>
<PROPS>
<PROPERTY NAME="lineComment" VALUE="//" />
<!-- Auto indent. Uncomment the following if you want auto indentation -->
<!-- You may want to play around with TRUE and FALSE -->
<!--
<PROPERTY NAME="indentOpenBrackets" VALUE="(" />
<PROPERTY NAME="indentCloseBrackets" VALUE=")" />
<PROPERTY NAME="doubleBracketIndent" VALUE="FALSE" />
<PROPERTY NAME="lineUpClosingBracket" VALUE="TRUE" />
-->
</PROPS>
<RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">
<!-- Add any custom keywords here. They will override anything else that might match -->
<!-- See http://www.jedit.org/42docs/users-guide/mode-syntax-tokens.html for other TYPEs that can be used -->
<!-- LITERAL 1-4 is already used elsewhere, so you may want to avoid using them -->
<SEQ TYPE="KEYWORD1">$if2</SEQ> <!-- $if2 have to come before $if, otherwise only $if will be highlighted -->
<SEQ TYPE="KEYWORD1">$if3</SEQ> <!-- $if3 have to come before $if, otherwise only $if will be highlighted -->
<SEQ TYPE="KEYWORD1">$ifgreater</SEQ> <!-- $ifgreater have to come before $if, otherwise only $if will be highlighted -->
<SEQ TYPE="KEYWORD1">$iflonger</SEQ> <!-- $iflonger have to come before $if, otherwise only $if will be highlighted -->
<SEQ TYPE="KEYWORD1">$if</SEQ>
<SEQ TYPE="KEYWORD1">$and</SEQ>
<SEQ TYPE="KEYWORD1">$not</SEQ>
<SEQ TYPE="KEYWORD1">$or</SEQ>
<SEQ TYPE="KEYWORD1">$xor</SEQ>
<SEQ TYPE="KEYWORD2">$puts</SEQ> <!-- $puts have to come before $put, otherwise only $put will be highlighted -->
<SEQ TYPE="KEYWORD2">$put</SEQ>
<SEQ TYPE="KEYWORD2">$get</SEQ>
<SEQ TYPE="KEYWORD3">$char</SEQ>
<SEQ TYPE="KEYWORD3">$crlf</SEQ>
<SEQ TYPE="KEYWORD3">$tab</SEQ>
<SEQ TYPE="OPERATOR">$add</SEQ>
<SEQ TYPE="OPERATOR">$div</SEQ>
<SEQ TYPE="OPERATOR">$dec</SEQ>
<SEQ TYPE="OPERATOR">$hex</SEQ>
<SEQ TYPE="OPERATOR">$muldiv</SEQ> <!-- $muldiv have to come before $mul, otherwise only $mul will be highlighted -->
<SEQ TYPE="OPERATOR">$mul</SEQ>
<SEQ TYPE="OPERATOR">$mod</SEQ>
<SEQ TYPE="OPERATOR">$min</SEQ>
<SEQ TYPE="OPERATOR">$max</SEQ>
<SEQ TYPE="OPERATOR">$num</SEQ>
<SEQ TYPE="OPERATOR">$rand</SEQ>
<!-- No custom keywords after this line, unless you know what you are doing -->
<!-- Comments -->
<EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>
<!-- () and [] -->
<SEQ TYPE="MARKUP">(</SEQ>
<SEQ TYPE="MARKUP">)</SEQ>
<SEQ TYPE="MARKUP">[</SEQ>
<SEQ TYPE="MARKUP">]</SEQ>
<!-- Functions, eg. $if. The parens will not be coloured by this -->
<MARK_FOLLOWING TYPE="FUNCTION">$</MARK_FOLLOWING>
<!-- Raw text, eg. 'bla' -->
<SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">
<BEGIN>'</BEGIN>
<END>'</END>
</SPAN>
<!-- Colour codes, eg. AF0B89. -->
<SPAN TYPE="LITERAL2" NO_LINE_BREAK="FALSE">
<BEGIN></BEGIN>
<END></END>
</SPAN>
<!-- _ fields, eg. %_filename%. Also tech info fields, eg. %__bitrate% -->
<SPAN TYPE="LITERAL3" NO_LINE_BREAK="FALSE">
<BEGIN>%_</BEGIN>
<END>%</END>
</SPAN>
<!-- Fields, eg. %artist% -->
<SPAN TYPE="LITERAL4" NO_LINE_BREAK="FALSE">
<BEGIN>%</BEGIN>
<END>%</END>
</SPAN>
</RULES>
</MODE>