mirror of
				https://github.com/cmur2/joe-syntax.git
				synced 2025-11-04 14:25:08 +01:00 
			
		
		
		
	Merge 56cc2c3280 into 5c8944fc51
				
					
				
			This commit is contained in:
		@@ -26,13 +26,14 @@ See [HowItWorks.md](https://github.com/cmur2/joe-syntax/blob/master/HowItWorks.m
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Every .jsf file from the original repository is under GPL as [JOE](http://sourceforge.net/projects/joe-editor/). There are efforts to move JOE to GPL v2 or any later version.
 | 
					Every .jsf file from the original repository is under GPL as [JOE](http://sourceforge.net/projects/joe-editor/). There are efforts to move JOE to GPL v2 or any later version.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Every .jsf file created and modified exclusively by [me](https://github.com/cmur2) is under GPL v2 or any later version.
 | 
					Every .jsf file created and modified exclusively by [me (Christian Nicolai)](https://github.com/cmur2) is under GPL v2 or any later version.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Files with contributions (or unclear license info):
 | 
					Files with contributions (or unclear license info):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* [elixir.jsf](https://github.com/cmur2/joe-syntax/blob/master/elixir.jsf) which is created by [Andrew Lisin](https://github.com/avli) under GPL v2 or any later version ([comment](https://github.com/cmur2/joe-syntax/pull/18#issuecomment-78036115))
 | 
					* [elixir.jsf](https://github.com/cmur2/joe-syntax/blob/master/elixir.jsf) which is created by [Andrew Lisin](https://github.com/avli) under GPL v2 or any later version ([comment](https://github.com/cmur2/joe-syntax/pull/18#issuecomment-78036115))
 | 
				
			||||||
* [erlang.jsf](https://github.com/cmur2/joe-syntax/blob/master/erlang.jsf) which is created by [Christian Nicolai](https://github.com/cmur2) and then modified by Jonas Rosling and enhanced with a small tweak from [raev](https://github.com/raev)
 | 
					* [erlang.jsf](https://github.com/cmur2/joe-syntax/blob/master/erlang.jsf) which is created by [Christian Nicolai](https://github.com/cmur2) and then modified by Jonas Rosling and enhanced with a small tweak from [raev](https://github.com/raev)
 | 
				
			||||||
* [go.jsf](https://github.com/cmur2/joe-syntax/blob/master/go.jsf) which is entirely contributed by [Daniel Vargas](https://github.com/danielvargas)
 | 
					* [go.jsf](https://github.com/cmur2/joe-syntax/blob/master/go.jsf) which is entirely contributed by [Daniel Vargas](https://github.com/danielvargas)
 | 
				
			||||||
 | 
					* [ini.jsf](https://github.com/cmur2/joe-syntax/blob/master/ini.jsf) which is created by [Christian Nicolai](https://github.com/cmur2) with contributions from [Todd Lewis](https://github.com/utoddl)
 | 
				
			||||||
* [js.jsf](https://github.com/cmur2/joe-syntax/blob/master/js.jsf) which is created by [Christian Nicolai](https://github.com/cmur2) and then modified by [Rebecca Turner](https://github.com/iarna) under GPL v2 or any later version and compatible ISC license ([comment](https://github.com/cmur2/joe-syntax/pull/13#issuecomment-78058267))
 | 
					* [js.jsf](https://github.com/cmur2/joe-syntax/blob/master/js.jsf) which is created by [Christian Nicolai](https://github.com/cmur2) and then modified by [Rebecca Turner](https://github.com/iarna) under GPL v2 or any later version and compatible ISC license ([comment](https://github.com/cmur2/joe-syntax/pull/13#issuecomment-78058267))
 | 
				
			||||||
* [json.jsf](https://github.com/cmur2/joe-syntax/blob/master/json.jsf) which is entirely contributed by [Rebecca Turner](https://github.com/iarna) under GPL v2 or any later version and compatible ISC license ([comment](https://github.com/cmur2/joe-syntax/pull/14#issuecomment-78058037))
 | 
					* [json.jsf](https://github.com/cmur2/joe-syntax/blob/master/json.jsf) which is entirely contributed by [Rebecca Turner](https://github.com/iarna) under GPL v2 or any later version and compatible ISC license ([comment](https://github.com/cmur2/joe-syntax/pull/14#issuecomment-78058037))
 | 
				
			||||||
* [lsl.jsf](https://github.com/cmur2/joe-syntax/blob/master/lsl.jsf) which is from [Zai Lynch](https://wiki.secondlife.com/wiki/User:Zai_Lynch) under GPL v1 (delivered by [Rebecca Turner](https://github.com/iarna))
 | 
					* [lsl.jsf](https://github.com/cmur2/joe-syntax/blob/master/lsl.jsf) which is from [Zai Lynch](https://wiki.secondlife.com/wiki/User:Zai_Lynch) under GPL v1 (delivered by [Rebecca Turner](https://github.com/iarna))
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										100
									
								
								ini.jsf
									
									
									
									
									
								
							
							
						
						
									
										100
									
								
								ini.jsf
									
									
									
									
									
								
							@@ -1,76 +1,104 @@
 | 
				
			|||||||
# JOE syntax highlight file for INI files
 | 
					# JOE syntax highlight file for INI files
 | 
				
			||||||
 | 
					# License: GPL
 | 
				
			||||||
 | 
					# by Christian Nicolai (http://mycrobase.de)
 | 
				
			||||||
 | 
					# contributions by Todd Lewis (https://github.com/utoddl)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
=Idle
 | 
					=Idle
 | 
				
			||||||
=Comment	green
 | 
					=Comment	green
 | 
				
			||||||
=Constant	cyan
 | 
					=Constant	cyan    dim
 | 
				
			||||||
=Escape		bold cyan
 | 
					=Escape		cyan    bold
 | 
				
			||||||
=Bad		bold red
 | 
					=Bad		red     bold
 | 
				
			||||||
 | 
					 | 
				
			||||||
=Key
 | 
					=Key
 | 
				
			||||||
=Separator	bold
 | 
					=Separator	        bold
 | 
				
			||||||
=Section	bold magenta
 | 
					=Section	white   bold bg_MAGENTA
 | 
				
			||||||
 | 
					=SectionBracket	white        bg_MAGENTA
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:line_start Idle
 | 
					:line_start Idle
 | 
				
			||||||
	*		key		noeat
 | 
						*		key		noeat mark
 | 
				
			||||||
	"\n"		line_start
 | 
						"\n"		line_start
 | 
				
			||||||
	" \t\r"		line_start # leading spaces
 | 
						" \t\r"		line_start # leading spaces
 | 
				
			||||||
	";#"		line_comment	recolor=-1
 | 
						";#"		line_comment	recolor=-1
 | 
				
			||||||
	"["		section		recolor=-1
 | 
						"["		section_start	noeat
 | 
				
			||||||
	"="		missing_key	recolor=-1
 | 
						"="		missing_key	recolor=-1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:line_comment Comment
 | 
					:line_comment Comment
 | 
				
			||||||
	*		line_comment
 | 
						*		line_comment
 | 
				
			||||||
	"\n"		line_start
 | 
						"\n"		line_start
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					:section_start SectionBracket
 | 
				
			||||||
 | 
						*		section		mark noeat
 | 
				
			||||||
 | 
						"["		section_start
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:section Section
 | 
					:section Section
 | 
				
			||||||
	*		section
 | 
						*		section
 | 
				
			||||||
	"]"		section_end
 | 
						"]"		section_end	noeat
 | 
				
			||||||
	"\n"		section_unexp_end	recolor=-2
 | 
						"\n"		unexpected_end	noeat recolormark
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:section_end Bad
 | 
					:section_end SectionBracket
 | 
				
			||||||
	*		section_end
 | 
						*		unexpected_end  noeat
 | 
				
			||||||
 | 
						"]"		section_end	mark
 | 
				
			||||||
	"\n"		line_start
 | 
						"\n"		line_start
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:section_unexp_end Bad
 | 
					:unexpected_end Bad
 | 
				
			||||||
	*		line_start	noeat
 | 
						*		unexpected_end
 | 
				
			||||||
 | 
						"\n"		line_start
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:missing_key Bad
 | 
					:missing_key Bad
 | 
				
			||||||
	*		value_pre	noeat
 | 
						*		value_pre	noeat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:key Key
 | 
					:key Key
 | 
				
			||||||
	*		key
 | 
						*		key
 | 
				
			||||||
	" \t\r"		key_post	noeat
 | 
						"=:"		sep		noeat mark
 | 
				
			||||||
	"="		sep		recolor=-1
 | 
						"\n"		unexpected_end	noeat recolormark
 | 
				
			||||||
	"\n"		key_error	recolor=-2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
:key_post Idle
 | 
					 | 
				
			||||||
	*		value_pre	noeat
 | 
					 | 
				
			||||||
	" \t\r"		key_post
 | 
					 | 
				
			||||||
	"="		sep		recolor=-1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
:key_error Bad
 | 
					 | 
				
			||||||
	*		key		noeat
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
:sep Separator
 | 
					:sep Separator
 | 
				
			||||||
	*		value_pre	noeat
 | 
						*		value_pre	noeat
 | 
				
			||||||
 | 
						"=:"		value_pre
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:value_pre Idle
 | 
					:value_pre Idle
 | 
				
			||||||
	*		value		noeat
 | 
						*		value		noeat mark
 | 
				
			||||||
	" \t\r"		value_pre
 | 
						" \t\r"		value_pre
 | 
				
			||||||
 | 
						"\n"		unexpected_end	noeat recolormark
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:value Constant
 | 
					:value Constant
 | 
				
			||||||
	*		value
 | 
						*		value
 | 
				
			||||||
	"\\"		value_esc
 | 
						"\\"		value_esc	mark
 | 
				
			||||||
	"\n"		line_start
 | 
						"\n"		line_start
 | 
				
			||||||
	" \t\r"		maybe_comment	recolor=-1
 | 
						" "		value_maybe_comment	recolor=-1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:value_esc Escape
 | 
					:value_maybe_comment Idle
 | 
				
			||||||
	*		value
 | 
					 | 
				
			||||||
	"\n"		value_error	recolor=-2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
:value_error Bad
 | 
					 | 
				
			||||||
	*		value		noeat
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
:maybe_comment Idle
 | 
					 | 
				
			||||||
	*		value		noeat
 | 
						*		value		noeat
 | 
				
			||||||
	";#"		line_comment	recolor=-1
 | 
						";#"		line_comment	recolor=-1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					:value_esc Escape
 | 
				
			||||||
 | 
						*		value_esc_bad	noeat recolormark
 | 
				
			||||||
 | 
						"0abtrn;#=:\\"	value_esc_end	recolormark
 | 
				
			||||||
 | 
						"x"		value_esc_unicode1
 | 
				
			||||||
 | 
						"\n"		value		mark
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					:value_esc_bad Bad
 | 
				
			||||||
 | 
						*		value		noeat mark
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					:value_esc_end Escape
 | 
				
			||||||
 | 
						*		value		noeat mark
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					:value_esc_unicode1 Escape
 | 
				
			||||||
 | 
						*		value_esc_bad	noeat recolormark
 | 
				
			||||||
 | 
						"0-9a-fA-F"	value_esc_unicode2
 | 
				
			||||||
 | 
						"\n"		unexpected_end	noeat recolormark
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					:value_esc_unicode2 Escape
 | 
				
			||||||
 | 
						*		value_esc_bad	noeat recolormark
 | 
				
			||||||
 | 
						"0-9a-fA-F"	value_esc_unicode3
 | 
				
			||||||
 | 
						"\n"		unexpected_end	noeat recolormark
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					:value_esc_unicode3 Escape
 | 
				
			||||||
 | 
						*		value_esc_bad	noeat recolormark
 | 
				
			||||||
 | 
						"0-9a-fA-F"	value_esc_unicode4
 | 
				
			||||||
 | 
						"\n"		unexpected_end	noeat recolormark
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					:value_esc_unicode4 Escape
 | 
				
			||||||
 | 
						*		value_esc_bad	noeat recolormark
 | 
				
			||||||
 | 
						"0-9a-fA-F"	value_esc_end	      recolormark
 | 
				
			||||||
 | 
						"\n"		unexpected_end	noeat recolormark
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								test/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								test/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					# Test Files for JOE Syntax Highlighting
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This directory contains files for testing and validating .jsf files.
 | 
				
			||||||
 | 
					Select features and problematic cases should be added to these files
 | 
				
			||||||
 | 
					to ensure that new features and bug fixes don't break existing
 | 
				
			||||||
 | 
					functionality. 
 | 
				
			||||||
							
								
								
									
										40
									
								
								test/ini-test.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								test/ini-test.ini
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
				
			|||||||
 | 
					; ini-test.ini -- file for testing ini.jsf
 | 
				
			||||||
 | 
					; License: GPL
 | 
				
			||||||
 | 
					; by Todd Lewis (https://github.com/utoddl)
 | 
				
			||||||
 | 
					;
 | 
				
			||||||
 | 
					; See https://en.wikipedia.org/wiki/INI_file for .ini specs
 | 
				
			||||||
 | 
					; Normal (;) line comment
 | 
				
			||||||
 | 
					# Alternative (#) line comment
 | 
				
			||||||
 | 
					[broken_section_head)
 | 
				
			||||||
 | 
					bsh1=normal_value_with_equals_sign_as_separator
 | 
				
			||||||
 | 
					bsh2:normal_value_with_colon_as_separator
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[escape_char_section] with evil trailing chars
 | 
				
			||||||
 | 
					; Valid esc chars: \ 0 a b t r n ; # :
 | 
				
			||||||
 | 
					; and unicode "Basic Multilingual Plane" (4 hex digits) after "\x"
 | 
				
			||||||
 | 
					alphas=\a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
 | 
				
			||||||
 | 
					valid_esc=~\\~\0~\a~\b~\t~\r~\n~\;~\#~
 | 
				
			||||||
 | 
					unicodes=~~\x~~\x1~~\x12~~\x123\a~~\x1234~~\x12345~~
 | 
				
			||||||
 | 
					# another comment
 | 
				
			||||||
 | 
					ecs1_missing_value ; Not a trailing comment b/c no equal sign!
 | 
				
			||||||
 | 
					ecs2 =   # value w/ leading whitespace!
 | 
				
			||||||
 | 
					ecs3=value with continuation \
 | 
				
			||||||
 | 
					      on the next line.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[quotes_and_trailing_comments]
 | 
				
			||||||
 | 
					; The following quotes should be insignificant according
 | 
				
			||||||
 | 
					; to https://en.wikipedia.org/wiki/INI_file, but some
 | 
				
			||||||
 | 
					; implementations allow it. Likewise, trailing comments are
 | 
				
			||||||
 | 
					; not spec, but often honored.
 | 
				
			||||||
 | 
					qatc3="quoted value" # not technically a comment, but lovely green.
 | 
				
			||||||
 | 
					qatc4="quoted value \# w/o comment"
 | 
				
			||||||
 | 
					qatc5="quoted value # w/ comment?" ; No right answer!
 | 
				
			||||||
 | 
					qatc6_missing_value
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[second_borken_section
 | 
				
			||||||
 | 
					sbs1='val \x \'' ; These single quotes aren't spec either.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					differently_borken_section]
 | 
				
			||||||
 | 
					dbs1_no_val_but_with_equals=
 | 
				
			||||||
 | 
					dbs2 = good_value_with_whitespace_around_equals
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in New Issue
	
	Block a user