gettext
967e76ba - xgettext: JavaScript: Support customized handling of tagged template literals.

Commit
85 days ago
xgettext: JavaScript: Support customized handling of tagged template literals. Reported by Evan Welsh <contact@evanwelsh.com> and Philip Chimento <philip.chimento@gmail.com> at <https://savannah.gnu.org/bugs/index.php?60027>. * gettext-tools/src/str-list.h (string_list_append_move): New declaration. * gettext-tools/src/str-list.c (string_list_append_move): New function. * gettext-tools/src/x-javascript.h (x_javascript_tag): New declaration. * gettext-tools/src/x-javascript.c: Include str-list.h. (tag_step1_fn): New type. (gnome_step1, get_tag_step1_fn): New functions. (struct tag_definition): New type. (tags): New variable. (x_javascript_tag): New function. (struct token_ty): Add fields template_tag, template_parts. (free_token): Update. (struct level_info): New type. (levels): Change element type to 'struct level_info'. (new_level, level_type): Update. (phase5_get, x_javascript_lex): Arrange to collect the parts of a template literal in the last token's template_parts field. (extract_balanced): Handle tagged template literals. * gettext-tools/src/xgettext.c (long_options): Add option --tag. (main): Handle option --tag. (usage): Document ption --tag. * gettext-tools/tests/xgettext-javascript-13: New file. * gettext-tools/tests/Makefile.am (TESTS): Add it. * gettext-tools/doc/gettext.texi (No string concatenation): Mention the tagged template literals as alternative. * gettext-tools/doc/xgettext.texi: Document the --tag option. * gettext-tools/doc/lang-javascript.texi (JavaScript): Mention the tagged template literals syntax. * NEWS: Mention the change.
Author
Parents
Loading