164 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			XML
		
	
	
		
		
			
		
	
	
			164 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			XML
		
	
	
| 
								 | 
							
								<?xml version="1.0"?>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<!DOCTYPE MODE SYSTEM "xmode.dtd">
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<MODE>
							 | 
						||
| 
								 | 
							
									<PROPS>
							 | 
						||
| 
								 | 
							
										<PROPERTY NAME="lineComment" VALUE="#" />
							 | 
						||
| 
								 | 
							
										<PROPERTY NAME="indentOpenBrackets" VALUE="{" />
							 | 
						||
| 
								 | 
							
										<PROPERTY NAME="indentCloseBrackets" VALUE="}" />
							 | 
						||
| 
								 | 
							
									</PROPS>
							 | 
						||
| 
								 | 
							
									<RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">
							 | 
						||
| 
								 | 
							
										<!-- Comments -->
							 | 
						||
| 
								 | 
							
										<EOL_SPAN TYPE="COMMENT2">#!</EOL_SPAN>
							 | 
						||
| 
								 | 
							
										<EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<!-- Variables -->
							 | 
						||
| 
								 | 
							
										<SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
							 | 
						||
| 
								 | 
							
											<BEGIN>${</BEGIN>
							 | 
						||
| 
								 | 
							
											<END>}</END>
							 | 
						||
| 
								 | 
							
										</SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<MARK_FOLLOWING TYPE="KEYWORD2">$#</MARK_FOLLOWING>
							 | 
						||
| 
								 | 
							
										<MARK_FOLLOWING TYPE="KEYWORD2">$?</MARK_FOLLOWING>
							 | 
						||
| 
								 | 
							
										<MARK_FOLLOWING TYPE="KEYWORD2">$*</MARK_FOLLOWING>
							 | 
						||
| 
								 | 
							
										<MARK_FOLLOWING TYPE="KEYWORD2">$@</MARK_FOLLOWING>
							 | 
						||
| 
								 | 
							
										<MARK_FOLLOWING TYPE="KEYWORD2">$$</MARK_FOLLOWING>
							 | 
						||
| 
								 | 
							
										<MARK_FOLLOWING TYPE="KEYWORD2">$<</MARK_FOLLOWING>
							 | 
						||
| 
								 | 
							
										<MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>
							 | 
						||
| 
								 | 
							
										<MARK_PREVIOUS TYPE="KEYWORD2" MATCH_TYPE="OPERATOR">=</MARK_PREVIOUS>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<!-- weird stuff -->
							 | 
						||
| 
								 | 
							
										<SPAN TYPE="KEYWORD3" DELEGATE="EXEC">
							 | 
						||
| 
								 | 
							
											<BEGIN>$((</BEGIN>
							 | 
						||
| 
								 | 
							
											<END>))</END>
							 | 
						||
| 
								 | 
							
										</SPAN>
							 | 
						||
| 
								 | 
							
										<SPAN TYPE="KEYWORD3" DELEGATE="EXEC">
							 | 
						||
| 
								 | 
							
											<BEGIN>$(</BEGIN>
							 | 
						||
| 
								 | 
							
											<END>)</END>
							 | 
						||
| 
								 | 
							
										</SPAN>
							 | 
						||
| 
								 | 
							
										<SPAN TYPE="KEYWORD3" DELEGATE="EXEC">
							 | 
						||
| 
								 | 
							
											<BEGIN>$[</BEGIN>
							 | 
						||
| 
								 | 
							
											<END>]</END>
							 | 
						||
| 
								 | 
							
										</SPAN>
							 | 
						||
| 
								 | 
							
										<SPAN TYPE="KEYWORD3" DELEGATE="EXEC">
							 | 
						||
| 
								 | 
							
											<BEGIN>`</BEGIN>
							 | 
						||
| 
								 | 
							
											<END>`</END>
							 | 
						||
| 
								 | 
							
										</SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<!-- Literals -->
							 | 
						||
| 
								 | 
							
										<SPAN TYPE="LITERAL1" DELEGATE="LITERAL">
							 | 
						||
| 
								 | 
							
											<BEGIN>"</BEGIN>
							 | 
						||
| 
								 | 
							
											<END>"</END>
							 | 
						||
| 
								 | 
							
										</SPAN>
							 | 
						||
| 
								 | 
							
										<SPAN TYPE="LITERAL1">
							 | 
						||
| 
								 | 
							
											<BEGIN>'</BEGIN>
							 | 
						||
