Class: Rouge::Lexers::IgorPro

Inherits:
RegexLexer show all
Defined in:
lib/rouge/lexers/igorpro.rb

Constant Summary

Constants inherited from RegexLexer

RegexLexer::MAX_NULL_SCANS

Constants included from Token::Tokens

Token::Tokens::Num, Token::Tokens::Str

Instance Attribute Summary

Attributes inherited from Rouge::Lexer

#options

Class Method Summary collapse

Methods inherited from RegexLexer

append, #delegate, get_state, #get_state, #goto, #group, #groups, #in_state?, #pop!, prepend, #push, #recurse, replace_state, #reset!, #reset_stack, #stack, start, start_procs, #state, state, #state?, state_definitions, states, #step, #stream_tokens, #token

Methods inherited from Rouge::Lexer

aliases, all, analyze_text, #as_bool, #as_lexer, #as_list, #as_string, #as_token, assert_utf8!, #bool_option, debug_enabled?, demo, demo_file, desc, disable_debug!, enable_debug!, filenames, find, find_fancy, guess, guess_by_filename, guess_by_mimetype, guess_by_source, guesses, #hash_option, #initialize, lex, #lex, #lexer_option, #list_option, mimetypes, option, option_docs, #reset!, #stream_tokens, #string_option, tag, #tag, title, #token_option

Methods included from Token::Tokens

token

Constructor Details

This class inherits a constructor from Rouge::Lexer

Class Method Details

.hdf5OperationObject



239
240
241
242
243
244
245
246
247
# File 'lib/rouge/lexers/igorpro.rb', line 239

def self.hdf5Operation
  @hdf5Operation ||= Set.new %w(
    hdf5createfile hdf5openfile hdf5closefile hdf5creategroup hdf5opengroup
    hdf5listgroup hdf5closegroup hdf5listattributes hdf5attributeinfo hdf5datasetinfo
    hdf5loaddata hdf5loadimage hdf5loadgroup hdf5savedata hdf5saveimage hdf5savegroup
    hdf5typeinfo hdf5createlink hdf5unlinkobject hdf5libraryinfo
    hdf5dumpstate hdf5dump hdf5dumperrors
  )
end

.igorConstantsObject



42
43
44
45
46
# File 'lib/rouge/lexers/igorpro.rb', line 42

def self.igorConstants
  @igorConstants ||= Set.new %w(
    nan inf
  )
end

.igorDeclarationsObject



34
35
36
37
38
39
40
# File 'lib/rouge/lexers/igorpro.rb', line 34

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

.igorFunctionObject



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# File 'lib/rouge/lexers/igorpro.rb', line 48

