1
0
mirror of https://github.com/cmur2/joe-syntax.git synced 2025-06-26 12:30:20 +02:00

ini: enhance error handling, add support for colon comments, unicode escapes, new test file

This commit is contained in:
Todd Lewis
2017-09-09 09:55:48 -04:00
committed by cn
parent 5c8944fc51
commit 13cfbdc5cd
4 changed files with 102 additions and 31 deletions

3
test/README.md Normal file
View File

@ -0,0 +1,3 @@
# 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.

39
test/ini-test.ini Normal file
View File

@ -0,0 +1,39 @@
; 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