| 
								 | 
							
											<END>'</END>
							 | 
						||
| 
								 | 
							
										</SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<!-- Readins -->
							 | 
						||
| 
								 | 
							
										<SPAN_REGEXP HASH_CHAR="<<" TYPE="LITERAL1" DELEGATE="LITERAL">
							 | 
						||
| 
								 | 
							
											<BEGIN><![CDATA[<<[\p{Space}'"]*([\p{Alnum}_]+)[\p{Space}'"]*]]></BEGIN>
							 | 
						||
| 
								 | 
							
											<END>$1</END>
							 | 
						||
| 
								 | 
							
										</SPAN_REGEXP>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<!-- Operators -->
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="OPERATOR">|</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="OPERATOR">&</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="OPERATOR">!</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="OPERATOR">></SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="OPERATOR"><</SEQ>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<!-- %jobnumber -->
							 | 
						||
| 
								 | 
							
										<MARK_FOLLOWING TYPE="KEYWORD2">%</MARK_FOLLOWING>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<!-- functions -->
							 | 
						||
| 
								 | 
							
										<MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="OPERATOR">)</SEQ>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<KEYWORDS>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>if</KEYWORD1>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>then</KEYWORD1>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>elif</KEYWORD1>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>else</KEYWORD1>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>fi</KEYWORD1>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>case</KEYWORD1>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>in</KEYWORD1>
							 | 
						||
| 
								 | 
							
											<OPERATOR>;;</OPERATOR>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>esac</KEYWORD1>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>while</KEYWORD1>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>for</KEYWORD1>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>do</KEYWORD1>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>done</KEYWORD1>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>continue</KEYWORD1>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											<KEYWORD1>local</KEYWORD1>
							 | 
						||
| 
								 | 
							
											<KEYWORD1>return</KEYWORD1>
							 | 
						||
| 
								 | 
							
										</KEYWORDS>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<!-- some of these should be marked OPERATOR -->
							 | 
						||
| 
								 | 
							
										<!-- <SEQ TYPE="NULL">)</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">(</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">=</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">!</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">>=</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL"><=</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">+</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">-</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">/</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">*</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">^</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">~</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">}</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">{</SEQ>
							 | 
						||
| 
								 | 
							
										SEQ TYPE="NULL">.</SEQ
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">,</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">;</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">]</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">[</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">?</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="NULL">:</SEQ> -->
							 | 
						||
| 
								 | 
							
									</RULES>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									<RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">
							 | 
						||
| 
								 | 
							
										<!-- Variables -->
							 | 
						||
| 
								 | 
							
										<SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
							 | 
						||
| 
								 | 
							
											<BEGIN>${</BEGIN>
							 | 
						||
| 
								 | 
							
											<END>}</END>
							 | 
						||
| 
								 | 
							
										</SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>
							 | 
						||
| 
								 | 
							
									</RULES>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									<RULES SET="EXEC" DEFAULT="KEYWORD3" ESCAPE="\">
							 | 
						||
| 
								 | 
							
										<!-- Variables -->
							 | 
						||
| 
								 | 
							
										<SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
							 | 
						||
| 
								 | 
							
											<BEGIN>${</BEGIN>
							 | 
						||
| 
								 | 
							
											<END>}</END>
							 | 
						||
| 
								 | 
							
										</SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<SPAN TYPE="KEYWORD3">
							 | 
						||
| 
								 | 
							
											<BEGIN>$((</BEGIN>
							 | 
						||
| 
								 | 
							
											<END>))</END>
							 | 
						||
| 
								 | 
							
										</SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<SPAN TYPE="KEYWORD3">
							 | 
						||
| 
								 | 
							
											<BEGIN>$(</BEGIN>
							 | 
						||
| 
								 | 
							
											<END>)</END>
							 | 
						||
| 
								 | 
							
										</SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<SPAN TYPE="KEYWORD3">
							 | 
						||
| 
								 | 
							
											<BEGIN>$[</BEGIN>
							 | 
						||
| 
								 | 
							
											<END>]</END>
							 | 
						||
| 
								 | 
							
										</SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="OPERATOR">|</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="OPERATOR">&</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="OPERATOR">!</SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="OPERATOR">></SEQ>
							 | 
						||
| 
								 | 
							
										<SEQ TYPE="OPERATOR"><</SEQ>
							 | 
						||
| 
								 | 
							
									</RULES>
							 | 
						||
| 
								 | 
							
								</MODE>
							 |