Ilya Puchka
dd7ea1e097
Access outer loop context via its label
2022-07-28 23:59:31 +02:00
Ilya Puchka
91df84b1a5
Loop labels
2022-07-28 23:59:31 +02:00
Ilya Puchka
a7448b74cf
Added break and continue nodes
2022-07-28 23:59:31 +02:00
Ilya Puchka
41e0c9c9e0
Changelog entry
2022-07-28 19:05:28 +02:00
Ilya Puchka
67f94aa9f0
Update docs
2022-07-28 19:05:28 +02:00
Ilya Puchka
8c379296ca
Cache rendered blocks content to reuse them in further calls
2022-07-28 19:01:13 +02:00
Ilya Puchka
7247d0a83d
Dynamic member lookup (via marker protocol)
2022-07-28 03:05:17 +02:00
Ilya Puchka
701221c0fb
always evaluate block.super even if it is not used
2022-07-27 18:51:52 +02:00
Ilya Puchka
693565ddda
syntax error on empty variable tag
2019-01-12 22:28:09 +00:00
Ilya Puchka
08fc21d177
Merge branch 'master' into dynamic-filter
2018-10-01 22:45:21 +01:00
Ilya Puchka
019d0cca76
updated docs
2018-10-01 22:16:43 +01:00
Ilya Puchka
da6a0ccaca
added some doc comments
2018-10-01 22:12:21 +01:00
Ilya Puchka
dbb5e14e9f
solve merge conflict issues
2018-10-01 21:59:03 +01:00
Ilya Puchka
0269052d6a
Merge branch 'master' into dynamic-filter
...
# Conflicts:
# CHANGELOG.md
# Sources/ForTag.swift
# Sources/IfTag.swift
# Sources/Parser.swift
# Sources/Variable.swift
# Tests/StencilTests/ExpressionSpec.swift
# Tests/StencilTests/FilterSpec.swift
# Tests/StencilTests/ForNodeSpec.swift
# Tests/StencilTests/VariableSpec.swift
2018-10-01 21:21:56 +01:00
Ilya Puchka
01afae9b79
Fix parsing token components with parenthesis without spaces ( #254 )
...
* fix parsing token components with brackets without spaces
* handle more edge cases
* do not use force unwrap
* use first/last instead of hasPrefix/hasSuffix
* update CHANGELOG
2018-09-30 21:57:19 +01:00
Ilya Puchka
d9f6a82f97
Convert Token from enum to struct ( #256 )
...
* convert Token from enum to struct
* private setter for components
* updated CHANGELOG
2018-09-30 21:48:44 +01:00
Ilya Puchka
fce3dc5e48
Added method to register boolean filters ( #160 )
...
* added method to register boolean filters
* parametrised negative filter name
* Update Extension.swift
* Update CHANGELOG.md
* renamed registerBooleanFilter to registerFilter
* updated docs
2018-09-25 23:29:21 +01:00
Ilya Puchka
f7bda226e8
Update to Spectre 0.9.0 ( #247 )
...
* update to Spectre 0.9.0
* fix variable spec tests
* fix flatMap warning
* updated CHANGELOG
2018-09-23 03:46:27 +03:00
Ilya Puchka
d238c25eef
Allow using collection accessors on strings ( #245 )
...
* allow using collection accessors on strings
* refactored resolving collection accessors
* refactored to fileprivate function
* Update Variable.swift
* Update templates.rst
2018-09-22 16:41:45 +03:00
Ilya Puchka
df2e193891
Allow conditions in variable node ( #243 )
...
* use condition in variable node
* added support for else expression
* addressing code review comments
2018-09-22 14:09:25 +03:00
Ilya Puchka
2c3962a3de
Added support for brackets in boolean expressions ( #165 )
...
* added support for brackets in boolean expressions
* more descriptive error messages
* use array slices
* added test for nested expressions
* removed brackets validation step
* address code review comments
* added doc comment
* simplify expression spec
* fixed docs
2018-09-21 22:07:28 +03:00
Ilya Puchka
8210fa57f1
Update CHANGELOG.md
2018-09-11 18:14:51 +01:00
Ilya Puchka
0074ee1d4a
check for property via selector before using value(forKey:)
2018-09-11 18:12:27 +01:00
Ilya Puchka
acda1b0caf
process template lines when Lexer is created not when parsing each token. ( #230 )
2018-09-10 11:39:19 +01:00
Ilya Puchka
96a004eb34
replace implicitly unwrapped optional with fatalError
2018-08-14 00:56:10 +01:00
Ilya Puchka
92ebfe59b1
removed unneeded error reporter references
2018-08-13 23:05:33 +01:00
Ilya Puchka
71ad162268
more indentations fixed
2018-08-13 20:02:07 +01:00
Ilya Puchka
b9702afbd4
fixed indetnations
2018-08-13 20:00:27 +01:00
Ilya Puchka
4f1a5b3e3d
store reference to token when parsing range variable
2018-08-12 22:25:25 +01:00
Ilya Puchka
3a4cd8aa27
Merge branch 'master' into errors-logs-improvements
2018-08-12 22:08:13 +01:00
Ilya Puchka
e795f052ea
updated docs
2018-08-04 20:19:50 +01:00
Ilya Puchka
2c411ca494
Merge branch 'master' into dynamic-filter
2018-08-04 20:05:59 +01:00
Ilya Puchka
f3d5843e78
updated CHANGELOG
2018-08-04 19:49:57 +01:00
Ilya Puchka
564ccb7af7
added filter to apply dynamic filter
2018-05-13 12:46:51 +01:00
Ilya Puchka
39ed9aa753
Fixed using spaces in filter expressions and variables lists ( #178 )
...
* fixed using spaces in filter expression
* fixed breaking variables lists and filters by spaces
* simplified smartJoin
* avoid force unwrap
2018-05-13 01:06:38 +01:00
Ilya Puchka
eb8c875853
docs: Update documentation ( #213 )
...
* Update documentation
* Update builtins.rst
2018-05-05 15:33:11 -07:00
Ilya Puchka
7c499cc077
fix(tokeniser): Tokenising a quote inside quoted parameter ( #210 )
2018-04-17 11:28:28 -07:00
Ilya Puchka
fe01beb4bb
feat(for loop): Support range literals ( #192 )
2018-04-04 17:56:58 -07:00
Ilya Puchka
2e6a7215c5
fix: subscripting tuple by value index ( #172 )
2018-04-04 17:25:13 -07:00
Ilya Puchka
f457cddd3f
feat(for loop): added property for loop length ( #171 )
2018-04-04 17:23:02 -07:00
Ilya Puchka
6b02fccf84
feat: added support for ranges in if-in expression ( #193 )
2018-04-04 17:22:05 -07:00
Ilya Puchka
29e859f1aa
fix: Do not print Optional(...) when rendering arrays ( #205 )
2018-04-04 17:13:34 -07:00
Ilya Puchka
8fa0bd275c
fix: accessing optional properties through reflection ( #204 )
2018-04-04 17:03:19 -07:00
Ilya Puchka
91847208a3
Merge pull request #177 from kylef/iterating-tuple-arrays
...
Iterating array of tuples with more than two values
2018-03-13 09:25:17 +00:00
Ilya Puchka
0bc6bd974e
feat: allow using new lines inside tags ( #202 )
2018-03-13 09:07:56 +00:00
Ilya Puchka
fa68ba9df8
feat: Added indent filter ( #188 )
2018-01-28 16:17:23 +00:00
Ilya Puchka
4827fb8e20
docs: Added the mention of projects that use Stencil ( #176 )
2018-01-22 18:30:53 +00:00
Ilya Puchka
359d086c02
feat(filters): Show similar filter names when missing filter( #186 )
2018-01-22 18:27:42 +00:00
Ilya Puchka
24c9746689
fix: updated package bumping PathKit version and created package maifest for swift 3 ( #184 )
2018-01-22 18:24:32 +00:00
Ilya Puchka
c4a84a6375
feat: apply string filters to arrays ( #190 )
2018-01-22 17:20:42 +00:00
Ilya Puchka
c30597457f
feat: added split fitler ( #187 )
2018-01-21 16:49:32 -08:00
Ilya Puchka
b54292788f
fixed swift 3 compiler crash
2018-01-01 16:22:06 +01:00
Ilya Puchka
d6766b43da
minor code refactoring
2018-01-01 16:22:06 +01:00
Ilya Puchka
662849e968
removed trailing witespaces
2018-01-01 16:22:06 +01:00
Ilya Puchka
4bfdb73175
removed unneeded code
2018-01-01 16:22:06 +01:00
Ilya Puchka
a165a6715f
fixed typos
2018-01-01 16:22:06 +01:00
Ilya Puchka
ac2fd56e8e
storing full sourcemap in token, refactored error reporting
2018-01-01 16:22:06 +01:00
Ilya Puchka
cb124319ec
removed unneeded changes
2018-01-01 16:22:05 +01:00
Ilya Puchka
abeb30bb1c
fix rendering templates created from string literals
2018-01-01 16:22:05 +01:00
Ilya Puchka
ed885f462a
refactored environment tests
2018-01-01 16:22:05 +01:00
Ilya Puchka
7756522317
fixed error on swift 3.1
2018-01-01 16:22:05 +01:00
Ilya Puchka
8d68edd725
replaced Lexeme protocol with Token
2018-01-01 16:22:05 +01:00
Ilya Puchka
218822fcb0
updated CHANGELOG
2018-01-01 16:22:04 +01:00
Ilya Puchka
ea7e1efac7
fixed highlighting of errors happening in {{ block.super }}
2018-01-01 16:21:51 +01:00
Ilya Puchka
bb3f33724b
unified setting higlighting range for errors
2018-01-01 16:21:51 +01:00
Ilya Puchka
c486617854
fixed reporting errors in child templates
2018-01-01 16:21:51 +01:00
Ilya Puchka
9a28142fa6
reporting error with its parent context
2018-01-01 16:21:51 +01:00
Ilya Puchka
53c1550c5b
reporting node rendering errors using reference to node’s token
2018-01-01 16:21:50 +01:00
Ilya Puchka
27135f3ea3
changer Never return type to Error in ErrorReporter
...
this resolves warning related to Never type
2018-01-01 16:21:50 +01:00
Ilya Puchka
5878c323a2
fixed iterating over template lines on linux
2018-01-01 16:21:50 +01:00
Ilya Puchka
97ab3cf31d
xcode backward compatibility fixes
...
- moved back to single line string literal
- fixed calculating string lenght
2018-01-01 16:21:50 +01:00
Ilya Puchka
7688326204
renamed Scanner property for original content
2018-01-01 16:21:50 +01:00
Ilya Puchka
079fdf39b8
added parent context to ErrorReporterContext and handling errors in include and extend nodes
2018-01-01 16:21:50 +01:00
Ilya Puchka
e59609f140
handling unknown filter errors
2018-01-01 16:21:50 +01:00
Ilya Puchka
d5f0be959f
using error reporter from environment to handle syntax errors
2018-01-01 16:21:50 +01:00
Ilya Puchka
0edb38588d
added ErrorReporter protocol with default implementation
2018-01-01 16:21:50 +01:00
Ilya Puchka
69cd8e4d3b
replaced Token with Lexeme protocol on TemplateSyntaxError
2018-01-01 16:21:50 +01:00
Ilya Puchka
6300dbc7bf
improved template syntax errors with file, line number and failed token highlighted in error message
2018-01-01 16:21:48 +01:00
Ilya Puchka
b4dc8dbb76
support for iterating array of tuples with more than two values
2018-01-01 16:11:33 +01:00
Ilya Puchka
2e80f70f67
Merge pull request #181 from kylef/fix-float-from-int
...
Fix creating float from int
2018-01-01 15:46:21 +01:00
Ilya Puchka
a6dba67828
fixed tests on swift 3.1
2018-01-01 15:20:02 +01:00
Ilya Puchka
691fe523b3
Merge branch 'master' into fix-float-from-int
2018-01-01 14:26:27 +01:00
Ilya Puchka
c0e66eb96f
feat: Allow iterating over tuple, struct and class properties
...
Closes #173
2017-12-31 12:38:09 -08:00
Ilya Puchka
79a16854e7
fixed implicit conversion of integer literals to float
2017-12-29 17:46:26 +01:00
Ilya Puchka
0f3a302108
fix(variable): Resolving variable as string literal ( #168 )
...
In Swift 4, a Substring was returned.
2017-12-26 20:27:26 -08:00
Ilya Puchka
1223efbc7e
fix(default): Check for wrapped nil in filter ( #162 )
2017-12-24 11:11:46 -08:00
Ilya Puchka
9357df35d1
Merge pull request #152 from kylef/resolving-superclass-keys
...
Added recursive resolution for superclass properties
2017-11-30 15:56:46 +00:00
Ilya Puchka
a96fcff680
Merge branch 'master' into resolving-superclass-keys
2017-11-30 10:44:46 +00:00
Ilya Puchka
0017aee5a8
Merge pull request #154 from kylef/fix-block-inheritance
...
Fixed block inheritance with several levels
2017-11-30 10:43:51 +00:00
Ilya Puchka
1e6846867e
fixed compiling in swift 3
2017-11-29 23:18:48 +01:00
Ilya Puchka
93c07e22b1
fixed block inheritance with several levels
2017-11-29 23:04:33 +01:00
Ilya Puchka
98461c75b0
updated CHANGELOG.md
2017-11-29 10:23:54 +00:00
Ilya Puchka
9994972a24
added recursive resolution for superclass properties
2017-11-29 10:18:56 +00:00
Ilya Puchka
e7a0738bda
fix(variable): checking values for nil when using mirror ( #144 )
2017-10-02 09:38:50 +01:00
Ilya Puchka
3180b26673
feat: added in expression in if tag ( #143 )
2017-10-01 11:46:48 +01:00
Ilya Puchka
5541eae818
feat: fixed parsing several filter arguments with quotes ( #98 )
2017-04-18 22:58:42 +01:00
Ilya Puchka
d1717df6ff
feat(for tag): Support where expressions ( #96 )
2017-04-11 11:39:00 +01:00