1
2Description="Interactive Data Language"
3
4Categories = {"database"}
5
6Identifiers=[[ [a-zA-Z_][\w\d\*]* ]]
7
8Keywords={
9  { Id=1,
10    List={"pro", "function"},
11  },
12  { Id=2,
13    List={"a_correlate", "abs", "acos", "adapt_hist_equal", "alog", "alog10",
14        "amoeba", "annotate", "arg_present", "array_equal", "arrow", "ascii_template",
15        "asin", "assoc", "atan", "axis", "bar_plot", "beseli", "beselj", "beselk",
16        "besely", "beta", "bilinear", "bin_date", "binary_template", "bindgen",
17        "binomial", "blas_axpy", "blk_con", "box_cursor", "break", "breakpoint",
18        "broyden", "bytarr", "byte", "byteorder", "bytscl", "c_correlate", "caldat",
19        "calendar", "call_external", "call_function", "call_method", "call_procedure",
20        "catch", "cd", "ceil", "chebyshev", "check_math", "chisqr_cvf", "chisqr_pdf",
21        "choldc", "cholsol", "cindgen", "cir_3pnt", "close", "clust_wts", "cluster",
22        "color_convert", "color_quan", "colormap_applicable", "comfit", "common",
23        "complex", "complexarr", "complexround", "compute_mesh_normals", "cond",
24        "congrid", "conj", "constrained_min", "contour", "convert_coord", "convol",
25        "coord2to3", "correlate", "cos", "cosh", "cramer", "create_struct",
26        "create_view", "crossp", "crvlength", "ct_luminance", "cti_test", "cursor",
27        "curvefit", "cv_coord", "cvttobm", "cw_animate", "cw_animate_getp",
28        "cw_animate_load", "cw_animate_run", "cw_arcball", "cw_bgroup", "cw_clr_index",
29        "cw_colorsel", "cw_defroi", "cw_field", "cw_filesel", "cw_form", "cw_fslider",
30        "cw_light_editor", "cw_light_editor_get", "cw_light_editor_set", "cw_orient",
31        "cw_palette_editor", "cw_palette_editor_get", "cw_palette_editor_set",
32        "cw_pdmenu", "cw_rgbslider", "cw_tmpl", "cw_zoom", "dblarr", "dcindgen",
33        "dcomplex", "dcomplexarr", "define_key", "defroi", "defsysv", "delete_symbol",
34        "dellog", "delvar", "deriv", "derivsig", "determ", "device", "dfpmin",
35        "dialog_message", "dialog_pickfile", "dialog_printersetup", "dialog_printjob",
36        "dialog_read_image", "dialog_write_image", "digital_filter", "dilate",
37        "dindgen", "dissolve", "dist", "dlm_load", "dlm_register", "do_apple_script",
38        "doc_library", "double", "draw_roi", "efont", "eigenql", "eigenvec", "elmhes",
39        "empty", "enable_sysrtn", "eof", "erase", "erode", "errorf", "errplot",
40        "execute", "exit", "exp", "expand", "expand_path", "expint", "extrac",
41        "extract_slice", "f_cvf", "f_pdf", "factorial", "fft", "file_chmod",
42        "file_delete", "file_expand_path", "file_mkdir", "file_test", "file_which",
43        "filepath", "findfile", "findgen", "finite", "fix", "flick", "float", "floor",
44        "flow3", "fltarr", "flush", "for", "format_axis_values", "forward_function",
45        "free_lun", "fstat", "fulstr", "funct", "fv_test", "fx_root", "fz_roots",
46        "gamma", "gamma_ct", "gauss_cvf", "gauss_pdf", "gauss2dfit", "gaussfit",
47        "gaussint", "get_drive_list", "get_kbrd", "get_lun", "get_screen_size",
48        "get_symbol", "getenv", "goto", "grid_tps", "grid3", "gs_iter", "h_eq_ct",
49        "h_eq_int", "hanning", "heap_gc", "help", "hilbert", "hist_2d", "hist_equal",
50        "histogram", "hls", "hough", "hqr", "hsv", "ibeta", "identity", "idl_container",
51        "idlanroi", "idlanroigroup", "idlffdicom", "idlffdxf", "idlfflanguagecat",
52        "idlffshape", "idlgraxis", "idlgrbuffer", "idlgrclipboard", "idlgrcolorbar",
53        "idlgrcontour", "idlgrfont", "idlgrimage", "idlgrlegend", "idlgrlight",
54        "idlgrmodel", "idlgrmpeg", "idlgrpalette", "idlgrpattern", "idlgrplot",
55        "idlgrpolygon", "idlgrpolyline", "idlgrprinter", "idlgrroi", "idlgrroigroup",
56        "idlgrscene", "idlgrsurface", "idlgrsymbol", "idlgrtessellator", "idlgrtext",
57        "idlgrview", "idlgrviewgroup", "idlgrvolume", "idlgrvrml", "idlgrwindow",
58        "igamma", "image_cont", "image_statistics", "imaginary", "indgen", "int_2d",
59        "int_3d", "int_tabulated", "intarr", "interpol", "interpolate", "invert",
60        "ioctl", "ishft", "isocontour", "isosurface", "journal", "julday",
61        "keyword_set", "krig2d", "kurtosis", "kw_test", "l64indgen", "label_date",
62        "label_region", "ladfit", "laguerre", "leefilt", "legendre", "linbcg",
63        "lindgen", "linfit", "linkimage", "live_contour", "live_control",
64        "live_destroy", "live_export", "live_image", "live_info", "live_line",
65        "live_load", "live_oplot", "live_plot", "live_print", "live_rect", "live_style",
66        "live_surface", "live_text", "ljlct", "ll_arc_distance", "lmfit", "lmgr",
67        "lngamma", "lnp_test", "loadct", "locale_get", "lon64arr", "lonarr", "long",
68        "long64", "lsode", "lu_complex", "ludc", "lumprove", "lusol", "m_correlate",
69        "machar", "make_array", "make_dll", "map_2points", "map_continents", "map_grid",
70        "map_image", "map_patch", "map_proj_info", "map_set", "matrix_multiply",
71        "md_test", "mean", "meanabsdev", "median", "memory", "mesh_clip",
72        "mesh_decimate", "mesh_issolid", "mesh_merge", "mesh_numtriangles", "mesh_obj",
73        "mesh_smooth", "mesh_surfacearea", "mesh_validate", "mesh_volume", "message",
74        "min_curve_surf", "mk_html_help", "modifyct", "moment", "morph_close",
75        "morph_distance", "morph_gradient", "morph_hitormiss", "morph_open",
76        "morph_thin", "morph_tophat", "mpeg_close", "mpeg_open", "mpeg_put",
77        "mpeg_save", "msg_cat_close", "msg_cat_compile", "msg_cat_open", "multi",
78        "n_elements", "n_params", "n_tags", "newton", "norm", "obj_class",
79        "obj_destroy", "obj_isa", "obj_new", "obj_valid", "objarr", "on_error",
80        "on_ioerror", "online_help", "open", "openr", "openw", "oplot", "oploterr",
81        "p_correlate", "particle_trace", "pcomp", "plot", "plot_3dbox", "plot_field",
82        "ploterr", "plots", "pnt_line", "point_lun", "polar_contour", "polar_surface",
83        "poly", "poly_2d", "poly_area", "poly_fit", "polyfill", "polyfillv",
84        "polyshade", "polywarp", "popd", "powell", "primes", "print", "printf",
85        "printd", "profile", "profiler", "profiles", "project_vol", "ps_show_fonts",
86        "psafm", "pseudo", "ptr_free", "ptr_new", "ptr_valid", "ptrarr", "pushd",
87        "qromb", "qromo", "qsimp", "r_correlate", "r_test", "radon", "randomn",
88        "randomu", "ranks", "rdpix", "read", "readf", "read_ascii", "read_binary",
89        "read_bmp", "read_dicom", "read_image", "read_interfile", "read_jpeg",
90        "read_pict", "read_png", "read_ppm", "read_spr", "read_srf", "read_sylk",
91        "read_tiff", "read_wav", "read_wave", "read_x11_bitmap", "read_xwd", "reads",
92        "readu", "rebin", "recall_commands", "recon3", "reduce_colors", "reform",
93        "regress", "replicate", "replicate_inplace", "resolve_all", "resolve_routine",
94        "restore", "retall", "return", "reverse", "rewind", "rk4", "roberts", "rot",
95        "rotate", "round", "routine_info", "rs_test", "s_test", "save", "savgol",
96        "scale3", "scale3d", "search2d", "search3d", "set_plot", "set_shading",
97        "set_symbol", "setenv", "setlog", "setup_keys", "sfit", "shade_surf",
98        "shade_surf_irr", "shade_volume", "shift", "show3", "showfont", "sin",
99        "sindgen", "sinh", "size", "skewness", "skipf", "slicer3", "slide_image",
100        "smooth", "sobel", "socket", "sort", "spawn", "sph_4pnt", "sph_scat",
101        "spher_harm", "spl_init", "spl_interp", "spline", "spline_p", "sprsab",
102        "sprsax", "sprsin", "sprstp", "sqrt", "standardize", "stddev", "stop", "strarr",
103        "strcmp", "strcompress", "streamline", "stregex", "stretch", "string",
104        "strjoin", "strlen", "strlowcase", "strmatch", "strmessage", "strmid", "strpos",
105        "strput", "strsplit", "strtrim", "struct_assign", "struct_hide", "strupcase",
106        "surface", "surfr", "svdc", "svdfit", "svsol", "swap_endian", "switch",
107        "systime", "t_cvf", "t_pdf", "t3d", "tag_names", "tan", "tanh", "taprd",
108        "tapwrt", "tek_color", "temporary", "tetra_clip", "tetra_surface",
109        "tetra_volume", "thin", "threed", "time_test2", "timegen", "tm_test", "total",
110        "trace", "transpose", "tri_surf", "triangulate", "trigrid", "triql", "trired",
111        "trisol", "trnlog", "ts_coef", "ts_diff", "ts_fcast", "ts_smooth", "tv",
112        "tvcrs", "tvlct", "tvrd", "tvscl", "uindgen", "uint", "uintarr", "ul64indgen",
113        "ulindgen", "ulon64arr", "ulonarr", "ulong", "ulong64", "uniq", "usersym",
114        "value_locate", "variance", "vax_float", "vector_field", "vel", "velovect",
115        "vert_t3d", "voigt", "voronoi", "voxel_proj", "wait", "warp_tri", "watershed",
116        "wdelete", "weof", "wf_draw", "where", "widget_base", "widget_button",
117        "widget_control", "widget_draw", "widget_droplist", "widget_event",
118        "widget_info", "widget_label", "widget_list", "widget_slider", "widget_table",
119        "widget_text", "window", "write_bmp", "write_image", "write_jpeg", "write_nrif",
120        "write_pict", "write_png", "write_ppm", "write_spr", "write_srf", "write_sylk",
121        "write_tiff", "write_wav", "write_wave", "writeu", "wset", "wshow", "wtn",
122        "wv_applet", "wv_cw_wavelet", "wv_cwt", "wv_denoise", "wv_dwt", "wv_fn_coiflet",
123        "wv_fn_daubechies", "wv_fn_gaussian", "wv_fn_haar", "wv_fn_morlet",
124        "wv_fn_paul", "wv_fn_symlet", "wv_import_data", "wv_import_wavelet",
125        "wv_plot3d_wps", "wv_plot_multires", "wv_pwt", "wv_tool_denoise", "xbm_edit",
126        "xdisplayfile", "xdxf", "xfont", "xinteranimate", "xloadct", "xmanager",
127        "xmng_tmpl", "xmtool", "xobjview", "xpalette", "xpcolor", "xplot3d",
128        "xregistered", "xroi", "xsq_test", "xsurface", "xvaredit", "xvolume",
129        "xvolume_rotate", "xvolume_write_image", "xyouts", "zoom", "zoom_24"},
130  },
131  { Id=3,
132    List={"if",  "else",  "then",  "for", "while", "case",  "switch",  "endcase",  "endelse",  "endfor",
133            "endswitch", "endif",  "endrep",  "endwhile", "repeat",  "until", "continue"},
134  },
135  { Id=4,
136    List={"return", "continue", "mod", "do",  "break", "compile_opt", "forward_function", "goto", "begin",
137            "common", "end", "of",  "inherits",  "on_ioerror", "begin", "stop", "and", "eq", "ge",  "gt",
138            "le", "lt",  "ne",  "or",  "xor"},
139  },
140}
141
142Strings={
143  Delimiter=[["|']],
144}
145
146IgnoreCase=true
147
148Comments={
149  { Block=false,
150    Delimiter= { [[;]] },
151  },
152}
153
154Operators=[[\(|\)|\[|\]|\{|\}|\,|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-|\.]]
155
156