1" Interactive Data Language syntax file (IDL, too [:-)] 2" Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com> 3" Last change: 2003 Apr 25 4" Created by: Hermann Rochholz <Hermann.Rochholz AT gmx.de> 5 6" Remove any old syntax stuff hanging around 7" For version 5.x: Clear all syntax items 8" For version 6.x: Quit when a syntax file was already loaded 9if version < 600 10 syntax clear 11elseif exists("b:current_syntax") 12 finish 13endif 14 15syntax case ignore 16 17syn match idlangStatement "^\s*pro\s" 18syn match idlangStatement "^\s*function\s" 19syn keyword idlangStatement return continue mod do break 20syn keyword idlangStatement compile_opt forward_function goto 21syn keyword idlangStatement begin common end of 22syn keyword idlangStatement inherits on_ioerror begin 23 24syn keyword idlangConditional if else then for while case switch 25syn keyword idlangConditional endcase endelse endfor endswitch 26syn keyword idlangConditional endif endrep endwhile repeat until 27 28syn match idlangOperator "\ and\ " 29syn match idlangOperator "\ eq\ " 30syn match idlangOperator "\ ge\ " 31syn match idlangOperator "\ gt\ " 32syn match idlangOperator "\ le\ " 33syn match idlangOperator "\ lt\ " 34syn match idlangOperator "\ ne\ " 35syn match idlangOperator /\(\ \|(\)not\ /hs=e-3 36syn match idlangOperator "\ or\ " 37syn match idlangOperator "\ xor\ " 38 39syn keyword idlangStop stop pause 40 41syn match idlangStrucvar "\h\w*\(\.\h\w*\)\+" 42syn match idlangStrucvar "[),\]]\(\.\h\w*\)\+"hs=s+1 43 44syn match idlangSystem "\!\a\w*\(\.\w*\)\=" 45 46syn match idlangKeyword "\([(,]\s*\(\$\_s*\)\=\)\@<=/\h\w*" 47syn match idlangKeyword "\([(,]\s*\(\$\_s*\)\=\)\@<=\h\w*\s*=" 48 49syn keyword idlangTodo contained TODO 50 51syn region idlangString start=+"+ end=+"+ 52syn region idlangString start=+'+ end=+'+ 53 54syn match idlangPreCondit "^\s*@\w*\(\.\a\{3}\)\=" 55 56syn match idlangRealNumber "\<\d\+\(\.\=\d*e[+-]\=\d\+\|\.\d*d\|\.\d*\|d\)" 57syn match idlangRealNumber "\.\d\+\(d\|e[+-]\=\d\+\)\=" 58 59syn match idlangNumber "\<\.\@!\d\+\.\@!\(b\|u\|us\|s\|l\|ul\|ll\|ull\)\=\>" 60 61syn match idlangComment "[\;].*$" contains=idlangTodo 62 63syn match idlangContinueLine "\$\s*\($\|;\)"he=s+1 contains=idlangComment 64syn match idlangContinueLine "&\s*\(\h\|;\)"he=s+1 contains=ALL 65 66syn match idlangDblCommaError "\,\s*\," 67 68" List of standard routines as of IDL version 5.4. 69syn match idlangRoutine "EOS_\a*" 70syn match idlangRoutine "HDF_\a*" 71syn match idlangRoutine "CDF_\a*" 72syn match idlangRoutine "NCDF_\a*" 73syn match idlangRoutine "QUERY_\a*" 74syn match idlangRoutine "\<MAX\s*("he=e-1 75syn match idlangRoutine "\<MIN\s*("he=e-1 76 77syn keyword idlangRoutine A_CORRELATE ABS ACOS ADAPT_HIST_EQUAL ALOG ALOG10 78syn keyword idlangRoutine AMOEBA ANNOTATE ARG_PRESENT ARRAY_EQUAL ARROW 79syn keyword idlangRoutine ASCII_TEMPLATE ASIN ASSOC ATAN AXIS BAR_PLOT 80syn keyword idlangRoutine BESELI BESELJ BESELK BESELY BETA BILINEAR BIN_DATE 81syn keyword idlangRoutine BINARY_TEMPLATE BINDGEN BINOMIAL BLAS_AXPY BLK_CON 82syn keyword idlangRoutine BOX_CURSOR BREAK BREAKPOINT BROYDEN BYTARR BYTE 83syn keyword idlangRoutine BYTEORDER BYTSCL C_CORRELATE CALDAT CALENDAR 84syn keyword idlangRoutine CALL_EXTERNAL CALL_FUNCTION CALL_METHOD 85syn keyword idlangRoutine CALL_PROCEDURE CATCH CD CEIL CHEBYSHEV CHECK_MATH 86syn keyword idlangRoutine CHISQR_CVF CHISQR_PDF CHOLDC CHOLSOL CINDGEN 87syn keyword idlangRoutine CIR_3PNT CLOSE CLUST_WTS CLUSTER COLOR_CONVERT 88syn keyword idlangRoutine COLOR_QUAN COLORMAP_APPLICABLE COMFIT COMMON 89syn keyword idlangRoutine COMPLEX COMPLEXARR COMPLEXROUND 90syn keyword idlangRoutine COMPUTE_MESH_NORMALS COND CONGRID CONJ 91syn keyword idlangRoutine CONSTRAINED_MIN CONTOUR CONVERT_COORD CONVOL 92syn keyword idlangRoutine COORD2TO3 CORRELATE COS COSH CRAMER CREATE_STRUCT 93syn keyword idlangRoutine CREATE_VIEW CROSSP CRVLENGTH CT_LUMINANCE CTI_TEST 94syn keyword idlangRoutine CURSOR CURVEFIT CV_COORD CVTTOBM CW_ANIMATE 95syn keyword idlangRoutine CW_ANIMATE_GETP CW_ANIMATE_LOAD CW_ANIMATE_RUN 96syn keyword idlangRoutine CW_ARCBALL CW_BGROUP CW_CLR_INDEX CW_COLORSEL 97syn keyword idlangRoutine CW_DEFROI CW_FIELD CW_FILESEL CW_FORM CW_FSLIDER 98syn keyword idlangRoutine CW_LIGHT_EDITOR CW_LIGHT_EDITOR_GET 99syn keyword idlangRoutine CW_LIGHT_EDITOR_SET CW_ORIENT CW_PALETTE_EDITOR 100syn keyword idlangRoutine CW_PALETTE_EDITOR_GET CW_PALETTE_EDITOR_SET 101syn keyword idlangRoutine CW_PDMENU CW_RGBSLIDER CW_TMPL CW_ZOOM DBLARR 102syn keyword idlangRoutine DCINDGEN DCOMPLEX DCOMPLEXARR DEFINE_KEY DEFROI 103syn keyword idlangRoutine DEFSYSV DELETE_SYMBOL DELLOG DELVAR DERIV DERIVSIG 104syn keyword idlangRoutine DETERM DEVICE DFPMIN DIALOG_MESSAGE 105syn keyword idlangRoutine DIALOG_PICKFILE DIALOG_PRINTERSETUP 106syn keyword idlangRoutine DIALOG_PRINTJOB DIALOG_READ_IMAGE 107syn keyword idlangRoutine DIALOG_WRITE_IMAGE DIGITAL_FILTER DILATE DINDGEN 108syn keyword idlangRoutine DISSOLVE DIST DLM_LOAD DLM_REGISTER 109syn keyword idlangRoutine DO_APPLE_SCRIPT DOC_LIBRARY DOUBLE DRAW_ROI EFONT 110syn keyword idlangRoutine EIGENQL EIGENVEC ELMHES EMPTY ENABLE_SYSRTN EOF 111syn keyword idlangRoutine ERASE ERODE ERRORF ERRPLOT EXECUTE EXIT EXP EXPAND 112syn keyword idlangRoutine EXPAND_PATH EXPINT EXTRAC EXTRACT_SLICE F_CVF 113syn keyword idlangRoutine F_PDF FACTORIAL FFT FILE_CHMOD FILE_DELETE 114syn keyword idlangRoutine FILE_EXPAND_PATH FILE_MKDIR FILE_TEST FILE_WHICH 115syn keyword idlangRoutine FILEPATH FINDFILE FINDGEN FINITE FIX FLICK FLOAT 116syn keyword idlangRoutine FLOOR FLOW3 FLTARR FLUSH FOR FORMAT_AXIS_VALUES 117syn keyword idlangRoutine FORWARD_FUNCTION FREE_LUN FSTAT FULSTR FUNCT 118syn keyword idlangRoutine FV_TEST FX_ROOT FZ_ROOTS GAMMA GAMMA_CT 119syn keyword idlangRoutine GAUSS_CVF GAUSS_PDF GAUSS2DFIT GAUSSFIT GAUSSINT 120syn keyword idlangRoutine GET_DRIVE_LIST GET_KBRD GET_LUN GET_SCREEN_SIZE 121syn keyword idlangRoutine GET_SYMBOL GETENV GOTO GRID_TPS GRID3 GS_ITER 122syn keyword idlangRoutine H_EQ_CT H_EQ_INT HANNING HEAP_GC HELP HILBERT 123syn keyword idlangRoutine HIST_2D HIST_EQUAL HISTOGRAM HLS HOUGH HQR HSV 124syn keyword idlangRoutine IBETA IDENTITY IDL_Container IDLanROI 125syn keyword idlangRoutine IDLanROIGroup IDLffDICOM IDLffDXF IDLffLanguageCat 126syn keyword idlangRoutine IDLffShape IDLgrAxis IDLgrBuffer IDLgrClipboard 127syn keyword idlangRoutine IDLgrColorbar IDLgrContour IDLgrFont IDLgrImage 128syn keyword idlangRoutine IDLgrLegend IDLgrLight IDLgrModel IDLgrMPEG 129syn keyword idlangRoutine IDLgrPalette IDLgrPattern IDLgrPlot IDLgrPolygon 130syn keyword idlangRoutine IDLgrPolyline IDLgrPrinter IDLgrROI IDLgrROIGroup 131syn keyword idlangRoutine IDLgrScene IDLgrSurface IDLgrSymbol 132syn keyword idlangRoutine IDLgrTessellator IDLgrText IDLgrView 133syn keyword idlangRoutine IDLgrViewgroup IDLgrVolume IDLgrVRML IDLgrWindow 134syn keyword idlangRoutine IGAMMA IMAGE_CONT IMAGE_STATISTICS IMAGINARY 135syn keyword idlangRoutine INDGEN INT_2D INT_3D INT_TABULATED INTARR INTERPOL 136syn keyword idlangRoutine INTERPOLATE INVERT IOCTL ISHFT ISOCONTOUR 137syn keyword idlangRoutine ISOSURFACE JOURNAL JULDAY KEYWORD_SET KRIG2D 138syn keyword idlangRoutine KURTOSIS KW_TEST L64INDGEN LABEL_DATE LABEL_REGION 139syn keyword idlangRoutine LADFIT LAGUERRE LEEFILT LEGENDRE LINBCG LINDGEN 140syn keyword idlangRoutine LINFIT LINKIMAGE LIVE_CONTOUR LIVE_CONTROL 141syn keyword idlangRoutine LIVE_DESTROY LIVE_EXPORT LIVE_IMAGE LIVE_INFO 142syn keyword idlangRoutine LIVE_LINE LIVE_LOAD LIVE_OPLOT LIVE_PLOT 143syn keyword idlangRoutine LIVE_PRINT LIVE_RECT LIVE_STYLE LIVE_SURFACE 144syn keyword idlangRoutine LIVE_TEXT LJLCT LL_ARC_DISTANCE LMFIT LMGR LNGAMMA 145syn keyword idlangRoutine LNP_TEST LOADCT LOCALE_GET LON64ARR LONARR LONG 146syn keyword idlangRoutine LONG64 LSODE LU_COMPLEX LUDC LUMPROVE LUSOL 147syn keyword idlangRoutine M_CORRELATE MACHAR MAKE_ARRAY MAKE_DLL MAP_2POINTS 148syn keyword idlangRoutine MAP_CONTINENTS MAP_GRID MAP_IMAGE MAP_PATCH 149syn keyword idlangRoutine MAP_PROJ_INFO MAP_SET MATRIX_MULTIPLY MD_TEST MEAN 150syn keyword idlangRoutine MEANABSDEV MEDIAN MEMORY MESH_CLIP MESH_DECIMATE 151syn keyword idlangRoutine MESH_ISSOLID MESH_MERGE MESH_NUMTRIANGLES MESH_OBJ 152syn keyword idlangRoutine MESH_SMOOTH MESH_SURFACEAREA MESH_VALIDATE 153syn keyword idlangRoutine MESH_VOLUME MESSAGE MIN_CURVE_SURF MK_HTML_HELP 154syn keyword idlangRoutine MODIFYCT MOMENT MORPH_CLOSE MORPH_DISTANCE 155syn keyword idlangRoutine MORPH_GRADIENT MORPH_HITORMISS MORPH_OPEN 156syn keyword idlangRoutine MORPH_THIN MORPH_TOPHAT MPEG_CLOSE MPEG_OPEN 157syn keyword idlangRoutine MPEG_PUT MPEG_SAVE MSG_CAT_CLOSE MSG_CAT_COMPILE 158syn keyword idlangRoutine MSG_CAT_OPEN MULTI N_ELEMENTS N_PARAMS N_TAGS 159syn keyword idlangRoutine NEWTON NORM OBJ_CLASS OBJ_DESTROY OBJ_ISA OBJ_NEW 160syn keyword idlangRoutine OBJ_VALID OBJARR ON_ERROR ON_IOERROR ONLINE_HELP 161syn keyword idlangRoutine OPEN OPENR OPENW OPLOT OPLOTERR P_CORRELATE 162syn keyword idlangRoutine PARTICLE_TRACE PCOMP PLOT PLOT_3DBOX PLOT_FIELD 163syn keyword idlangRoutine PLOTERR PLOTS PNT_LINE POINT_LUN POLAR_CONTOUR 164syn keyword idlangRoutine POLAR_SURFACE POLY POLY_2D POLY_AREA POLY_FIT 165syn keyword idlangRoutine POLYFILL POLYFILLV POLYSHADE POLYWARP POPD POWELL 166syn keyword idlangRoutine PRIMES PRINT PRINTF PRINTD PROFILE PROFILER 167syn keyword idlangRoutine PROFILES PROJECT_VOL PS_SHOW_FONTS PSAFM PSEUDO 168syn keyword idlangRoutine PTR_FREE PTR_NEW PTR_VALID PTRARR PUSHD QROMB 169syn keyword idlangRoutine QROMO QSIMP R_CORRELATE R_TEST RADON RANDOMN 170syn keyword idlangRoutine RANDOMU RANKS RDPIX READ READF READ_ASCII 171syn keyword idlangRoutine READ_BINARY READ_BMP READ_DICOM READ_IMAGE 172syn keyword idlangRoutine READ_INTERFILE READ_JPEG READ_PICT READ_PNG 173syn keyword idlangRoutine READ_PPM READ_SPR READ_SRF READ_SYLK READ_TIFF 174syn keyword idlangRoutine READ_WAV READ_WAVE READ_X11_BITMAP READ_XWD READS 175syn keyword idlangRoutine READU REBIN RECALL_COMMANDS RECON3 REDUCE_COLORS 176syn keyword idlangRoutine REFORM REGRESS REPLICATE REPLICATE_INPLACE 177syn keyword idlangRoutine RESOLVE_ALL RESOLVE_ROUTINE RESTORE RETALL RETURN 178syn keyword idlangRoutine REVERSE REWIND RK4 ROBERTS ROT ROTATE ROUND 179syn keyword idlangRoutine ROUTINE_INFO RS_TEST S_TEST SAVE SAVGOL SCALE3 180syn keyword idlangRoutine SCALE3D SEARCH2D SEARCH3D SET_PLOT SET_SHADING 181syn keyword idlangRoutine SET_SYMBOL SETENV SETLOG SETUP_KEYS SFIT 182syn keyword idlangRoutine SHADE_SURF SHADE_SURF_IRR SHADE_VOLUME SHIFT SHOW3 183syn keyword idlangRoutine SHOWFONT SIN SINDGEN SINH SIZE SKEWNESS SKIPF 184syn keyword idlangRoutine SLICER3 SLIDE_IMAGE SMOOTH SOBEL SOCKET SORT SPAWN 185syn keyword idlangRoutine SPH_4PNT SPH_SCAT SPHER_HARM SPL_INIT SPL_INTERP 186syn keyword idlangRoutine SPLINE SPLINE_P SPRSAB SPRSAX SPRSIN SPRSTP SQRT 187syn keyword idlangRoutine STANDARDIZE STDDEV STOP STRARR STRCMP STRCOMPRESS 188syn keyword idlangRoutine STREAMLINE STREGEX STRETCH STRING STRJOIN STRLEN 189syn keyword idlangRoutine STRLOWCASE STRMATCH STRMESSAGE STRMID STRPOS 190syn keyword idlangRoutine STRPUT STRSPLIT STRTRIM STRUCT_ASSIGN STRUCT_HIDE 191syn keyword idlangRoutine STRUPCASE SURFACE SURFR SVDC SVDFIT SVSOL 192syn keyword idlangRoutine SWAP_ENDIAN SWITCH SYSTIME T_CVF T_PDF T3D 193syn keyword idlangRoutine TAG_NAMES TAN TANH TAPRD TAPWRT TEK_COLOR 194syn keyword idlangRoutine TEMPORARY TETRA_CLIP TETRA_SURFACE TETRA_VOLUME 195syn keyword idlangRoutine THIN THREED TIME_TEST2 TIMEGEN TM_TEST TOTAL TRACE 196syn keyword idlangRoutine TRANSPOSE TRI_SURF TRIANGULATE TRIGRID TRIQL 197syn keyword idlangRoutine TRIRED TRISOL TRNLOG TS_COEF TS_DIFF TS_FCAST 198syn keyword idlangRoutine TS_SMOOTH TV TVCRS TVLCT TVRD TVSCL UINDGEN UINT 199syn keyword idlangRoutine UINTARR UL64INDGEN ULINDGEN ULON64ARR ULONARR 200syn keyword idlangRoutine ULONG ULONG64 UNIQ USERSYM VALUE_LOCATE VARIANCE 201syn keyword idlangRoutine VAX_FLOAT VECTOR_FIELD VEL VELOVECT VERT_T3D VOIGT 202syn keyword idlangRoutine VORONOI VOXEL_PROJ WAIT WARP_TRI WATERSHED WDELETE 203syn keyword idlangRoutine WEOF WF_DRAW WHERE WIDGET_BASE WIDGET_BUTTON 204syn keyword idlangRoutine WIDGET_CONTROL WIDGET_DRAW WIDGET_DROPLIST 205syn keyword idlangRoutine WIDGET_EVENT WIDGET_INFO WIDGET_LABEL WIDGET_LIST 206syn keyword idlangRoutine WIDGET_SLIDER WIDGET_TABLE WIDGET_TEXT WINDOW 207syn keyword idlangRoutine WRITE_BMP WRITE_IMAGE WRITE_JPEG WRITE_NRIF 208syn keyword idlangRoutine WRITE_PICT WRITE_PNG WRITE_PPM WRITE_SPR WRITE_SRF 209syn keyword idlangRoutine WRITE_SYLK WRITE_TIFF WRITE_WAV WRITE_WAVE WRITEU 210syn keyword idlangRoutine WSET WSHOW WTN WV_APPLET WV_CW_WAVELET WV_CWT 211syn keyword idlangRoutine WV_DENOISE WV_DWT WV_FN_COIFLET WV_FN_DAUBECHIES 212syn keyword idlangRoutine WV_FN_GAUSSIAN WV_FN_HAAR WV_FN_MORLET WV_FN_PAUL 213syn keyword idlangRoutine WV_FN_SYMLET WV_IMPORT_DATA WV_IMPORT_WAVELET 214syn keyword idlangRoutine WV_PLOT3D_WPS WV_PLOT_MULTIRES WV_PWT 215syn keyword idlangRoutine WV_TOOL_DENOISE XBM_EDIT XDISPLAYFILE XDXF XFONT 216syn keyword idlangRoutine XINTERANIMATE XLOADCT XMANAGER XMNG_TMPL XMTOOL 217syn keyword idlangRoutine XOBJVIEW XPALETTE XPCOLOR XPLOT3D XREGISTERED XROI 218syn keyword idlangRoutine XSQ_TEST XSURFACE XVAREDIT XVOLUME XVOLUME_ROTATE 219syn keyword idlangRoutine XVOLUME_WRITE_IMAGE XYOUTS ZOOM ZOOM_24 220 221" Define the default highlighting. 222" For version 5.7 and earlier: only when not done already 223" For version 5.8 and later: only when an item doesn't have highlighting yet 224if version >= 508 || !exists("did_idlang_syn_inits") 225 if version < 508 226 let did_idlang_syn_inits = 1 227 command -nargs=+ HiLink hi link <args> 228else 229 command -nargs=+ HiLink hi def link <args> 230endif 231 232 HiLink idlangConditional Conditional 233 HiLink idlangRoutine Type 234 HiLink idlangStatement Statement 235 HiLink idlangContinueLine Todo 236 HiLink idlangRealNumber Float 237 HiLink idlangNumber Number 238 HiLink idlangString String 239 HiLink idlangOperator Operator 240 HiLink idlangComment Comment 241 HiLink idlangTodo Todo 242 HiLink idlangPreCondit Identifier 243 HiLink idlangDblCommaError Error 244 HiLink idlangStop Error 245 HiLink idlangStrucvar PreProc 246 HiLink idlangSystem Identifier 247 HiLink idlangKeyword Special 248 249 delcommand HiLink 250endif 251 252let b:current_syntax = "idlang" 253" vim: ts=18 254