Commit Graph

1733 Commits

Author SHA1 Message Date
Fabien Potencier 35f611f22c added some missing tests for getAttribute (for isXXX methods) 2012-12-01 19:04:43 +01:00
Fabien Potencier 6d40dbdf8b merged branch fabpot/extension-registration (PR #917)
This PR was merged into the master branch.

Commits
-------

4487387 reverted the early registration of extensions (extensions are now loaded as before -- as late as possible) -- closes #910

Discussion
----------

reverted the early registration of extensions (extensions are now loaded as before -- as late as possible)

---------------------------------------------------------------------------

by stof at 2012-11-30T20:18:51Z

Looks good to me
2012-12-01 08:00:48 +01:00
Fabien Potencier 44873875ff reverted the early registration of extensions (extensions are now loaded as before -- as late as possible) -- closes #910 2012-11-30 21:04:23 +01:00
Fabien Potencier 1894f18c68 fixed typo 2012-11-30 20:22:31 +01:00
Fabien Potencier b58df0e1ae added some unit for previous merge 2012-11-26 11:25:49 +01:00
Fabien Potencier 8a65b861ac merged branch arthens/master (PR #916)
This PR was merged into the master branch.

Commits
-------

16dc94e Fix broken variable reference

Discussion
----------

Fix broken variable reference

The exception message is referencing a non-existing variable $token, renamed to $tokens.
2012-11-26 11:25:04 +01:00
Giacomo Gatelli 16dc94ef98 Fix broken variable reference 2012-11-26 04:03:31 +00:00
Fabien Potencier b4743dcfaf merged branch LouTerrailloune/patch-1 (PR #913)
This PR was merged into the master branch.

Commits
-------

c3281bb Update doc/filters/split.rst

Discussion
----------

Update doc/filters/split.rst

Added missing quotes in return values.

---------------------------------------------------------------------------

by sstok at 2012-11-23T09:17:35Z

👍
2012-11-25 13:44:18 +01:00
Fabien Potencier 0ab0d55180 merged branch catchamonkey/compiler_typo (PR #915)
This PR was merged into the master branch.

Commits
-------

ae73c4c Fixes a typo in the compiler outdent comment

Discussion
----------

Fixes a typo in the compiler outdent comment

Embarrassing really as I introduced the typo back in June.

---------------------------------------------------------------------------

by catchamonkey at 2012-11-23T13:07:58Z

Failed due to time out, I can't rerun though as I', not part of this repo.
@fabpot could you rerun or merge anyway as it's a comment change?

---------------------------------------------------------------------------

by sstok at 2012-11-25T11:56:36Z

👍
2012-11-25 13:43:34 +01:00
Chris Sedlmayr ae73c4c368 Fixes a typo in the compiler outdent comment 2012-11-23 12:22:50 +00:00
Vincent Terraillon c3281bbd03 Update doc/filters/split.rst
Added missing quotes in return values.
2012-11-22 11:21:50 +01:00
Fabien Potencier 9b75e2c7ae merged branch Tobion/refactor-core-ext (PR #907)
This PR was merged into the master branch.

Commits
-------

6deee76 refactor test_empty and in_filter

Discussion
----------

refactor test_empty and in_filter
2012-11-19 08:06:38 +01:00
Fabien Potencier 3bcf27de69 merged branch gunnarlium/master (PR #908)
This PR was merged into the master branch.

Commits
-------

a666505 Update doc for consistency.

Discussion
----------

docs: Use lipsum in all examples.

Fixes a small inconsistency in the docs for extending twig.
2012-11-19 08:06:25 +01:00
Fabien Potencier 848ed309f3 merged branch Tobion/editorconfig (PR #909)
This PR was merged into the master branch.

Commits
-------

e8ee79f added editorconfig file

Discussion
----------

added editorconfig file

This file is also in symfony. So also having it in twig would make things easier and consistent.
2012-11-19 08:06:03 +01:00
Tobias Schultze e8ee79f8ed added editorconfig file 2012-11-18 21:42:00 +01:00
Gunnar Lium a666505339 Update doc for consistency. 2012-11-18 21:17:30 +01:00
Tobias Schultze 6deee7681b refactor test_empty and in_filter 2012-11-18 21:00:04 +01:00
Fabien Potencier ca97c2feff merged branch fabpot/env-simplifications (PR #904)
This PR was merged into the master branch.

Commits
-------

0a7b37b changed the way extension filters/tests/functions/node visitors/globals/token parsers are registered (they were loaded as late as possible, they are now loaded as early as possible)

Discussion
----------

simplified some code

This PR changes the way extension filters/tests/functions/node visitors/globals/token parsers are registered (they were loaded as late as possible, they are now loaded as early as possible)

It mainly consists of a code cleanup by removing the horrible staging hack we have now.
2012-11-18 10:49:51 +01:00
Fabien Potencier 0a7b37b8cc changed the way extension filters/tests/functions/node visitors/globals/token parsers are registered (they were loaded as late as possible, they are now loaded as early as possible) 2012-11-18 10:39:05 +01:00
Fabien Potencier 51f6974cc0 tweaked documentation 2012-11-18 10:38:27 +01:00
Fabien Potencier 11368e7e08 fixed 5.2 compat 2012-11-16 21:56:44 +01:00
Fabien Potencier 7072d8f54f merged branch fabpot/tokenparserbroker (PR #903)
This PR was merged into the master branch.

Commits
-------

8563e04 deprecated the token parser broker sub-system

Discussion
----------

deprecated the token parser broker sub-system

This is the first of a series of PRs where I want to deprecate some features that made sense at some point but do not anymore or features that are barely used. Deprecated features will still work in all versions of Twig 1.x but they will be removed in Twig 2.0.

This first one should not be controversial. The token parser broker was added at a time where functions in Twig were not available. Nowadays, creating a new tag is so rare that I cannot see any usage for the broker system.

As far as I know, nobody uses the broker system anyway (this feature is not even documented), except [Zwig](https://github.com/arnaud-lb/Zwig). And Zwig should probably create functions instead of tags for ZF helpers anyways.

ping @arnaud-lb

---------------------------------------------------------------------------

by arnaud-lb at 2012-11-16T17:27:02Z

IIRC the main reason for using this in Zwig was that ZF makes it hard to list helpers, and easy to get an helper by name. So the broken allows to use ZF helpers without listing them. The reason for using tags instead of functions is that many helpers in ZF are not used for their return value and/or printing. (Zwig also exposes helpers as functions, through registerUndefinedFunctionCallback, for those used for their return value or printing.)

No objection for removing in 2.x though.
2012-11-16 18:44:55 +01:00
Fabien Potencier 8563e040c9 deprecated the token parser broker sub-system 2012-11-16 17:47:28 +01:00
Fabien Potencier 158ed4e88c merged branch fabpot/named-arguments (PR #901)
This PR was merged into the master branch.

Commits
-------

4647913 added the ability to set default values for macro arguments (closes #447)
a59dcde added support for named arguments for filters, tests, and functions
65637b7 refactored the code handling arguments for PHP callbacks when compiling nodes

Discussion
----------

Named arguments and macro default values

This PR contains two new features. Even if they are not related, the code needed to make them work was almost the same.

The first feature is the ability to use named arguments for functions, tests, and filters:

```jinja
    {{ data|convert_encoding('UTF-8', 'iso-2022-jp') }}

    {# versus #}

    {{ data|convert_encoding(from='iso-2022-jp', to='UTF-8') }}
```

The syntax is borrowed from Python where named arguments are part of the language.

The second feature is the ability to defined default values for macro arguments:

```jinja
    {% macro input(name, value = "", type = "text", size = 20) %}
        <input type="{{ type }}" name="{{ name }}" value="{{ value|e }}" size="{{ size }}" />
    {% endmacro %}

```

More information in the updated documentation.

These features have been implemented with BC in mind (which means that the code is not optimal, but it will be completely refactored for Twig 2.0 where we will get rid of all those ridiculous `Twig_Filter_*` and `Twig_Function_*` classes).

---------------------------------------------------------------------------

by fabpot at 2012-11-15T10:34:16Z

I forgot to mention that there is no overhead if you are not using these new features, and that the overhead is only at compilation time (the compiled templates are the same as before).

---------------------------------------------------------------------------

by marekkalnik at 2012-11-15T10:36:49Z

That are some great features, thanks ! 👍

---------------------------------------------------------------------------

by lolautruche at 2012-11-15T10:46:42Z

Nice ! 👍
@fabpot So I guess the old behavior is kept, isn't it ?

---------------------------------------------------------------------------

by fspillner at 2012-11-15T10:50:31Z

Awesome!

---------------------------------------------------------------------------

by fabpot at 2012-11-15T11:28:20Z

@lolautruche yes, the old way still works of course.

---------------------------------------------------------------------------

by Seldaek at 2012-11-15T11:42:40Z

Awesome! This has been much needed a few times in the past. We can almost drop php altogether and just write twig :P

---------------------------------------------------------------------------

by marfillaster at 2012-11-15T12:07:43Z

@Seldaek maybe a twig to php processor

---------------------------------------------------------------------------

by Seldaek at 2012-11-15T12:14:34Z

@marfillaster that's already what twig is :)

---------------------------------------------------------------------------

by Tobion at 2012-11-15T12:38:28Z

@fabpot nice stuff

---------------------------------------------------------------------------

by simensen at 2012-11-15T16:01:03Z

This looks great!

---------------------------------------------------------------------------

by sstok at 2012-11-15T19:18:53Z

This was basically the only thing missing I was missing in Twig
💯 👍

---------------------------------------------------------------------------

by jorgelbg at 2012-11-15T20:05:15Z

I love this new feauture, it's great to have this on Twig! Brings a lot of clarity to my future templates ;-)
2012-11-16 08:04:33 +01:00
Fabien Potencier 4647913e50 added the ability to set default values for macro arguments (closes #447) 2012-11-15 12:59:42 +01:00
Fabien Potencier a59dcde3c2 added support for named arguments for filters, tests, and functions 2012-11-15 10:23:32 +01:00
Fabien Potencier 65637b7968 refactored the code handling arguments for PHP callbacks when compiling nodes 2012-11-14 19:26:01 +01:00
Fabien Potencier e1ad2bde9c moved filters/functions/tests syntax errors to the parser 2012-11-14 14:33:08 +01:00
Fabien Potencier 2243a14e3d switched version to 1.12 2012-11-14 14:33:03 +01:00
Fabien Potencier f85076b091 added support for extended ternary operator syntaxes (closes #134) 2012-11-14 07:40:53 +01:00
Fabien Potencier b16765ce8f bumped version to 1.11.2-DEV 2012-11-11 18:22:10 +01:00
Fabien Potencier e81b98944f prepared the 1.11.1 release v1.11.1 2012-11-11 18:17:59 +01:00
Fabien Potencier 1a10ea2fbb tweaked previous merge (refs #894) 2012-11-08 10:25:11 +01:00
Fabien Potencier 818f9c7e02 merged branch char101/fix-debug-lineno (PR #894)
This PR was squashed before being merged into the master branch (closes #894).

Commits
-------

7c5854b Fix twig error lineno off by 2

Discussion
----------

Fix twig error lineno off by 2

It seems to me that the lineno reported by Twig_Error is off by 2 from the real lineno in the generated PHP source

For example:

```
{% if true %}
Yes
{% endif %}
```

```php
<?php

/*  */
class __TwigTemplate_d41d8cd98f00b204e9800998ecf8427e extends Twig_Template
{
    public function __construct(Twig_Environment $env)
    {
        parent::__construct($env);

        $this->parent = false;

        $this->blocks = array(
        );
    }

    protected function doDisplay(array $context, array $blocks = array())
    {
        // line 1
        if (true) { // <- this is line 19
            // line 2
            echo "Yes // <- this is line 21
";
        }
    }

    public function getTemplateName()
    {
        return null;
    }

    public function isTraitable()
    {
        return false;
    }

    public function getDebugInfo()
    {
        return array (  19 => 2,  17 => 1,); // <- should be return array (  21 => 2,  19 => 1,);
    }
}
```

---------------------------------------------------------------------------

by char101 at 2012-11-08T08:23:57Z

Since `$compiler->addDebugInfo()` is called first before writing the node content, usually the number of lines in the PHP code is less than 2 (1 for the // lineno comment, and 1 for the generated content) than the line where the node content is written.
2012-11-08 10:22:28 +01:00
Charles 7c5854bba9 Fix twig error lineno off by 2 2012-11-08 10:22:28 +01:00
Fabien Potencier 615804bf74 fixed regression when calling a macro inside another one (closes #889) 2012-11-08 08:57:26 +01:00
Fabien Potencier d7fed092b1 fixed typo 2012-11-08 08:51:01 +01:00
Fabien Potencier 6ece65e3b8 udpated CHANGELOG 2012-11-08 07:31:43 +01:00
Fabien Potencier 501791cf1a added a test for previous merge (refs #892) 2012-11-08 07:29:16 +01:00
Fabien Potencier 769ae43633 merged branch char101/fix-ext-crash-on-undef-func-inside-macro (PR #892)
This PR was merged into the master branch.

Commits
-------

55b76c1 Fix extension crash when calling unknown method inside a macro

Discussion
----------

Fix extension crash when calling unknown method inside a macro

 Issue #890
2012-11-08 07:25:44 +01:00
Fabien Potencier 06bdc7a0ec fixed CS 2012-11-08 07:24:19 +01:00
Fabien Potencier 2fb6a914ce merged branch char101/optimize-strict-vars-php54 (PR #893)
This PR was squashed before being merged into the master branch (closes #893).

Commits
-------

f397a8f Use ternary operator with PHP 5.4 when strict_variables is true

Discussion
----------

Use ternary operator with PHP 5.4 when strict_variables is true

When strict variables is true, and using PHP 5.4, we can still use the ternary operator to optimize performance.
2012-11-08 07:21:48 +01:00
Charles f397a8f79b Use ternary operator with PHP 5.4 when strict_variables is true 2012-11-08 07:21:48 +01:00
Charles 55b76c1799 Fix extension crash when calling unknown method inside a macro 2012-11-08 09:25:27 +07:00
Fabien Potencier 5d87c321bf merged branch nomack84/fixed_typo (PR #891)
This PR was merged into the master branch.

Commits
-------

cc65c88 [template_from_string]Fixed typo

Discussion
----------

[template_from_string]Fixed typo in docs

Fix a typo in the template_from_string function docs
2012-11-07 21:11:21 +01:00
Mario A. Alvarez Garcia cc65c8843a [template_from_string]Fixed typo 2012-11-07 14:59:42 -05:00
Fabien Potencier c248887296 bumped version to 1.11.0-DEV 2012-11-07 12:22:35 +01:00
Fabien Potencier 795f6d876a prepared the 1.11.0 release v1.11.0 2012-11-07 12:20:21 +01:00
Fabien Potencier e6b3f49787 merged branch char101/fix-build-warning (PR #886)
This PR was merged into the master branch.

Commits
-------

3164ee3 Fix build warning for const pointer

Discussion
----------

Fix build warning for const pointer

 Issue #883
2012-11-07 07:34:36 +01:00
Charles 3164ee33d4 Fix build warning for const pointer 2012-11-07 08:49:50 +07:00