Address Dialyzer warnings when invoking EEx.compile_string
Module
EEx
35 changes across 24 versions
Changes by version
<%# is deprecated in favor of <%!-- or <% #
c:EEx.handle_text/2 is deprecated in favor of c:EEx.handle_text/3
Do not warn for assignment with blocks in EEx
Include relative file information in diagnostics
Do not emit duplicate warnings from tokenizer
Do not crash when printing tokenizer warnings
Include source code snippets in syntax errors
Support multi-line comments to EEx via <%!-- --%>
Add EEx.tokenize/2
Using <%# ... %> for comments is deprecated. Please use <% # ... %> or the new multi-line comments with <%!-- ... --%>
Add :parser_options to EEx functions
Accept comments in EEx between do and the first clause
Accept EEx expressions where -> is followed by newline
Track column information in EEx templates when enabled in the compiler
Show column information in EEx error messages
Support :indentation option when compiling EEx templates for proper column tracking
Make trimming behaviour via the :trim option more consistent
Ensure multiline do/end with no spaces compile under trim mode
Allow more complex mixed expressions when tokenizing
Consistently trim newlines when you have a single EEx expression per line on multiple lines
Raise readable error message on bad EEx state
Optimize the default template engine to compile and execute more efficiently
Allow markers / and | to be used in a custom EEx engine
Deprecate <%= in "middle" and "end" expressions, e.g.: <%= else %> and <%= end %>
Support middle expressions on trim mode
Add :trim option to EEx that automatically trims the left side of <% and right side %> if only spaces and new lines preceed/follow them
Allow EEx interpolation to also apply inside quotations <%%= ... %>
Ensure blocks do not clobber EEx buffers
Remove invalid warning when attempting to inline code in EEx
Unify syntax errors to always include file:line:
Using EEx.TransformerEngine and EEx.AssignsEngine are deprecated in favor of function composition with Macro.prewalk/1 (see EEx.SmartEngine for an example)
Add handle_body/1 callback to EEx.Engine
Allow EEx.AssignsEngine to accept any Dict
Solve issue where do blocks inside templates were not properly aligned