Got it working, if you're still interested...
https://github.com/aroaminggeek/BBEdit-Stuff/blob/master/Codeless-Language-Modules/magicpython.plist
On Monday, July 10, 2017 at 4:00:45 PM UTC-7, ProtonScott wrote:
>
> Hello All,
>
> So I have explored the codeless language module creation, and I created a 
> module based on MagicPython. While the built in Python is great, I think 
> the folks at magicstack did a great job with it and I wanted to have some 
> custom syntax highlighting.
>
> <?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>BBLMLanguageCode</key>
> <string>pypy</string>
> <key>BBLMLanguageDisplayName</key>
> <string>MagicPython</string>
> <key>BBLMColorsSyntax</key>
> <true/>
> <key>BBLMIsCaseSensitive</key>
> <true/>
> <key>BBLMSupportsTextCompletion</key>
> <true/>
> <key>BBLMKeywordList</key>
>   <array>
>     <string>False</string>
>     <string>None</string>
>     <string>True</string>
>     <string>and</string> 
>     <string>as</string> 
>     <string>assert</string>
>     <string>break</string> 
>     <string>class</string>
>       <string>continue</string> 
>       <string>def</string> 
>       <string>del</string> 
>       <string>elif</string> 
>       <string>else</string> 
>       <string>except</string> 
>       <string>finally</string> 
>       <string>for</string> 
>       <string>from</string> 
>       <string>global</string> 
>       <string>if</string> 
>       <string>import</string> 
>       <string>in</string> 
>       <string>is</string> 
>       <string>lambda</string> 
>       <string>nonlocal</string> 
>       <string>not</string> 
>       <string>or</string> 
>       <string>pass</string> 
>       <string>raise</string> 
>       <string>return</string> 
>       <string>try</string> 
>       <string>while</string> 
>       <string>with</string> 
>       <string>yield</string>
>       <string>#</string>
>       <string>=</string>
>       <string>==</string>
>       <string>apos</string>
>       <string>&lt;</string>
>       <string>&gt;</string>
>       <string>@</string>
>       <string>!=</string>
>       <string>&quot;</string>
>       <string>&apos;</string>
>       <string>&lt;=</string>
>       <string>&gt;=</string>
>       <string>&amp;</string>
>       <string>|</string>
>       <string>*</string>
>       <string>/</string>
>       <string>+</string>
>       <string>-</string>
>       <string>?</string>
>       <string>^</string>
>   </array>
> <key>BBLMScansFunctions</key> 
>   <true/>
> <key>BBLMFunctionScannerDoesFoldsToo</key>
>     <true/>
> <key>BBLMSuffixMap</key> 
> <array> 
> <dict> 
> <key>BBLMLanguageSuffix</key> 
> <string>.py</string> 
> </dict> 
> </array> 
> <key>BBLMPredefinedNameList</key>
> <array>
>     <string>abs</string>
>     <string>all</string>
>     <string>any</string>
>     <string>bin</string>
>     <string>ascii</string>
>     <string>bool</string>
>     <string>bytearray</string>
>     <string>bytes</string>
>     <string>callable</string>
>     <string>chr</string>
>     <string>classmethod</string>
>     <string>compile</string>
>     <string>complex</string>
>     <string>delattr</string>
>     <string>dict</string>
>     <string>dir</string>
>     <string>divmod</string>
>     <string>enumerate</string>
>     <string>eval</string>
>     <string>exec</string>
>     <string>filter</string>
>     <string>float</string>
>     <string>format</string>
>     <string>frozenset</string>
>     <string>getattr</string>
>     <string>globals</string>
>     <string>hasattr</string>
>     <string>hash</string>
>     <string>help</string>
>     <string>hex</string>
>     <string>id</string>
>     <string>input</string>
>     <string>int</string>
>     <string>isinstance</string>
>     <string>issubclass</string>
>     <string>iter</string>
>     <string>len</string>
>     <string>list</string>
>     <string>locals</string>
>     <string>map</string>
>     <string>max</string>
>     <string>memoryview</string>
>     <string>min</string>
>     <string>next</string>
>     <string>object</string>
>     <string>oct</string>
>     <string>open</string>
>     <string>ord</string>
>     <string>pow</string>
>     <string>print</string>
>     <string>property</string>
>     <string>range</string>
>     <string>repr</string>
>     <string>reversed</string>
>     <string>round</string>
>     <string>set</string>
>     <string>setattr</string>
>     <string>slice</string>
>     <string>sorted</string>
>     <string>staticmethod</string>
>     <string>str</string>
>     <string>sum</string>
>     <string>super</string>
>     <string>tuple</string>
>     <string>type</string>
>     <string>vars</string>
>     <string>zip</string>
>     <string>__import__</string>
>     <string>__new__</string>
>     <string>__init__</string>
>     <string>__del__</string>
>     <string>__repr__</string>
>     <string>__str__</string>
>     <string>__bytes__</string>
>     <string>__format__</string>
>     <string>__lt__</string>
>     <string>__le__</string>
>     <string>__eq__</string>
>     <string>__ne__</string>
>     <string>__gt__</string>
>     <string>__ge__</string>
>     <string>__hash__</string>
>     <string>__bool__</string>
>     <string>__getattr__</string>
>     <string>__getattribute__</string>
>     <string>__setattr__</string>
>     <string>__delattr__</string>
>     <string>__get__</string>
>     <string>__set__</string>
>     <string>__delete__</string>
>     <string>__set_name__</string>
>     <string>__slots__</string>
>     <string>__init_subclass__</string>
>     <string>__prepare__</string>
>     <string>__class__</string>
>     <string>__subclasscheck__</string>
>     <string>__instancecheck__</string>
>     <string>__call__</string>
>     <string>__len__</string>
>     <string>__length_hint__</string>
>     <string>__missing__</string>
>     <string>__setitem__</string>
>     <string>__iter__</string>
>     <string>__delitem__</string>
>     <string>__reversed__</string>
>     <string>__contains__</string>
>     <string>__add__</string>
>     <string>__sub__</string>
>     <string>__mul__</string>
>     <string>__matmul__</string>
>     <string>__truediv__</string>
>     <string>__floordiv__</string>
>     <string>__mod__</string>
>     <string>__divmod__</string>
>     <string>__pow__</string>
>     <string>__lshift__</string>
>     <string>__rshift__</string>
>     <string>__and__</string>
>     <string>__xor__</string>
>     <string>__or__</string>
>     <string>__radd__</string>
>     <string>__rsub__</string>
>     <string>__rmul__</string>
>     <string>__rmatmul__</string>
>     <string>__rtruediv__</string>
>     <string>__rfloordiv__</string>
>     <string>__rmod__</string>
>     <string>__rdivmod__</string>
>     <string>__rpow__</string>
>     <string>__rlshift__</string>
>     <string>__rrshift__</string>
>     <string>__rand__</string>
>     <string>__rxor__</string>
>     <string>__ror__</string>
>     <string>__iadd__</string>
>     <string>__isub__</string>
>     <string>__imul__</string>
>     <string>__imatmul__</string>
>     <string>__itruediv__</string>
>     <string>__ifloordiv__</string>
>     <string>__imod__</string>
>     <string>__idivmod__</string>
>     <string>__ipow__</string>
>     <string>__ilshift__</string>
>     <string>__irshift__</string>
>     <string>__iand__</string>
>     <string>__ixor__</string>
>     <string>__ior__</string>
>     <string>__neg__</string>
>     <string>__pos__</string>
>     <string>__abs__</string>
>     <string>__invert__</string>
>     <string>__complex__</string>
>     <string>__int__</string>
>     <string>__float__</string>
>     <string>__round__</string>
>     <string>__index__</string>
>     <string>__enter__</string>
>     <string>__exit__</string>
>     <string>__await__</string>
>     <string>__aiter__</string>
>     <string>send</string>
>     <string>throw</string>
>     <string>close</string>
>     <string>__anext__</string>
>     <string>__aenter__</string>
>     <string>__aexit__</string>
>     <string>__debug__</string>
>     <string>site</string>
>     <string>__future__</string>
>     <string>__main__</string>
>     <string>abc</string>
>     <string>aifc</string>
>     <string>argparse</string>
>     <string>array</string>
>     <string>ast</string>
>     <string>asynchat</string>
>     <string>asyncio</string>
>     <string>asyncore</string>
>     <string>atexit</string>
>     <string>audioop</string>
>     <string>base64</string>
>     <string>bdb</string>
>     <string>binascii</string>
>     <string>binhex</string>
>     <string>bisect</string>
>     <string>builtins</string>
>     <string>bz2</string>
>     <string>calendar</string>
>     <string>cgi</string>
>     <string>cgitb</string>
>     <string>chunk</string>
>     <string>cmath</string>
>     <string>cmd</string>
>     <string>code</string>
>     <string>codecs</string>
>     <string>codeops</string>
>     <string>collections</string>
>     <string>collections.abc</string>
>     <string>colorsys</string>
>     <string>compileall</string>
>     <string>concurrent</string>
>     <string>concurrent.futures</string>
>     <string>configparser</string>
>     <string>contextlib</string>
>     <string>copy</string>
>     <string>string</string>
>     <string>copyreg</string>
>     <string>cprofile</string>
>     <string>crypt</string>
>     <string>csv</string>
>     <string>curses</string>
>     <string>curses.ascii</string>
>     <string>curses.panel</string>
>     <string>curses.textpad</string>
>     <string>datetime</string>
>     <string>dbm</string>
>     <string>dbm.dumb</string>
>     <string>dbm.gnu</string>
>     <string>dbm.ndbm</string>
>     <string>decimal</string>
>     <string>difflib</string>
>     <string>dis</string>
>     <string>disutils</string>
>     <string>disutils.archive_util</string>
>     <string>disutils.bcppcompiler</string>
>     <string>disutils.ccompiler</string>
>     <string>disutils.cmd</string>
>     <string>disutils.command</string>
>     <string>disutils.command.bdist</string>
>     <string>disutils.command.bdist_dumb</string>
>     <string>disutils.command.bdist_msi</string>
>     <string>distutils.command.bdist_wininst</string>
>     <string>long</string>
>     <string>distutils.command.build_scripts</string>
>       <string>distutils.command.check </string>
>       <string>distutils.command.clean</string>
>       <string>distutils.command.config </string>   
>       <string>distutils.command.install</string>   
>       
> <string>distutils.command.install_datadistutils.command.build</string>  
>       <string>distutils.command.build_clib</string>    
>       <string>distutils.command.build_ext</string> 
>       <string>distutils.command.build_py</string>
>       <string>distutils.command.build_scripts</string> 
>       <string>distutils.command.check</string> 
>       <string>distutils.command.config</string>
>       <string>distutils.command.install_data</string>  
>       <string>distutils.command.install_headers</string>   
>       <string>distutils.command.install_lib</string>   
>       <string>distutils.command.install_scripts</string>   
>       <string>distutils.command.register</string>  
>       <string>distutils.command.sdist</string> 
>       <string>distutils.core</string>  
>       <string>distutils.cygwinccompiler</string>   
>       <string>distutils.debug</string> 
>       <string>distutils.dep_util</string>  
>       <string>distutils.dir_util</string>  
>       <string>distutils.dist</string> 
>       <string>distutils.errors</string>   
>       <string>distutils.extension</string> 
>       <string>distutils.fancy_getopt</string> 
>       <string>distutils.file_util</string> 
>       <string>distutils.filelist</string>
>       <string>distutils.log</string>
>       <string>distutils.msvccompiler</string>
>       <string>distutils.spawn</string>
>       <string>distutils.sysconfig</string>
>       <string>distutils.text_file</string>
>       <string>distutils.unixccompiler</string>
>       <string>distutils.util</string>
>       <string>distutils.version</string>
>       <string>email</string>
>       <string>email.charset</string>
>       <string>email.contentmanager</string>
>       <string>email.encoders</string>
>       <string>email.errors</string>
>       <string>email.generator</string>
>       <string>email.header</string>
>       <string>email.headerregistry</string>
>       <string>email.iterators</string>
>       <string>email.message</string>
>       <string>email.mime</string>
>       <string>email.parser</string>
>       <string>email.policy</string>
>       <string>email.utils</string>
>       <string>encodings</string>
>       <string>encodings.idna</string>
>       <string>encodings.mbcs</string>
>       <string>encodings.utf</string>
>       <string>html</string>
>       <string>html.entities</string>
>       <string>html.parser</string>
>       <string>http</string>
>       <string>http.client</string>
>       <string>http.cookiejar</string>
>       <string>http.cookies</string>
>       <string>http.server</string>
>       <string>importlib.abc</string>
>       <string>importlib.machinery</string>
>       <string>importlib.util</string>
>       <string>json</string>
>       <string>json.tool</string>
>       <string>logging</string>
>       <string>logging.config</string>
>       <string>logging.handlers</string>
>       <string>multiprocessing</string>
>       <string>multiprocessing.connection</string>
>       <string>multiprocessing.dummy</string>
>       <string>multiprocessing.managers</string>
>       <string>multiprocessing.pool</string>
>       <string>multiprocessing.sharedctypes</string>
>       <string>os</string>
>       <string>os.path</string>
>       <string>test.support</string>
>       <string>tkinter</string>
>       <string>tkinter.scrolledtext</string>
>       <string>tkinter.tix</string>
>       <string>tkinter.ttk</string>
>       <string>unittest</string>
>       <string>unittest.mock</string>
>       <string>urllib</string>
>       <string>urllib.error</string>
>       <string>urllib.parse</string>
>       <string>urllib.request</string>
>       <string>urllib.response</string>
>       <string>urllib.robotparser</string>
>       <string>wsgiref.handlers</string>
>       <string>wsgiref.headers</string>
>       <string>wsgiref.simple</string>
>       <string>wsgiref.util</string>
>       <string>wsgiref.validate</string>
>       <string>xml</string>
>       <string>xml.dom</string>
>       <string>xml.dom.minidom</string>
>       <string>xml.dom.pulldom</string>
>       <string>xml.etree.ElementTree</string>
>       <string>xml.sax</string>
>       <string>xmlrpc.server</string>
>       <string>ensurepip</string>
>       <string>enum</string>
>       <string>errno</string>
>       <string>faulthandler</string>
>       <string>fcntl</string>
>       <string>filecmp</string>
>       <string>fileinput</string>
>       <string>fnmatch</string>
>       <string>formatter</string>
>       <string>fpectl</string>
>       <string>fractions</string>
>       <string>ftplib</string>
>       <string>functools</string>
>       <string>gc</string>
>       <string>getopt</string>
>       <string>getpass</string>
>       <string>gettext</string>
>       <string>glob</string>
>       <string>grp</string>
>       <string>gzip</string>
>       <string>hashlib</string>
>       <string>heapq</string>
>       <string>hmac</string>
>       <string>http.status</string>
>       <string>imaplib</string>
>       <string>imghdr</string>
>       <string>importlib</string>
>       <string>ipaddress</string>
>       <string>itertools</string>
>       <string>keyword</string>
>       <string>lib</string>
>       <string>linecach</string>
>       <string>locale</string>
>       <string>lzma</string>
>       <string>macpath</string>
>       <string>mailbox</string>
>       <string>mailcap</string>
>       <string>marshal</string>
>       <string>math</string>
>       <string>mimetypes</string>
>       <string>mmap</string>
>       <string>modulefinder</string>
>       <string>msilib</string>
>       <string>msvcrt</string>
>       <string>netrc</string>
>       <string>nis</string>
>       <string>nntplib</string>
>       <string>numbers</string>
>       <string>operator</string>
>       <string>optparse</string>
>       <string>ossaudiodev</string>
>       <string>parser</string>
>       <string>pathlib</string>
>       <string>pdb</string>
>       <string>pickle</string>
>       <string>pickletools</string>
>       <string>pipes</string>
>       <string>pkgutil</string>
>       <string>platform</string>
>       <string>plistlib</string>
>       <string>poplib</string>
>       <string>posix</string>
>       <string>pprint</string>
>       <string>profile</string>
>       <string>pstats</string>
>       <string>pty</string>
>       <string>pwd</string>
>       <string>py</string>
>       <string>pyclbr</string>
>       <string>pydoc</string>
>       <string>queue</string>
>       <string>quopri</string>
>       <string>random</string>
>       <string>re</string>
>       <string>readline</string>
>       <string>reprlib</string>
>       <string>resource</string>
>       <string>rlcompleter</string>
>       <string>runpy</string>
>       <string>sched</string>
>       <string>secrets</string>
>       <string>select</string>
>       <string>selectors</string>
>       <string>shelve</string>
>       <string>shlex</string>
>       <string>shutil</string>
>       <string>signal</string>
>       <string>site</string>
>       <string>smtpd</string>
>       <string>smtplib</string>
>       <string>sndhdr</string>
>       <string>socket</string>
>       <string>socketserver</string>
>       <string>spwd</string>
>       <string>sqlite</string>
>       <string>ssl</string>
>       <string>stat</string>
>       <string>statistics</string>
>       <string>stringprep</string>
>       <string>struct</string>
>       <string>subprocess</string>
>       <string>sunau</string>
>       <string>symbol</string>
>       <string>symtable</string>
>       <string>sysconfig</string>
>       <string>syslog</string>
>       <string>tabnanny</string>
>       <string>tarfile</string>
>       <string>telnetlib</string>
>       <string>tempfile</string>
>       <string>termios</string>
>       <string>test</string>
>       <string>textwrap</string>
>       <string>threading</string>
>       <string>time</string>
>       <string>timeit</string>
>       <string>token</string>
>       <string>tokenize</string>
>       <string>trace</string>
>       <string>traceback</string>
>       <string>tracemalloc</string>
>       <string>tty</string>
>       <string>turtle</string>
>       <string>turtledemo</string>
>       <string>types</string>
>       <string>typing</string>
>       <string>uu</string>
>       <string>uuid</string>
>       <string>venv</string>
>       <string>warnings</string>
>       <string>wave</string>
>       <string>weakref</string>
>       <string>webbrowser</string>
>       <string>winreg</string>
>       <string>winsound</string>
>       <string>wsgiref</string>
>       <string>xdrlib</string>
>       <string>zipapp</string>
>       <string>zipfile</string>
>       <string>zipimport</string>
>       <string>zlib</string>
>   </array>
>   <key>Language Features</key>
>   <dict>
>   <key>Identifier and Keyword Character Class</key>
>     <string><![CDATA[!$%&*+-.,/()<?>^={}[]'"@~#0-9A-Z_a-z:]]></string>
>     <key>Comment Pattern</key>
>     <string><![CDATA[(?x:
>               (#.*$) | (?# Line comment)
>               )]]></string>
>     <key>String Pattern</key>
>       <string><![CDATA[("(\\"|[^"\r]|\\\r)*") | (?# Double-quote)
>       ('(\\'|[^'\r]|\\\r)*') |  (?# Single-quote)
>       ("""(\\"|[^"\r]|\\\r)*""") | (?# Triple-quote)
>         )]]></string>
>     <key>Function Pattern</key>
>           <string><![CDATA[(?P<function>
>             (^|\s)
>             (def|class|try|except|if|elif|else|)
>             \s+
>             (?P<function_name>
>               [A-Za-z_()][A-Za-z_0-9:]*
>             )
>             (
>               [^{]*
>               (?P<block> 
>                 (?>
> (?> [^{}]+ )
>   | (?P>block) 
> )*
>               )
>         ]]></string>
>     <key>Skip Pattern</key>
>       <string><![CDATA[
>             (?x:
>               (?P>comment) |
>                 (?P>string)
>                   )]]></string>
>     </dict>
>   </dict>
> </plist>
>
>   
> Not sure what I've done wrong thus far though, as I can't seem to figure 
> out what the issue is with it loading. plutil says its ok.
>
>
>

-- 
This is the BBEdit Talk public discussion group. If you have a 
feature request or would like to report a problem, please email
"[email protected]" rather than posting to the group.
Follow @bbedit on Twitter: <http://www.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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/bbedit.

Reply via email to