Commit Graph

12 Commits

Author SHA1 Message Date
pantor
fe2ef9ce4e fix tab/spaces 2019-09-14 12:11:53 +02:00
pantor
a6a61586a4 code style (cpplint) 2019-09-14 12:05:51 +02:00
Tom
057075b110 retain scope when including a template (#118)
* apply documentation changes to single_include

* retain scope when including a template

* Use data from current scope when rendering an included template.
  This allows included templates to access loop variables, which
  was not possible before.
* Add test
2019-09-14 11:35:06 +02:00
pantor
d25937a85b add test and readme 2019-09-08 16:19:50 +02:00
Tom
419c93c840 Throw exception if a file cannot be opened, fix travis-ci builds (#117)
* throw exception if a file cannot be opened

* Add a new function in utils.hpp: open_file_or_throw: This function
  returns an opened std::ifstream or throws by calling `inja_throw`.
* Use this function in Parser::load_file which previously returned an
  empty string if the file couldn't be opened.
* Use this function in Environment::load_json which previously threw
  a `nlohmann::detail::parse_error` if the file couldn't be opened.
* In Parser::parse_statement: When including files through `include`,
  do not attempt to (re-)parse templates from files that were already
  included. Additionally, this prevents inja from attempting to load
  in-memory templates by their name from disk.
* Add tests that check if an exception is thrown when attempting to
  open files that do not exist.

* cmake: enable C++11

* cmake: require C++11 when depending on single_inja

* code style
2019-09-08 15:05:01 +02:00
pantor
d5532ac26a add at function 2019-04-07 16:15:12 +02:00
pantor
6698e98ea3 calculate length of strings with length function 2019-04-07 13:27:43 +02:00
Mark Hollomon
da5bbb1482 Remove unneed linking in update_loop_data (#85)
Commit a5862a0 made the linking step in update_loop_data unecessary
because the loop's copy of the data was made to come from the parent
loop's data rather than the original client's data.

While at it, also add one more nested loop test case.
2019-01-27 19:35:27 +01:00
Mark Hollomon
1dfd86fa6f Fix for issue #80 (#81)
* Fix for issue #80

When updating the `opening_chars`, line_statment was forgotten. So, a
change to any of the openers would cause line statements to start being
unrecognized.

I added a unit test to cover this case.

* fix indentation

* add update to single_include
2019-01-23 19:18:47 +01:00
pantor
dbcd5265fc add string_view polyfill 2019-01-21 21:34:34 +01:00
Lars Berscheid
a9d4ca9a4e fix string view reference movement in bytecode 2019-01-07 16:41:16 +01:00
pantor
699c207c8c Inja v2 (#67)
* inja2

* header only

* reduce dependencies

* code cleaning

* c++17

* use stdc++

* code cleaning

* infrastructure

* header only

* add infrastructure

* fix tests

* use minimum clang 6

* code cleaning, polyfill for c++11

* fix some file tests

* fix readme

* update appveyor

* fix polyfill and ci

* fix polyfill

* fix ci?

* test msvc __cplusplus

* add doxygen

* activate all tests

* code cleaning

* add coveralls, set default to dot notation

* add html test

* add doxygen comments

* test single_include file

* change build folder in appveyor

* correct make arguments in appveyor

* fix appveyor arguments
2018-12-23 16:13:15 +01:00