Skip to content

Instantly share code, notes, and snippets.

@ytomino
Last active November 18, 2022 15:48
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ytomino/4c9d186d78a27ad202ac to your computer and use it in GitHub Desktop.
Save ytomino/4c9d186d78a27ad202ac to your computer and use it in GitHub Desktop.
Nim language module for BBEdit/TextWrangler
<?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>Nim</string>
<key>BBLMLanguageDisplayName</key>
<string>Nim</string>
<key>BBLMSuffixMap</key>
<array>
<dict>
<key>BBLMLanguageSuffix</key>
<string>.nim</string>
</dict>
</array>
<key>BBLMColorsSyntax</key>
<true/>
<key>BBLMIsCaseSensitive</key>
<false/>
<key>BBLMKeywordList</key>
<array>
<string>addr</string>
<string>and</string>
<string>as</string>
<string>asm</string>
<string>atomic</string>
<string>bind</string>
<string>block</string>
<string>break</string>
<string>case</string>
<string>cast</string>
<string>concept</string>
<string>const</string>
<string>continue</string>
<string>converter</string>
<string>defer</string>
<string>discard</string>
<string>distinct</string>
<string>div</string>
<string>do</string>
<string>elif</string>
<string>else</string>
<string>end</string>
<string>enum</string>
<string>except</string>
<string>export</string>
<string>finally</string>
<string>for</string>
<string>from</string>
<string>func</string>
<string>generic</string>
<string>if</string>
<string>import</string>
<string>in</string>
<string>include</string>
<string>interface</string>
<string>is</string>
<string>isnot</string>
<string>iterator</string>
<string>let</string>
<string>macro</string>
<string>method</string>
<string>mixin</string>
<string>mod</string>
<string>nil</string>
<string>not</string>
<string>notin</string>
<string>object</string>
<string>of</string>
<string>or</string>
<string>out</string>
<string>proc</string>
<string>ptr</string>
<string>raise</string>
<string>ref</string>
<string>return</string>
<string>shl</string>
<string>shr</string>
<string>static</string>
<string>template</string>
<string>try</string>
<string>tuple</string>
<string>type</string>
<string>using</string>
<string>var</string>
<string>when</string>
<string>while</string>
<string>with</string>
<string>without</string>
<string>xor</string>
<string>yield</string>
</array>
<key>BBLMScansFunctions</key>
<true/>
<key>BBLMCommentPrefixDefault</key>
<string>#</string>
<key>Language Features</key>
<dict>
<key>Identifier and Keyword Characters</key>
<string>0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz</string>
<key>Open Line Comments</key>
<string>#</string>
<!--
<key>Open Block Comments</key>
<string></string>
<key>Close Block Comments</key>
<string></string>
<key>Comment Pattern</key>
<string></string>
<key>Open Parameter Lists</key>
<string>(</string>
<key>Close Parameter Lists</key>
<string>)</string>
<key>Open Statement Blocks</key>
<string>begin</string>
<key>Close Statement Blocks</key>
<string>end</string>
-->
<key>Open Strings 1</key>
<string>"</string>
<key>Close Strings 1</key>
<string>"</string>
<key>Escape Char in Strings 1</key>
<string>\</string>
<key>End-of-line Ends Strings 1</key>
<false/>
<key>Open Strings 2</key>
<string>'</string>
<key>Close Strings 2</key>
<string>'</string>
<key>Escape Char in Strings 2</key>
<string>\</string>
<key>End-of-line Ends Strings 2</key>
<true/>
<!--
<key>String Pattern</key>
<string></string>
-->
<!--
<key>Prefix for Procedures</key>
<string>proc</string>
<key>Prefix for Functions</key>
<string>method</string>
<key>Terminator for Prototypes 1</key>
<string>importc</string>
<key>Terminator for Prototypes 2</key>
<string>nodecl</string>
-->
<key>Function Pattern</key>
<string>(?x:
^(?:proc|method|converter|iterator|template|macro)\s+
(?P&lt;function_name&gt;[`=+\-*/&lt;&gt;@$~&amp;%|!?^.:\\\w\x{80}-\x{FFFF}]+)
(?s:.*?)
(?s:^(?=[^ \#\r\n])|\r?\n?\Z)
)</string>
<!--
<key>Skip Pattern</key>
<string>(?x:(?P&gt;string)|(?P&gt;comment))</string>
-->
</dict>
</dict>
</plist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment