Режим синтаксиса для Coda не работает - проблема с регулярным выражением - PullRequest
0 голосов
/ 20 июня 2011

У меня есть следующий файл SyntaxDefinition.xml, который я использую для создания подсветки синтаксиса для файлов SilverStripe (.ss). Однако я получаю ошибку регулярного выражения с помощью следующего кода:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE syntax SYSTEM "syntax.dtd">
<syntax>

    <head>
        <name>SilverStripe Syntax</name>
        <charsintokens><![CDATA[_0987654321abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@]]></charsintokens> 
   </head>

    <states>

        <default id="Base" color="#000">

            <state id="String" color="#760f15">
                <begin><regex>"</regex></begin>
                <end><regex>(((?&lt;!\\)(\\\\)*)|^)"</regex></end>
            </state>

            <state id="Variable" color="#ff0000">
                <begin><regex>^\$([a-z])(?:)</regex></begin>
                <end><regex>[\n\r]</regex></end>
            </state>

            <import mode="PHP-HTML"/>

        </default>
    </states>
</syntax>

Я хочу, чтобы часть "Variable" этого кода окрашивала любой код, начинающийся со знака доллара, например, $ Content.

Ответы [ 2 ]

0 голосов
/ 21 июня 2011

Я нашел немного кода, который, кажется, работает:

<regex>(\$([\w\d])+)</regex>
0 голосов
/ 20 июня 2011

Попробуйте:

 <begin><regex>^\$[^\r\n]+</regex></begin>

или

<begin><regex>^\$</regex></begin>

в зависимости от того, как это работает

...