sh: Move check for accepted identifier chars to a helper function
sh: Move parsing of strings to separate helper functions
sh: Don't skip an extra character after identifiers

If an identifier isn't followed by an open parentheses, don't eat away
the character.
sh: Add support for here-document
sh: Add support for indented here-documents
sh: Add test case for Bash here-strings

They look similar to here-documents but the parser need not to
misinterpreted them as such, so add a test to make sure it doesn't
happen.
sh: Fix here-document handling to allow whitespaces before the word
sh: Add test case for a subtle delimiter
sh: Improve a test case to be more easily debuggable

Avoid using the exact same function definition to catch buggy behavior
to avoid CTags output deduplication and ease locating the issue.
sh: Add support for empty quoted here-document delimiters
Merge pull request #174 from b4n/sh/heredoc

Sh: Add support for HereDocument
Rename --guess-parser option to --print-language

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Introduce --guess-language-eagerly(-G) option

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Use --guess-language-eagerly option when running tests

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
docs: describe --guess-language-eagerly(-G)

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Add a macro, ARRAY_SIZE for calculating the length of macro

Signed-off-by: Masatake YAMATO <yamato@redhat.com>