def self.igorFunction
  @igorFunction ||= Set.new %w(
    axontelegraphsettimeoutms axontelegraphgettimeoutms
    axontelegraphgetdatanum axontelegraphagetdatanum
    axontelegraphgetdatastring axontelegraphagetdatastring
    axontelegraphgetdatastruct axontelegraphagetdatastruct hdf5datasetinfo
    hdf5attributeinfo hdf5typeinfo hdf5libraryinfo
    mpfxgausspeak mpfxlorenzianpeak mpfxvoigtpeak mpfxemgpeak mpfxexpconvexppeak
    abs acos acosh airya airyad airyb airybd
    alog area areaxy asin asinh atan atan2 atanh axisvalfrompixel besseli
    besselj besselk bessely beta betai binarysearch binarysearchinterp
    binomial binomialln binomialnoise cabs capturehistorystart ceil cequal
    char2num chebyshev chebyshevu checkname cmplx cmpstr conj contourz cos
    cosh cosintegral cot coth countobjects countobjectsdfr cpowi
    creationdate csc csch datafolderexists datafolderrefsequal
    datafolderrefstatus date2secs datetime datetojulian dawson defined
    deltax digamma dilogarithm dimdelta dimoffset dimsize ei enoise
    equalwaves erf erfc erfcw exists exp expint expintegrale1 expnoise
    factorial fakedata faverage faveragexy finddimlabel findlistitem floor
    fontsizeheight fontsizestringwidth fresnelcos fresnelsin gamma
    gammaeuler gammainc gammanoise gammln gammp gammq gauss gauss1d gauss2d
    gcd getbrowserline getdefaultfontsize getdefaultfontstyle getkeystate
    getrterror getrtlocation gizmoinfo gizmoscale gnoise grepstring hcsr
    hermite hermitegauss hyperg0f1 hyperg1f1 hyperg2f1 hypergnoise hypergpfq
    igorversion imag indextoscale integrate1d interp interp2d interp3d
    inverseerf inverseerfc itemsinlist jacobicn jacobisn laguerre laguerrea
    laguerregauss lambertw leftx legendrea limit ln log lognormalnoise
    lorentziannoise magsqr mandelbrotpoint marcumq matrixcondition matrixdet
    matrixdot matrixrank matrixtrace max mean median min mod moddate
    norm numberbykey numpnts numtype numvarordefault nvar_exists p2rect
    panelresolution paramisdefault pcsr pi pixelfromaxisval pnt2x
    poissonnoise poly poly2d polygonarea qcsr r2polar real rightx round
    sawtooth scaletoindex screenresolution sec sech selectnumber
    setenvironmentvariable sign sin sinc sinh sinintegral sphericalbessj
    sphericalbessjd sphericalbessy sphericalbessyd sphericalharmonics sqrt
    startmstimer statsbetacdf statsbetapdf statsbinomialcdf statsbinomialpdf
    statscauchycdf statscauchypdf statschicdf statschipdf statscmssdcdf
    statscorrelation statsdexpcdf statsdexppdf statserlangcdf statserlangpdf
    statserrorpdf statsevaluecdf statsevaluepdf statsexpcdf statsexppdf
    statsfcdf statsfpdf statsfriedmancdf statsgammacdf statsgammapdf
    statsgeometriccdf statsgeometricpdf statsgevcdf statsgevpdf
    statshypergcdf statshypergpdf statsinvbetacdf statsinvbinomialcdf
    statsinvcauchycdf statsinvchicdf statsinvcmssdcdf statsinvdexpcdf
    statsinvevaluecdf statsinvexpcdf statsinvfcdf statsinvfriedmancdf
    statsinvgammacdf statsinvgeometriccdf statsinvkuipercdf
    statsinvlogisticcdf statsinvlognormalcdf statsinvmaxwellcdf
    statsinvmoorecdf statsinvnbinomialcdf statsinvncchicdf statsinvncfcdf
    statsinvnormalcdf statsinvparetocdf statsinvpoissoncdf statsinvpowercdf
    statsinvqcdf statsinvqpcdf statsinvrayleighcdf statsinvrectangularcdf
    statsinvspearmancdf statsinvstudentcdf statsinvtopdowncdf
    statsinvtriangularcdf statsinvusquaredcdf statsinvvonmisescdf
    statsinvweibullcdf statskuipercdf statslogisticcdf statslogisticpdf
    statslognormalcdf statslognormalpdf 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 str2num
    stringcrc stringmatch strlen strsearch studenta studentt sum svar_exists
    tagval tan tanh textencodingcode threadgroupcreate threadgrouprelease
    threadgroupwait threadprocessorcount threadreturnvalue ticks trunc
    unsetenvironmentvariable variance vcsr voigtfunc wavecrc wavedims
    waveexists wavemax wavemin waverefsequal wavetextencoding wavetype
    whichlistitem wintype wnoise x2pnt xcsr zcsr zerniker zeta addlistitem
    annotationinfo annotationlist axisinfo axislist base64_decode
    base64_encode capturehistory childwindowlist cleanupname contourinfo
    contournamelist controlnamelist converttextencoding csrinfo csrwave
    csrxwave ctablist datafolderdir date fetchurl fontlist funcrefinfo
    functioninfo functionlist functionpath getbrowserselection getdatafolder
    getdefaultfont getdimlabel getenvironmentvariable geterrmessage
    getformula getindependentmodulename getindexedobjname
    getindexedobjnamedfr getrterrmessage getrtlocinfo getrtstackinfo
    getscraptext getuserdata getwavesdatafolder greplist guideinfo
    guidenamelist hash igorinfo imageinfo imagenamelist
    independentmodulelist indexeddir indexedfile juliantodate layoutinfo
    listmatch lowerstr macrolist nameofwave normalizeunicode note num2char
    num2istr num2str operationlist padstring parsefilepath pathlist pictinfo
    pictlist possiblyquotename proceduretext removebykey removeending
    removefromlist removelistitem replacenumberbykey replacestring
    replacestringbykey secs2date secs2time selectstring sortlist
    specialcharacterinfo specialcharacterlist specialdirpath stringbykey
    stringfromlist stringlist strvarordefault tableinfo textencodingname
    textfile threadgroupgetdf time tracefrompixel traceinfo tracenamelist
    trimstring uniquename unpadstring upperstr urldecode urlencode
    variablelist waveinfo wavelist wavename waverefwavetolist waveunits
    winlist winname winrecreation wmfindwholeword xwavename
    contournametowaveref csrwaveref csrxwaveref imagenametowaveref
    listtotextwave listtowaverefwave newfreewave tagwaveref
    tracenametowaveref waverefindexed waverefindexeddfr xwavereffromtrace
    getdatafolderdfr getwavesdatafolderdfr newfreedatafolder
  )
end

.igorOperationObject



146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
# File 'lib/rouge/lexers/igorpro.rb', line 146

def self.igorOperation
  @igorOperation ||= Set.new %w(
    abort addfifodata addfifovectdata addmovieaudio addmovieframe adoptfiles
    apmath append appendimage appendlayoutobject appendmatrixcontour
    appendtext appendtogizmo appendtograph appendtolayout appendtotable
    appendxyzcontour autopositionwindow backgroundinfo beep boundingball
    browseurl buildmenu button cd chart checkbox checkdisplayed choosecolor
    close closehelp closemovie closeproc colorscale colortab2wave
    concatenate controlbar controlinfo controlupdate
    convertglobalstringtextencoding convexhull convolve copyfile copyfolder
    copyscales correlate createaliasshortcut createbrowser cross
    ctrlbackground ctrlfifo ctrlnamedbackground cursor curvefit
    customcontrol cwt debugger debuggeroptions defaultfont
    defaultguicontrols defaultguifont defaulttextencoding defineguide
    delayupdate deleteannotations deletefile deletefolder deletepoints
    differentiate dir display displayhelptopic displayprocedure doalert
    doigormenu doupdate dowindow doxopidle dpss drawaction drawarc
    drawbezier drawline drawoval drawpict drawpoly drawrect drawrrect
    drawtext drawusershape dspdetrend dspperiodogram duplicate
    duplicatedatafolder dwt edgestats edit errorbars execute
    executescripttext experimentmodified exportgizmo extract
    fastgausstransform fastop fbinread fbinwrite fft fgetpos fifo2wave
    fifostatus filterfir filteriir findcontour findduplicates findlevel
    findlevels findpeak findpointsinpoly findroots findsequence findvalue
    fpclustering fprintf freadline fsetpos fstatus ftpcreatedirectory
    ftpdelete ftpdownload ftpupload funcfit funcfitmd gbloadwave getaxis
    getcamera getfilefolderinfo getgizmo getlastusermenuinfo getmarquee
    getmouse getselection getwindow graphnormal graphwavedraw graphwaveedit
    grep groupbox hanning hideigormenus hideinfo hideprocedures hidetools
    hilberttransform histogram ica ifft imageanalyzeparticles imageblend
    imageboundarytomask imageedgedetection imagefileinfo imagefilter
    imagefocus imagefromxyz imagegenerateroimask imageglcm
    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
    killbackground killcontrol killdatafolder killfifo killfreeaxis killpath
    killpicts killstrings killvariables killwaves killwindow kmeans label
    layout layoutpageaction layoutslideshow legend
    linearfeedbackshiftregister listbox loaddata loadpackagepreferences
    loadpict loadwave loess lombperiodogram make makeindex markperftesttime
    matrixconvolve matrixcorr matrixeigenv matrixfilter matrixgaussj
    matrixglm matrixinverse matrixlinearsolve matrixlinearsolvetd matrixlls
    matrixlubksub matrixlud matrixludtd matrixmultiply matrixop matrixschur
    matrixsolve matrixsvbksub matrixsvd matrixtranspose measurestyledtext
    mlloadwave modify modifybrowser modifycamera modifycontour modifycontrol
    modifycontrollist modifyfreeaxis modifygizmo modifygraph modifyimage
    modifylayout modifypanel modifytable modifywaterfall movedatafolder
    movefile movefolder movestring movesubwindow movevariable movewave
    movewindow multitaperpsd multithreadingcontrol neuralnetworkrun
    neuralnetworktrain newcamera newdatafolder newfifo newfifochan
    newfreeaxis newgizmo newimage newlayout newmovie newnotebook newpanel
    newpath newwaterfall note notebook notebookaction open openhelp
    opennotebook optimize parseoperationtemplate pathinfo pauseforuser
    pauseupdate pca playmovie playmovieaction playsound popupcontextualmenu
    popupmenu preferences primefactors print printf printgraphs printlayout
    printnotebook printsettings printtable project pulsestats putscraptext
    pwd quit ratiofromnumber redimension remove removecontour
    removefromgizmo removefromgraph removefromlayout removefromtable
    removeimage removelayoutobjects removepath rename renamedatafolder
    renamepath renamepict renamewindow reorderimages reordertraces
    replacetext replacewave resample resumeupdate reverse rotate save
    savedata saveexperiment savegraphcopy savenotebook
    savepackagepreferences savepict savetablecopy setactivesubwindow setaxis
    setbackground setdashpattern setdatafolder setdimlabel setdrawenv
    setdrawlayer setfilefolderinfo setformula 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 sprintf sscanf stack
    stackwindows statsangulardistancetest statsanova1test statsanova2nrtest
    statsanova2rmtest statsanova2test statschitest
    statscircularcorrelationtest statscircularmeans statscircularmoments
    statscirculartwosampletest statscochrantest statscontingencytable
    statsdiptest statsdunnetttest statsfriedmantest statsftest
    statshodgesajnetest statsjbtest statskde statskendalltautest statskstest
    statskwtest statslinearcorrelationtest statslinearregression
    statsmulticorrelationtest statsnpmctest statsnpnominalsrtest
    statsquantiles statsrankcorrelationtest statsresample statssample
    statsscheffetest statsshapirowilktest statssigntest statssrtest
    statsttest statstukeytest statsvariancestest statswatsonusquaredtest
    statswatsonwilliamstest statswheelerwatsontest statswilcoxonranktest
    statswrcorrelationtest structget structput sumdimension sumseries
    tabcontrol tag textbox threadgroupputdf threadstart tile tilewindows
    titlebox tocommandline toolsgrid triangulate3d unwrap urlrequest
    valdisplay waveclear wavemeanstdv wavestats wavetransform wfprintf
  )
end

.keywordsObject



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/rouge/lexers/igorpro.rb', line 13

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
    abortonrte
  )
end

.object_nameObject



249
250
251
# File 'lib/rouge/lexers/igorpro.rb', line 249

def self.object_name
  /[a-z][a-z0-9_]*\b/i
end

.preprocessorObject



26
27
28
29
30
31
32
# File 'lib/rouge/lexers/igorpro.rb', line 26

def self.preprocessor
  @preprocessor ||= Set.new %w(
    pragma include
    define ifdef ifndef undef
    if elif else endif
  )
end