Code folding

105 views
Skip to first unread message

Aman

unread,
Sep 18, 2011, 9:56:21 PM9/18/11
to BBEdit Talk
Hi all,

Its great that BBedit supports syntax highlighting for Verilog HDL
(There is no other decent mac editor for Verilog). But it doesn't
support code folding. Well in Verilog, like Pascal, the code blocks
are written between "begin" and "end". BBedit's inbuilt support for
Pascal allows folding of begin-end blocks, but in Verilog this doesn't
work.

I read the Appendix-D of BBedit-10's manual that explains codeless
language modules. But wasn't able to understand what changes should i
make to this info.plist in VerilogHDL.bblm language module to make it
fold the begin-end blocks! Comments in Verilog have same syntax as C.
(either // or /* */)

Any suggestions are welcome!

Thanks

For your reference, am copying the code of info.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://
www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>11B26</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>VerilogHDL</string>
<key>CFBundleGetInfoString</key>
<string>10.0.2 (3095), copyright ©1992-2011 Bare Bones Software,
Inc.</string>
<key>CFBundleIdentifier</key>
<string>com.barebones.bblm.verilog</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>10.0.2</string>
<key>CFBundleSignature</key>
<string>BBLM</string>
<key>CFBundleVersion</key>
<string>3095</string>
<key>CSResourcesFileMapped</key>
<true/>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>4B110</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>10J567</string>
<key>DTSDKName</key>
<string>macosx10.6</string>
<key>DTXcode</key>
<string>0410</string>
<key>DTXcodeBuild</key>
<string>4B110</string>
<key>com.barebones.ProductBuildNumber</key>
<string>3095</string>
<key>com.barebones.bblminfo</key>
<array>
<dict>
<key>BBLMCanGuessLanguage</key>
<true/>
<key>BBLMColorsSyntax</key>
<true/>
<key>BBLMDroppedFilePathStyle</key>
<string>POSIX</string>
<key>BBLMIsCaseSensitive</key>
<false/>
<key>BBLMKeywordList</key>
<array>
<string>always</string>
<string>and</string>
<string>assign</string>
<string>automatic</string>
<string>begin</string>
<string>buf</string>
<string>bufif0</string>
<string>bufif1</string>
<string>case</string>
<string>casex</string>
<string>casez</string>
<string>cell</string>
<string>cmos</string>
<string>config</string>
<string>deassign</string>
<string>default</string>
<string>define</string>
<string>defparam</string>
<string>design</string>
<string>disable</string>
<string>edge</string>
<string>else</string>
<string>elsif</string>
<string>end</string>
<string>endcase</string>
<string>endconfig</string>
<string>endfunction</string>
<string>endgenerate</string>
<string>endif</string>
<string>endmodule</string>
<string>endprimitive</string>
<string>endspecify</string>
<string>endtable</string>
<string>endtask</string>
<string>event</string>
<string>for</string>
<string>force</string>
<string>forever</string>
<string>fork</string>
<string>function</string>
<string>generate</string>
<string>genvar</string>
<string>highz0</string>
<string>highz1</string>
<string>if</string>
<string>ifdef</string>
<string>ifndef</string>
<string>import</string>
<string>include</string>
<string>initial</string>
<string>inout</string>
<string>input</string>
<string>instance</string>
<string>integer</string>
<string>join</string>
<string>large</string>
<string>liblist</string>
<string>line</string>
<string>localparam</string>
<string>macromodule</string>
<string>medium</string>
<string>module</string>
<string>nand</string>
<string>negedge</string>
<string>nmos</string>
<string>nor</string>
<string>noshowcancelled</string>
<string>not</string>
<string>notif0</string>
<string>notif1</string>
<string>or</string>
<string>output</string>
<string>parameter</string>
<string>pmos</string>
<string>posedge</string>
<string>primitive</string>
<string>pull0</string>
<string>pull1</string>
<string>pulldown</string>
<string>pullup</string>
<string>pulsestyle_ondetect</string>
<string>pulsestyle_onevent</string>
<string>rcmos</string>
<string>reg</string>
<string>release</string>
<string>repeat</string>
<string>rnmos</string>
<string>rpmos</string>
<string>rtran</string>
<string>rtranif0</string>
<string>rtranif1</string>
<string>scalared</string>
<string>showcancelled</string>
<string>signed</string>
<string>small</string>
<string>specify</string>
<string>specparam</string>
<string>strong0</string>
<string>strong1</string>
<string>supply0</string>
<string>supply1</string>
<string>table</string>
<string>task</string>
<string>time</string>
<string>tran</string>
<string>tranif0</string>
<string>tranif1</string>
<string>tri</string>
<string>tri0</string>
<string>tri1</string>
<string>triand</string>
<string>trior</string>
<string>trireg</string>
<string>use</string>
<string>uselib</string>
<string>vectored</string>
<string>wait</string>
<string>wand</string>
<string>weak0</string>
<string>weak1</string>
<string>while</string>
<string>wire</string>
<string>wor</string>
<string>xnor</string>
<string>xor</string>
</array>
<key>BBLMLanguageCode</key>
<string>Veri</string>
<key>BBLMLanguageDisplayName</key>
<string>Verilog HDL</string>
<key>BBLMMainFunctionName</key>
<string>VerilogMachO</string>
<key>BBLMScansFunctions</key>
<true/>
<key>BBLMSuffixMap</key>
<array>
<dict>
<key>BBLMLanguageSuffix</key>
<string>.v</string>
</dict>
<dict>
<key>BBLMLanguageSuffix</key>
<string>.vl</string>
</dict>
</array>
<key>BBLMUseHTMLFileSearchRules</key>
<false/>
</dict>
</array>
</dict>
</plist>

Seth Dillingham

unread,
Sep 18, 2011, 11:12:49 PM9/18/11
to bbe...@googlegroups.com
On 9/18/2011, Aman said:

>I read the Appendix-D of BBedit-10's manual that explains codeless
>language modules. But wasn't able to understand what changes should i
>make to this info.plist in VerilogHDL.bblm language module to make it
>fold the begin-end blocks!

Aman,

The Verilog module is compiled code. It is not a codeless
language module.

You'll find an info.plist file in all BBEdit language modules,
and those info.plist files do have some similarities to codeless
language modules, but they're not the same thing.

Probably the best way to get folding support into the Verilog
module is to write to sup...@barebones.com and request it.

Seth

Reply all
Reply to author
Forward
0 new messages