Thank you! This is great. Can I bother you for an explanation for the folding part of the pattern? I assume this is the second part of the function pattern (the part named ‘function’).
On Sun, May 15, 2022, at 5:11 AM, jj wrote: > Hi Tim, > > Here is an attempt for you special case CLM. > > Save it as ~/Library/Application\ Support/BBEdit/Language\ > Modules/free42.plist > and restart BBEdit. > > You should now have a 'Free42' language module that highlights files with the > .free42 extension. > > HTH, > > Jean Jourdain > > -- > > <?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>BBLMColorsSyntax</key> > <true/> > <key>BBLMIsCaseSensitive</key> > <true/> > <key>BBLMSupportsTextCompletion</key> > <true/> > <key>BBLMKeywordList</key> > <array> > <string>GTO</string> > <string>RTN</string> > <string>LSTO</string> > <string>RCL</string> > <string>END</string> > <string>SIGN</string> > <string>R</string> > <string>XEQ</string> > </array> > <key>BBLMLanguageCode</key> > <string>FR42</string> > <key>BBLMLanguageDisplayName</key> > <string>Free42</string> > <key>BBLMScansFunctions</key> > <true/> > <key>BBLMFunctionScannerDoesFoldsToo</key> > <true/> > <key>BBLMSuffixMap</key> > <array> > <dict> > <key>BBLMLanguageSuffix</key> > <string>.free42</string> > </dict> > </array> > <key>Language Features</key> > <dict> > <key>Close Block Comments</key> > <false/> > <key>Close Statement Blocks</key> > <false/> > <key>End-of-line Ends Strings 1</key> > <false/> > <key>End-of-line Ends Strings 2</key> > <false/> > <key>Escape Char in Strings 1</key> > <string>\</string> > <key>Escape Char in Strings 2</key> > <string>\</string> > <key>Identifier and Keyword Character Class</key> > <string>\p{Xwd}</string> > <key>Open Block Comments</key> > <false/> > <key>Open Line Comments</key> > <false/> > <key>Open Statement Blocks</key> > <false/> > <key>Close Strings 1</key> > <false/> > <key>Close Strings 2</key> > <false/> > <key>Open Strings 1</key> > <false/> > <key>Open Strings 2</key> > <false/> > <key>String Pattern</key> > <string><![CDATA[(?x) > ^\d+ > ]]></string> > <key>Function Pattern</key> > <string><![CDATA[(?x)(?n) > ^\d+▸LBL\h > (?P<function_name> > ( > "[^"]+?" > | > \d+ > ) > ) > (?P<function> > \h*\n > (\d+\h.+(\n|\z))* > \d+\h.+ > ) > ]]></string> > </dict> > </dict> > </plist> > -- > On Saturday, May 14, 2022 at 10:36:49 PM UTC+2 Tim Gray wrote: >> I'm trying to write a codeless language module for an obscure 'language' - >> keystroke program listings for an HP42S calculator (or the Free42 program as >> the case may be). I think I've got all the keywords and special characters >> figured out but am struggling with two things. First, here's a sample >> program listing: >> >> 00 { 37-Byte Prgm } >> 01▸LBL "FAC" >> 02 X≠0? >> 03 GTO 00 >> 04 SIGN >> 05 RTN >> 06▸LBL 00 >> 07 R↑ >> 08 LSTO "T" >> 09 R↓ >> 10 LSTO "N" >> 11 1 >> 12 - >> 13 XEQ "FAC" >> 14 RCL "N" >> 15 × >> 16 RCL "T" >> 17 R↓ >> 18 END >> >> I'd like to have the 'LBL' lines show up in the function popup with the >> correct label ("FAC" or "00"). Code folding for each section would be nice, >> but not necessary. I'm not sure the best way to implement this - I tried >> "Prefix for Functions" but I'm assuming I need "Function Pattern" instead. >> >> My second question pertains to the line numbers. The line numbers are often >> part of a listing, but are not actually part of the program. I'd like some >> way to highlight those if possible. Is that doable in a CLM? The regex is >> easy: '^\d+( |▸)' but I don't know if there is anyway to implement it... >> >> Thanks, >> Tim >> > > > -- > This is the BBEdit Talk public discussion group. If you have a feature > request or need technical support, please email "[email protected]" > rather than posting here. Follow @bbedit on Twitter: > <https://twitter.com/bbedit> > --- > You received this message because you are subscribed to the Google Groups > "BBEdit Talk" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/bbedit/1796707b-1847-485a-93ce-b948255fb795n%40googlegroups.com > > <https://groups.google.com/d/msgid/bbedit/1796707b-1847-485a-93ce-b948255fb795n%40googlegroups.com?utm_medium=email&utm_source=footer>. -- This is the BBEdit Talk public discussion group. If you have a feature request or need technical support, please email "[email protected]" rather than posting here. Follow @bbedit on Twitter: <https://twitter.com/bbedit> --- You received this message because you are subscribed to the Google Groups "BBEdit Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/bbedit/471ee87a-19a7-4411-a7cf-02672e0a0641%40beta.fastmail.com.
