summaryrefslogtreecommitdiffstats
path: root/paste/include/geshi/contexts/css/css.php
blob: b2e2afed44905f418b0854bfd7254a3821c8f4e3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
/**
 * GeSHi - Generic Syntax Highlighter
 * 
 * For information on how to use GeSHi, please consult the documentation
 * found in the docs/ directory, or online at http://geshi.org/docs/
 * 
 *  This file is part of GeSHi.
 *
 *  GeSHi is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  GeSHi is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with GeSHi; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 *
 * You can view a copy of the GNU GPL in the COPYING file that comes
 * with GeSHi, in the docs/ directory.
 *
 * @package   lang
 * @author    Nigel McNie <nigel@geshi.org>
 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL
 * @copyright (C) 2005 Nigel McNie
 * @version   1.1.0
 * 
 */

/** Get the GeSHiCSSInlineMediaContext class */
require_once GESHI_CLASSES_ROOT . 'css' . GESHI_DIR_SEPARATOR . 'class.geshicssinlinemediacontext.php';

$this->_childContexts = array(
    new GeSHiCSSInlineMediaContext('css', $DIALECT, 'inline_media'),
    new GeSHiCodeContext('css',  $DIALECT, 'rule'),
    new GeSHiContext('css',  $DIALECT, 'common/multi_comment'),
    new GeSHiContext('css',  $DIALECT, 'attribute_selector'),
    new GeSHiCodeContext('css', $DIALECT, 'at_rule')
);

$this->_styler->setStyle($CONTEXT, 'color:#000;');

$this->_contextKeywords = array(
    0 => array(
        0 => array(
            '@font-face'
        ),
        1 => $CONTEXT . '/atrules',
        2 => 'color:#c9c;font-weight:bold;',
        3 => false,
        4 => ''
    ),
    1 => array(
        0 => array(
            'hover', 'link', 'visited', 'active', 'focus', 'first-child', 'first-letter',
            'first-line', 'before', 'after'
         ),
         1 => $CONTEXT . '/psuedoclasses',
         2 => 'color:#33f;',
         3 => false,
         4 => ''
     )
);

$this->_contextSymbols  = array(
    0 => array(
        0 => array(
            ',', '*', '>', '+'
            ),
        // name (should names have / in them like normal contexts? YES
        1 => $CONTEXT . '/sym',
        // style
        2 => 'color:#008000;'
        )
);

$this->_contextRegexps  = array(
    0 => array(
        0 => array(
            '#(\.[a-zA-Z][a-zA-Z0-9\-_]*)#'
        ),
        1 => '.',
        2 => array(
            1 => array($CONTEXT . '/class', 'color:#c9c;', false)// Don't check whether the match is actually a keyword
        )
    ),
    1 => array(
        0 => array(
            '/(#[a-zA-Z][a-zA-Z0-9\-_]*)/'
        ),
        1 => '#',
        2 => array(
            1 => array($CONTEXT . '/id', 'color:#c9c;font-weight:bold;', false)
        )
    )
);

?>