Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Diff of /syntax/ruby.jsf.in [000000] .. [409b67] Maximize Restore

  Switch to side-by-side view

--- a
+++ b/syntax/ruby.jsf.in
@@ -0,0 +1,423 @@
+# JOE syntax highlight file for Ruby
+
+# Oh No!  It's another perl!
+
+# <<EOF1, <<EOF2 is not working.  Only EOF1 is seen.  It should wait for the
+# EOF2.
+
+=Idle
+=Preproc blue
+=Comment green
+=POD green
+=Constant cyan
+=Escape bold cyan
+=Type bold
+=Keyword bold
+=Bad bold red
+=Var yellow
+
+# Detect pod
+
+:idle Idle
+	*		rest		noeat
+	"="		pod_start
+
+# Rest of line
+
+:rest Idle
+	*		rest
+	"#"		line_comment_i	recolor=-1
+	"\n"		idle
+	"0"		first_digit	recolor=-1
+	"1-9"		decimal	recolor=-1
+	"."		maybe_float
+	"\""		string		recolor=-1
+	"'"		char		recolor=-1
+	"`"		backtick	recolor=-1
+	"/"		regex		recolor=-1
+	"<"		maybe_inc
+	"$"		not_string	buffer
+	"%"		pstring
+	"a-zA-Z_"	ident		buffer
+
+# / / regex not allowed after terms
+
+:after_term Idle
+	*		rest	noeat
+	" 	)]"	after_term
+	"/%"		rest
+
+:pod_start Idle
+	*		pod_start
+	"\n"		pod_block
+
+:pod_block POD
+	*		pod_block
+	"="		pod_ident	buffer
+
+:pod_ident POD
+	*		pod_block	noeat strings
+	"=end"		rest
+done
+	"a-zA-Z0-9_"	pod_ident
+
+:maybe_inc Idle
+	*		after_term		noeat
+	"<"		maybe_inc1
+
+:maybe_inc1 Idle
+	*		after_term		noeat
+	"-"		allow_space
+	"'\""		quoted_inc_start	save_c recolor=-1
+	"A-Za-z_"	inc		buffer noeat
+
+:allow_space Idle
+	*		after_term		noeat
+	"'\""		quoted_inc_start_allow	save_c recolor=-1
+	"A-Za-z_"	inc_allow		buffer noeat
+
+:quoted_inc_start Var
+	*		quoted_inc	buffer
+
+:quoted_inc_start_allow Var
+	*		quoted_inc_allow	buffer
+
+:quoted_inc Var
+	*		quoted_inc
+	&		skipline	save_s
+
+:quoted_inc_allow Var
+	*		quoted_inc_allow
+	&		skipline_allow	save_s
+
+:inc Var
+	*		skipline	save_s noeat
+	"A-Za-z0-9_"	inc
+
+:inc_allow Var
+	*		skipline_allow	save_s noeat
+	"A-Za-z0-9_"	inc_allow
+
+# Should be treated as a normal line here...
+
+:skipline Idle
+	*		skipline
+	"\n"		next_line
+
+:skipline_allow Idle
+	*		skipline_allow
+	"\n"		next_line_allow
+
+:todelim Constant
+	*		todelim
+	"\n"		next_line	strings
+	"&"		founddelim
+done
+
+:todelim_allow Constant
+	*		todelim_allow
+	"\n"		next_line_allow	strings
+	"&"		founddelim
+done
+
+# eat \n so it's not in string.
+:next_line Constant
+	*		todelim		buffer
+	"\n"		next_line
+
+:next_line_allow Constant
+	*		todelim_allow	buffer
+	" 	\n"	next_line_allow
+
+:founddelim Var
+	*		idle		noeat
+
+:regex Constant
+	*		regex
+	"\\"		regex_quote	recolor=-1
+	"/"		after_term
+
+:regex_quote Escape
+	*		regex
+
+:not_string Idle
+	*		rest noeat
+	"A-Za-z_"	ident
+	"\"'`#/"	rest
+
+:line_comment Comment
+	*		line_comment
+	"\n"		rest
+
+:line_comment_i Comment
+	*		line_comment_i
+	"\n"		idle
+
+:end_of_file_comment Comment
+	*		end_of_file_comment
+
+:first_digit Constant
+	*		after_term	noeat
+	"x"		hex
+	"b"		binary
+	"."		float
+	"eE"		epart
+	"0-7"		octal
+	"89"		bad_number	recolor=-1
+
+:bad_number Bad
+	*		after_term	noeat
+	"0-9"		bad_number
+
+:octal Constant
+	*		after_term	noeat
+	"0-7_"		octal
+	"89"		bad_number	recolor=-1
+
+:binary Constant
+	*		after_term	noeat
+	"01_"		binary
+	"2-9"		bad_number	recolor=-1
+
+:hex Constant
+	*		after_term	noeat
+	"0-9A-Fa-f_"	hex
+
+:decimal Constant
+	*		after_term	noeat
+	"0-9_"		decimal
+	"eE"		epart
+	"."		float
+
+:maybe_float Constant
+	*		after_term	recolor=-2	noeat
+	"0-9"		float		recolor=-2
+
+:float Constant
+	*		after_term	noeat
+	"eE"		epart
+	"0-9_"		float
+
+:epart Constant
+	*		after_term	noeat
+	"0-9+\-"	enum
+
+:enum Constant
+	*		after_term	noeat
+	"0-9_"		enum
+
+:string	Constant
+	*		string
+	"\""		after_term
+	"\\"		string_escape	recolor=-1
+	"$@"		string_subst	recolor=-1
+
+:string_subst Escape
+	*		string	noeat recolor=-1
+	"a-zA-Z_0-9"	string_subst
+
+:string_escape Escape
+	*		string
+	"x"		string_hex1
+	"c"		string_ctrl
+	"N"		string_named
+	"0-7"		string_octal2
+	"\n"		string		recolor=-2
+
+:string_named Escape
+	*		string
+	"{"		string_named_rest
+
+:string_named_rest Escape
+	*		string_named_rest
+	"}"		string
+
+:string_ctrl Escape
+	*		string
+
+:string_hex1 Escape
+	*		string		noeat
+	"{"		string_unicode
+	"0-9a-fA-F"	string_hex2
+
+:string_unicode Escape
+	*		string_unicode
+	"}"		string
+
+:string_hex2 Escape
+	*		string		noeat
+	"0-9a-fA-F"	string
+
+:string_octal2 Escape
+	*		string		noeat
+	"0-7"		string_octal3
+
+:string_octal3 Escape
+	*		string		noeat
+	"0-7"		string
+
+# Only \\ and \' allowed in single quoted strings
+
+:char Constant
+	*		char
+	"\n"		reset
+	"'"		after_term
+	"\\"		char_escape	recolor=-1
+
+:char_escape	Escape
+	*		char		recolor=-2
+	"\\'"	char
+
+:backtick	Constant
+	*		backtick
+	"`"		after_term
+	"\\"		backtick_escape	recolor=-1
+	"$@"		backtick_subst recolor=-1
+
+:backtick_subst Escape
+	*		backtick	noeat recolor=-1
+	"a-zA-Z_0-9"	backtick_subst
+
+:backtick_escape Escape
+	*		backtick
+	"x"		backtick_hex1
+	"c"		backtick_ctrl
+	"N"		backtick_named
+	"0-7"		backtick_octal2
+	"\n"		backtick		recolor=-2
+
+:backtick_named Escape
+	*		backtick
+	"{"		backtick_named_rest
+
+:backtick_named_rest Escape
+	*		backtick_named_rest
+	"}"		backtick
+
+:backtick_ctrl Escape
+	*		backtick
+
+:backtick_hex1 Escape
+	*		backtick		noeat
+	"{"		backtick_unicode
+	"0-9a-fA-F"	backtick_hex2
+
+:backtick_unicode Escape
+	*		backtick_unicode
+	"}"		backtick
+
+:backtick_hex2 Escape
+	*		backtick		noeat
+	"0-9a-fA-F"	backtick
+
+:backtick_octal2 Escape
+	*		backtick		noeat
+	"0-7"		backtick_octal3
+
+:backtick_octal3 Escape
+	*		backtick		noeat
+	"0-7"		backtick
+
+:ident	Idle
+	*		after_term	noeat strings
+	"BEGIN"		kw
+	"END"		kw
+	"alias"		kw
+	"and"		kw
+	"begin"		kw
+	"break"		kw
+	"case"		kw
+	"class"		kw
+	"def"		kw
+	"defined"	kw
+	"do"		kw
+	"else"		kw
+	"elsif"		kw
+	"end"		kw
+	"ensure"	kw
+	"false"		kw
+	"for"		kw
+	"if"		kw
+	"in"		kw
+	"module"	kw
+	"next"		kw
+	"nil"		kw
+	"not"		kw
+	"or"		kw
+	"redo"		kw
+	"rescue"	kw
+	"retry"		kw
+	"return"	kw
+	"self"		kw
+	"super"		kw
+	"then"		kw
+	"true"		kw
+	"undef"		kw
+	"unless"	kw
+	"until"		kw
+	"when"		kw
+	"while"		kw
+	"yield"		kw
+done
+	"a-zA-Z0-9_"	ident
+
+:kw Keyword
+	*	rest	noeat
+
+:pstring Idle
+	*	match noeat
+	"	 " after_term noeat
+	"xrqQw"	match
+
+:match Idle
+	*		inmatch		save_c recolor=-1
+	" 	"	match
+
+:inmatch Constant
+	*		inmatch
+	&		after_term
+	"\\"		inmatch_quote	recolor=-1
+
+:inmatch_quote Escape
+	*		inmatch
+
+:subst Idle
+	*		insubst		save_c recolor=-1
+	"<([{`"		delim_insubst	save_c recolor=-1
+	" 	"	subst
+
+:insubst Constant
+	*		insubst
+	&		inrepl
+	"\\"		insubst_quote	recolor=-1
+
+:insubst_quote Escape
+	*		insubst
+
+:inrepl Constant
+	*		inrepl
+	&		after_term
+	"\\"		inrepl_quote
+
+:inrepl_quote Escape
+	*		inrepl
+
+:delim_insubst Constant
+	*		delim_insubst
+	&		delim_repl
+	"\\"		delim_quote
+
+:delim_quote Escape
+	*		delim_insubst
+
+:delim_repl Constant
+	*		repl		save_c recolor=-1
+	" 	"	delim_repl
+
+:repl Constant
+	*		repl
+	&		after_term
+	"\\"		repl_quote
+
+:repl_quote Escape
+	*		repl