mirror of
https://github.com/cmur2/joe-syntax.git
synced 2024-12-22 12:54:23 +01:00
error handling enhancements; new test file
This commit is contained in:
parent
cd20c65e9b
commit
ed2978c79b
@ -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))
|
||||||
|
98
ini.jsf
98
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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user