This commit is contained in:
@@ -0,0 +1,664 @@
|
||||
# -*- coding: utf-8 -*- #
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Rouge
|
||||
module Lexers
|
||||
class IgorPro < RegexLexer
|
||||
tag 'igorpro'
|
||||
filenames '*.ipf'
|
||||
mimetypes 'text/x-igorpro'
|
||||
|
||||
title "IgorPro"
|
||||
desc "WaveMetrics Igor Pro"
|
||||
|
||||
def self.keywords
|
||||
@keywords ||= Set.new %w(
|
||||
structure endstructure
|
||||
threadsafe static
|
||||
macro proc window menu function end
|
||||
if else elseif endif switch strswitch endswitch
|
||||
break return continue
|
||||
for endfor do while
|
||||
case default
|
||||
try catch endtry
|
||||
abortonrte
|
||||
)
|
||||
end
|
||||
|
||||
def self.preprocessor
|
||||
@preprocessor ||= Set.new %w(
|
||||
pragma include
|
||||
define ifdef ifndef undef
|
||||
if elif else endif
|
||||
)
|
||||
end
|
||||
|
||||
def self.igorDeclarations
|
||||
@igorDeclarations ||= Set.new %w(
|
||||
variable string wave strconstant constant
|
||||
nvar svar dfref funcref struct
|
||||
char uchar int16 uint16 int32 uint32 int64 uint64 float double
|
||||
)
|
||||
end
|
||||
|
||||
def self.igorConstants
|
||||
@igorConstants ||= Set.new %w(
|
||||
nan inf
|
||||
)
|
||||
end
|
||||
|
||||
def self.igorFunction
|
||||
@igorFunction ||= Set.new %w(
|
||||
AddListItem AiryA AiryAD AiryB AiryBD AnnotationInfo
|
||||
AnnotationList AxisInfo AxisList AxisValFromPixel
|
||||
AxonTelegraphAGetDataNum AxonTelegraphAGetDataString
|
||||
AxonTelegraphAGetDataStruct AxonTelegraphGetDataNum
|
||||
AxonTelegraphGetDataString AxonTelegraphGetDataStruct
|
||||
AxonTelegraphGetTimeoutMs AxonTelegraphSetTimeoutMs
|
||||
Base64Decode Base64Encode Besseli Besselj Besselk
|
||||
Bessely BinarySearch BinarySearchInterp CTabList
|
||||
CaptureHistory CaptureHistoryStart CheckName
|
||||
ChildWindowList CleanupName ContourInfo ContourNameList
|
||||
ContourNameToWaveRef ContourZ ControlNameList
|
||||
ConvertTextEncoding CountObjects CountObjectsDFR
|
||||
CreationDate CsrInfo CsrWave CsrWaveRef CsrXWave
|
||||
CsrXWaveRef DataFolderDir DataFolderExists
|
||||
DataFolderRefStatus DataFolderRefsEqual DateToJulian
|
||||
Dawson DimDelta DimOffset DimSize Faddeeva FetchURL
|
||||
FindDimLabel FindListItem FontList FontSizeHeight
|
||||
FontSizeStringWidth FresnelCos FresnelSin FuncRefInfo
|
||||
FunctionInfo FunctionList FunctionPath
|
||||
GISGetAllFileFormats GISSRefsAreEqual Gauss Gauss1D
|
||||
Gauss2D GetBrowserLine GetBrowserSelection
|
||||
GetDataFolder GetDataFolderDFR GetDefaultFont
|
||||
GetDefaultFontSize GetDefaultFontStyle GetDimLabel
|
||||
GetEnvironmentVariable GetErrMessage GetFormula
|
||||
GetIndependentModuleName GetIndexedObjName
|
||||
GetIndexedObjNameDFR GetKeyState GetRTErrMessage
|
||||
GetRTError GetRTLocInfo GetRTLocation GetRTStackInfo
|
||||
GetScrapText GetUserData GetWavesDataFolder
|
||||
GetWavesDataFolderDFR GizmoInfo GizmoScale GrepList
|
||||
GrepString GuideInfo GuideNameList HDF5AttributeInfo
|
||||
HDF5DatasetInfo HDF5LibraryInfo HDF5TypeInfo Hash
|
||||
HyperG0F1 HyperG1F1 HyperG2F1 HyperGNoise HyperGPFQ
|
||||
IgorInfo IgorVersion ImageInfo ImageNameList
|
||||
ImageNameToWaveRef IndependentModuleList IndexToScale
|
||||
IndexedDir IndexedFile Inf Integrate1D Interp2D
|
||||
Interp3D ItemsInList JacobiCn JacobiSn JulianToDate
|
||||
Laguerre LaguerreA LaguerreGauss LambertW LayoutInfo
|
||||
LegendreA ListMatch ListToTextWave ListToWaveRefWave
|
||||
LowerStr MCC_AutoBridgeBal MCC_AutoFastComp
|
||||
MCC_AutoPipetteOffset MCC_AutoSlowComp
|
||||
MCC_AutoWholeCellComp MCC_GetBridgeBalEnable
|
||||
MCC_GetBridgeBalResist MCC_GetFastCompCap
|
||||
MCC_GetFastCompTau MCC_GetHolding MCC_GetHoldingEnable
|
||||
MCC_GetMode MCC_GetNeutralizationCap
|
||||
MCC_GetNeutralizationEnable MCC_GetOscKillerEnable
|
||||
MCC_GetPipetteOffset MCC_GetPrimarySignalGain
|
||||
MCC_GetPrimarySignalHPF MCC_GetPrimarySignalLPF
|
||||
MCC_GetRsCompBandwidth MCC_GetRsCompCorrection
|
||||
MCC_GetRsCompEnable MCC_GetRsCompPrediction
|
||||
MCC_GetSecondarySignalGain MCC_GetSecondarySignalLPF
|
||||
MCC_GetSlowCompCap MCC_GetSlowCompTau
|
||||
MCC_GetSlowCompTauX20Enable MCC_GetSlowCurrentInjEnable
|
||||
MCC_GetSlowCurrentInjLevel
|
||||
MCC_GetSlowCurrentInjSetlTime MCC_GetWholeCellCompCap
|
||||
MCC_GetWholeCellCompEnable MCC_GetWholeCellCompResist
|
||||
MCC_SelectMultiClamp700B MCC_SetBridgeBalEnable
|
||||
MCC_SetBridgeBalResist MCC_SetFastCompCap
|
||||
MCC_SetFastCompTau MCC_SetHolding MCC_SetHoldingEnable
|
||||
MCC_SetMode MCC_SetNeutralizationCap
|
||||
MCC_SetNeutralizationEnable MCC_SetOscKillerEnable
|
||||
MCC_SetPipetteOffset MCC_SetPrimarySignalGain
|
||||
MCC_SetPrimarySignalHPF MCC_SetPrimarySignalLPF
|
||||
MCC_SetRsCompBandwidth MCC_SetRsCompCorrection
|
||||
MCC_SetRsCompEnable MCC_SetRsCompPrediction
|
||||
MCC_SetSecondarySignalGain MCC_SetSecondarySignalLPF
|
||||
MCC_SetSlowCompCap MCC_SetSlowCompTau
|
||||
MCC_SetSlowCompTauX20Enable MCC_SetSlowCurrentInjEnable
|
||||
MCC_SetSlowCurrentInjLevel
|
||||
MCC_SetSlowCurrentInjSetlTime MCC_SetTimeoutMs
|
||||
MCC_SetWholeCellCompCap MCC_SetWholeCellCompEnable
|
||||
MCC_SetWholeCellCompResist MPFXEMGPeak
|
||||
MPFXExpConvExpPeak MPFXGaussPeak MPFXLorenzianPeak
|
||||
MPFXVoigtPeak MacroList MandelbrotPoint MarcumQ
|
||||
MatrixCondition MatrixDet MatrixDot MatrixRank
|
||||
MatrixTrace ModDate NVAR_Exists NaN NameOfWave
|
||||
NewFreeDataFolder NewFreeWave NormalizeUnicode
|
||||
NumVarOrDefault NumberByKey OperationList PICTInfo
|
||||
PICTList PadString PanelResolution ParamIsDefault
|
||||
ParseFilePath PathList Pi PixelFromAxisVal PolygonArea
|
||||
PossiblyQuoteName ProcedureText RemoveByKey
|
||||
RemoveEnding RemoveFromList RemoveListItem
|
||||
ReplaceNumberByKey ReplaceString ReplaceStringByKey
|
||||
SQL2DBinaryWaveToTextWave SQLAllocHandle SQLAllocStmt
|
||||
SQLBinaryWavesToTextWave SQLBindCol SQLBindParameter
|
||||
SQLBrowseConnect SQLBulkOperations SQLCancel
|
||||
SQLCloseCursor SQLColAttributeNum SQLColAttributeStr
|
||||
SQLColumnPrivileges SQLColumns SQLConnect
|
||||
SQLDataSources SQLDescribeCol SQLDescribeParam
|
||||
SQLDisconnect SQLDriverConnect SQLDrivers SQLEndTran
|
||||
SQLError SQLExecDirect SQLExecute SQLFetch
|
||||
SQLFetchScroll SQLForeignKeys SQLFreeConnect SQLFreeEnv
|
||||
SQLFreeHandle SQLFreeStmt SQLGetConnectAttrNum
|
||||
SQLGetConnectAttrStr SQLGetCursorName SQLGetDataNum
|
||||
SQLGetDataStr SQLGetDescFieldNum SQLGetDescFieldStr
|
||||
SQLGetDescRec SQLGetDiagFieldNum SQLGetDiagFieldStr
|
||||
SQLGetDiagRec SQLGetEnvAttrNum SQLGetEnvAttrStr
|
||||
SQLGetFunctions SQLGetInfoNum SQLGetInfoStr
|
||||
SQLGetStmtAttrNum SQLGetStmtAttrStr SQLGetTypeInfo
|
||||
SQLMoreResults SQLNativeSql SQLNumParams
|
||||
SQLNumResultCols SQLNumResultRowsIfKnown
|
||||
SQLNumRowsFetched SQLParamData SQLPrepare
|
||||
SQLPrimaryKeys SQLProcedureColumns SQLProcedures
|
||||
SQLPutData SQLReinitialize SQLRowCount
|
||||
SQLSetConnectAttrNum SQLSetConnectAttrStr
|
||||
SQLSetCursorName SQLSetDescFieldNum SQLSetDescFieldStr
|
||||
SQLSetDescRec SQLSetEnvAttrNum SQLSetEnvAttrStr
|
||||
SQLSetPos SQLSetStmtAttrNum SQLSetStmtAttrStr
|
||||
SQLSpecialColumns SQLStatistics SQLTablePrivileges
|
||||
SQLTables SQLTextWaveTo2DBinaryWave
|
||||
SQLTextWaveToBinaryWaves SQLUpdateBoundValues
|
||||
SQLXOPCheckState SVAR_Exists ScreenResolution Secs2Date
|
||||
Secs2Time SelectNumber SelectString
|
||||
SetEnvironmentVariable SortList SpecialCharacterInfo
|
||||
SpecialCharacterList SpecialDirPath SphericalBessJ
|
||||
SphericalBessJD SphericalBessY SphericalBessYD
|
||||
SphericalHarmonics StartMSTimer StatsBetaCDF
|
||||
StatsBetaPDF StatsBinomialCDF StatsBinomialPDF
|
||||
StatsCMSSDCDF StatsCauchyCDF StatsCauchyPDF StatsChiCDF
|
||||
StatsChiPDF StatsCorrelation StatsDExpCDF StatsDExpPDF
|
||||
StatsEValueCDF StatsEValuePDF StatsErlangCDF
|
||||
StatsErlangPDF StatsErrorPDF StatsExpCDF StatsExpPDF
|
||||
StatsFCDF StatsFPDF StatsFriedmanCDF StatsGEVCDF
|
||||
StatsGEVPDF StatsGammaCDF StatsGammaPDF
|
||||
StatsGeometricCDF StatsGeometricPDF StatsHyperGCDF
|
||||
StatsHyperGPDF StatsInvBetaCDF StatsInvBinomialCDF
|
||||
StatsInvCMSSDCDF StatsInvCauchyCDF StatsInvChiCDF
|
||||
StatsInvDExpCDF StatsInvEValueCDF StatsInvExpCDF
|
||||
StatsInvFCDF StatsInvFriedmanCDF StatsInvGammaCDF
|
||||
StatsInvGeometricCDF StatsInvKuiperCDF
|
||||
StatsInvLogNormalCDF StatsInvLogisticCDF
|
||||
StatsInvMaxwellCDF StatsInvMooreCDF
|
||||
StatsInvNBinomialCDF StatsInvNCChiCDF StatsInvNCFCDF
|
||||
StatsInvNormalCDF StatsInvParetoCDF StatsInvPoissonCDF
|
||||
StatsInvPowerCDF StatsInvQCDF StatsInvQpCDF
|
||||
StatsInvRayleighCDF StatsInvRectangularCDF
|
||||
StatsInvSpearmanCDF StatsInvStudentCDF
|
||||
StatsInvTopDownCDF StatsInvTriangularCDF
|
||||
StatsInvUsquaredCDF StatsInvVonMisesCDF
|
||||
StatsInvWeibullCDF StatsKuiperCDF StatsLogNormalCDF
|
||||
StatsLogNormalPDF StatsLogisticCDF StatsLogisticPDF
|
||||
StatsMaxwellCDF StatsMaxwellPDF StatsMedian
|
||||
StatsMooreCDF StatsNBinomialCDF StatsNBinomialPDF
|
||||
StatsNCChiCDF StatsNCChiPDF StatsNCFCDF StatsNCFPDF
|
||||
StatsNCTCDF StatsNCTPDF StatsNormalCDF StatsNormalPDF
|
||||
StatsParetoCDF StatsParetoPDF StatsPermute
|
||||
StatsPoissonCDF StatsPoissonPDF StatsPowerCDF
|
||||
StatsPowerNoise StatsPowerPDF StatsQCDF StatsQpCDF
|
||||
StatsRayleighCDF StatsRayleighPDF StatsRectangularCDF
|
||||
StatsRectangularPDF StatsRunsCDF StatsSpearmanRhoCDF
|
||||
StatsStudentCDF StatsStudentPDF StatsTopDownCDF
|
||||
StatsTriangularCDF StatsTriangularPDF StatsTrimmedMean
|
||||
StatsUSquaredCDF StatsVonMisesCDF StatsVonMisesNoise
|
||||
StatsVonMisesPDF StatsWaldCDF StatsWaldPDF
|
||||
StatsWeibullCDF StatsWeibullPDF StopMSTimer
|
||||
StrVarOrDefault StringByKey StringFromList StringList
|
||||
StudentA StudentT TDMAddChannel TDMAddGroup
|
||||
TDMAppendDataValues TDMAppendDataValuesTime
|
||||
TDMChannelPropertyExists TDMCloseChannel TDMCloseFile
|
||||
TDMCloseGroup TDMCreateChannelProperty TDMCreateFile
|
||||
TDMCreateFileProperty TDMCreateGroupProperty
|
||||
TDMFilePropertyExists TDMGetChannelPropertyNames
|
||||
TDMGetChannelPropertyNum TDMGetChannelPropertyStr
|
||||
TDMGetChannelPropertyTime TDMGetChannelPropertyType
|
||||
TDMGetChannelStringPropertyLen TDMGetChannels
|
||||
TDMGetDataType TDMGetDataValues TDMGetDataValuesTime
|
||||
TDMGetFilePropertyNames TDMGetFilePropertyNum
|
||||
TDMGetFilePropertyStr TDMGetFilePropertyTime
|
||||
TDMGetFilePropertyType TDMGetFileStringPropertyLen
|
||||
TDMGetGroupPropertyNames TDMGetGroupPropertyNum
|
||||
TDMGetGroupPropertyStr TDMGetGroupPropertyTime
|
||||
TDMGetGroupPropertyType TDMGetGroupStringPropertyLen
|
||||
TDMGetGroups TDMGetLibraryErrorDescription
|
||||
TDMGetNumChannelProperties TDMGetNumChannels
|
||||
TDMGetNumDataValues TDMGetNumFileProperties
|
||||
TDMGetNumGroupProperties TDMGetNumGroups
|
||||
TDMGroupPropertyExists TDMOpenFile TDMOpenFileEx
|
||||
TDMRemoveChannel TDMRemoveGroup TDMReplaceDataValues
|
||||
TDMReplaceDataValuesTime TDMSaveFile
|
||||
TDMSetChannelPropertyNum TDMSetChannelPropertyStr
|
||||
TDMSetChannelPropertyTime TDMSetDataValues
|
||||
TDMSetDataValuesTime TDMSetFilePropertyNum
|
||||
TDMSetFilePropertyStr TDMSetFilePropertyTime
|
||||
TDMSetGroupPropertyNum TDMSetGroupPropertyStr
|
||||
TDMSetGroupPropertyTime TableInfo TagVal TagWaveRef
|
||||
TextEncodingCode TextEncodingName TextFile
|
||||
ThreadGroupCreate ThreadGroupGetDF ThreadGroupGetDFR
|
||||
ThreadGroupRelease ThreadGroupWait ThreadProcessorCount
|
||||
ThreadReturnValue TraceFromPixel TraceInfo
|
||||
TraceNameList TraceNameToWaveRef TrimString URLDecode
|
||||
URLEncode UnPadString UniqueName
|
||||
UnsetEnvironmentVariable UpperStr VariableList Variance
|
||||
VoigtFunc VoigtPeak WaveCRC WaveDims WaveExists
|
||||
WaveHash WaveInfo WaveList WaveMax WaveMin WaveName
|
||||
WaveRefIndexed WaveRefIndexedDFR WaveRefWaveToList
|
||||
WaveRefsEqual WaveTextEncoding WaveType WaveUnits
|
||||
WhichListItem WinList WinName WinRecreation WinType
|
||||
XWaveName XWaveRefFromTrace ZernikeR abs acos acosh
|
||||
alog area areaXY asin asinh atan atan2 atanh beta betai
|
||||
binomial binomialNoise binomialln cabs ceil cequal
|
||||
char2num chebyshev chebyshevU cmplx cmpstr conj cos
|
||||
cosIntegral cosh cot coth cpowi csc csch date date2secs
|
||||
datetime defined deltax digamma dilogarithm ei enoise
|
||||
equalWaves erf erfc erfcw exists exp expInt
|
||||
expIntegralE1 expNoise fDAQmx_AI_GetReader
|
||||
fDAQmx_AO_UpdateOutputs fDAQmx_CTR_Finished
|
||||
fDAQmx_CTR_IsFinished fDAQmx_CTR_IsPulseFinished
|
||||
fDAQmx_CTR_ReadCounter fDAQmx_CTR_ReadWithOptions
|
||||
fDAQmx_CTR_SetPulseFrequency fDAQmx_CTR_Start
|
||||
fDAQmx_ConnectTerminals fDAQmx_DIO_Finished
|
||||
fDAQmx_DIO_PortWidth fDAQmx_DIO_Read fDAQmx_DIO_Write
|
||||
fDAQmx_DeviceNames fDAQmx_DisconnectTerminals
|
||||
fDAQmx_ErrorString fDAQmx_ExternalCalDate
|
||||
fDAQmx_NumAnalogInputs fDAQmx_NumAnalogOutputs
|
||||
fDAQmx_NumCounters fDAQmx_NumDIOPorts fDAQmx_ReadChan
|
||||
fDAQmx_ReadNamedChan fDAQmx_ResetDevice
|
||||
fDAQmx_ScanGetAvailable fDAQmx_ScanGetNextIndex
|
||||
fDAQmx_ScanStart fDAQmx_ScanStop fDAQmx_ScanWait
|
||||
fDAQmx_ScanWaitWithTimeout fDAQmx_SelfCalDate
|
||||
fDAQmx_SelfCalibration fDAQmx_WF_IsFinished
|
||||
fDAQmx_WF_WaitUntilFinished fDAQmx_WaveformStart
|
||||
fDAQmx_WaveformStop fDAQmx_WriteChan factorial fakedata
|
||||
faverage faverageXY floor gamma gammaEuler gammaInc
|
||||
gammaNoise gammln gammp gammq gcd gnoise hcsr hermite
|
||||
hermiteGauss imag interp inverseERF inverseERFC leftx
|
||||
limit ln log logNormalNoise lorentzianNoise magsqr max
|
||||
mean median min mod norm note num2char num2istr num2str
|
||||
numpnts numtype p2rect pcsr pnt2x poissonNoise poly
|
||||
poly2D qcsr r2polar real rightx round sawtooth
|
||||
scaleToIndex sec sech sign sin sinIntegral sinc sinh
|
||||
sqrt str2num stringCRC stringmatch strlen strsearch sum
|
||||
tan tango_close_device tango_command_inout
|
||||
tango_compute_image_proj tango_get_dev_attr_list
|
||||
tango_get_dev_black_box tango_get_dev_cmd_list
|
||||
tango_get_dev_status tango_get_dev_timeout
|
||||
tango_get_error_stack tango_open_device
|
||||
tango_ping_device tango_read_attribute
|
||||
tango_read_attributes tango_reload_dev_interface
|
||||
tango_resume_attr_monitor tango_set_attr_monitor_period
|
||||
tango_set_dev_timeout tango_start_attr_monitor
|
||||
tango_stop_attr_monitor tango_suspend_attr_monitor
|
||||
tango_write_attribute tango_write_attributes tanh ticks
|
||||
time trunc vcsr viAssertIntrSignal viAssertTrigger
|
||||
viAssertUtilSignal viClear viClose viDisableEvent
|
||||
viDiscardEvents viEnableEvent viFindNext viFindRsrc
|
||||
viGetAttribute viGetAttributeString viGpibCommand
|
||||
viGpibControlATN viGpibControlREN viGpibPassControl
|
||||
viGpibSendIFC viIn16 viIn32 viIn8 viLock viMapAddress
|
||||
viMapTrigger viMemAlloc viMemFree viMoveIn16 viMoveIn32
|
||||
viMoveIn8 viMoveOut16 viMoveOut32 viMoveOut8 viOpen
|
||||
viOpenDefaultRM viOut16 viOut32 viOut8 viPeek16
|
||||
viPeek32 viPeek8 viPoke16 viPoke32 viPoke8 viRead
|
||||
viReadSTB viSetAttribute viSetAttributeString
|
||||
viStatusDesc viTerminate viUnlock viUnmapAddress
|
||||
viUnmapTrigger viUsbControlIn viUsbControlOut
|
||||
viVxiCommandQuery viWaitOnEvent viWrite wnoise x2pnt
|
||||
xcsr zcsr zeromq_client_connect zeromq_client_connect
|
||||
zeromq_client_recv zeromq_client_recv
|
||||
zeromq_client_send zeromq_client_send
|
||||
zeromq_handler_start zeromq_handler_start
|
||||
zeromq_handler_stop zeromq_handler_stop
|
||||
zeromq_server_bind zeromq_server_bind
|
||||
zeromq_server_recv zeromq_server_recv
|
||||
zeromq_server_send zeromq_server_send zeromq_set
|
||||
zeromq_set zeromq_stop zeromq_stop
|
||||
zeromq_test_callfunction zeromq_test_callfunction
|
||||
zeromq_test_serializeWave zeromq_test_serializeWave
|
||||
zeta
|
||||
)
|
||||
end
|
||||
|
||||
def self.igorOperation
|
||||
@igorOperation ||= Set.new %w(
|
||||
APMath Abort AddFIFOData AddFIFOVectData AddMovieAudio
|
||||
AddMovieFrame AddWavesToBoxPlot AddWavesToViolinPlot
|
||||
AdoptFiles Append AppendBoxPlot AppendImage
|
||||
AppendLayoutObject AppendMatrixContour AppendText
|
||||
AppendToGizmo AppendToGraph AppendToLayout
|
||||
AppendToTable AppendViolinPlot AppendXYZContour
|
||||
AutoPositionWindow AxonTelegraphFindServers
|
||||
BackgroundInfo Beep BoundingBall BoxSmooth BrowseURL
|
||||
BuildMenu Button CWT Chart CheckBox CheckDisplayed
|
||||
ChooseColor Close CloseHelp CloseMovie CloseProc
|
||||
ColorScale ColorTab2Wave Concatenate ControlBar
|
||||
ControlInfo ControlUpdate
|
||||
ConvertGlobalStringTextEncoding ConvexHull Convolve
|
||||
CopyDimLabels CopyFile CopyFolder CopyScales Correlate
|
||||
CreateAliasShortcut CreateBrowser Cross CtrlBackground
|
||||
CtrlFIFO CtrlNamedBackground Cursor CurveFit
|
||||
CustomControl DAQmx_AI_SetupReader DAQmx_AO_SetOutputs
|
||||
DAQmx_CTR_CountEdges DAQmx_CTR_OutputPulse
|
||||
DAQmx_CTR_Period DAQmx_CTR_PulseWidth DAQmx_DIO_Config
|
||||
DAQmx_DIO_WriteNewData DAQmx_Scan DAQmx_WaveformGen
|
||||
DPSS DSPDetrend DSPPeriodogram DWT Debugger
|
||||
DebuggerOptions DefaultFont DefaultGuiControls
|
||||
DefaultGuiFont DefaultTextEncoding DefineGuide
|
||||
DelayUpdate DeleteAnnotations DeleteFile DeleteFolder
|
||||
DeletePoints Differentiate Display DisplayHelpTopic
|
||||
DisplayProcedure DoAlert DoIgorMenu DoUpdate DoWindow
|
||||
DoXOPIdle DrawAction DrawArc DrawBezier DrawLine
|
||||
DrawOval DrawPICT DrawPoly DrawRRect DrawRect DrawText
|
||||
DrawUserShape Duplicate DuplicateDataFolder EdgeStats
|
||||
Edit ErrorBars EstimatePeakSizes Execute
|
||||
ExecuteScriptText ExperimentInfo ExperimentModified
|
||||
ExportGizmo Extract FBinRead FBinWrite FFT FGetPos
|
||||
FIFO2Wave FIFOStatus FMaxFlat FPClustering FReadLine
|
||||
FSetPos FStatus FTPCreateDirectory FTPDelete
|
||||
FTPDownload FTPUpload FastGaussTransform FastOp
|
||||
FilterFIR FilterIIR FindAPeak FindContour
|
||||
FindDuplicates FindLevel FindLevels FindPeak
|
||||
FindPointsInPoly FindRoots FindSequence FindValue
|
||||
FuncFit FuncFitMD GBLoadWave GISCreateVectorLayer
|
||||
GISGetRasterInfo GISGetRegisteredFileInfo
|
||||
GISGetVectorLayerInfo GISLoadRasterData
|
||||
GISLoadVectorData GISRasterizeVectorData
|
||||
GISRegisterFile GISTransformCoords GISUnRegisterFile
|
||||
GISWriteFieldData GISWriteGeometryData GISWriteRaster
|
||||
GPIB2 GPIBRead2 GPIBReadBinary2 GPIBReadBinaryWave2
|
||||
GPIBReadWave2 GPIBWrite2 GPIBWriteBinary2
|
||||
GPIBWriteBinaryWave2 GPIBWriteWave2 GetAxis GetCamera
|
||||
GetFileFolderInfo GetGizmo GetLastUserMenuInfo
|
||||
GetMarquee GetMouse GetSelection GetWindow GraphNormal
|
||||
GraphWaveDraw GraphWaveEdit Grep GroupBox
|
||||
HDF5CloseFile HDF5CloseGroup HDF5ConvertColors
|
||||
HDF5CreateFile HDF5CreateGroup HDF5CreateLink HDF5Dump
|
||||
HDF5DumpErrors HDF5DumpState HDF5FlushFile
|
||||
HDF5ListAttributes HDF5ListGroup HDF5LoadData
|
||||
HDF5LoadGroup HDF5LoadImage HDF5OpenFile HDF5OpenGroup
|
||||
HDF5SaveData HDF5SaveGroup HDF5SaveImage
|
||||
HDF5TestOperation HDF5UnlinkObject HDFInfo
|
||||
HDFReadImage HDFReadSDS HDFReadVset Hanning
|
||||
HideIgorMenus HideInfo HideProcedures HideTools
|
||||
HilbertTransform Histogram ICA IFFT ITCCloseAll2
|
||||
ITCCloseDevice2 ITCConfigAllChannels2
|
||||
ITCConfigChannel2 ITCConfigChannelReset2
|
||||
ITCConfigChannelUpload2 ITCFIFOAvailable2
|
||||
ITCFIFOAvailableAll2 ITCGetAllChannelsConfig2
|
||||
ITCGetChannelConfig2 ITCGetCurrentDevice2
|
||||
ITCGetDeviceInfo2 ITCGetDevices2 ITCGetErrorString2
|
||||
ITCGetSerialNumber2 ITCGetState2 ITCGetVersions2
|
||||
ITCInitialize2 ITCOpenDevice2 ITCReadADC2
|
||||
ITCReadDigital2 ITCReadTimer2 ITCSelectDevice2
|
||||
ITCSetDAC2 ITCSetGlobals2 ITCSetModes2 ITCSetState2
|
||||
ITCStartAcq2 ITCStopAcq2 ITCUpdateFIFOPosition2
|
||||
ITCUpdateFIFOPositionAll2 ITCWriteDigital2
|
||||
ImageAnalyzeParticles ImageBlend ImageBoundaryToMask
|
||||
ImageComposite ImageEdgeDetection ImageFileInfo
|
||||
ImageFilter ImageFocus ImageFromXYZ ImageGLCM
|
||||
ImageGenerateROIMask ImageHistModification
|
||||
ImageHistogram ImageInterpolate ImageLineProfile
|
||||
ImageLoad ImageMorphology ImageRegistration
|
||||
ImageRemoveBackground ImageRestore ImageRotate
|
||||
ImageSave ImageSeedFill ImageSkeleton3d ImageSnake
|
||||
ImageStats ImageThreshold ImageTransform
|
||||
ImageUnwrapPhase ImageWindow IndexSort InsertPoints
|
||||
Integrate Integrate2D IntegrateODE Interp3DPath
|
||||
Interpolate2 Interpolate3D JCAMPLoadWave
|
||||
JointHistogram KMeans KillBackground KillControl
|
||||
KillDataFolder KillFIFO KillFreeAxis KillPICTs
|
||||
KillPath KillStrings KillVariables KillWaves
|
||||
KillWindow Label Layout LayoutPageAction
|
||||
LayoutSlideShow Legend LinearFeedbackShiftRegister
|
||||
ListBox LoadData LoadPICT LoadPackagePreferences
|
||||
LoadWave Loess LombPeriodogram MCC_FindServers
|
||||
MFR_CheckForNewBricklets MFR_CloseResultFile
|
||||
MFR_CreateOverviewTable MFR_GetBrickletCount
|
||||
MFR_GetBrickletData MFR_GetBrickletDeployData
|
||||
MFR_GetBrickletMetaData MFR_GetBrickletRawData
|
||||
MFR_GetReportTemplate MFR_GetResultFileMetaData
|
||||
MFR_GetResultFileName MFR_GetVernissageVersion
|
||||
MFR_GetVersion MFR_GetXOPErrorMessage
|
||||
MFR_OpenResultFile
|
||||
MLLoadWave Make MakeIndex MarkPerfTestTime
|
||||
MatrixConvolve MatrixCorr MatrixEigenV MatrixFilter
|
||||
MatrixGLM MatrixGaussJ MatrixInverse MatrixLLS
|
||||
MatrixLUBkSub MatrixLUD MatrixLUDTD MatrixLinearSolve
|
||||
MatrixLinearSolveTD MatrixMultiply MatrixOP
|
||||
MatrixSVBkSub MatrixSVD MatrixSchur MatrixSolve
|
||||
MatrixTranspose MeasureStyledText Modify ModifyBoxPlot
|
||||
ModifyBrowser ModifyCamera ModifyContour ModifyControl
|
||||
ModifyControlList ModifyFreeAxis ModifyGizmo
|
||||
ModifyGraph ModifyImage ModifyLayout ModifyPanel
|
||||
ModifyTable ModifyViolinPlot ModifyWaterfall
|
||||
MoveDataFolder MoveFile MoveFolder MoveString
|
||||
MoveSubwindow MoveVariable MoveWave MoveWindow
|
||||
MultiTaperPSD MultiThreadingControl NC_CloseFile
|
||||
NC_DumpErrors NC_Inquire NC_ListAttributes
|
||||
NC_ListObjects NC_LoadData NC_OpenFile NI4882
|
||||
NILoadWave NeuralNetworkRun NeuralNetworkTrain
|
||||
NewCamera NewDataFolder NewFIFO NewFIFOChan
|
||||
NewFreeAxis NewGizmo NewImage NewLayout NewMovie
|
||||
NewNotebook NewPanel NewPath NewWaterfall Note
|
||||
Notebook NotebookAction Open OpenHelp OpenNotebook
|
||||
Optimize PCA ParseOperationTemplate PathInfo
|
||||
PauseForUser PauseUpdate PlayMovie PlayMovieAction
|
||||
PlaySound PopupContextualMenu PopupMenu Preferences
|
||||
PrimeFactors Print PrintGraphs PrintLayout
|
||||
PrintNotebook PrintSettings PrintTable Project
|
||||
PulseStats PutScrapText Quit RatioFromNumber
|
||||
Redimension Remez Remove RemoveContour RemoveFromGizmo
|
||||
RemoveFromGraph RemoveFromLayout RemoveFromTable
|
||||
RemoveImage RemoveLayoutObjects RemovePath Rename
|
||||
RenameDataFolder RenamePICT RenamePath RenameWindow
|
||||
ReorderImages ReorderTraces ReplaceText ReplaceWave
|
||||
Resample ResumeUpdate Reverse Rotate SQLHighLevelOp
|
||||
STFT Save SaveData SaveExperiment SaveGizmoCopy
|
||||
SaveGraphCopy SaveNotebook SavePICT
|
||||
SavePackagePreferences SaveTableCopy
|
||||
SetActiveSubwindow SetAxis SetBackground
|
||||
SetDashPattern SetDataFolder SetDimLabel SetDrawEnv
|
||||
SetDrawLayer SetFileFolderInfo SetFormula
|
||||
SetIdlePeriod SetIgorHook SetIgorMenuMode
|
||||
SetIgorOption SetMarquee SetProcessSleep SetRandomSeed
|
||||
SetScale SetVariable SetWaveLock SetWaveTextEncoding
|
||||
SetWindow ShowIgorMenus ShowInfo ShowTools Silent
|
||||
Sleep Slider Smooth SmoothCustom Sort SortColumns
|
||||
SoundInRecord SoundInSet SoundInStartChart
|
||||
SoundInStatus SoundInStopChart SoundLoadWave
|
||||
SoundSaveWave SphericalInterpolate
|
||||
SphericalTriangulate SplitString SplitWave Stack
|
||||
StackWindows StatsANOVA1Test StatsANOVA2NRTest
|
||||
StatsANOVA2RMTest StatsANOVA2Test
|
||||
StatsAngularDistanceTest StatsChiTest
|
||||
StatsCircularCorrelationTest StatsCircularMeans
|
||||
StatsCircularMoments StatsCircularTwoSampleTest
|
||||
StatsCochranTest StatsContingencyTable StatsDIPTest
|
||||
StatsDunnettTest StatsFTest StatsFriedmanTest
|
||||
StatsHodgesAjneTest StatsJBTest StatsKDE StatsKSTest
|
||||
StatsKWTest StatsKendallTauTest
|
||||
StatsLinearCorrelationTest StatsLinearRegression
|
||||
StatsMultiCorrelationTest StatsNPMCTest
|
||||
StatsNPNominalSRTest StatsQuantiles
|
||||
StatsRankCorrelationTest StatsResample StatsSRTest
|
||||
StatsSample StatsScheffeTest StatsShapiroWilkTest
|
||||
StatsSignTest StatsTTest StatsTukeyTest
|
||||
StatsVariancesTest StatsWRCorrelationTest
|
||||
StatsWatsonUSquaredTest StatsWatsonWilliamsTest
|
||||
StatsWheelerWatsonTest StatsWilcoxonRankTest String
|
||||
StructFill StructGet StructPut SumDimension SumSeries
|
||||
TDMLoadData TDMSaveData TabControl Tag TextBox
|
||||
ThreadGroupPutDF ThreadStart TickWavesFromAxis Tile
|
||||
TileWindows TitleBox ToCommandLine ToolsGrid
|
||||
Triangulate3d URLRequest Unwrap VDT2 VDTClosePort2
|
||||
VDTGetPortList2 VDTGetStatus2 VDTOpenPort2
|
||||
VDTOperationsPort2 VDTRead2 VDTReadBinary2
|
||||
VDTReadBinaryWave2 VDTReadHex2 VDTReadHexWave2
|
||||
VDTReadWave2 VDTTerminalPort2 VDTWrite2
|
||||
VDTWriteBinary2 VDTWriteBinaryWave2 VDTWriteHex2
|
||||
VDTWriteHexWave2 VDTWriteWave2 VISAControl VISARead
|
||||
VISAReadBinary VISAReadBinaryWave VISAReadWave
|
||||
VISAWrite VISAWriteBinary VISAWriteBinaryWave
|
||||
VISAWriteWave ValDisplay Variable WaveMeanStdv
|
||||
WaveStats WaveTransform WignerTransform WindowFunction
|
||||
XLLoadWave cd dir fprintf printf pwd sprintf sscanf
|
||||
wfprintf
|
||||
)
|
||||
end
|
||||
|
||||
def self.object_name
|
||||
/\b[a-z][a-z0-9_\.]*?\b/i
|
||||
end
|
||||
|
||||
object = self.object_name
|
||||
noLineBreak = /(?:[ \t]|(?:\\\s*[\r\n]))+/
|
||||
operator = %r([\#$~!%^&*+=\|?:<>/-])
|
||||
punctuation = /[{}()\[\],.;]/
|
||||
number_float= /0x[a-f0-9]+/i
|
||||
number_hex = /\d+\.\d+(e[\+\-]?\d+)?/
|
||||
number_int = /[\d]+(?:_\d+)*/
|
||||
|
||||
state :root do
|
||||
rule %r(//), Comment, :comments
|
||||
|
||||
rule %r/#{object}/ do |m|
|
||||
if m[0].downcase =~ /function/
|
||||
token Keyword::Declaration
|
||||
push :parse_function
|
||||
elsif self.class.igorDeclarations.include? m[0].downcase
|
||||
token Keyword::Declaration
|
||||
push :parse_variables
|
||||
elsif self.class.keywords.include? m[0].downcase
|
||||
token Keyword
|
||||
elsif self.class.igorConstants.include? m[0].downcase
|
||||
token Keyword::Constant
|
||||
elsif self.class.igorFunction.include? m[0].downcase
|
||||
token Name::Builtin
|
||||
elsif self.class.igorOperation.include? m[0].downcase
|
||||
token Keyword::Reserved
|
||||
push :operationFlags
|
||||
elsif m[0].downcase =~ /\b(v|s|w)_[a-z]+[a-z0-9]*/
|
||||
token Name::Constant
|
||||
else
|
||||
token Name
|
||||
end
|
||||
end
|
||||
|
||||
mixin :preprocessor
|
||||
mixin :waveFlag
|
||||
|
||||
mixin :characters
|
||||
mixin :numbers
|
||||
mixin :whitespace
|
||||
end
|
||||
|
||||
state :preprocessor do
|
||||
rule %r((\#)(#{object})) do |m|
|
||||
if self.class.preprocessor.include? m[2].downcase
|
||||
token Comment::Preproc
|
||||
else
|
||||
token Punctuation, m[1] #i.e. ModuleFunctions
|
||||
token Name, m[2]
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
state :assignment do
|
||||
mixin :whitespace
|
||||
rule %r/\"/, Literal::String::Double, :string1 #punctuation for string
|
||||
mixin :string2
|
||||
rule %r/#{number_float}/, Literal::Number::Float, :pop!
|
||||
rule %r/#{number_int}/, Literal::Number::Integer, :pop!
|
||||
rule %r/[\(\[\{][^\)\]\}]+[\)\]\}]/, Generic, :pop!
|
||||
rule %r/[^\s\/\(]+/, Generic, :pop!
|
||||
rule(//) { pop! }
|
||||
end
|
||||
|
||||
state :parse_variables do
|
||||
mixin :whitespace
|
||||
rule %r/[=]/, Punctuation, :assignment
|
||||
rule object, Name::Variable
|
||||
rule %r/[\[\]]/, Punctuation # optional variables in functions
|
||||
rule %r/[,]/, Punctuation, :parse_variables
|
||||
rule %r/\)/, Punctuation, :pop! # end of function
|
||||
rule %r([/][a-z]+)i, Keyword::Pseudo, :parse_variables
|
||||
rule(//) { pop! }
|
||||
end
|
||||
|
||||
state :parse_function do
|
||||
rule %r([/][a-z]+)i, Keyword::Pseudo # only one flag
|
||||
mixin :whitespace
|
||||
rule object, Name::Function
|
||||
rule %r/[\(]/, Punctuation, :parse_variables
|
||||
rule(//) { pop! }
|
||||
end
|
||||
|
||||
state :operationFlags do
|
||||
rule %r/#{noLineBreak}/, Text
|
||||
rule %r/[=]/, Punctuation, :assignment
|
||||
rule %r([/][a-z]+)i, Keyword::Pseudo, :operationFlags
|
||||
rule %r/(as)(\s*)(#{object})/i do
|
||||
groups Keyword::Type, Text, Name::Label
|
||||
end
|
||||
rule(//) { pop! }
|
||||
end
|
||||
|
||||
# inline variable assignments (i.e. for Make) with strict syntax
|
||||
state :waveFlag do
|
||||
rule %r(
|
||||
(/(?:wave|X|Y))
|
||||
(\s*)(=)(\s*)
|
||||
(#{object})
|
||||
)ix do |m|
|
||||
token Keyword::Pseudo, m[1]
|
||||
token Text, m[2]
|
||||
token Punctuation, m[3]
|
||||
token Text, m[4]
|
||||
token Name::Variable, m[5]
|
||||
end
|
||||
end
|
||||
|
||||
state :characters do
|
||||
rule %r/\s/, Text
|
||||
rule %r/#{operator}/, Operator
|
||||
rule %r/#{punctuation}/, Punctuation
|
||||
rule %r/\"/, Literal::String::Double, :string1 #punctuation for string
|
||||
mixin :string2
|
||||
end
|
||||
|
||||
state :numbers do
|
||||
rule %r/#{number_float}/, Literal::Number::Float
|
||||
rule %r/#{number_hex}/, Literal::Number::Hex
|
||||
rule %r/#{number_int}/, Literal::Number::Integer
|
||||
end
|
||||
|
||||
state :whitespace do
|
||||
rule %r/#{noLineBreak}/, Text
|
||||
end
|
||||
|
||||
state :string1 do
|
||||
rule %r/%\w\b/, Literal::String::Other
|
||||
rule %r/\\\\/, Literal::String::Escape
|
||||
rule %r/\\\"/, Literal::String::Escape
|
||||
rule %r/\\/, Literal::String::Escape
|
||||
rule %r/[^"]/, Literal::String
|
||||
rule %r/\"/, Literal::String::Double, :pop! #punctuation for string
|
||||
end
|
||||
|
||||
state :string2 do
|
||||
rule %r/\'[^']*\'/, Literal::String::Single
|
||||
end
|
||||
|
||||
state :comments do
|
||||
rule %r{([/]\s*)([@]\w+\b)}i do
|
||||
# doxygen comments
|
||||
groups Comment, Comment::Special
|
||||
end
|
||||
rule %r/[^\r\n]/, Comment
|
||||
rule(//) { pop! }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user