Skip to content

Instantly share code, notes, and snippets.

@kouichi-c-nakamura
Last active August 29, 2015 14:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kouichi-c-nakamura/e879b86e4760201be554 to your computer and use it in GitHub Desktop.
Save kouichi-c-nakamura/e879b86e4760201be554 to your computer and use it in GitHub Desktop.
a .plist file that enables syntax coloring of CED Spike2 scripts (.s2s files) in BBEdit and TextWrangler on Mac OSX! Not yet perfect, but does a good job. Useful, if you want to edit a script on your Mac. Save the spike2.plist in /Users/username/Library/Application Support/TextWrangler/Language Modules/. For general instructions, see http://www.…
<?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">
<!--
Spike2 language module for BBEdit
Kouichi C. Nakamura, PhD, Kyoto University
16 June 2015
kouichi.c.nakamrua@gmail.com
Based on
http://www.barebones.com/support/develop/
http://www.barebones.com/support/develop/clm.html
-->
<dict>
<key>BBEditDocumentType</key>
<string>CodelessLanguageModule</string>
<key>BBLMColorsSyntax</key>
<true/>
<key>BBLMIsCaseSensitive</key>
<false/>
<key>BBLMKeywordList</key>
<array>
<string>func</string>
<string>proc</string>
<string>end</string>
<string>return</string>
<string>and</string>
<string>or</string>
<string>not</string>
<string>if</string>
<string>then</string>
<string>else</string>
<string>endif</string>
<string>for</string>
<string>do</string>
<string>next</string>
<string>docase</string>
<string>case</string>
<string>endcase</string>
<string>break</string>
<string>continue</string>
<string>band</string>
<string>bor</string>
<string>bxor</string>
<string>diag</string>
<string>mod</string>
<string>repeat</string>
<string>until</string>
<string>step</string>
<string>to</string>
<string>trans</string>
<string>view</string>
<string>wend</string>
<string>while</string>
<string>xor</string>
<string>var</string>
<string>halt</string>
<string>resize</string>
<string>const</string>
<string>#include</string>
</array>
<key>BBLMPredefinedNameList</key>
<array>
<string>Abs</string>
<string>App</string>
<string>ArrAdd</string>
<string>ArrConst</string>
<string>ArrDiff</string>
<string>ArrDiv</string>
<string>ArrDivR</string>
<string>ArrDot</string>
<string>ArrFFT</string>
<string>ArrFilt</string>
<string>ArrIntgl</string>
<string>ArrMul</string>
<string>ArrSort</string>
<string>ArrSpline</string>
<string>ArrSub</string>
<string>ArrSubR</string>
<string>ArrSum</string>
<string>Asc</string>
<string>ATan</string>
<string>BinError</string>
<string>Binsize</string>
<string>BinToX</string>
<string>BRead</string>
<string>BReadSize</string>
<string>BRWEndian</string>
<string>BSeek</string>
<string>BurstMake</string>
<string>BurstRevise</string>
<string>BurstStats</string>
<string>BWrite</string>
<string>BWriteSize</string>
<string>Ceil</string>
<string>Chan$</string>
<string>ChanCalibrate</string>
<string>ChanColour</string>
<string>ChanComment$</string>
<string>ChanData</string>
<string>ChanDelete</string>
<string>ChanDuplicate</string>
<string>ChanFit</string>
<string>ChanFitCoef</string>
<string>ChanFitShow</string>
<string>ChanFitValue</string>
<string>ChanHide</string>
<string>ChanIndex</string>
<string>ChanKind</string>
<string>ChanList</string>
<string>ChanMeasure</string>
<string>ChanNew</string>
<string>ChanNumbers</string>
<string>ChanOffset</string>
<string>ChanOrder</string>
<string>ChanPort</string>
<string>ChanProcessAdd</string>
<string>ChanProcessArg</string>
<string>ChanProcessClear</string>
<string>ChanProcessCopy</string>
<string>ChanProcessInfo</string>
<string>ChanSave</string>
<string>ChanScale</string>
<string>ChanSearch</string>
<string>ChanSelect</string>
<string>ChanShow</string>
<string>ChanTitle$</string>
<string>ChanUnits$</string>
<string>ChanValue</string>
<string>ChanVisible</string>
<string>ChanWeight</string>
<string>ChanWriteWave</string>
<string>Chr$</string>
<string>Colour</string>
<string>CondFeature</string>
<string>CondFilter</string>
<string>CondFilterList</string>
<string>CondFilterType</string>
<string>CondGain</string>
<string>CondGainList</string>
<string>CondGet</string>
<string>CondOffset</string>
<string>CondOffsetLimit</string>
<string>CondRevision$</string>
<string>CondSet</string>
<string>CondSourceList</string>
<string>CondType</string>
<string>Cos</string>
<string>Cosh</string>
<string>Count</string>
<string>Cursor</string>
<string>CursorActive</string>
<string>CursorActiveGet</string>
<string>CursorDelete</string>
<string>CursorExists</string>
<string>CursorLabel</string>
<string>CursorLabelPos</string>
<string>CursorNew</string>
<string>CursorRenumber</string>
<string>CursorSearch</string>
<string>CursorSet</string>
<string>CursorValid</string>
<string>CursorVisible</string>
<string>Date$</string>
<string>Debug</string>
<string>DebugList</string>
<string>DebugOpts</string>
<string>DelStr$</string>
<string>DiscrimChanGet</string>
<string>DiscrimChanSet</string>
<string>DiscrimClear</string>
<string>DiscrimLevel</string>
<string>DiscrimMode</string>
<string>DiscrimMonitor</string>
<string>DiscrimTimeOut</string>
<string>DlgAllow</string>
<string>DlgButton</string>
<string>DlgChan</string>
<string>DlgCheck</string>
<string>DlgCreate</string>
<string>DlgEnable</string>
<string>DlgGroup</string>
<string>DlgInteger</string>
<string>DlgLabel</string>
<string>DlgList</string>
<string>DlgReal</string>
<string>DlgShow</string>
<string>DlgString</string>
<string>DlgText</string>
<string>DlgValue</string>
<string>DlgVisible</string>
<string>DlgXValue</string>
<string>Draw</string>
<string>DrawAll</string>
<string>DrawMode</string>
<string>Dup</string>
<string>DupChan</string>
<string>EditClear</string>
<string>EditCopy</string>
<string>EditCut</string>
<string>EditFind</string>
<string>EditPaste</string>
<string>EditReplace</string>
<string>EditSelectAll</string>
<string>Error$</string>
<string>Eval</string>
<string>EventToWaveform</string>
<string>Exp</string>
<string>ExportChanFormat</string>
<string>ExportChanList</string>
<string>ExportRectFormat</string>
<string>ExportTextFormat</string>
<string>FileApplyResource</string>
<string>FileClose</string>
<string>FileComment$</string>
<string>FileConvert$</string>
<string>FileCopy</string>
<string>FileDate$</string>
<string>FileDelete</string>
<string>FileGlobalResource</string>
<string>FileList</string>
<string>FileName$</string>
<string>FileNew</string>
<string>FileOpen</string>
<string>FilePath$</string>
<string>FilePathSet</string>
<string>FilePrint</string>
<string>FilePrintScreen</string>
<string>FilePrintVisible</string>
<string>FileQuit</string>
<string>FileSave</string>
<string>FileSaveAs</string>
<string>FileSaveResource</string>
<string>FileTime$</string>
<string>FileTimeDate</string>
<string>FiltApply</string>
<string>FiltAtten</string>
<string>FiltCalc</string>
<string>FiltComment$</string>
<string>FiltCreate</string>
<string>FiltInfo</string>
<string>FiltName$</string>
<string>FiltRange</string>
<string>FIRMake</string>
<string>FIRQuick</string>
<string>FIRResponse</string>
<string>FitCoef</string>
<string>FitData</string>
<string>FitExp</string>
<string>FitGauss</string>
<string>FitLine</string>
<string>FitLinear</string>
<string>FitNLUser</string>
<string>FitPoly</string>
<string>FitSin</string>
<string>FitValue</string>
<string>Floor</string>
<string>FocusHandle</string>
<string>FontGet</string>
<string>FontSet</string>
<string>Frac</string>
<string>FrontView</string>
<string>GammaP</string>
<string>Grid</string>
<string>Gutter</string>
<string>HCursor</string>
<string>HCursorChan</string>
<string>HCursorDelete</string>
<string>HCursorExists</string>
<string>HCursorLabel</string>
<string>HCursorLabelPos</string>
<string>HCursorNew</string>
<string>HCursorRenumber</string>
<string>Help</string>
<string>IIRApply</string>
<string>IIRBp</string>
<string>IIRBs</string>
<string>IIRComment$</string>
<string>IIRCreate</string>
<string>IIRHp</string>
<string>IIRInfo</string>
<string>IIRLp</string>
<string>IIRName$</string>
<string>IIRNotch</string>
<string>IIRReson</string>
<string>Inkey</string>
<string>Input</string>
<string>Input$</string>
<string>InStr</string>
<string>Interact</string>
<string>Keypress</string>
<string>LastTime</string>
<string>LCase$</string>
<string>Left$</string>
<string>Len</string>
<string>Ln</string>
<string>LnGamma</string>
<string>Log</string>
<string>LogHandle</string>
<string>MarkEdit</string>
<string>MarkInfo</string>
<string>MarkMask</string>
<string>MarkSet</string>
<string>MATDet</string>
<string>MATInv</string>
<string>MATMul</string>
<string>MATSolve</string>
<string>MATTrans</string>
<string>Max</string>
<string>Maxtime</string>
<string>MeasureChan</string>
<string>MeasureToChan</string>
<string>MeasureToXY</string>
<string>MeasureX</string>
<string>MeasureY</string>
<string>MemChan</string>
<string>MemDeleteItem</string>
<string>MemDeleteTime</string>
<string>MemGetItem</string>
<string>MemImport</string>
<string>MemSave</string>
<string>MemSetItem</string>
<string>Message</string>
<string>Mid$</string>
<string>Min</string>
<string>Minmax</string>
<string>MMAudio</string>
<string>MMImage</string>
<string>MMOpen</string>
<string>MMPosition</string>
<string>MMRate</string>
<string>MMVideo</string>
<string>MoveBy</string>
<string>MoveTo</string>
<string>NextTime</string>
<string>Optimise</string>
<string>PaletteGet</string>
<string>PaletteSet</string>
<string>PCA</string>
<string>PlayOffline</string>
<string>PlayWaveAdd</string>
<string>PlayWaveChans</string>
<string>PlayWaveCopy</string>
<string>PlayWaveCycles</string>
<string>PlayWaveDelete</string>
<string>PlayWaveEnable</string>
<string>PlayWaveInfo$</string>
<string>PlayWaveLabel$</string>
<string>PlayWaveLink$</string>
<string>PlayWaveRate</string>
<string>PlayWaveSpeed</string>
<string>PlayWaveStatus$</string>
<string>PlayWaveStop</string>
<string>PlayWaveTrigger</string>
<string>Pow</string>
<string>Print</string>
<string>Print$</string>
<string>PrintLog</string>
<string>Process</string>
<string>ProcessAll</string>
<string>ProcessAuto</string>
<string>ProcessTriggered</string>
<string>Profile</string>
<string>ProgKill</string>
<string>ProgRun</string>
<string>ProgStatus</string>
<string>Query</string>
<string>Rand</string>
<string>RandExp</string>
<string>RandNorm</string>
<string>RasterAux</string>
<string>RasterGet</string>
<string>RasterSet</string>
<string>RasterSort</string>
<string>RasterSymbol</string>
<string>Read</string>
<string>ReadSetup</string>
<string>ReadStr</string>
<string>ReRun</string>
<string>Right$</string>
<string>Round</string>
<string>SampleAbort</string>
<string>SampleAutoComment</string>
<string>SampleAutoCommit</string>
<string>SampleAutoFile</string>
<string>SampleAutoName$</string>
<string>SampleBar</string>
<string>SampleCalibrate</string>
<string>SampleChannels</string>
<string>SampleClear</string>
<string>SampleComment$</string>
<string>SampleDigMark</string>
<string>SampleEvent</string>
<string>SampleHandle</string>
<string>SampleKey</string>
<string>SampleLimitSize</string>
<string>SampleLimitTime</string>
<string>SampleMode</string>
<string>SampleOptimise</string>
<string>SampleRepeats</string>
<string>SampleReset</string>
<string>SampleSeqClock</string>
<string>SampleSeqCtrl</string>
<string>SampleSeqStep</string>
<string>SampleSeqTable</string>
<string>SampleSequencer</string>
<string>SampleSequencer$</string>
<string>SampleSeqVar</string>
<string>SampleStart</string>
<string>SampleStartTrigger</string>
<string>SampleStatus</string>
<string>SampleStop</string>
<string>SampleText</string>
<string>SampleTextMark</string>
<string>SampleTimePerAdc</string>
<string>SampleTitle$</string>
<string>SampleTrigger</string>
<string>SampleUsPerTime</string>
<string>SampleWaveform</string>
<string>SampleWaveMark</string>
<string>SampleWrite</string>
<string>ScriptBar</string>
<string>ScriptRun</string>
<string>Seconds</string>
<string>Selection$</string>
<string>SerialClose</string>
<string>SerialCount</string>
<string>SerialOpen</string>
<string>SerialRead</string>
<string>SerialWrite</string>
<string>SetAverage</string>
<string>SetEvtCrl</string>
<string>SetEvtCrlShift</string>
<string>SetINTH</string>
<string>SetPhase</string>
<string>SetPower</string>
<string>SetPSTH</string>
<string>SetResult</string>
<string>SetWaveCrl</string>
<string>SetWaveCrlDC</string>
<string>Sin</string>
<string>Sinh</string>
<string>SMControl</string>
<string>SMOpen</string>
<string>Sound</string>
<string>Speak</string>
<string>Sqrt</string>
<string>SSButton</string>
<string>SSChan</string>
<string>SSClassify</string>
<string>SSOpen</string>
<string>SSParam</string>
<string>SSRun</string>
<string>SSTempDelete</string>
<string>SSTempGet</string>
<string>SSTempInfo</string>
<string>SSTempSet</string>
<string>SSTempSizeGet</string>
<string>SSTempSizeSet</string>
<string>Str$</string>
<string>Sweeps</string>
<string>System</string>
<string>System$</string>
<string>TabSettings</string>
<string>Tan</string>
<string>Tanh</string>
<string>Time$</string>
<string>TimeDate</string>
<string>Toolbar</string>
<string>ToolbarClear</string>
<string>ToolbarEnable</string>
<string>ToolbarSet</string>
<string>ToolbarText</string>
<string>ToolbarVisible</string>
<string>Trunc</string>
<string>U1401Close</string>
<string>U1401Ld</string>
<string>U1401Open</string>
<string>U1401Read</string>
<string>U1401To1401</string>
<string>U1401ToHost</string>
<string>U1401Write</string>
<string>UCase$</string>
<string>Val</string>
<string>View</string>
<string>ViewColour</string>
<string>ViewFind</string>
<string>ViewKind</string>
<string>ViewLink</string>
<string>ViewList</string>
<string>ViewStandard</string>
<string>ViewTrigger</string>
<string>ViewUseColour</string>
<string>VirtualChan</string>
<string>Window</string>
<string>WindowDuplicate</string>
<string>WindowGetPos</string>
<string>WindowSize</string>
<string>WindowTitle$</string>
<string>WindowVisible</string>
<string>XAxis</string>
<string>XAxisMode</string>
<string>XAxisStyle</string>
<string>XHigh</string>
<string>XLow</string>
<string>XRange</string>
<string>XScroller</string>
<string>XTitle$</string>
<string>XToBin</string>
<string>XUnits$</string>
<string>XYAddData</string>
<string>XYColour</string>
<string>XYCount</string>
<string>XYDelete</string>
<string>XYDrawMode</string>
<string>XYGetData</string>
<string>XYInCircle</string>
<string>XYInRect</string>
<string>XYJoin</string>
<string>XYKey</string>
<string>XYRange</string>
<string>XYSetChan</string>
<string>XYSize</string>
<string>XYSort</string>
<string>YAxis</string>
<string>YAxisLock</string>
<string>YAxisMode</string>
<string>YAxisStyle</string>
<string>YHigh</string>
<string>Yield</string>
<string>YieldSystem</string>
<string>YLow</string>
<string>YRange</string>
</array>
<key>BBLMLanguageCode</key>
<string>Spk2</string>
<key>BBLMLanguageDisplayName</key>
<string>Spike2</string>
<key>BBLMScansFunctions</key>
<true/>
<key>BBLMSuffixMap</key>
<array>
<dict>
<key>BBLMLanguageSuffix</key>
<string>.s2s</string>
</dict>
</array>
<key>Language Features</key>
<dict>
<key>Close Block Comments</key>
<string></string>
<key>Close Parameter Lists</key>
<string>)</string>
<key>Close Statement Blocks</key>
<string>}</string>
<key>Close Strings 1</key>
<string>&quot;</string>
<key>Close Strings 2</key>
<string></string>
<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 Characters</key>
<string>1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz.%$</string>
<key>Open Block Comments</key>
<string></string>
<key>Open Line Comments</key>
<string>'</string>
<key>Open Parameter Lists</key>
<string>(</string>
<key>Open Statement Blocks</key>
<string>{</string>
<key>Open Strings 1</key>
<string>&quot;</string>
<key>Open Strings 2</key>
<string></string>
<key>Prefix for Functions</key>
<string>func</string>
<key>Prefix for Procedures</key>
<string>proc</string>
<key>Terminator for Prototypes 1</key>
<string></string>
<key>Terminator for Prototypes 2</key>
<string></string>
<key>Function Pattern</key>
<string><![CDATA[
(?x:
(?P<leadspace>^\s*)
(?P<function> (func|proc)\s+
(?P<function_name> [a-zA-Z]+[a-zA-Z0-9]*[%$]* )
(?s:.+?)
\rend\b
)
)
]]></string>
</dict>
<key>BBLMCommentLineDefault</key>
<string>' </string>
</dict>
</plist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment