973f05cc08
some work on iterating through tables
2021-11-24 13:19:27 +01:00
86d0b7d886
changed the semantic of [for ...] loops, we have 'val' keyword now for referencing child objects
...
sample:
[for mylist]
[mylist.val]
[end]
before we use 'this' but only for POD simple types, now we use 'val' for all types
2021-11-23 19:40:52 +01:00
943026a3ac
I forget to add modified files to previous commit
...
(added support for Space tables, removed Models class)
2021-11-22 15:44:37 +01:00
c2c12d55d0
added support for Space tables
...
removed Models class
2021-11-22 15:43:08 +01:00
a7656d5ccd
added space values
2021-11-21 21:08:06 +01:00
46bc5c35a1
added "add" methods with vector/list of models to Vars
2021-11-20 22:02:18 +01:00
7caddeedbf
set *find_helper.result if a child object was found
2021-11-09 00:23:43 +01:00
ac66a6649d
some work on iterating through collection of models - not working yet
2021-11-08 00:41:36 +01:00
2f140686d7
let filters make use of Var<> objects
2021-11-06 19:20:11 +01:00
e2a8729a2f
Env<>::in is Var<> now and we pass last result as in into next field
2021-11-06 19:07:39 +01:00
bb0cc59eca
if a ezc function returns another function we should evaluate it
2021-11-05 22:23:22 +01:00
b8a9217429
use new FindHelper struct in places where fields, field_index, parameters variables were used
2021-11-05 09:34:05 +01:00
6d79cdb2fc
instead of morm::Wrapper let the Var<> has a child's map
2021-10-27 14:23:48 +02:00
a61fd2dcd0
mark a new function FindVariable()
2021-10-25 21:33:21 +02:00
03a76d35ad
- Var is a template now: Var<StreamType>
...
- removed using cache for a while
- Generator: instead of blocks, functions, objects we have now only variables
(work in progress)
2021-10-20 08:23:45 +02:00
dfb8e5da78
Merge commit 'd8692f6ed56a8bb1bcdd1117aef7df69ec1c39aa' into types
...
"index" and "index-one" options for space tables
2021-09-23 14:09:23 +02:00
d8692f6ed5
added options: "index" and "index-one" for space tables e.g. [table_name "index-one"]
2021-09-23 14:03:26 +02:00
3c969ac5c6
added: "this" virtual field for a table (only if the next field is not an object)
...
cherry picked from b047a10e8d
2021-09-23 04:11:20 +02:00
b047a10e8d
added: "this" virtual field for a table - only if the next field is not an object
...
e.g.:
[for space_object]
[space_object.this] instead of [space_object "current"]
[end]
"this" can be nested, e.g. if we have two nested tables:
[for space_object]
[for space_object.this]
[space_object.this.this]
[end]
[end]
removed: "current" parameter for tables
2021-09-23 04:02:34 +02:00
d9804f05aa
added Vars<> container
2021-09-14 00:31:50 +02:00
09beafeab7
template FunInfo<> renamed to Env<>
2021-08-29 20:55:15 +02:00
e826ba34ae
start working on types for Ezc
...
- now Var struct has some basic types (string, bool, stream, model, etc.)
- Generator doesn't directly put output to out_stream but to Var& result
2021-08-29 20:35:15 +02:00
a983698e3d
Generator: some methods take std::vector<Var> parameters not through a reference
2021-08-17 17:33:51 +02:00
6a8cb019f5
added parameters "only_date" and "only_time" when printing a pt::Date
2021-08-14 19:40:05 +02:00
b0afdf7f0f
check block arguments e.g. [1] at the beginning - before all other lookups
2021-08-14 17:44:11 +02:00
b956f1c401
fixed: fields table was not copied in Item::Function::operator=(...)
2021-08-14 17:40:40 +02:00
5e47313af8
fixed: when incrementing space tables iterators in [for] statements we should invalidate indices for nested tables
2021-08-13 21:44:07 +02:00
44407c2a4b
changed: added two new parameters to Generator class: template<class StreamType, bool is_pikotools_stream = false, bool is_autoescape_stream = false> class Generator
...
changed: added one new parameter to Outstreams class: template<class StreamType, bool is_pikotools_stream = false> class OutStreams
removed macros: EZC_GENERATOR_HAS_PT_STREAM, EZC_GENERATOR_HAS_WINIX_STREAM
2021-07-12 23:00:11 +02:00
ae6a5c52a1
fixed in Generator: ezc_frames_stack_index was not initialized
2021-07-06 23:56:29 +02:00
9f416d31de
Merge branch 'api2021'
2021-07-06 22:46:36 +02:00
b9b9a881e0
added "roman" and "no_sec" parameters when serializing a date
2021-07-06 21:47:42 +02:00
995cccdace
add two new ezc statements: [if-def ...] and [if-not-def ...]
...
[if-def my_function] returns true if my_function is defined somewhere (either a model, model container, space, date, block, function or variable)
add support for "noescape" or "raw" parameters to Space fields
fixed: CallWrapper() didn't return a status if a model/space/date/container was found
2021-07-02 20:23:20 +02:00
849b3e9ecc
changed the way how we iterate through Models, instead of ModelWrapper now we have Wrapper which has pointers to: model, model container, space or date
2021-07-01 23:21:20 +02:00
acb42f453c
added support for two new ezc statements for clearing/trimming text nodes
...
[ezc clear_all_white_nodes "yes"]...[end] - will clear a text node if the text consists of only white characters
[ezc trim_text_nodes "yes"]...[end] - will trim text nodes (removes white characters at the beginning and at the end)
"yes" is assumed by default if not present, also "no" can be specified to change the behavior
2021-06-29 23:38:38 +02:00
c2283f70d4
Generator when printing Model/Space is recognizing now such parameters:
...
- "dump" or "dump_to_space" parameters to make a dump in Space format
- "dump_to_json" parameter to make json dump
- "pretty" parameter to make the dump pretty (with new lines and indents)
2021-06-27 22:42:00 +02:00
3926793a17
fixed in Generator::CallSpace() when a middle field was a table: last_res should be set only for last field
...
refactoring in Generator::CallSpace()
2021-06-25 16:16:30 +02:00
5bd8eef3f2
make depend
2021-06-24 20:53:26 +02:00
16bce07c75
fixed: in Space::CallSpace() we should not increment field index when a new table item is prepared
2021-06-23 21:56:04 +02:00
87ee461dd1
make depend
2021-06-23 17:02:19 +02:00
526d57b72e
added possibility to take a Space struct in Models: Models::Add(const std::wstring & name, pt::Space & space);
2021-06-23 06:53:43 +02:00
eda276356f
added possibility to iterate through Space object in Models objects
2021-06-22 18:01:47 +02:00
e442ee4720
make depend
2021-06-20 16:55:39 +02:00
615bad7372
renamed macro: EZC_HAS_SPECIAL_STREAM -> EZC_GENERATOR_HAS_PT_STREAM
...
added macro EZC_GENERATOR_HAS_WINIX_STREAM which is used by Generator::CopyStream(pt::WTextStream & src_stream, StreamType & dst_stream, bool should_escape)
if this macro is defined then Generator is able to escape output stream
2021-06-20 16:54:55 +02:00
9c4fe51790
Generator uses now pt::Log as a logger
...
- added method SetLogger(pt::Log & logger)
- removed SetCommentary(...) methods
- added logs when a model is not found
PatternParser uses only pt::Log
- removed SetCommentary(...) methods
2021-06-19 20:18:30 +02:00
d76bb9349b
added typename keyword to Generator::CallModelHelper Generator::FindLastModelWrapper(...)
2021-06-18 18:55:39 +02:00
4a64336864
added support for morm containers with pointers to models
2021-06-17 21:33:28 +02:00
abb60def6e
added .editorconfig file
2021-06-16 14:21:08 +02:00
9022d4a5fc
changed how models from morm library are used
...
now we are using morm::ModelWrapper... classes as wrappers on models and list/vector of models
and Models class is using these wrappers
this allows us to iterate through list/vectors in [for...] statements
2021-06-16 14:16:49 +02:00
e6fd9aad37
added basic support for calling variables and functions from morm::Model objects
2021-05-31 18:37:09 +02:00
3b858650f2
Merge branch 'api2021'
2021-05-28 16:11:50 +02:00