[05/12] incubator-freemarker git commit: Added new ParserConfiguration setting, interpolation_syntax. It has 3 possible values:
Added new ParserConfiguration setting, interpolation_syntax. It has 3 possible values: - legacy (the default): Interpolations look like ${...} or #{...}. Note that #{...} is deprecated for a long time now. - dollar: Interpolations look like ${...}. With this syntax, #{...} will be just static text. - square_bracket: Interpolations look like [=...]. With this syntax ${...} and #{...} will be just static text. So it's useful if you generate output in a format where those (typically ${...}) are already used, such as to generate JSP pages, or to generate FreeMarker templates that use the default syntax. Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/ca1ecf78 Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/ca1ecf78 Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/ca1ecf78 Branch: refs/heads/2.3 Commit: ca1ecf78e7eebdb83c2b147d5fb9aadb1c25f93a Parents: c630a41 Author: ddekany Authored: Fri Mar 16 00:36:31 2018 +0100 Committer: ddekany Committed: Fri Mar 16 00:36:31 2018 +0100 -- src/main/java/freemarker/core/Configurable.java | 7 +- .../LegacyConstructorParserConfiguration.java | 9 +- .../freemarker/core/ParserConfiguration.java| 7 + .../java/freemarker/core/StringLiteral.java | 14 +- .../freemarker/core/TemplateConfiguration.java | 27 ++ ..._ParserConfigurationWithInheritedFormat.java | 4 + .../java/freemarker/template/Configuration.java | 59 +++- .../java/freemarker/template/_TemplateAPI.java | 10 + src/main/javacc/FTL.jj | 116 +--- src/manual/en_US/book.xml | 276 ++- .../core/InterpolationSyntaxTest.java | 88 ++ .../core/TemplateConfigurationTest.java | 9 + .../freemarker/template/ConfigurationTest.java | 28 ++ 13 files changed, 542 insertions(+), 112 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/ca1ecf78/src/main/java/freemarker/core/Configurable.java -- diff --git a/src/main/java/freemarker/core/Configurable.java b/src/main/java/freemarker/core/Configurable.java index f1a905b..a2b5d29 100644 --- a/src/main/java/freemarker/core/Configurable.java +++ b/src/main/java/freemarker/core/Configurable.java @@ -2365,7 +2365,12 @@ public class Configurable { * {@code "tag_syntax"}: * See {@link Configuration#setTagSyntax(int)}. * String value: Must be one of - * {@code "auto_detect"}, {@code "angle_bracket"}, and {@code "square_bracket"}. + * {@code "auto_detect"}, {@code "angle_bracket"}, and {@code "square_bracket"}. + * + * {@code "interpolation_syntax"} (since 2.3.28): + * See {@link Configuration#setInterpolationSyntax(int)}. + * String value: Must be one of + * {@code "legacy"}, {@code "dollar"}, and {@code "square_bracket"}. * * {@code "naming_convention"}: * See {@link Configuration#setNamingConvention(int)}. http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/ca1ecf78/src/main/java/freemarker/core/LegacyConstructorParserConfiguration.java -- diff --git a/src/main/java/freemarker/core/LegacyConstructorParserConfiguration.java b/src/main/java/freemarker/core/LegacyConstructorParserConfiguration.java index 479af9a..a9a1e8e 100644 --- a/src/main/java/freemarker/core/LegacyConstructorParserConfiguration.java +++ b/src/main/java/freemarker/core/LegacyConstructorParserConfiguration.java @@ -28,6 +28,7 @@ import freemarker.template.Version; class LegacyConstructorParserConfiguration implements ParserConfiguration { private final int tagSyntax; +private final int interpolationSyntax; private final int namingConvention; private final boolean whitespaceStripping; private final boolean strictSyntaxMode; @@ -38,11 +39,13 @@ class LegacyConstructorParserConfiguration implements ParserConfiguration { private Integer tabSize; private final Version incompatibleImprovements; -public LegacyConstructorParserConfiguration(boolean strictSyntaxMode, boolean whitespaceStripping, int tagSyntax, +LegacyConstructorParserConfiguration(boolean strictSyntaxMode, boolean whitespaceStripping, +int tagSyntax, int interpolationSyntax, int namingConvention, Integer autoEscaping, OutputFormat outputFormat, Boolean recognizeStandardFileExtensions, Integer tabSize, Version incompatibleImprovements, ArithmeticEngine arithmeticEngine) { this.tagSyntax = tagSyntax; +this.interpolationSyntax
incubator-freemarker git commit: Added new ParserConfiguration setting, interpolation_syntax. It has 3 possible values:
Repository: incubator-freemarker Updated Branches: refs/heads/2.3-gae c630a41ab -> ca1ecf78e Added new ParserConfiguration setting, interpolation_syntax. It has 3 possible values: - legacy (the default): Interpolations look like ${...} or #{...}. Note that #{...} is deprecated for a long time now. - dollar: Interpolations look like ${...}. With this syntax, #{...} will be just static text. - square_bracket: Interpolations look like [=...]. With this syntax ${...} and #{...} will be just static text. So it's useful if you generate output in a format where those (typically ${...}) are already used, such as to generate JSP pages, or to generate FreeMarker templates that use the default syntax. Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/ca1ecf78 Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/ca1ecf78 Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/ca1ecf78 Branch: refs/heads/2.3-gae Commit: ca1ecf78e7eebdb83c2b147d5fb9aadb1c25f93a Parents: c630a41 Author: ddekany Authored: Fri Mar 16 00:36:31 2018 +0100 Committer: ddekany Committed: Fri Mar 16 00:36:31 2018 +0100 -- src/main/java/freemarker/core/Configurable.java | 7 +- .../LegacyConstructorParserConfiguration.java | 9 +- .../freemarker/core/ParserConfiguration.java| 7 + .../java/freemarker/core/StringLiteral.java | 14 +- .../freemarker/core/TemplateConfiguration.java | 27 ++ ..._ParserConfigurationWithInheritedFormat.java | 4 + .../java/freemarker/template/Configuration.java | 59 +++- .../java/freemarker/template/_TemplateAPI.java | 10 + src/main/javacc/FTL.jj | 116 +--- src/manual/en_US/book.xml | 276 ++- .../core/InterpolationSyntaxTest.java | 88 ++ .../core/TemplateConfigurationTest.java | 9 + .../freemarker/template/ConfigurationTest.java | 28 ++ 13 files changed, 542 insertions(+), 112 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/ca1ecf78/src/main/java/freemarker/core/Configurable.java -- diff --git a/src/main/java/freemarker/core/Configurable.java b/src/main/java/freemarker/core/Configurable.java index f1a905b..a2b5d29 100644 --- a/src/main/java/freemarker/core/Configurable.java +++ b/src/main/java/freemarker/core/Configurable.java @@ -2365,7 +2365,12 @@ public class Configurable { * {@code "tag_syntax"}: * See {@link Configuration#setTagSyntax(int)}. * String value: Must be one of - * {@code "auto_detect"}, {@code "angle_bracket"}, and {@code "square_bracket"}. + * {@code "auto_detect"}, {@code "angle_bracket"}, and {@code "square_bracket"}. + * + * {@code "interpolation_syntax"} (since 2.3.28): + * See {@link Configuration#setInterpolationSyntax(int)}. + * String value: Must be one of + * {@code "legacy"}, {@code "dollar"}, and {@code "square_bracket"}. * * {@code "naming_convention"}: * See {@link Configuration#setNamingConvention(int)}. http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/ca1ecf78/src/main/java/freemarker/core/LegacyConstructorParserConfiguration.java -- diff --git a/src/main/java/freemarker/core/LegacyConstructorParserConfiguration.java b/src/main/java/freemarker/core/LegacyConstructorParserConfiguration.java index 479af9a..a9a1e8e 100644 --- a/src/main/java/freemarker/core/LegacyConstructorParserConfiguration.java +++ b/src/main/java/freemarker/core/LegacyConstructorParserConfiguration.java @@ -28,6 +28,7 @@ import freemarker.template.Version; class LegacyConstructorParserConfiguration implements ParserConfiguration { private final int tagSyntax; +private final int interpolationSyntax; private final int namingConvention; private final boolean whitespaceStripping; private final boolean strictSyntaxMode; @@ -38,11 +39,13 @@ class LegacyConstructorParserConfiguration implements ParserConfiguration { private Integer tabSize; private final Version incompatibleImprovements; -public LegacyConstructorParserConfiguration(boolean strictSyntaxMode, boolean whitespaceStripping, int tagSyntax, +LegacyConstructorParserConfiguration(boolean strictSyntaxMode, boolean whitespaceStripping, +int tagSyntax, int interpolationSyntax, int namingConvention, Integer autoEscaping, OutputFormat outputFormat, Boolean recognizeStandardFileExtensions, Integer tabSize, Version incompatibleImprovements, Arithme