Commit Graph

123 Commits

Author SHA1 Message Date
David Jennes
2e67755118 Fix a bug where tokens without spaces were parsed incorrectly 2018-09-26 03:06:49 +02:00
David Jennes
fff93f18dd Add performance test (no reporting yet) 2018-09-26 00:33:15 +02:00
David Jennes
652dcd246d Add lexer test for escape sequence 2018-09-26 00:33:15 +02:00
David Jennes
4f84627caa Add test for crashing 2018-09-26 00:33:15 +02: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
David Jennes
fce4e85a63 Ensure the "for" iteration over a dictionary is consistent 2018-09-21 00:17:42 +02:00
David Jennes
0d4dee29b2 Use multiline strings
multi

t

t
2018-09-20 04:17:42 +02:00
Ilya Puchka
0074ee1d4a check for property via selector before using value(forKey:) 2018-09-11 18:12:27 +01:00
Yonas Kolb
420c0eacd7 update code to Swift 4.1 2018-09-10 20:59:02 +10: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
Sébastien Duperron
00e71c1b4d Fix typo in VariableSpec describing subscripting (#229) 2018-09-08 14:05:05 +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
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
David Jennes
2e18892f4c Subscript syntax for Variables (#215)
* Implement variable indirect resolution

* Add some tests

* Changelog entry

* Update documentation

* Rework the syntax to use brackets instead of a $

* Move the lookup parser into it's own file

* Add invalid syntax tests

* Swift 3 support

* Rename some things + extra test
2018-05-19 21:03: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
Yonas Kolb
098af2a7b6 remove "using" param name 2018-04-30 12:00:54 +10:00
Yonas Kolb
7679b48164 add contex to include 2018-04-30 11:45:22 +10: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
Kyle Fuller
86ed8770e1 Merge branch 'master' into iterating-tuple-arrays 2018-03-13 09:12:09 +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
359d086c02 feat(filters): Show similar filter names when missing filter(#186) 2018-01-22 18:27:42 +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
ac2fd56e8e storing full sourcemap in token, refactored error reporting 2018-01-01 16:22:06 +01:00
Ilya Puchka
ed885f462a refactored environment tests 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
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
5878c323a2 fixed iterating over template lines on linux 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
6300dbc7bf improved template syntax errors with file, line number and failed token highlighted in error message 2018-01-01 16:21:48 +01:00