LDraw.org Discussion Forums
BBEdit LDraw Module - Printable Version

+- LDraw.org Discussion Forums (https://forums.ldraw.org)
+-- Forum: LDraw Programs (https://forums.ldraw.org/forum-7.html)
+--- Forum: LDraw Editors and Viewers (https://forums.ldraw.org/forum-11.html)
+--- Thread: BBEdit LDraw Module (/thread-2114.html)



BBEdit LDraw Module - Ramón Figueroa-Centeno - 2011-12-07

Aloha,

I have added to Jim DeVona's ldraw.plist, found in TextWrangler LDraw Kit (see below). So that it would do syntax highlighting in BBEdit.

Save it in text file, named ldraw.plist in

~/Library/Application Support/BBEdit/Language Modules/ldraw.plist

I would like to know how to get it to do code folding on the steps of an LDraw file.

Mahalo,

Ramón

Code:
<?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>BBEditDocumentType</key>
    <string>CodelessLanguageModule</string>
    <key>BBLMLanguageDisplayName</key>
    <string>LDraw</string>
    <key>BBLMLanguageCode</key>
    <string>LDrw</string>
    <key>BBLMColorsSyntax</key>
    <true/>
    <key>BBLMScansFunctions</key>
    <true/>
    <key>BBLMIsCaseSensitive</key>
    <false/>
    <key>BBLMCanSpellCheckCodeRuns</key>
    <true/>
    <key>BBLMKeywordList</key>
    <array>
        <string>!CATEGORY</string>
        <string>!CMDLINE</string>
        <string>!COLOUR</string>
        <string>!HELP</string>
        <string>!HISTORY</string>
        <string>!KEYWORDS</string>
        <string>!LDRAW_ORG</string>
        <string>!LICENSE</string>
        <string>!LPUB</string>
        <string>BFC</string>
        <string>CLEAR</string>
        <string>LDRAW_ORG</string>
        <string>PAUSE</string>
        <string>PRINT</string>
        <string>SAVE</string>
        <string>STEP</string>
        <string>WRITE</string>
        <string>Official</string>
        <string>Unofficial</string>
        <string>Un-official</string>
        <string>Part</string>
        <string>Subpart</string>
        <string>Primitive</string>
        <string>48_Primitive</string>
        <string>Shortcut</string>
        <string>File</string>
        <string>Model</string>
        <string>Submodel</string>
        <string>Element</string>
        <string>Sub-part</string>
        <string>Hi-Res Primitive</string>
        <string>Alias</string>
        <string>Cross-reference</string>
        <string>ABS</string>
        <string>ADD</string>
        <string>AREA</string>
        <string>ASSEM</string>
        <string>Author</string>
        <string>AXLE</string>
        <string>BACKGROUND</string>
        <string>BASE</string>
        <string>BEGIN</string>
        <string>BGT</string>
        <string>BI</string>
        <string>BOM</string>
        <string>BORDER</string>
        <string>BORDERLESS</string>
        <string>BUFEXCHG</string>
        <string>CALLOUT</string>
        <string>CENTER</string>
        <string>CHAIN</string>
        <string>CMDLINE</string>
        <string>COLOR</string>
        <string>COLORNAME</string>
        <string>COLOUR</string>
        <string>COLOURNAME</string>
        <string>COLS</string>
        <string>CONFIG</string>
        <string>CONSTRAIN</string>
        <string>CROSS</string>
        <string>DIVIDER</string>
        <string>ELECTRIC_CABLE</string>
        <string>ELSEPOV</string>
        <string>END</string>
        <string>ENDPOV</string>
        <string>FIBER_OPTIC_CABLE</string>
        <string>FLEX_CABLE</string>
        <string>FLEXHOSE</string>
        <string>FLEXIBLE_AXLE</string>
        <string>FLEXIBLE_TUBE</string>
        <string>GHOST</string>
        <string>GRAYED</string>
        <string>GROUP</string>
        <string>HEIGHT</string>
        <string>HIDE</string>
        <string>HORIZONTAL</string>
        <string>ID</string>
        <string>IFNOTPOV</string>
        <string>IFPOV</string>
        <string>IGN</string>
        <string>INSIDE</string>
        <string>INSTANCE_COUNT</string>
        <string>LDRAW</string>
        <string>LPUB</string>
        <string>MARGINS</string>
        <string>MATRIX</string>
        <string>MLCAD</string>
        <string>MULTI_STEP</string>
        <string>Name</string>
        <string>NUMBER</string>
        <string>OFFSET</string>
        <string>OUTSIDE</string>
        <string>PACK</string>
        <string>PAGE</string>
        <string>PART</string>
        <string>PLACEMENT</string>
        <string>PLASTIC_TREAD</string>
        <string>PLI</string>
        <string>PLIST</string>
        <string>PNEUMATIC_TUBE</string>
        <string>POINT</string>
        <string>POINTER</string>
        <string>REL</string>
        <string>REMOVE</string>
        <string>RETRIEVE</string>
        <string>RIBBED_TUBE</string>
        <string>RIGID_TUBE</string>
        <string>ROTATE</string>
        <string>ROTATION</string>
        <string>ROTSTEP</string>
        <string>ROUND</string>
        <string>RUBBER_BAND</string>
        <string>RUBBER_BELT</string>
        <string>RUBBER_TREAD</string>
        <string>SCALE</string>
        <string>SEPARATOR</string>
        <string>SHOW</string>
        <string>SIZE</string>
        <string>SKIP_BEGIN</string>
        <string>SKIP_END</string>
        <string>SORT</string>
        <string>SPRING</string>
        <string>SQUARE</string>
        <string>STEP_NUMBER</string>
        <string>STORE</string>
        <string>STRETCH</string>
        <string>SUB</string>
        <string>SUBS</string>
        <string>SYNTH</string>
        <string>SYNTHESIZED</string>
        <string>TRANS</string>
        <string>TRANSFORM</string>
        <string>TRANSLATE</string>
        <string>VERTICAL</string>
        <string>WIDTH</string>
        <string>YESNO</string>
    </array>
    <key>BBLMSuffixMap</key>
    <array>
        <dict>
            <key>BBLMLanguageSuffix</key>
            <string>.mpd</string>
        </dict>
        <dict>
            <key>BBLMLanguageSuffix</key>
            <string>.ldr</string>
        </dict>
        <dict>
            <key>BBLMLanguageSuffix</key>
            <string>.dat</string>
        </dict>
    </array>
    <key>Language Features</key>
    <dict>
        <key>Function Pattern</key>
        <string>^\s*0\s+FILE\s+(?P&lt;function_name&gt;\S+)\s*$</string>
        <key>Identifier and Keyword Character Class</key>
        <string>0-9A-Z_a-z!</string>
        <key>Comment Pattern</key>
        <string>^\s*0\s+(?!!|STEP|ROTSTEP|Name|Author|FILE|Official|Unofficial|Un-official).*</string>
        <key>Skip Pattern</key>
        <string></string>
        <key>String Pattern</key>
        <string></string>
    </dict>
</dict>
</plist>