[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/vendor/geshi/geshi/src/geshi/ -> pf.php (source)

   1  <?php
   2  /*************************************************************************************
   3   * pf.php
   4   * --------
   5   * Author: David Berard (david@nfrance.com)
   6   * Copyright: (c) 2010 Benny Baumann (http://qbnz.com/highlighter/)
   7   * Release Version: 1.0.9.1
   8   * Date Started: 2009/10/16
   9   * Based on bash.php
  10   *
  11   * OpenBSD PACKET FILTER language file for GeSHi.
  12   *
  13   * CHANGES
  14   * -------
  15   * 2009/10/16 (1.0.0)
  16   *   -  First Release
  17   *
  18   * TODO
  19   * -------------------------
  20   * * Support ALTQ
  21   *
  22   *************************************************************************************
  23   *
  24   *     This file is part of GeSHi.
  25   *
  26   *   GeSHi is free software; you can redistribute it and/or modify
  27   *   it under the terms of the GNU General Public License as published by
  28   *   the Free Software Foundation; either version 2 of the License, or
  29   *   (at your option) any later version.
  30   *
  31   *   GeSHi is distributed in the hope that it will be useful,
  32   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  33   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  34   *   GNU General Public License for more details.
  35   *
  36   *   You should have received a copy of the GNU General Public License
  37   *   along with GeSHi; if not, write to the Free Software
  38   *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  39   *
  40   ************************************************************************************/
  41  
  42  $language_data = array (
  43      'LANG_NAME' => 'OpenBSD Packet Filter',
  44      'COMMENT_SINGLE' => array('#'),
  45      'COMMENT_MULTI' => array(),
  46      'COMMENT_REGEXP' => array(
  47          1 => "/\\$\\{[^\\n\\}]*?\\}/i",
  48          2 => '/<<-?\s*?(\'?)([a-zA-Z0-9]+)\1\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
  49          3 => "/\\\\['\"]/siU"
  50          ),
  51      'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
  52      'QUOTEMARKS' => array('"'),
  53      'HARDQUOTE' => array("'", "'"),
  54      'HARDESCAPE' => array("\'"),
  55      'ESCAPE_CHAR' => '',
  56      'ESCAPE_REGEXP' => array(
  57          1 => "#\\\\[nfrtv\\$\\\"\n]#i",
  58          2 => "#\\$[a-z_][a-z0-9_]*#i",
  59          3 => "/\\$\\{[^\\n\\}]*?\\}/i",
  60          4 => "/\\$\\([^\\n\\)]*?\\)/i",
  61          5 => "/`[^`]*`/"
  62          ),
  63      'KEYWORDS' => array(
  64          1 => array(
  65              'pass'
  66          ),
  67          2 => array(
  68              'block'
  69              ),
  70          3 => array(
  71              'quick','keep','state','antispoof','table','persist','file','scrub',
  72              'set','skip','flags','on'
  73              ),
  74          4 => array(
  75              'in','out','proto'
  76              )
  77          ),
  78      'SYMBOLS' => array(
  79          '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`','='
  80          ),
  81      'CASE_SENSITIVE' => array(
  82          GESHI_COMMENTS => false,
  83          1 => true,
  84          2 => true,
  85          3 => true,
  86          4 => true
  87          ),
  88      'STYLES' => array(
  89          'KEYWORDS' => array(
  90              1 => 'color: #009900; font-weight: bold;',
  91              2 => 'color: #990000; font-weight: bold;',
  92              3 => 'color: #7a0874;',
  93              4 => 'color: #336699;'
  94              ),
  95          'COMMENTS' => array(
  96              0 => 'color: #666666; font-style: italic;',
  97              1 => 'color: #800000;',
  98              2 => 'color: #cc0000; font-style: italic;',
  99              3 => 'color: #000000; font-weight: bold;'
 100              ),
 101          'ESCAPE_CHAR' => array(
 102              1 => 'color: #000099; font-weight: bold;',
 103              2 => 'color: #007800;',
 104              3 => 'color: #007800;',
 105              4 => 'color: #007800;',
 106              5 => 'color: #780078;',
 107              'HARD' => 'color: #000099; font-weight: bold;'
 108              ),
 109          'BRACKETS' => array(
 110              0 => 'color: #7a0874; font-weight: bold;'
 111              ),
 112          'STRINGS' => array(
 113              0 => 'color: #CC0000;',
 114              'HARD' => 'color: #CC0000;'
 115              ),
 116          'NUMBERS' => array(
 117              0 => 'color: #ff00cc;'
 118              ),
 119          'METHODS' => array(
 120              ),
 121          'SYMBOLS' => array(
 122              0 => 'color: #000000; font-weight: bold;'
 123              ),
 124          'REGEXPS' => array(
 125              0 => 'color: #007800;',
 126              1 => 'color: #007800;',
 127              2 => 'color: #007800;',
 128              4 => 'color: #007800;',
 129              5 => 'color: #660033;',
 130              6 => 'color: #000099; font-weight: bold;',
 131              7 => 'color: #0000ff;',
 132              ),
 133          'SCRIPT' => array(
 134              )
 135          ),
 136      'URLS' => array(
 137          1 => '',
 138          2 => '',
 139          3 => '',
 140          4 => ''
 141          ),
 142      'OOLANG' => false,
 143      'OBJECT_SPLITTERS' => array(
 144          ),
 145      'REGEXPS' => array(
 146          //Variables (will be handled by comment_regexps)
 147          0 => "\\$\\{[a-zA-Z_][a-zA-Z0-9_]*?\\}",
 148          //Variables without braces
 149          1 => "\\$[a-zA-Z_][a-zA-Z0-9_]*",
 150          //Variable assignment
 151          2 => "(?<![\.a-zA-Z_\-])([a-zA-Z_][a-zA-Z0-9_]*?)(?==)",
 152          //Shorthand shell variables
 153          4 => "\\$[*#\$\\-\\?!]",
 154          //Parameters of commands
 155          5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|$)",
 156          //IPs
 157          6 => "([0-9]{1,3}\.){3}[0-9]{1,3}",
 158          //Tables
 159          7 => "(&lt;(.*)&gt;)"
 160          ),
 161      'STRICT_MODE_APPLIES' => GESHI_NEVER,
 162      'SCRIPT_DELIMITERS' => array(
 163      ),
 164      'HIGHLIGHT_STRICT_BLOCK' => array(
 165          ),
 166      'TAB_WIDTH' => 4,
 167      'PARSER_CONTROL' => array(
 168          'COMMENTS' => array(
 169              'DISALLOWED_BEFORE' => '$'
 170          ),
 171          'KEYWORDS' => array(
 172              'DISALLOWED_BEFORE' => "(?<![\.\-a-zA-Z0-9_\$\#])",
 173              'DISALLOWED_AFTER' =>  "(?![\.\-a-zA-Z0-9_%\\/])"
 174          )
 175      )
 176  );