双引号中的geany语法高亮显示

时间:2013-11-25 10:50:42

标签: perl geany

我有一个包含以下行的perl脚本作为示例:

print "my newvar = $newvar";

VIM语法高亮显示双引号中的$ var是插值变量,并将其标记为不同颜色,但在Geany编辑器中,双引号内的任何文本和变量都被视为注释文本。是否可以像在vim中一样配置它?

1 个答案:

答案 0 :(得分:1)

据我所知,问题来源是Scintilla的Perl Lexer。

所以在那个旧词法分析器中,如果样式上下文处于默认状态并且双引号匹配,那么样式上下文将被设置为 string 状态,另一方面如果样式位于 string 状态,则双引号匹配,则样式 context 将设置为返回默认状态。双引号之间没有任何其他样式上下文切换。

提供代码段示例:

for (; scCTX . More () ; scCTX . Forward ()) {
    switch ( scCTX . state ) {
    case SCE_SPARKS_DEFAULT :
       if ( scCTX . Match ( '\"' )) {
            scCTX . SetState ( SCE_SPARKS_STRING );
            break ;
         };
        *
        *
        *
    case SCE_SPARKS_STRING :
        if ( scCTX . Match ('\"')) {
            scCTX . ForwardSetState ( SCE_SPARKS_DEFAULT );
        };
        break ;
       *
       *

解决方案可能是修改或添加新的词法分析器。但是,由于评论中提到的更新现在没有必要。