[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

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

   1  <?php
   2  /********************************************************************************
   3   * bibtex.php
   4   * -----
   5   * Author: Quinn Taylor (quinntaylor@mac.com)
   6   * Copyright: (c) 2009 Quinn Taylor (quinntaylor@mac.com), Nigel McNie (http://qbnz.com/highlighter)
   7   * Release Version: 1.0.9.1
   8   * Date Started: 2009/04/29
   9   *
  10   * BibTeX language file for GeSHi.
  11   *
  12   * CHANGES
  13   * -------
  14   * 2009/04/29 (1.0.8.4)
  15   *  -  First Release
  16   *
  17   * TODO
  18   * -------------------------
  19   *  - Add regex for matching and replacing URLs with corresponding hyperlinks
  20   *  - Add regex for matching more LaTeX commands that may be embedded in BibTeX
  21   *    (Someone who understands regex better than I should borrow from latex.php)
  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  
  43  // http://en.wikipedia.org/wiki/BibTeX
  44  // http://www.fb10.uni-bremen.de/anglistik/langpro/bibliographies/jacobsen-bibtex.html
  45  
  46  $language_data = array (
  47      'LANG_NAME' => 'BibTeX',
  48      'OOLANG' => false,
  49      'COMMENT_SINGLE' => array(
  50          1 => '%%'
  51          ),
  52      'COMMENT_MULTI' => array(),
  53      'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
  54      'QUOTEMARKS' => array(),
  55      'ESCAPE_CHAR' => '',
  56      'KEYWORDS' => array(
  57          0 => array(
  58              '@comment','@preamble','@string'
  59              ),
  60          // Standard entry types
  61          1 => array(
  62              '@article','@book','@booklet','@conference','@inbook',
  63              '@incollection','@inproceedings','@manual','@mastersthesis',
  64              '@misc','@phdthesis','@proceedings','@techreport','@unpublished'
  65              ),
  66          // Custom entry types
  67          2 => array(
  68              '@collection','@patent','@webpage'
  69              ),
  70          // Standard entry field names
  71          3 => array(
  72              'address','annote','author','booktitle','chapter','crossref',
  73              'edition','editor','howpublished','institution','journal','key',
  74              'month','note','number','organization','pages','publisher','school',
  75              'series','title','type','volume','year'
  76              ),
  77          // Custom entry field names
  78          4 => array(
  79              'abstract','affiliation','chaptername','cited-by','cites',
  80              'contents','copyright','date-added','date-modified','doi','eprint',
  81              'isbn','issn','keywords','language','lccn','lib-congress',
  82              'location','price','rating','read','size','source','url'
  83              )
  84          ),
  85      'URLS' => array(
  86          0 => '',
  87          1 => '',
  88          2 => '',
  89          3 => '',
  90          4 => ''
  91          ),
  92      'SYMBOLS' => array(
  93          '{', '}', '#', '=', ','
  94          ),
  95      'CASE_SENSITIVE' => array(
  96          1 => false,
  97          2 => false,
  98          3 => false,
  99          4 => false,
 100          GESHI_COMMENTS => false,
 101          ),
 102      // Define the colors for the groups listed above
 103      'STYLES' => array(
 104          'KEYWORDS' => array(
 105              1 => 'color: #C02020;', // Standard entry types
 106              2 => 'color: #C02020;', // Custom entry types
 107              3 => 'color: #C08020;', // Standard entry field names
 108              4 => 'color: #C08020;'  // Custom entry field names
 109              ),
 110          'COMMENTS' => array(
 111              1 => 'color: #2C922C; font-style: italic;'
 112              ),
 113          'STRINGS' => array(
 114              0 => 'color: #2020C0;'
 115              ),
 116          'SYMBOLS' => array(
 117              0 =>  'color: #E02020;'
 118              ),
 119          'REGEXPS' => array(
 120              1 => 'color: #2020C0;', // {...}
 121              2 => 'color: #C08020;',  // BibDesk fields
 122              3 => 'color: #800000;'   // LaTeX commands
 123              ),
 124          'ESCAPE_CHAR' => array(
 125              0 =>  'color: #000000; font-weight: bold;'
 126              ),
 127          'BRACKETS' => array(
 128              0 =>  'color: #E02020;'
 129              ),
 130          'NUMBERS' => array(
 131              ),
 132          'METHODS' => array(
 133              ),
 134          'SCRIPT' => array(
 135              )
 136          ),
 137      'REGEXPS' => array(
 138          // {parameters}
 139          1 => array(
 140              GESHI_SEARCH => "(?<=\\{)(?:\\{(?R)\\}|[^\\{\\}])*(?=\\})",
 141              GESHI_REPLACE => '\0',
 142              GESHI_MODIFIERS => 's',
 143              GESHI_BEFORE => '',
 144              GESHI_AFTER => ''
 145              ),
 146          2 => array(
 147              GESHI_SEARCH => "\bBdsk-(File|Url)-\d+",
 148              GESHI_REPLACE => '\0',
 149              GESHI_MODIFIERS => 'Us',
 150              GESHI_BEFORE => '',
 151              GESHI_AFTER => ''
 152              ),
 153          3 => array(
 154              GESHI_SEARCH => "\\\\[A-Za-z0-9]*+",
 155              GESHI_REPLACE => '\0',
 156              GESHI_MODIFIERS => 'Us',
 157              GESHI_BEFORE => '',
 158              GESHI_AFTER => ''
 159              ),
 160          ),
 161      'HIGHLIGHT_STRICT_BLOCK' => array(
 162          ),
 163      'OBJECT_SPLITTERS' => array(
 164          ),
 165      'STRICT_MODE_APPLIES' => GESHI_NEVER,
 166      'SCRIPT_DELIMITERS' => array(
 167          ),
 168      'PARSER_CONTROL' => array(
 169          'ENABLE_FLAGS' => array(
 170              'NUMBERS' => GESHI_NEVER
 171              ),
 172          'KEYWORDS' => array(
 173              3 => array(
 174                  'DISALLOWED_AFTER' => '(?=\s*=)'
 175                  ),
 176              4 => array(
 177                  'DISALLOWED_AFTER' => '(?=\s*=)'
 178                  ),
 179              )
 180          )
 181  );