Changeset 60677 in spip-zone for _plugins_/coloration_code


Ignore:
Timestamp:
Apr 26, 2012, 12:36:47 PM (8 years ago)
Author:
marcimat@…
Message:

Colorier les fitres operateurs |> et condition |?
Autoriser des espaces entre avant et après le | d'un filtre.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/coloration_code/trunk/geshi/geshi/spip2.php

    r60675 r60677  
    9696
    9797// |filtre |class::methode
    98 @define('REG_NOM_FILTRE', '(<PIPE>[a-z_=!<>?][a-z0-9_=]*(::[a-z0-9_]*)?)');
     98// et |>= |?
     99@define('REG_NOM_FILTRE', '((?:<PIPE>\s*[a-z_=!<>?][a-z0-9_=]*(::[a-z0-9_]*)?)'
     100                . '|(?:<PIPE>\s*(?:&gt;=?|&lt;=?|&lt;&gt;|===?|!==?|\?)))');
    99101// la meme chose, mais sans etre capturant.
    100 @define('REG_NOM_FILTRE_TOUT', '(?:<PIPE>[a-z_=!<>?][a-z0-9_=]*(?:::[a-z0-9_]*)?)');
     102@define('REG_NOM_FILTRE_TOUT', '(?:(?:<PIPE>\s*[a-z_=!<>?][a-z0-9_=]*(::[a-z0-9_]*)?)'
     103                . '|(?:<PIPE>\s*(?:&gt;=?|&lt;=?|&lt;&gt;|===?|!==?|\?)))');
    101104
    102105// #BALISE
     
    119122          REG_BALISE_COMPLET_START . '(' // [ ... (
    120123        . '(?:' . REG_BALISE_TOUT . ')' // #BALISE
    121         . '(?:(' . REG_NOM_FILTRE_TOUT . '?' . str_replace('?R', '?5', REG_CRITERES_BOUCLE) . '?)*)' // {arguments} |filtre{criteres}
     124        . '(?:(\s*' . REG_NOM_FILTRE_TOUT . '?' . str_replace('?R', '?5', REG_CRITERES_BOUCLE) . '?)*)' // {arguments} |filtre{criteres}
    122125        . ')' . REG_BALISE_COMPLET_STOP ); // ) ... ]
    123126
     
    203206        // 4 = #BALISE|filtre{x}
    204207        // 5 =
    205         // 6 =
    206         // 7 = )
    207         // 8 = apres
    208         // 9 = ]
     208        // 6 =
     209        // 7 =
     210        // 8 = )
     211        // 9 = apres
     212        // 10 = ]
    209213        // -INERTE=x= sera remplace ensuite par le vrai caractere.
    210214        $retour =
     
    214218                . $matches[4] // balise
    215219                . '<|!REG3XP' . $key .'!>-INERTE=' . ord(')') . '=|>' // )
    216                 . $matches[8] // apres
     220                . $matches[9] // apres
    217221                . '<|!REG3XP' . $key .'!>-INERTE=' . ord(']') . '=|>' // ]
    218222                ;
     
    355359                        GESHI_MODIFIERS => '',
    356360                        ),
    357                 5 => array(
     361                '4b' => array(
    358362                        GESHI_SEARCH => REG_BALISE_COMPLET,
    359363                        SPIP_GESHI_REGEXP_FUNCTION => 'spip2_geshi_regexp_balise_callback',
    360364                        GESHI_MODIFIERS => '',
    361365                        ),
    362                 6 => array(
     366                '4c' => array(
    363367                        GESHI_SEARCH => REG_BALISE_COMPLET,
    364368                        SPIP_GESHI_REGEXP_FUNCTION => 'spip2_geshi_regexp_balise_callback',
    365369                        GESHI_MODIFIERS => '',
    366370                        ),
    367                 7 => array(
     371                '4d' => array(
    368372                        GESHI_SEARCH => REG_BALISE_COMPLET,
    369373                        SPIP_GESHI_REGEXP_FUNCTION => 'spip2_geshi_regexp_balise_callback',
    370374                        GESHI_MODIFIERS => '',
    371375                        ),
    372 
     376                '4e' => array(
     377                        GESHI_SEARCH => REG_BALISE_COMPLET,
     378                        SPIP_GESHI_REGEXP_FUNCTION => 'spip2_geshi_regexp_balise_callback',
     379                        GESHI_MODIFIERS => '',
     380                        ),
    373381
    374382                // Balise (#nom:TITRE**) (les etoiles)
Note: See TracChangeset for help on using the changeset viewer.