Adobe Dreamweaver Code Coloring for Laravel Blade


Adobe Dreamweaver Code Coloring for Laravel Blade

我想很多使用 Dreamweaver 作为 Laravel Blade 文本编辑器的人都会面临代码/语法着色不受支持的问题。如果没有代码着色,编码就很难阅读。因此,我决定在 dreamweaver 上进行一些"黑客攻击",以获得与 Laravel Blade 一起使用的代码着色工作。

为此,您需要转到 C:''Program Files (x86)''Adobe''Adobe Dreamweaver CS6''configuration''CodeColoring 文件夹。然后,编辑 php.xml 文件。

在CodeColor_PHPScriptBlock下添加以下内容

<blockStart doctypes="PHP_MySQL" scheme="customText"><![CDATA[{{]]></blockStart>
<blockEnd><![CDATA[}}]]></blockEnd>
<blockStart doctypes="PHP_MySQL" scheme="customText"><![CDATA[{{{]]></blockStart>
<blockEnd><![CDATA[}}}]]></blockEnd>

然后,在CodeColor_PHPScriptComment下添加以下内容

<commentStart><![CDATA[--]]></commentStart>
<commentEnd><![CDATA[--]]></commentEnd>

现在,您应该具有代码着色和代码提示。

但是,我仍然无法在 Dreamweaver 中获得刀片语法着色工作。以下是仍然不起作用的语法:

@section
@show
@yield
@extends
@parent
@stop
@if
@elseif
@else
@endif
@unless
@endunless
@for
@endfor
@foreach
@endforeach
@while
@endwhile
@include
@overwrite
@lang
@choice

如果您知道如何在 Dreamweaver 中获取上述语法着色作品,请与我分享。谢谢。

也许使用 @ 作为 blockStart 和 ) 作为 blockEnd。问题是跟踪左括号和右括号。

这是这里的基本概念,在 github.com/Medalink/laravel-blade(laravel-blade.tmLanguage):

<key>foldingStartMarker</key>
<string>'@'b(section)'b(?=(|'s*|)'()</string>
<key>foldingStopMarker</key>
<string>')(?!.*'))</string>