rouge 3.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +40 -0
- data/LICENSE +186 -0
- data/bin/rougify +18 -0
- data/lib/rouge.rb +93 -0
- data/lib/rouge/cli.rb +498 -0
- data/lib/rouge/demos/abap +6 -0
- data/lib/rouge/demos/actionscript +4 -0
- data/lib/rouge/demos/ada +26 -0
- data/lib/rouge/demos/apache +21 -0
- data/lib/rouge/demos/apex +9 -0
- data/lib/rouge/demos/apiblueprint +33 -0
- data/lib/rouge/demos/applescript +2 -0
- data/lib/rouge/demos/armasm +12 -0
- data/lib/rouge/demos/awk +4 -0
- data/lib/rouge/demos/batchfile +3 -0
- data/lib/rouge/demos/bbcbasic +6 -0
- data/lib/rouge/demos/biml +38 -0
- data/lib/rouge/demos/bpf +7 -0
- data/lib/rouge/demos/brainfuck +5 -0
- data/lib/rouge/demos/bsl +7 -0
- data/lib/rouge/demos/c +8 -0
- data/lib/rouge/demos/ceylon +7 -0
- data/lib/rouge/demos/cfscript +18 -0
- data/lib/rouge/demos/clean +6 -0
- data/lib/rouge/demos/clojure +5 -0
- data/lib/rouge/demos/cmake +7 -0
- data/lib/rouge/demos/cmhg +8 -0
- data/lib/rouge/demos/coffeescript +5 -0
- data/lib/rouge/demos/common_lisp +1 -0
- data/lib/rouge/demos/conf +4 -0
- data/lib/rouge/demos/console +6 -0
- data/lib/rouge/demos/coq +13 -0
- data/lib/rouge/demos/cpp +8 -0
- data/lib/rouge/demos/crystal +45 -0
- data/lib/rouge/demos/csharp +5 -0
- data/lib/rouge/demos/css +4 -0
- data/lib/rouge/demos/csvs +8 -0
- data/lib/rouge/demos/cuda +11 -0
- data/lib/rouge/demos/cython +6 -0
- data/lib/rouge/demos/d +16 -0
- data/lib/rouge/demos/dart +6 -0
- data/lib/rouge/demos/diff +7 -0
- data/lib/rouge/demos/digdag +19 -0
- data/lib/rouge/demos/docker +9 -0
- data/lib/rouge/demos/dot +5 -0
- data/lib/rouge/demos/ecl +18 -0
- data/lib/rouge/demos/eex +1 -0
- data/lib/rouge/demos/eiffel +30 -0
- data/lib/rouge/demos/elixir +1 -0
- data/lib/rouge/demos/elm +4 -0
- data/lib/rouge/demos/epp +4 -0
- data/lib/rouge/demos/erb +1 -0
- data/lib/rouge/demos/erlang +7 -0
- data/lib/rouge/demos/escape +3 -0
- data/lib/rouge/demos/factor +5 -0
- data/lib/rouge/demos/fortran +22 -0
- data/lib/rouge/demos/freefem +16 -0
- data/lib/rouge/demos/fsharp +12 -0
- data/lib/rouge/demos/gdscript +18 -0
- data/lib/rouge/demos/ghc-core +26 -0
- data/lib/rouge/demos/gherkin +17 -0
- data/lib/rouge/demos/glsl +14 -0
- data/lib/rouge/demos/go +7 -0
- data/lib/rouge/demos/gradle +10 -0
- data/lib/rouge/demos/graphql +17 -0
- data/lib/rouge/demos/groovy +9 -0
- data/lib/rouge/demos/hack +5 -0
- data/lib/rouge/demos/haml +5 -0
- data/lib/rouge/demos/handlebars +7 -0
- data/lib/rouge/demos/haskell +6 -0
- data/lib/rouge/demos/haxe +5 -0
- data/lib/rouge/demos/hcl +7 -0
- data/lib/rouge/demos/hocon +8 -0
- data/lib/rouge/demos/hql +5 -0
- data/lib/rouge/demos/html +8 -0
- data/lib/rouge/demos/http +14 -0
- data/lib/rouge/demos/hylang +10 -0
- data/lib/rouge/demos/idlang +8 -0
- data/lib/rouge/demos/igorpro +9 -0
- data/lib/rouge/demos/ini +4 -0
- data/lib/rouge/demos/io +11 -0
- data/lib/rouge/demos/irb +4 -0
- data/lib/rouge/demos/irb_output +2 -0
- data/lib/rouge/demos/java +5 -0
- data/lib/rouge/demos/javascript +1 -0
- data/lib/rouge/demos/jinja +9 -0
- data/lib/rouge/demos/jsl +3 -0
- data/lib/rouge/demos/json +1 -0
- data/lib/rouge/demos/json-doc +1 -0
- data/lib/rouge/demos/jsonnet +28 -0
- data/lib/rouge/demos/jsp +29 -0
- data/lib/rouge/demos/jsx +17 -0
- data/lib/rouge/demos/julia +11 -0
- data/lib/rouge/demos/kotlin +3 -0
- data/lib/rouge/demos/lasso +12 -0
- data/lib/rouge/demos/liquid +10 -0
- data/lib/rouge/demos/literate_coffeescript +3 -0
- data/lib/rouge/demos/literate_haskell +7 -0
- data/lib/rouge/demos/llvm +20 -0
- data/lib/rouge/demos/lua +12 -0
- data/lib/rouge/demos/lustre +6 -0
- data/lib/rouge/demos/lutin +18 -0
- data/lib/rouge/demos/m68k +16 -0
- data/lib/rouge/demos/magik +6 -0
- data/lib/rouge/demos/make +6 -0
- data/lib/rouge/demos/markdown +4 -0
- data/lib/rouge/demos/mason +22 -0
- data/lib/rouge/demos/mathematica +8 -0
- data/lib/rouge/demos/matlab +6 -0
- data/lib/rouge/demos/minizinc +23 -0
- data/lib/rouge/demos/moonscript +16 -0
- data/lib/rouge/demos/mosel +10 -0
- data/lib/rouge/demos/msgtrans +4 -0
- data/lib/rouge/demos/mxml +22 -0
- data/lib/rouge/demos/nasm +26 -0
- data/lib/rouge/demos/nesasm +11 -0
- data/lib/rouge/demos/nginx +5 -0
- data/lib/rouge/demos/nim +27 -0
- data/lib/rouge/demos/nix +19 -0
- data/lib/rouge/demos/objective_c +18 -0
- data/lib/rouge/demos/objective_cpp +17 -0
- data/lib/rouge/demos/ocaml +12 -0
- data/lib/rouge/demos/openedge +4 -0
- data/lib/rouge/demos/opentype_feature_file +6 -0
- data/lib/rouge/demos/pascal +14 -0
- data/lib/rouge/demos/perl +5 -0
- data/lib/rouge/demos/php +3 -0
- data/lib/rouge/demos/plaintext +1 -0
- data/lib/rouge/demos/plist +11 -0
- data/lib/rouge/demos/pony +17 -0
- data/lib/rouge/demos/powershell +13 -0
- data/lib/rouge/demos/praat +26 -0
- data/lib/rouge/demos/prolog +9 -0
- data/lib/rouge/demos/prometheus +9 -0
- data/lib/rouge/demos/properties +7 -0
- data/lib/rouge/demos/protobuf +5 -0
- data/lib/rouge/demos/puppet +6 -0
- data/lib/rouge/demos/python +6 -0
- data/lib/rouge/demos/q +8 -0
- data/lib/rouge/demos/qml +9 -0
- data/lib/rouge/demos/r +8 -0
- data/lib/rouge/demos/racket +24 -0
- data/lib/rouge/demos/reasonml +12 -0
- data/lib/rouge/demos/robot_framework +27 -0
- data/lib/rouge/demos/ruby +9 -0
- data/lib/rouge/demos/rust +12 -0
- data/lib/rouge/demos/sas +13 -0
- data/lib/rouge/demos/sass +3 -0
- data/lib/rouge/demos/scala +3 -0
- data/lib/rouge/demos/scheme +4 -0
- data/lib/rouge/demos/scss +5 -0
- data/lib/rouge/demos/sed +4 -0
- data/lib/rouge/demos/shell +2 -0
- data/lib/rouge/demos/sieve +10 -0
- data/lib/rouge/demos/slice +10 -0
- data/lib/rouge/demos/slim +17 -0
- data/lib/rouge/demos/smalltalk +6 -0
- data/lib/rouge/demos/smarty +12 -0
- data/lib/rouge/demos/sml +4 -0
- data/lib/rouge/demos/sparql +6 -0
- data/lib/rouge/demos/sqf +14 -0
- data/lib/rouge/demos/sql +1 -0
- data/lib/rouge/demos/supercollider +11 -0
- data/lib/rouge/demos/swift +5 -0
- data/lib/rouge/demos/tap +5 -0
- data/lib/rouge/demos/tcl +1 -0
- data/lib/rouge/demos/terraform +16 -0
- data/lib/rouge/demos/tex +1 -0
- data/lib/rouge/demos/toml +9 -0
- data/lib/rouge/demos/tsx +17 -0
- data/lib/rouge/demos/ttcn3 +6 -0
- data/lib/rouge/demos/tulip +13 -0
- data/lib/rouge/demos/turtle +26 -0
- data/lib/rouge/demos/twig +9 -0
- data/lib/rouge/demos/typescript +1 -0
- data/lib/rouge/demos/vala +8 -0
- data/lib/rouge/demos/vb +4 -0
- data/lib/rouge/demos/vcl +12 -0
- data/lib/rouge/demos/verilog +27 -0
- data/lib/rouge/demos/vhdl +23 -0
- data/lib/rouge/demos/viml +14 -0
- data/lib/rouge/demos/vue +11 -0
- data/lib/rouge/demos/wollok +11 -0
- data/lib/rouge/demos/xml +2 -0
- data/lib/rouge/demos/xojo +14 -0
- data/lib/rouge/demos/xpath +2 -0
- data/lib/rouge/demos/xquery +22 -0
- data/lib/rouge/demos/yaml +4 -0
- data/lib/rouge/formatter.rb +112 -0
- data/lib/rouge/formatters/html.rb +56 -0
- data/lib/rouge/formatters/html_inline.rb +31 -0
- data/lib/rouge/formatters/html_legacy.rb +45 -0
- data/lib/rouge/formatters/html_line_table.rb +53 -0
- data/lib/rouge/formatters/html_linewise.rb +23 -0
- data/lib/rouge/formatters/html_pygments.rb +18 -0
- data/lib/rouge/formatters/html_table.rb +51 -0
- data/lib/rouge/formatters/null.rb +20 -0
- data/lib/rouge/formatters/terminal256.rb +198 -0
- data/lib/rouge/formatters/terminal_truecolor.rb +37 -0
- data/lib/rouge/formatters/tex.rb +92 -0
- data/lib/rouge/guesser.rb +57 -0
- data/lib/rouge/guessers/disambiguation.rb +136 -0
- data/lib/rouge/guessers/filename.rb +27 -0
- data/lib/rouge/guessers/glob_mapping.rb +45 -0
- data/lib/rouge/guessers/mimetype.rb +16 -0
- data/lib/rouge/guessers/modeline.rb +46 -0
- data/lib/rouge/guessers/source.rb +31 -0
- data/lib/rouge/guessers/util.rb +34 -0
- data/lib/rouge/lexer.rb +516 -0
- data/lib/rouge/lexers/abap.rb +240 -0
- data/lib/rouge/lexers/actionscript.rb +196 -0
- data/lib/rouge/lexers/ada.rb +162 -0
- data/lib/rouge/lexers/apache.rb +73 -0
- data/lib/rouge/lexers/apache/keywords.yml +764 -0
- data/lib/rouge/lexers/apex.rb +126 -0
- data/lib/rouge/lexers/apiblueprint.rb +49 -0
- data/lib/rouge/lexers/apple_script.rb +370 -0
- data/lib/rouge/lexers/armasm.rb +145 -0
- data/lib/rouge/lexers/awk.rb +162 -0
- data/lib/rouge/lexers/batchfile.rb +164 -0
- data/lib/rouge/lexers/bbcbasic.rb +112 -0
- data/lib/rouge/lexers/biml.rb +43 -0
- data/lib/rouge/lexers/bpf.rb +118 -0
- data/lib/rouge/lexers/brainfuck.rb +53 -0
- data/lib/rouge/lexers/bsl.rb +82 -0
- data/lib/rouge/lexers/c.rb +190 -0
- data/lib/rouge/lexers/ceylon.rb +96 -0
- data/lib/rouge/lexers/cfscript.rb +154 -0
- data/lib/rouge/lexers/clean.rb +156 -0
- data/lib/rouge/lexers/clojure.rb +113 -0
- data/lib/rouge/lexers/cmake.rb +207 -0
- data/lib/rouge/lexers/cmhg.rb +34 -0
- data/lib/rouge/lexers/coffeescript.rb +215 -0
- data/lib/rouge/lexers/common_lisp.rb +346 -0
- data/lib/rouge/lexers/conf.rb +25 -0
- data/lib/rouge/lexers/console.rb +174 -0
- data/lib/rouge/lexers/coq.rb +191 -0
- data/lib/rouge/lexers/cpp.rb +82 -0
- data/lib/rouge/lexers/crystal.rb +430 -0
- data/lib/rouge/lexers/csharp.rb +114 -0
- data/lib/rouge/lexers/css.rb +274 -0
- data/lib/rouge/lexers/csvs.rb +44 -0
- data/lib/rouge/lexers/cuda.rb +35 -0
- data/lib/rouge/lexers/cython.rb +151 -0
- data/lib/rouge/lexers/d.rb +177 -0
- data/lib/rouge/lexers/dart.rb +105 -0
- data/lib/rouge/lexers/diff.rb +37 -0
- data/lib/rouge/lexers/digdag.rb +70 -0
- data/lib/rouge/lexers/docker.rb +51 -0
- data/lib/rouge/lexers/dot.rb +69 -0
- data/lib/rouge/lexers/ecl.rb +175 -0
- data/lib/rouge/lexers/eex.rb +52 -0
- data/lib/rouge/lexers/eiffel.rb +66 -0
- data/lib/rouge/lexers/elixir.rb +149 -0
- data/lib/rouge/lexers/elm.rb +90 -0
- data/lib/rouge/lexers/epp.rb +51 -0
- data/lib/rouge/lexers/erb.rb +53 -0
- data/lib/rouge/lexers/erlang.rb +115 -0
- data/lib/rouge/lexers/escape.rb +58 -0
- data/lib/rouge/lexers/factor.rb +303 -0
- data/lib/rouge/lexers/fortran.rb +178 -0
- data/lib/rouge/lexers/freefem.rb +240 -0
- data/lib/rouge/lexers/fsharp.rb +119 -0
- data/lib/rouge/lexers/gdscript.rb +171 -0
- data/lib/rouge/lexers/ghc_core.rb +151 -0
- data/lib/rouge/lexers/gherkin.rb +140 -0
- data/lib/rouge/lexers/gherkin/keywords.rb +16 -0
- data/lib/rouge/lexers/glsl.rb +132 -0
- data/lib/rouge/lexers/go.rb +175 -0
- data/lib/rouge/lexers/gradle.rb +38 -0
- data/lib/rouge/lexers/graphql.rb +261 -0
- data/lib/rouge/lexers/groovy.rb +111 -0
- data/lib/rouge/lexers/hack.rb +49 -0
- data/lib/rouge/lexers/haml.rb +226 -0
- data/lib/rouge/lexers/handlebars.rb +91 -0
- data/lib/rouge/lexers/haskell.rb +199 -0
- data/lib/rouge/lexers/haxe.rb +246 -0
- data/lib/rouge/lexers/hcl.rb +163 -0
- data/lib/rouge/lexers/hocon.rb +86 -0
- data/lib/rouge/lexers/hql.rb +139 -0
- data/lib/rouge/lexers/html.rb +141 -0
- data/lib/rouge/lexers/http.rb +81 -0
- data/lib/rouge/lexers/hylang.rb +94 -0
- data/lib/rouge/lexers/idlang.rb +312 -0
- data/lib/rouge/lexers/igorpro.rb +664 -0
- data/lib/rouge/lexers/ini.rb +54 -0
- data/lib/rouge/lexers/io.rb +69 -0
- data/lib/rouge/lexers/irb.rb +67 -0
- data/lib/rouge/lexers/java.rb +91 -0
- data/lib/rouge/lexers/javascript.rb +279 -0
- data/lib/rouge/lexers/jinja.rb +154 -0
- data/lib/rouge/lexers/jsl.rb +55 -0
- data/lib/rouge/lexers/json.rb +69 -0
- data/lib/rouge/lexers/json_doc.rb +25 -0
- data/lib/rouge/lexers/jsonnet.rb +152 -0
- data/lib/rouge/lexers/jsp.rb +120 -0
- data/lib/rouge/lexers/jsx.rb +104 -0
- data/lib/rouge/lexers/julia.rb +290 -0
- data/lib/rouge/lexers/kotlin.rb +127 -0
- data/lib/rouge/lexers/lasso.rb +215 -0
- data/lib/rouge/lexers/lasso/keywords.yml +446 -0
- data/lib/rouge/lexers/liquid.rb +285 -0
- data/lib/rouge/lexers/literate_coffeescript.rb +34 -0
- data/lib/rouge/lexers/literate_haskell.rb +37 -0
- data/lib/rouge/lexers/llvm.rb +97 -0
- data/lib/rouge/lexers/lua.rb +164 -0
- data/lib/rouge/lexers/lua/builtins.rb +24 -0
- data/lib/rouge/lexers/lustre.rb +79 -0
- data/lib/rouge/lexers/lutin.rb +33 -0
- data/lib/rouge/lexers/m68k.rb +143 -0
- data/lib/rouge/lexers/magik.rb +127 -0
- data/lib/rouge/lexers/make.rb +135 -0
- data/lib/rouge/lexers/markdown.rb +182 -0
- data/lib/rouge/lexers/mason.rb +110 -0
- data/lib/rouge/lexers/mathematica.rb +96 -0
- data/lib/rouge/lexers/mathematica/builtins.rb +13 -0
- data/lib/rouge/lexers/matlab.rb +81 -0
- data/lib/rouge/lexers/matlab/builtins.yml +3515 -0
- data/lib/rouge/lexers/minizinc.rb +87 -0
- data/lib/rouge/lexers/moonscript.rb +115 -0
- data/lib/rouge/lexers/mosel.rb +232 -0
- data/lib/rouge/lexers/msgtrans.rb +26 -0
- data/lib/rouge/lexers/mxml.rb +69 -0
- data/lib/rouge/lexers/nasm.rb +72 -0
- data/lib/rouge/lexers/nesasm.rb +78 -0
- data/lib/rouge/lexers/nginx.rb +72 -0
- data/lib/rouge/lexers/nim.rb +154 -0
- data/lib/rouge/lexers/nix.rb +211 -0
- data/lib/rouge/lexers/objective_c.rb +21 -0
- data/lib/rouge/lexers/objective_c/common.rb +184 -0
- data/lib/rouge/lexers/objective_cpp.rb +31 -0
- data/lib/rouge/lexers/ocaml.rb +65 -0
- data/lib/rouge/lexers/ocaml/common.rb +53 -0
- data/lib/rouge/lexers/openedge.rb +429 -0
- data/lib/rouge/lexers/opentype_feature_file.rb +113 -0
- data/lib/rouge/lexers/pascal.rb +67 -0
- data/lib/rouge/lexers/perl.rb +231 -0
- data/lib/rouge/lexers/php.rb +216 -0
- data/lib/rouge/lexers/php/builtins.rb +203 -0
- data/lib/rouge/lexers/plain_text.rb +27 -0
- data/lib/rouge/lexers/plist.rb +47 -0
- data/lib/rouge/lexers/pony.rb +94 -0
- data/lib/rouge/lexers/powershell.rb +230 -0
- data/lib/rouge/lexers/praat.rb +351 -0
- data/lib/rouge/lexers/prolog.rb +67 -0
- data/lib/rouge/lexers/prometheus.rb +123 -0
- data/lib/rouge/lexers/properties.rb +52 -0
- data/lib/rouge/lexers/protobuf.rb +71 -0
- data/lib/rouge/lexers/puppet.rb +129 -0
- data/lib/rouge/lexers/python.rb +248 -0
- data/lib/rouge/lexers/q.rb +126 -0
- data/lib/rouge/lexers/qml.rb +74 -0
- data/lib/rouge/lexers/r.rb +89 -0
- data/lib/rouge/lexers/racket.rb +545 -0
- data/lib/rouge/lexers/reasonml.rb +65 -0
- data/lib/rouge/lexers/robot_framework.rb +249 -0
- data/lib/rouge/lexers/ruby.rb +444 -0
- data/lib/rouge/lexers/rust.rb +193 -0
- data/lib/rouge/lexers/sas.rb +563 -0
- data/lib/rouge/lexers/sass.rb +75 -0
- data/lib/rouge/lexers/sass/common.rb +181 -0
- data/lib/rouge/lexers/scala.rb +169 -0
- data/lib/rouge/lexers/scheme.rb +113 -0
- data/lib/rouge/lexers/scss.rb +35 -0
- data/lib/rouge/lexers/sed.rb +173 -0
- data/lib/rouge/lexers/shell.rb +201 -0
- data/lib/rouge/lexers/sieve.rb +97 -0
- data/lib/rouge/lexers/slice.rb +32 -0
- data/lib/rouge/lexers/slim.rb +229 -0
- data/lib/rouge/lexers/smalltalk.rb +117 -0
- data/lib/rouge/lexers/smarty.rb +81 -0
- data/lib/rouge/lexers/sml.rb +345 -0
- data/lib/rouge/lexers/sparql.rb +129 -0
- data/lib/rouge/lexers/sqf.rb +109 -0
- data/lib/rouge/lexers/sqf/commands.rb +15 -0
- data/lib/rouge/lexers/sql.rb +161 -0
- data/lib/rouge/lexers/supercollider.rb +116 -0
- data/lib/rouge/lexers/swift.rb +186 -0
- data/lib/rouge/lexers/tap.rb +89 -0
- data/lib/rouge/lexers/tcl.rb +193 -0
- data/lib/rouge/lexers/terraform.rb +113 -0
- data/lib/rouge/lexers/tex.rb +70 -0
- data/lib/rouge/lexers/toml.rb +106 -0
- data/lib/rouge/lexers/tsx.rb +20 -0
- data/lib/rouge/lexers/ttcn3.rb +119 -0
- data/lib/rouge/lexers/tulip.rb +108 -0
- data/lib/rouge/lexers/turtle.rb +61 -0
- data/lib/rouge/lexers/twig.rb +40 -0
- data/lib/rouge/lexers/typescript.rb +30 -0
- data/lib/rouge/lexers/typescript/common.rb +34 -0
- data/lib/rouge/lexers/vala.rb +78 -0
- data/lib/rouge/lexers/varnish.rb +168 -0
- data/lib/rouge/lexers/vb.rb +165 -0
- data/lib/rouge/lexers/verilog.rb +163 -0
- data/lib/rouge/lexers/vhdl.rb +98 -0
- data/lib/rouge/lexers/viml.rb +102 -0
- data/lib/rouge/lexers/viml/keywords.rb +14 -0
- data/lib/rouge/lexers/vue.rb +124 -0
- data/lib/rouge/lexers/wollok.rb +104 -0
- data/lib/rouge/lexers/xml.rb +54 -0
- data/lib/rouge/lexers/xojo.rb +61 -0
- data/lib/rouge/lexers/xpath.rb +332 -0
- data/lib/rouge/lexers/xquery.rb +145 -0
- data/lib/rouge/lexers/yaml.rb +376 -0
- data/lib/rouge/plugins/redcarpet.rb +37 -0
- data/lib/rouge/regex_lexer.rb +443 -0
- data/lib/rouge/template_lexer.rb +21 -0
- data/lib/rouge/tex_theme_renderer.rb +132 -0
- data/lib/rouge/text_analyzer.rb +50 -0
- data/lib/rouge/theme.rb +218 -0
- data/lib/rouge/themes/base16.rb +131 -0
- data/lib/rouge/themes/bw.rb +41 -0
- data/lib/rouge/themes/colorful.rb +68 -0
- data/lib/rouge/themes/github.rb +72 -0
- data/lib/rouge/themes/gruvbox.rb +168 -0
- data/lib/rouge/themes/igor_pro.rb +21 -0
- data/lib/rouge/themes/magritte.rb +78 -0
- data/lib/rouge/themes/molokai.rb +83 -0
- data/lib/rouge/themes/monokai.rb +93 -0
- data/lib/rouge/themes/monokai_sublime.rb +93 -0
- data/lib/rouge/themes/pastie.rb +70 -0
- data/lib/rouge/themes/thankful_eyes.rb +75 -0
- data/lib/rouge/themes/tulip.rb +70 -0
- data/lib/rouge/token.rb +191 -0
- data/lib/rouge/util.rb +102 -0
- data/lib/rouge/version.rb +8 -0
- data/rouge.gemspec +26 -0
- metadata +476 -0
@@ -0,0 +1,312 @@
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
# vim: set ts=2 sw=2 et:
|
5
|
+
|
6
|
+
module Rouge
|
7
|
+
module Lexers
|
8
|
+
class IDLang < RegexLexer
|
9
|
+
title "IDL"
|
10
|
+
desc "Interactive Data Language"
|
11
|
+
|
12
|
+
tag 'idlang'
|
13
|
+
filenames '*.idl'
|
14
|
+
|
15
|
+
name = /[_A-Z]\w*/i
|
16
|
+
kind_param = /(\d+|#{name})/
|
17
|
+
exponent = /[dDeE][+-]\d+/
|
18
|
+
|
19
|
+
def self.exec_unit
|
20
|
+
@exec_unit ||= Set.new %w(
|
21
|
+
PRO FUNCTION
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.keywords
|
26
|
+
@keywords ||= Set.new %w(
|
27
|
+
STRUCT INHERITS
|
28
|
+
RETURN CONTINUE BEGIN END BREAK GOTO
|
29
|
+
)
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.standalone_statements
|
33
|
+
# Must not have a comma afterwards
|
34
|
+
@standalone_statements ||= Set.new %w(
|
35
|
+
COMMON FORWARD_FUNCTION
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.decorators
|
40
|
+
# Must not have a comma afterwards
|
41
|
+
@decorators ||= Set.new %w(
|
42
|
+
COMPILE_OPT
|
43
|
+
)
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.operators
|
47
|
+
@operators ||= Set.new %w(
|
48
|
+
AND= EQ= GE= GT= LE= LT= MOD= NE= OR= XOR= NOT=
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
52
|
+
def self.conditionals
|
53
|
+
@conditionals ||= Set.new %w(
|
54
|
+
OF DO ENDIF ENDELSE ENDFOR ENDFOREACH ENDWHILE ENDREP ENDCASE ENDSWITCH
|
55
|
+
IF THEN ELSE FOR FOREACH WHILE REPEAT UNTIL CASE SWITCH
|
56
|
+
AND EQ GE GT LE LT MOD NE OR XOR NOT
|
57
|
+
)
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.routines
|
61
|
+
@routines ||= Set.new %w(
|
62
|
+
A_CORRELATE ABS ACOS ADAPT_HIST_EQUAL ALOG ALOG10
|
63
|
+
AMOEBA ANNOTATE ARG_PRESENT ARRAY_EQUAL
|
64
|
+
ARRAY_INDICES ARROW ASCII_TEMPLATE ASIN ASSOC ATAN
|
65
|
+
AXIS BAR_PLOT BESELI BESELJ BESELK BESELY BETA
|
66
|
+
BILINEAR BIN_DATE BINARY_TEMPLATE BINDGEN BINOMIAL
|
67
|
+
BLAS_AXPY BLK_CON BOX_CURSOR BREAK BREAKPOINT
|
68
|
+
BROYDEN BYTARR BYTE BYTEORDER BYTSCL C_CORRELATE
|
69
|
+
CALDAT CALENDAR CALL_EXTERNAL CALL_FUNCTION
|
70
|
+
CALL_METHOD CALL_PROCEDURE CATCH CD CEIL CHEBYSHEV
|
71
|
+
CHECK_MATH CHISQR_CVF CHISQR_PDF CHOLDC CHOLSOL
|
72
|
+
CINDGEN CIR_3PNT CLOSE CLUST_WTS CLUSTER
|
73
|
+
COLOR_CONVERT COLOR_QUAN COLORMAP_APPLICABLE COMFIT
|
74
|
+
COMPLEX COMPLEXARR COMPLEXROUND
|
75
|
+
COMPUTE_MESH_NORMALS COND CONGRID CONJ
|
76
|
+
CONSTRAINED_MIN CONTOUR CONVERT_COORD CONVOL
|
77
|
+
COORD2TO3 CORRELATE COS COSH CRAMER CREATE_STRUCT
|
78
|
+
CREATE_VIEW CROSSP CRVLENGTH CT_LUMINANCE CTI_TEST
|
79
|
+
CURSOR CURVEFIT CV_COORD CVTTOBM CW_ANIMATE
|
80
|
+
CW_ANIMATE_GETP CW_ANIMATE_LOAD CW_ANIMATE_RUN
|
81
|
+
CW_ARCBALL CW_BGROUP CW_CLR_INDEX CW_COLORSEL
|
82
|
+
CW_DEFROI CW_FIELD CW_FILESEL CW_FORM CW_FSLIDER
|
83
|
+
CW_LIGHT_EDITOR CW_LIGHT_EDITOR_GET
|
84
|
+
CW_LIGHT_EDITOR_SET CW_ORIENT CW_PALETTE_EDITOR
|
85
|
+
CW_PALETTE_EDITOR_GET CW_PALETTE_EDITOR_SET
|
86
|
+
CW_PDMENU CW_RGBSLIDER CW_TMPL CW_ZOOM DBLARR
|
87
|
+
DCINDGEN DCOMPLEX DCOMPLEXARR DEFINE_KEY DEFROI
|
88
|
+
DEFSYSV DELETE_SYMBOL DELLOG DELVAR DERIV DERIVSIG
|
89
|
+
DETERM DEVICE DFPMIN DIALOG_MESSAGE
|
90
|
+
DIALOG_PICKFILE DIALOG_PRINTERSETUP
|
91
|
+
DIALOG_PRINTJOB DIALOG_READ_IMAGE
|
92
|
+
DIALOG_WRITE_IMAGE DICTIONARY DIGITAL_FILTER DILATE DINDGEN
|
93
|
+
DISSOLVE DIST DLM_LOAD DLM_REGISTER
|
94
|
+
DO_APPLE_SCRIPT DOC_LIBRARY DOUBLE DRAW_ROI EFONT
|
95
|
+
EIGENQL EIGENVEC ELMHES EMPTY ENABLE_SYSRTN EOF
|
96
|
+
ERASE ERODE ERRORF ERRPLOT EXECUTE EXIT EXP EXPAND
|
97
|
+
EXPAND_PATH EXPINT EXTRAC EXTRACT_SLICE F_CVF
|
98
|
+
F_PDF FACTORIAL FFT FILE_CHMOD FILE_DELETE
|
99
|
+
FILE_EXPAND_PATH FILE_MKDIR FILE_TEST FILE_WHICH
|
100
|
+
FILE_SEARCH PATH_SEP FILE_DIRNAME FILE_BASENAME
|
101
|
+
FILE_INFO FILE_MOVE FILE_COPY FILE_LINK FILE_POLL_INPUT
|
102
|
+
FILEPATH FINDFILE FINDGEN FINITE FIX FLICK FLOAT
|
103
|
+
FLOOR FLOW3 FLTARR FLUSH FORMAT_AXIS_VALUES
|
104
|
+
FORWARD_FUNCTION FREE_LUN FSTAT FULSTR FUNCT
|
105
|
+
FV_TEST FX_ROOT FZ_ROOTS GAMMA GAMMA_CT
|
106
|
+
GAUSS_CVF GAUSS_PDF GAUSS2DFIT GAUSSFIT GAUSSINT
|
107
|
+
GET_DRIVE_LIST GET_KBRD GET_LUN GET_SCREEN_SIZE
|
108
|
+
GET_SYMBOL GETENV GOTO GREG2JUL GRID_TPS GRID3 GS_ITER
|
109
|
+
H_EQ_CT H_EQ_INT HANNING HASH HEAP_GC HELP HILBERT
|
110
|
+
HIST_2D HIST_EQUAL HISTOGRAM HLS HOUGH HQR HSV
|
111
|
+
IBETA IDENTITY IDL_CONTAINER IDLANROI
|
112
|
+
IDLANROIGROUP IDLFFDICOM IDLFFDXF IDLFFLANGUAGECAT
|
113
|
+
IDLFFSHAPE IDLGRAXIS IDLGRBUFFER IDLGRCLIPBOARD
|
114
|
+
IDLGRCOLORBAR IDLGRCONTOUR IDLGRFONT IDLGRIMAGE
|
115
|
+
IDLGRLEGEND IDLGRLIGHT IDLGRMODEL IDLGRMPEG
|
116
|
+
IDLGRPALETTE IDLGRPATTERN IDLGRPLOT IDLGRPOLYGON
|
117
|
+
IDLGRPOLYLINE IDLGRPRINTER IDLGRROI IDLGRROIGROUP
|
118
|
+
IDLGRSCENE IDLGRSURFACE IDLGRSYMBOL
|
119
|
+
IDLGRTESSELLATOR IDLGRTEXT IDLGRVIEW
|
120
|
+
IDLGRVIEWGROUP IDLGRVOLUME IDLGRVRML IDLGRWINDOW
|
121
|
+
IGAMMA IMAGE_CONT IMAGE_STATISTICS IMAGINARY
|
122
|
+
INDGEN INT_2D INT_3D INT_TABULATED INTARR INTERPOL
|
123
|
+
INTERPOLATE INVERT IOCTL ISA ISHFT ISOCONTOUR
|
124
|
+
ISOSURFACE JOURNAL JUL2GREG JULDAY KEYWORD_SET KRIG2D
|
125
|
+
KURTOSIS KW_TEST L64INDGEN LABEL_DATE LABEL_REGION
|
126
|
+
LADFIT LAGUERRE LEEFILT LEGENDRE LINBCG LINDGEN
|
127
|
+
LINFIT LINKIMAGE LIST LIVE_CONTOUR LIVE_CONTROL
|
128
|
+
LIVE_DESTROY LIVE_EXPORT LIVE_IMAGE LIVE_INFO
|
129
|
+
LIVE_LINE LIVE_LOAD LIVE_OPLOT LIVE_PLOT
|
130
|
+
LIVE_PRINT LIVE_RECT LIVE_STYLE LIVE_SURFACE
|
131
|
+
LIVE_TEXT LJLCT LL_ARC_DISTANCE LMFIT LMGR LNGAMMA
|
132
|
+
LNP_TEST LOADCT LOCALE_GET LON64ARR LONARR LONG
|
133
|
+
LONG64 LSODE LU_COMPLEX LUDC LUMPROVE LUSOL
|
134
|
+
M_CORRELATE MACHAR MAKE_ARRAY MAKE_DLL MAP_2POINTS
|
135
|
+
MAP_CONTINENTS MAP_GRID MAP_IMAGE MAP_PATCH
|
136
|
+
MAP_PROJ_INFO MAP_SET MAX MATRIX_MULTIPLY MD_TEST MEAN
|
137
|
+
MEANABSDEV MEDIAN MEMORY MESH_CLIP MESH_DECIMATE
|
138
|
+
MESH_ISSOLID MESH_MERGE MESH_NUMTRIANGLES MESH_OBJ
|
139
|
+
MESH_SMOOTH MESH_SURFACEAREA MESH_VALIDATE
|
140
|
+
MESH_VOLUME MESSAGE MIN MIN_CURVE_SURF MK_HTML_HELP
|
141
|
+
MODIFYCT MOMENT MORPH_CLOSE MORPH_DISTANCE
|
142
|
+
MORPH_GRADIENT MORPH_HITORMISS MORPH_OPEN
|
143
|
+
MORPH_THIN MORPH_TOPHAT MPEG_CLOSE MPEG_OPEN
|
144
|
+
MPEG_PUT MPEG_SAVE MSG_CAT_CLOSE MSG_CAT_COMPILE
|
145
|
+
MSG_CAT_OPEN MULTI N_ELEMENTS N_PARAMS N_TAGS
|
146
|
+
NEWTON NORM OBJ_CLASS OBJ_DESTROY OBJ_ISA OBJ_NEW
|
147
|
+
OBJ_VALID OBJARR ON_ERROR ON_IOERROR ONLINE_HELP
|
148
|
+
OPEN OPENR OPENW OPENU OPLOT OPLOTERR ORDEREDHASH P_CORRELATE
|
149
|
+
PARTICLE_TRACE PCOMP PLOT PLOT_3DBOX PLOT_FIELD
|
150
|
+
PLOTERR PLOTS PNT_LINE POINT_LUN POLAR_CONTOUR
|
151
|
+
POLAR_SURFACE POLY POLY_2D POLY_AREA POLY_FIT
|
152
|
+
POLYFILL POLYFILLV POLYSHADE POLYWARP POPD POWELL
|
153
|
+
PRIMES PRINT PRINTF PRINTD PRODUCT PROFILE PROFILER
|
154
|
+
PROFILES PROJECT_VOL PS_SHOW_FONTS PSAFM PSEUDO
|
155
|
+
PTR_FREE PTR_NEW PTR_VALID PTRARR PUSHD QROMB
|
156
|
+
QROMO QSIMP QUERY_CSV R_CORRELATE R_TEST RADON RANDOMN
|
157
|
+
RANDOMU RANKS RDPIX READ READF READ_ASCII
|
158
|
+
READ_BINARY READ_BMP READ_CSV READ_DICOM READ_IMAGE
|
159
|
+
READ_INTERFILE READ_JPEG READ_PICT READ_PNG
|
160
|
+
READ_PPM READ_SPR READ_SRF READ_SYLK READ_TIFF
|
161
|
+
READ_WAV READ_WAVE READ_X11_BITMAP READ_XWD READS
|
162
|
+
READU REBIN RECALL_COMMANDS RECON3 REDUCE_COLORS
|
163
|
+
REFORM REGRESS REPLICATE REPLICATE_INPLACE
|
164
|
+
RESOLVE_ALL RESOLVE_ROUTINE RESTORE RETALL
|
165
|
+
REVERSE REWIND RK4 ROBERTS ROT ROTATE ROUND
|
166
|
+
ROUTINE_INFO RS_TEST S_TEST SAVE SAVGOL SCALE3
|
167
|
+
SCALE3D SCOPE_LEVEL SCOPE_TRACEBACK SCOPE_VARFETCH
|
168
|
+
SCOPE_VARNAME SEARCH2D SEARCH3D SET_PLOT SET_SHADING
|
169
|
+
SET_SYMBOL SETENV SETLOG SETUP_KEYS SFIT
|
170
|
+
SHADE_SURF SHADE_SURF_IRR SHADE_VOLUME SHIFT SHOW3
|
171
|
+
SHOWFONT SIGNUM SIN SINDGEN SINH SIZE SKEWNESS SKIPF
|
172
|
+
SLICER3 SLIDE_IMAGE SMOOTH SOBEL SOCKET SORT SPAWN
|
173
|
+
SPH_4PNT SPH_SCAT SPHER_HARM SPL_INIT SPL_INTERP
|
174
|
+
SPLINE SPLINE_P SPRSAB SPRSAX SPRSIN SPRSTP SQRT
|
175
|
+
STANDARDIZE STDDEV STOP STRARR STRCMP STRCOMPRESS
|
176
|
+
STREAMLINE STREGEX STRETCH STRING STRJOIN STRLEN
|
177
|
+
STRLOWCASE STRMATCH STRMESSAGE STRMID STRPOS
|
178
|
+
STRPUT STRSPLIT STRTRIM STRUCT_ASSIGN STRUCT_HIDE
|
179
|
+
STRUPCASE SURFACE SURFR SVDC SVDFIT SVSOL
|
180
|
+
SWAP_ENDIAN SWITCH SYSTIME T_CVF T_PDF T3D
|
181
|
+
TAG_NAMES TAN TANH TAPRD TAPWRT TEK_COLOR
|
182
|
+
TEMPORARY TETRA_CLIP TETRA_SURFACE TETRA_VOLUME
|
183
|
+
THIN THREED TIME_TEST2 TIMEGEN TM_TEST TOTAL TRACE
|
184
|
+
TRANSPOSE TRI_SURF TRIANGULATE TRIGRID TRIQL
|
185
|
+
TRIRED TRISOL TRNLOG TS_COEF TS_DIFF TS_FCAST
|
186
|
+
TS_SMOOTH TV TVCRS TVLCT TVRD TVSCL TYPENAME UINDGEN UINT
|
187
|
+
UINTARR UL64INDGEN ULINDGEN ULON64ARR ULONARR
|
188
|
+
ULONG ULONG64 UNIQ USERSYM VALUE_LOCATE VARIANCE
|
189
|
+
VAX_FLOAT VECTOR_FIELD VEL VELOVECT VERT_T3D VOIGT
|
190
|
+
VORONOI VOXEL_PROJ WAIT WARP_TRI WATERSHED WDELETE
|
191
|
+
WEOF WF_DRAW WHERE WIDGET_BASE WIDGET_BUTTON
|
192
|
+
WIDGET_CONTROL WIDGET_DRAW WIDGET_DROPLIST
|
193
|
+
WIDGET_EVENT WIDGET_INFO WIDGET_LABEL WIDGET_LIST
|
194
|
+
WIDGET_SLIDER WIDGET_TABLE WIDGET_TEXT WINDOW
|
195
|
+
WRITE_BMP WRITE_CSV WRITE_IMAGE WRITE_JPEG WRITE_NRIF
|
196
|
+
WRITE_PICT WRITE_PNG WRITE_PPM WRITE_SPR WRITE_SRF
|
197
|
+
WRITE_SYLK WRITE_TIFF WRITE_WAV WRITE_WAVE WRITEU
|
198
|
+
WSET WSHOW WTN WV_APPLET WV_CW_WAVELET WV_CWT
|
199
|
+
WV_DENOISE WV_DWT WV_FN_COIFLET WV_FN_DAUBECHIES
|
200
|
+
WV_FN_GAUSSIAN WV_FN_HAAR WV_FN_MORLET WV_FN_PAUL
|
201
|
+
WV_FN_SYMLET WV_IMPORT_DATA WV_IMPORT_WAVELET
|
202
|
+
WV_PLOT3D_WPS WV_PLOT_MULTIRES WV_PWT
|
203
|
+
WV_TOOL_DENOISE XBM_EDIT XDISPLAYFILE XDXF XFONT
|
204
|
+
XINTERANIMATE XLOADCT XMANAGER XMNG_TMPL XMTOOL
|
205
|
+
XOBJVIEW XPALETTE XPCOLOR XPLOT3D XREGISTERED XROI
|
206
|
+
XSQ_TEST XSURFACE XVAREDIT XVOLUME XVOLUME_ROTATE
|
207
|
+
XVOLUME_WRITE_IMAGE XYOUTS ZOOM ZOOM_24
|
208
|
+
)
|
209
|
+
end
|
210
|
+
|
211
|
+
state :root do
|
212
|
+
rule %r/\s+/, Text::Whitespace
|
213
|
+
# Normal comments
|
214
|
+
rule %r/;.*$/, Comment::Single
|
215
|
+
rule %r/\,\s*\,/, Error
|
216
|
+
rule %r/\!#{name}/, Name::Variable::Global
|
217
|
+
|
218
|
+
rule %r/[(),:\&\$]/, Punctuation
|
219
|
+
|
220
|
+
## Format statements are quite a strange beast.
|
221
|
+
## Better process them in their own state.
|
222
|
+
#rule %r/\b(FORMAT)(\s*)(\()/mi do |m|
|
223
|
+
# token Keyword, m[1]
|
224
|
+
# token Text::Whitespace, m[2]
|
225
|
+
# token Punctuation, m[3]
|
226
|
+
# push :format_spec
|
227
|
+
#end
|
228
|
+
|
229
|
+
rule %r(
|
230
|
+
[+-]? # sign
|
231
|
+
(
|
232
|
+
(\d+[.]\d*|[.]\d+)(#{exponent})?
|
233
|
+
| \d+#{exponent} # exponent is mandatory
|
234
|
+
)
|
235
|
+
(_#{kind_param})? # kind parameter
|
236
|
+
)xi, Num::Float
|
237
|
+
|
238
|
+
rule %r/\d+(B|S|U|US|LL|L|ULL|UL)?/i, Num::Integer
|
239
|
+
rule %r/"[0-7]+(B|O|U|ULL|UL|LL|L)?/i, Num::Oct
|
240
|
+
rule %r/'[0-9A-F]+'X(B|S|US|ULL|UL|U|LL|L)?/i, Num::Hex
|
241
|
+
rule %r/(#{kind_param}_)?'/, Str::Single, :string_single
|
242
|
+
rule %r/(#{kind_param}_)?"/, Str::Double, :string_double
|
243
|
+
|
244
|
+
rule %r{\#\#|\#|\&\&|\|\||/=|<=|>=|->|\@|\?|[-+*/<=~^{}]}, Operator
|
245
|
+
# Structures and the like
|
246
|
+
rule %r/(#{name})(\.)([^\s,]*)/i do
|
247
|
+
groups Name, Operator, Name
|
248
|
+
#delegate IDLang, m[3]
|
249
|
+
end
|
250
|
+
|
251
|
+
rule %r/(function|pro)((?:\s|\$\s)+)/i do
|
252
|
+
groups Keyword, Text::Whitespace
|
253
|
+
push :funcname
|
254
|
+
end
|
255
|
+
|
256
|
+
rule %r/#{name}/m do |m|
|
257
|
+
match = m[0].upcase
|
258
|
+
if self.class.keywords.include? match
|
259
|
+
token Keyword
|
260
|
+
elsif self.class.conditionals.include? match
|
261
|
+
token Keyword
|
262
|
+
elsif self.class.decorators.include? match
|
263
|
+
token Name::Decorator
|
264
|
+
elsif self.class.standalone_statements.include? match
|
265
|
+
token Keyword::Reserved
|
266
|
+
elsif self.class.operators.include? match
|
267
|
+
token Operator::Word
|
268
|
+
elsif self.class.routines.include? match
|
269
|
+
token Name::Builtin
|
270
|
+
else
|
271
|
+
token Name
|
272
|
+
end
|
273
|
+
end
|
274
|
+
|
275
|
+
end
|
276
|
+
|
277
|
+
state :funcname do
|
278
|
+
rule %r/#{name}/, Name::Function
|
279
|
+
|
280
|
+
rule %r/\s+/, Text::Whitespace
|
281
|
+
rule %r/(:+|\$)/, Operator
|
282
|
+
rule %r/;.*/, Comment::Single
|
283
|
+
|
284
|
+
# Be done with this state if we hit EOL or comma
|
285
|
+
rule %r/$/, Text::Whitespace, :pop!
|
286
|
+
rule %r/,/, Operator, :pop!
|
287
|
+
end
|
288
|
+
|
289
|
+
state :string_single do
|
290
|
+
rule %r/[^']+/, Str::Single
|
291
|
+
rule %r/''/, Str::Escape
|
292
|
+
rule %r/'/, Str::Single, :pop!
|
293
|
+
end
|
294
|
+
|
295
|
+
state :string_double do
|
296
|
+
rule %r/[^"]+/, Str::Double
|
297
|
+
rule %r/"/, Str::Double, :pop!
|
298
|
+
end
|
299
|
+
|
300
|
+
state :format_spec do
|
301
|
+
rule %r/'/, Str::Single, :string_single
|
302
|
+
rule %r/"/, Str::Double, :string_double
|
303
|
+
rule %r/\(/, Punctuation, :format_spec
|
304
|
+
rule %r/\)/, Punctuation, :pop!
|
305
|
+
rule %r/,/, Punctuation
|
306
|
+
rule %r/\s+/, Text::Whitespace
|
307
|
+
# Edit descriptors could be seen as a kind of "format literal".
|
308
|
+
rule %r/[^\s'"(),]+/, Literal
|
309
|
+
end
|
310
|
+
end
|
311
|
+
end
|
312
|
+
end
|
@@ -0,0 +1,664 @@
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Rouge
|
5
|
+
module Lexers
|
6
|
+
class IgorPro < RegexLexer
|
7
|
+
tag 'igorpro'
|
8
|
+
filenames '*.ipf'
|
9
|
+
mimetypes 'text/x-igorpro'
|
10
|
+
|
11
|
+
title "IgorPro"
|
12
|
+
desc "WaveMetrics Igor Pro"
|
13
|
+
|
14
|
+
def self.keywords
|
15
|
+
@keywords ||= Set.new %w(
|
16
|
+
structure endstructure
|
17
|
+
threadsafe static
|
18
|
+
macro proc window menu function end
|
19
|
+
if else elseif endif switch strswitch endswitch
|
20
|
+
break return continue
|
21
|
+
for endfor do while
|
22
|
+
case default
|
23
|
+
try catch endtry
|
24
|
+
abortonrte
|
25
|
+
)
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.preprocessor
|
29
|
+
@preprocessor ||= Set.new %w(
|
30
|
+
pragma include
|
31
|
+
define ifdef ifndef undef
|
32
|
+
if elif else endif
|
33
|
+
)
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.igorDeclarations
|
37
|
+
@igorDeclarations ||= Set.new %w(
|
38
|
+
variable string wave strconstant constant
|
39
|
+
nvar svar dfref funcref struct
|
40
|
+
char uchar int16 uint16 int32 uint32 int64 uint64 float double
|
41
|
+
)
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.igorConstants
|
45
|
+
@igorConstants ||= Set.new %w(
|
46
|
+
nan inf
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.igorFunction
|
51
|
+
@igorFunction ||= Set.new %w(
|
52
|
+
AddListItem AiryA AiryAD AiryB AiryBD AnnotationInfo
|
53
|
+
AnnotationList AxisInfo AxisList AxisValFromPixel
|
54
|
+
AxonTelegraphAGetDataNum AxonTelegraphAGetDataString
|
55
|
+
AxonTelegraphAGetDataStruct AxonTelegraphGetDataNum
|
56
|
+
AxonTelegraphGetDataString AxonTelegraphGetDataStruct
|
57
|
+
AxonTelegraphGetTimeoutMs AxonTelegraphSetTimeoutMs
|
58
|
+
Base64Decode Base64Encode Besseli Besselj Besselk
|
59
|
+
Bessely BinarySearch BinarySearchInterp CTabList
|
60
|
+
CaptureHistory CaptureHistoryStart CheckName
|
61
|
+
ChildWindowList CleanupName ContourInfo ContourNameList
|
62
|
+
ContourNameToWaveRef ContourZ ControlNameList
|
63
|
+
ConvertTextEncoding CountObjects CountObjectsDFR
|
64
|
+
CreationDate CsrInfo CsrWave CsrWaveRef CsrXWave
|
65
|
+
CsrXWaveRef DataFolderDir DataFolderExists
|
66
|
+
DataFolderRefStatus DataFolderRefsEqual DateToJulian
|
67
|
+
Dawson DimDelta DimOffset DimSize Faddeeva FetchURL
|
68
|
+
FindDimLabel FindListItem FontList FontSizeHeight
|
69
|
+
FontSizeStringWidth FresnelCos FresnelSin FuncRefInfo
|
70
|
+
FunctionInfo FunctionList FunctionPath
|
71
|
+
GISGetAllFileFormats GISSRefsAreEqual Gauss Gauss1D
|
72
|
+
Gauss2D GetBrowserLine GetBrowserSelection
|
73
|
+
GetDataFolder GetDataFolderDFR GetDefaultFont
|
74
|
+
GetDefaultFontSize GetDefaultFontStyle GetDimLabel
|
75
|
+
GetEnvironmentVariable GetErrMessage GetFormula
|
76
|
+
GetIndependentModuleName GetIndexedObjName
|
77
|
+
GetIndexedObjNameDFR GetKeyState GetRTErrMessage
|
78
|
+
GetRTError GetRTLocInfo GetRTLocation GetRTStackInfo
|
79
|
+
GetScrapText GetUserData GetWavesDataFolder
|
80
|
+
GetWavesDataFolderDFR GizmoInfo GizmoScale GrepList
|
81
|
+
GrepString GuideInfo GuideNameList HDF5AttributeInfo
|
82
|
+
HDF5DatasetInfo HDF5LibraryInfo HDF5TypeInfo Hash
|
83
|
+
HyperG0F1 HyperG1F1 HyperG2F1 HyperGNoise HyperGPFQ
|
84
|
+
IgorInfo IgorVersion ImageInfo ImageNameList
|
85
|
+
ImageNameToWaveRef IndependentModuleList IndexToScale
|
86
|
+
IndexedDir IndexedFile Inf Integrate1D Interp2D
|
87
|
+
Interp3D ItemsInList JacobiCn JacobiSn JulianToDate
|
88
|
+
Laguerre LaguerreA LaguerreGauss LambertW LayoutInfo
|
89
|
+
LegendreA ListMatch ListToTextWave ListToWaveRefWave
|
90
|
+
LowerStr MCC_AutoBridgeBal MCC_AutoFastComp
|
91
|
+
MCC_AutoPipetteOffset MCC_AutoSlowComp
|
92
|
+
MCC_AutoWholeCellComp MCC_GetBridgeBalEnable
|
93
|
+
MCC_GetBridgeBalResist MCC_GetFastCompCap
|
94
|
+
MCC_GetFastCompTau MCC_GetHolding MCC_GetHoldingEnable
|
95
|
+
MCC_GetMode MCC_GetNeutralizationCap
|
96
|
+
MCC_GetNeutralizationEnable MCC_GetOscKillerEnable
|
97
|
+
MCC_GetPipetteOffset MCC_GetPrimarySignalGain
|
98
|
+
MCC_GetPrimarySignalHPF MCC_GetPrimarySignalLPF
|
99
|
+
MCC_GetRsCompBandwidth MCC_GetRsCompCorrection
|
100
|
+
MCC_GetRsCompEnable MCC_GetRsCompPrediction
|
101
|
+
MCC_GetSecondarySignalGain MCC_GetSecondarySignalLPF
|
102
|
+
MCC_GetSlowCompCap MCC_GetSlowCompTau
|
103
|
+
MCC_GetSlowCompTauX20Enable MCC_GetSlowCurrentInjEnable
|
104
|
+
MCC_GetSlowCurrentInjLevel
|
105
|
+
MCC_GetSlowCurrentInjSetlTime MCC_GetWholeCellCompCap
|
106
|
+
MCC_GetWholeCellCompEnable MCC_GetWholeCellCompResist
|
107
|
+
MCC_SelectMultiClamp700B MCC_SetBridgeBalEnable
|
108
|
+
MCC_SetBridgeBalResist MCC_SetFastCompCap
|
109
|
+
MCC_SetFastCompTau MCC_SetHolding MCC_SetHoldingEnable
|
110
|
+
MCC_SetMode MCC_SetNeutralizationCap
|
111
|
+
MCC_SetNeutralizationEnable MCC_SetOscKillerEnable
|
112
|
+
MCC_SetPipetteOffset MCC_SetPrimarySignalGain
|
113
|
+
MCC_SetPrimarySignalHPF MCC_SetPrimarySignalLPF
|
114
|
+
MCC_SetRsCompBandwidth MCC_SetRsCompCorrection
|
115
|
+
MCC_SetRsCompEnable MCC_SetRsCompPrediction
|
116
|
+
MCC_SetSecondarySignalGain MCC_SetSecondarySignalLPF
|
117
|
+
MCC_SetSlowCompCap MCC_SetSlowCompTau
|
118
|
+
MCC_SetSlowCompTauX20Enable MCC_SetSlowCurrentInjEnable
|
119
|
+
MCC_SetSlowCurrentInjLevel
|
120
|
+
MCC_SetSlowCurrentInjSetlTime MCC_SetTimeoutMs
|
121
|
+
MCC_SetWholeCellCompCap MCC_SetWholeCellCompEnable
|
122
|
+
MCC_SetWholeCellCompResist MPFXEMGPeak
|
123
|
+
MPFXExpConvExpPeak MPFXGaussPeak MPFXLorenzianPeak
|
124
|
+
MPFXVoigtPeak MacroList MandelbrotPoint MarcumQ
|
125
|
+
MatrixCondition MatrixDet MatrixDot MatrixRank
|
126
|
+
MatrixTrace ModDate NVAR_Exists NaN NameOfWave
|
127
|
+
NewFreeDataFolder NewFreeWave NormalizeUnicode
|
128
|
+
NumVarOrDefault NumberByKey OperationList PICTInfo
|
129
|
+
PICTList PadString PanelResolution ParamIsDefault
|
130
|
+
ParseFilePath PathList Pi PixelFromAxisVal PolygonArea
|
131
|
+
PossiblyQuoteName ProcedureText RemoveByKey
|
132
|
+
RemoveEnding RemoveFromList RemoveListItem
|
133
|
+
ReplaceNumberByKey ReplaceString ReplaceStringByKey
|
134
|
+
SQL2DBinaryWaveToTextWave SQLAllocHandle SQLAllocStmt
|
135
|
+
SQLBinaryWavesToTextWave SQLBindCol SQLBindParameter
|
136
|
+
SQLBrowseConnect SQLBulkOperations SQLCancel
|
137
|
+
SQLCloseCursor SQLColAttributeNum SQLColAttributeStr
|
138
|
+
SQLColumnPrivileges SQLColumns SQLConnect
|
139
|
+
SQLDataSources SQLDescribeCol SQLDescribeParam
|
140
|
+
SQLDisconnect SQLDriverConnect SQLDrivers SQLEndTran
|
141
|
+
SQLError SQLExecDirect SQLExecute SQLFetch
|
142
|
+
SQLFetchScroll SQLForeignKeys SQLFreeConnect SQLFreeEnv
|
143
|
+
SQLFreeHandle SQLFreeStmt SQLGetConnectAttrNum
|
144
|
+
SQLGetConnectAttrStr SQLGetCursorName SQLGetDataNum
|
145
|
+
SQLGetDataStr SQLGetDescFieldNum SQLGetDescFieldStr
|
146
|
+
SQLGetDescRec SQLGetDiagFieldNum SQLGetDiagFieldStr
|
147
|
+
SQLGetDiagRec SQLGetEnvAttrNum SQLGetEnvAttrStr
|
148
|
+
SQLGetFunctions SQLGetInfoNum SQLGetInfoStr
|
149
|
+
SQLGetStmtAttrNum SQLGetStmtAttrStr SQLGetTypeInfo
|
150
|
+
SQLMoreResults SQLNativeSql SQLNumParams
|
151
|
+
SQLNumResultCols SQLNumResultRowsIfKnown
|
152
|
+
SQLNumRowsFetched SQLParamData SQLPrepare
|
153
|
+
SQLPrimaryKeys SQLProcedureColumns SQLProcedures
|
154
|
+
SQLPutData SQLReinitialize SQLRowCount
|
155
|
+
SQLSetConnectAttrNum SQLSetConnectAttrStr
|
156
|
+
SQLSetCursorName SQLSetDescFieldNum SQLSetDescFieldStr
|
157
|
+
SQLSetDescRec SQLSetEnvAttrNum SQLSetEnvAttrStr
|
158
|
+
SQLSetPos SQLSetStmtAttrNum SQLSetStmtAttrStr
|
159
|
+
SQLSpecialColumns SQLStatistics SQLTablePrivileges
|
160
|
+
SQLTables SQLTextWaveTo2DBinaryWave
|
161
|
+
SQLTextWaveToBinaryWaves SQLUpdateBoundValues
|
162
|
+
SQLXOPCheckState SVAR_Exists ScreenResolution Secs2Date
|
163
|
+
Secs2Time SelectNumber SelectString
|
164
|
+
SetEnvironmentVariable SortList SpecialCharacterInfo
|
165
|
+
SpecialCharacterList SpecialDirPath SphericalBessJ
|
166
|
+
SphericalBessJD SphericalBessY SphericalBessYD
|
167
|
+
SphericalHarmonics StartMSTimer StatsBetaCDF
|
168
|
+
StatsBetaPDF StatsBinomialCDF StatsBinomialPDF
|
169
|
+
StatsCMSSDCDF StatsCauchyCDF StatsCauchyPDF StatsChiCDF
|
170
|
+
StatsChiPDF StatsCorrelation StatsDExpCDF StatsDExpPDF
|
171
|
+
StatsEValueCDF StatsEValuePDF StatsErlangCDF
|
172
|
+
StatsErlangPDF StatsErrorPDF StatsExpCDF StatsExpPDF
|
173
|
+
StatsFCDF StatsFPDF StatsFriedmanCDF StatsGEVCDF
|
174
|
+
StatsGEVPDF StatsGammaCDF StatsGammaPDF
|
175
|
+
StatsGeometricCDF StatsGeometricPDF StatsHyperGCDF
|
176
|
+
StatsHyperGPDF StatsInvBetaCDF StatsInvBinomialCDF
|
177
|
+
StatsInvCMSSDCDF StatsInvCauchyCDF StatsInvChiCDF
|
178
|
+
StatsInvDExpCDF StatsInvEValueCDF StatsInvExpCDF
|
179
|
+
StatsInvFCDF StatsInvFriedmanCDF StatsInvGammaCDF
|
180
|
+
StatsInvGeometricCDF StatsInvKuiperCDF
|
181
|
+
StatsInvLogNormalCDF StatsInvLogisticCDF
|
182
|
+
StatsInvMaxwellCDF StatsInvMooreCDF
|
183
|
+
StatsInvNBinomialCDF StatsInvNCChiCDF StatsInvNCFCDF
|
184
|
+
StatsInvNormalCDF StatsInvParetoCDF StatsInvPoissonCDF
|
185
|
+
StatsInvPowerCDF StatsInvQCDF StatsInvQpCDF
|
186
|
+
StatsInvRayleighCDF StatsInvRectangularCDF
|
187
|
+
StatsInvSpearmanCDF StatsInvStudentCDF
|
188
|
+
StatsInvTopDownCDF StatsInvTriangularCDF
|
189
|
+
StatsInvUsquaredCDF StatsInvVonMisesCDF
|
190
|
+
StatsInvWeibullCDF StatsKuiperCDF StatsLogNormalCDF
|
191
|
+
StatsLogNormalPDF StatsLogisticCDF StatsLogisticPDF
|
192
|
+
StatsMaxwellCDF StatsMaxwellPDF StatsMedian
|
193
|
+
StatsMooreCDF StatsNBinomialCDF StatsNBinomialPDF
|
194
|
+
StatsNCChiCDF StatsNCChiPDF StatsNCFCDF StatsNCFPDF
|
195
|
+
StatsNCTCDF StatsNCTPDF StatsNormalCDF StatsNormalPDF
|
196
|
+
StatsParetoCDF StatsParetoPDF StatsPermute
|
197
|
+
StatsPoissonCDF StatsPoissonPDF StatsPowerCDF
|
198
|
+
StatsPowerNoise StatsPowerPDF StatsQCDF StatsQpCDF
|
199
|
+
StatsRayleighCDF StatsRayleighPDF StatsRectangularCDF
|
200
|
+
StatsRectangularPDF StatsRunsCDF StatsSpearmanRhoCDF
|
201
|
+
StatsStudentCDF StatsStudentPDF StatsTopDownCDF
|
202
|
+
StatsTriangularCDF StatsTriangularPDF StatsTrimmedMean
|
203
|
+
StatsUSquaredCDF StatsVonMisesCDF StatsVonMisesNoise
|
204
|
+
StatsVonMisesPDF StatsWaldCDF StatsWaldPDF
|
205
|
+
StatsWeibullCDF StatsWeibullPDF StopMSTimer
|
206
|
+
StrVarOrDefault StringByKey StringFromList StringList
|
207
|
+
StudentA StudentT TDMAddChannel TDMAddGroup
|
208
|
+
TDMAppendDataValues TDMAppendDataValuesTime
|
209
|
+
TDMChannelPropertyExists TDMCloseChannel TDMCloseFile
|
210
|
+
TDMCloseGroup TDMCreateChannelProperty TDMCreateFile
|
211
|
+
TDMCreateFileProperty TDMCreateGroupProperty
|
212
|
+
TDMFilePropertyExists TDMGetChannelPropertyNames
|
213
|
+
TDMGetChannelPropertyNum TDMGetChannelPropertyStr
|
214
|
+
TDMGetChannelPropertyTime TDMGetChannelPropertyType
|
215
|
+
TDMGetChannelStringPropertyLen TDMGetChannels
|
216
|
+
TDMGetDataType TDMGetDataValues TDMGetDataValuesTime
|
217
|
+
TDMGetFilePropertyNames TDMGetFilePropertyNum
|
218
|
+
TDMGetFilePropertyStr TDMGetFilePropertyTime
|
219
|
+
TDMGetFilePropertyType TDMGetFileStringPropertyLen
|
220
|
+
TDMGetGroupPropertyNames TDMGetGroupPropertyNum
|
221
|
+
TDMGetGroupPropertyStr TDMGetGroupPropertyTime
|
222
|
+
TDMGetGroupPropertyType TDMGetGroupStringPropertyLen
|
223
|
+
TDMGetGroups TDMGetLibraryErrorDescription
|
224
|
+
TDMGetNumChannelProperties TDMGetNumChannels
|
225
|
+
TDMGetNumDataValues TDMGetNumFileProperties
|
226
|
+
TDMGetNumGroupProperties TDMGetNumGroups
|
227
|
+
TDMGroupPropertyExists TDMOpenFile TDMOpenFileEx
|
228
|
+
TDMRemoveChannel TDMRemoveGroup TDMReplaceDataValues
|
229
|
+
TDMReplaceDataValuesTime TDMSaveFile
|
230
|
+
TDMSetChannelPropertyNum TDMSetChannelPropertyStr
|
231
|
+
TDMSetChannelPropertyTime TDMSetDataValues
|
232
|
+
TDMSetDataValuesTime TDMSetFilePropertyNum
|
233
|
+
TDMSetFilePropertyStr TDMSetFilePropertyTime
|
234
|
+
TDMSetGroupPropertyNum TDMSetGroupPropertyStr
|
235
|
+
TDMSetGroupPropertyTime TableInfo TagVal TagWaveRef
|
236
|
+
TextEncodingCode TextEncodingName TextFile
|
237
|
+
ThreadGroupCreate ThreadGroupGetDF ThreadGroupGetDFR
|
238
|
+
ThreadGroupRelease ThreadGroupWait ThreadProcessorCount
|
239
|
+
ThreadReturnValue TraceFromPixel TraceInfo
|
240
|
+
TraceNameList TraceNameToWaveRef TrimString URLDecode
|
241
|
+
URLEncode UnPadString UniqueName
|
242
|
+
UnsetEnvironmentVariable UpperStr VariableList Variance
|
243
|
+
VoigtFunc VoigtPeak WaveCRC WaveDims WaveExists
|
244
|
+
WaveHash WaveInfo WaveList WaveMax WaveMin WaveName
|
245
|
+
WaveRefIndexed WaveRefIndexedDFR WaveRefWaveToList
|
246
|
+
WaveRefsEqual WaveTextEncoding WaveType WaveUnits
|
247
|
+
WhichListItem WinList WinName WinRecreation WinType
|
248
|
+
XWaveName XWaveRefFromTrace ZernikeR abs acos acosh
|
249
|
+
alog area areaXY asin asinh atan atan2 atanh beta betai
|
250
|
+
binomial binomialNoise binomialln cabs ceil cequal
|
251
|
+
char2num chebyshev chebyshevU cmplx cmpstr conj cos
|
252
|
+
cosIntegral cosh cot coth cpowi csc csch date date2secs
|
253
|
+
datetime defined deltax digamma dilogarithm ei enoise
|
254
|
+
equalWaves erf erfc erfcw exists exp expInt
|
255
|
+
expIntegralE1 expNoise fDAQmx_AI_GetReader
|
256
|
+
fDAQmx_AO_UpdateOutputs fDAQmx_CTR_Finished
|
257
|
+
fDAQmx_CTR_IsFinished fDAQmx_CTR_IsPulseFinished
|
258
|
+
fDAQmx_CTR_ReadCounter fDAQmx_CTR_ReadWithOptions
|
259
|
+
fDAQmx_CTR_SetPulseFrequency fDAQmx_CTR_Start
|
260
|
+
fDAQmx_ConnectTerminals fDAQmx_DIO_Finished
|
261
|
+
fDAQmx_DIO_PortWidth fDAQmx_DIO_Read fDAQmx_DIO_Write
|
262
|
+
fDAQmx_DeviceNames fDAQmx_DisconnectTerminals
|
263
|
+
fDAQmx_ErrorString fDAQmx_ExternalCalDate
|
264
|
+
fDAQmx_NumAnalogInputs fDAQmx_NumAnalogOutputs
|
265
|
+
fDAQmx_NumCounters fDAQmx_NumDIOPorts fDAQmx_ReadChan
|
266
|
+
fDAQmx_ReadNamedChan fDAQmx_ResetDevice
|
267
|
+
fDAQmx_ScanGetAvailable fDAQmx_ScanGetNextIndex
|
268
|
+
fDAQmx_ScanStart fDAQmx_ScanStop fDAQmx_ScanWait
|
269
|
+
fDAQmx_ScanWaitWithTimeout fDAQmx_SelfCalDate
|
270
|
+
fDAQmx_SelfCalibration fDAQmx_WF_IsFinished
|
271
|
+
fDAQmx_WF_WaitUntilFinished fDAQmx_WaveformStart
|
272
|
+
fDAQmx_WaveformStop fDAQmx_WriteChan factorial fakedata
|
273
|
+
faverage faverageXY floor gamma gammaEuler gammaInc
|
274
|
+
gammaNoise gammln gammp gammq gcd gnoise hcsr hermite
|
275
|
+
hermiteGauss imag interp inverseERF inverseERFC leftx
|
276
|
+
limit ln log logNormalNoise lorentzianNoise magsqr max
|
277
|
+
mean median min mod norm note num2char num2istr num2str
|
278
|
+
numpnts numtype p2rect pcsr pnt2x poissonNoise poly
|
279
|
+
poly2D qcsr r2polar real rightx round sawtooth
|
280
|
+
scaleToIndex sec sech sign sin sinIntegral sinc sinh
|
281
|
+
sqrt str2num stringCRC stringmatch strlen strsearch sum
|
282
|
+
tan tango_close_device tango_command_inout
|
283
|
+
tango_compute_image_proj tango_get_dev_attr_list
|
284
|
+
tango_get_dev_black_box tango_get_dev_cmd_list
|
285
|
+
tango_get_dev_status tango_get_dev_timeout
|
286
|
+
tango_get_error_stack tango_open_device
|
287
|
+
tango_ping_device tango_read_attribute
|
288
|
+
tango_read_attributes tango_reload_dev_interface
|
289
|
+
tango_resume_attr_monitor tango_set_attr_monitor_period
|
290
|
+
tango_set_dev_timeout tango_start_attr_monitor
|
291
|
+
tango_stop_attr_monitor tango_suspend_attr_monitor
|
292
|
+
tango_write_attribute tango_write_attributes tanh ticks
|
293
|
+
time trunc vcsr viAssertIntrSignal viAssertTrigger
|
294
|
+
viAssertUtilSignal viClear viClose viDisableEvent
|
295
|
+
viDiscardEvents viEnableEvent viFindNext viFindRsrc
|
296
|
+
viGetAttribute viGetAttributeString viGpibCommand
|
297
|
+
viGpibControlATN viGpibControlREN viGpibPassControl
|
298
|
+
viGpibSendIFC viIn16 viIn32 viIn8 viLock viMapAddress
|
299
|
+
viMapTrigger viMemAlloc viMemFree viMoveIn16 viMoveIn32
|
300
|
+
viMoveIn8 viMoveOut16 viMoveOut32 viMoveOut8 viOpen
|
301
|
+
viOpenDefaultRM viOut16 viOut32 viOut8 viPeek16
|
302
|
+
viPeek32 viPeek8 viPoke16 viPoke32 viPoke8 viRead
|
303
|
+
viReadSTB viSetAttribute viSetAttributeString
|
304
|
+
viStatusDesc viTerminate viUnlock viUnmapAddress
|
305
|
+
viUnmapTrigger viUsbControlIn viUsbControlOut
|
306
|
+
viVxiCommandQuery viWaitOnEvent viWrite wnoise x2pnt
|
307
|
+
xcsr zcsr zeromq_client_connect zeromq_client_connect
|
308
|
+
zeromq_client_recv zeromq_client_recv
|
309
|
+
zeromq_client_send zeromq_client_send
|
310
|
+
zeromq_handler_start zeromq_handler_start
|
311
|
+
zeromq_handler_stop zeromq_handler_stop
|
312
|
+
zeromq_server_bind zeromq_server_bind
|
313
|
+
zeromq_server_recv zeromq_server_recv
|
314
|
+
zeromq_server_send zeromq_server_send zeromq_set
|
315
|
+
zeromq_set zeromq_stop zeromq_stop
|
316
|
+
zeromq_test_callfunction zeromq_test_callfunction
|
317
|
+
zeromq_test_serializeWave zeromq_test_serializeWave
|
318
|
+
zeta
|
319
|
+
)
|
320
|
+
end
|
321
|
+
|
322
|
+
def self.igorOperation
|
323
|
+
@igorOperation ||= Set.new %w(
|
324
|
+
APMath Abort AddFIFOData AddFIFOVectData AddMovieAudio
|
325
|
+
AddMovieFrame AddWavesToBoxPlot AddWavesToViolinPlot
|
326
|
+
AdoptFiles Append AppendBoxPlot AppendImage
|
327
|
+
AppendLayoutObject AppendMatrixContour AppendText
|
328
|
+
AppendToGizmo AppendToGraph AppendToLayout
|
329
|
+
AppendToTable AppendViolinPlot AppendXYZContour
|
330
|
+
AutoPositionWindow AxonTelegraphFindServers
|
331
|
+
BackgroundInfo Beep BoundingBall BoxSmooth BrowseURL
|
332
|
+
BuildMenu Button CWT Chart CheckBox CheckDisplayed
|
333
|
+
ChooseColor Close CloseHelp CloseMovie CloseProc
|
334
|
+
ColorScale ColorTab2Wave Concatenate ControlBar
|
335
|
+
ControlInfo ControlUpdate
|
336
|
+
ConvertGlobalStringTextEncoding ConvexHull Convolve
|
337
|
+
CopyDimLabels CopyFile CopyFolder CopyScales Correlate
|
338
|
+
CreateAliasShortcut CreateBrowser Cross CtrlBackground
|
339
|
+
CtrlFIFO CtrlNamedBackground Cursor CurveFit
|
340
|
+
CustomControl DAQmx_AI_SetupReader DAQmx_AO_SetOutputs
|
341
|
+
DAQmx_CTR_CountEdges DAQmx_CTR_OutputPulse
|
342
|
+
DAQmx_CTR_Period DAQmx_CTR_PulseWidth DAQmx_DIO_Config
|
343
|
+
DAQmx_DIO_WriteNewData DAQmx_Scan DAQmx_WaveformGen
|
344
|
+
DPSS DSPDetrend DSPPeriodogram DWT Debugger
|
345
|
+
DebuggerOptions DefaultFont DefaultGuiControls
|
346
|
+
DefaultGuiFont DefaultTextEncoding DefineGuide
|
347
|
+
DelayUpdate DeleteAnnotations DeleteFile DeleteFolder
|
348
|
+
DeletePoints Differentiate Display DisplayHelpTopic
|
349
|
+
DisplayProcedure DoAlert DoIgorMenu DoUpdate DoWindow
|
350
|
+
DoXOPIdle DrawAction DrawArc DrawBezier DrawLine
|
351
|
+
DrawOval DrawPICT DrawPoly DrawRRect DrawRect DrawText
|
352
|
+
DrawUserShape Duplicate DuplicateDataFolder EdgeStats
|
353
|
+
Edit ErrorBars EstimatePeakSizes Execute
|
354
|
+
ExecuteScriptText ExperimentInfo ExperimentModified
|
355
|
+
ExportGizmo Extract FBinRead FBinWrite FFT FGetPos
|
356
|
+
FIFO2Wave FIFOStatus FMaxFlat FPClustering FReadLine
|
357
|
+
FSetPos FStatus FTPCreateDirectory FTPDelete
|
358
|
+
FTPDownload FTPUpload FastGaussTransform FastOp
|
359
|
+
FilterFIR FilterIIR FindAPeak FindContour
|
360
|
+
FindDuplicates FindLevel FindLevels FindPeak
|
361
|
+
FindPointsInPoly FindRoots FindSequence FindValue
|
362
|
+
FuncFit FuncFitMD GBLoadWave GISCreateVectorLayer
|
363
|
+
GISGetRasterInfo GISGetRegisteredFileInfo
|
364
|
+
GISGetVectorLayerInfo GISLoadRasterData
|
365
|
+
GISLoadVectorData GISRasterizeVectorData
|
366
|
+
GISRegisterFile GISTransformCoords GISUnRegisterFile
|
367
|
+
GISWriteFieldData GISWriteGeometryData GISWriteRaster
|
368
|
+
GPIB2 GPIBRead2 GPIBReadBinary2 GPIBReadBinaryWave2
|
369
|
+
GPIBReadWave2 GPIBWrite2 GPIBWriteBinary2
|
370
|
+
GPIBWriteBinaryWave2 GPIBWriteWave2 GetAxis GetCamera
|
371
|
+
GetFileFolderInfo GetGizmo GetLastUserMenuInfo
|
372
|
+
GetMarquee GetMouse GetSelection GetWindow GraphNormal
|
373
|
+
GraphWaveDraw GraphWaveEdit Grep GroupBox
|
374
|
+
HDF5CloseFile HDF5CloseGroup HDF5ConvertColors
|
375
|
+
HDF5CreateFile HDF5CreateGroup HDF5CreateLink HDF5Dump
|
376
|
+
HDF5DumpErrors HDF5DumpState HDF5FlushFile
|
377
|
+
HDF5ListAttributes HDF5ListGroup HDF5LoadData
|
378
|
+
HDF5LoadGroup HDF5LoadImage HDF5OpenFile HDF5OpenGroup
|
379
|
+
HDF5SaveData HDF5SaveGroup HDF5SaveImage
|
380
|
+
HDF5TestOperation HDF5UnlinkObject HDFInfo
|
381
|
+
HDFReadImage HDFReadSDS HDFReadVset Hanning
|
382
|
+
HideIgorMenus HideInfo HideProcedures HideTools
|
383
|
+
HilbertTransform Histogram ICA IFFT ITCCloseAll2
|
384
|
+
ITCCloseDevice2 ITCConfigAllChannels2
|
385
|
+
ITCConfigChannel2 ITCConfigChannelReset2
|
386
|
+
ITCConfigChannelUpload2 ITCFIFOAvailable2
|
387
|
+
ITCFIFOAvailableAll2 ITCGetAllChannelsConfig2
|
388
|
+
ITCGetChannelConfig2 ITCGetCurrentDevice2
|
389
|
+
ITCGetDeviceInfo2 ITCGetDevices2 ITCGetErrorString2
|
390
|
+
ITCGetSerialNumber2 ITCGetState2 ITCGetVersions2
|
391
|
+
ITCInitialize2 ITCOpenDevice2 ITCReadADC2
|
392
|
+
ITCReadDigital2 ITCReadTimer2 ITCSelectDevice2
|
393
|
+
ITCSetDAC2 ITCSetGlobals2 ITCSetModes2 ITCSetState2
|
394
|
+
ITCStartAcq2 ITCStopAcq2 ITCUpdateFIFOPosition2
|
395
|
+
ITCUpdateFIFOPositionAll2 ITCWriteDigital2
|
396
|
+
ImageAnalyzeParticles ImageBlend ImageBoundaryToMask
|
397
|
+
ImageComposite ImageEdgeDetection ImageFileInfo
|
398
|
+
ImageFilter ImageFocus ImageFromXYZ ImageGLCM
|
399
|
+
ImageGenerateROIMask ImageHistModification
|
400
|
+
ImageHistogram ImageInterpolate ImageLineProfile
|
401
|
+
ImageLoad ImageMorphology ImageRegistration
|
402
|
+
ImageRemoveBackground ImageRestore ImageRotate
|
403
|
+
ImageSave ImageSeedFill ImageSkeleton3d ImageSnake
|
404
|
+
ImageStats ImageThreshold ImageTransform
|
405
|
+
ImageUnwrapPhase ImageWindow IndexSort InsertPoints
|
406
|
+
Integrate Integrate2D IntegrateODE Interp3DPath
|
407
|
+
Interpolate2 Interpolate3D JCAMPLoadWave
|
408
|
+
JointHistogram KMeans KillBackground KillControl
|
409
|
+
KillDataFolder KillFIFO KillFreeAxis KillPICTs
|
410
|
+
KillPath KillStrings KillVariables KillWaves
|
411
|
+
KillWindow Label Layout LayoutPageAction
|
412
|
+
LayoutSlideShow Legend LinearFeedbackShiftRegister
|
413
|
+
ListBox LoadData LoadPICT LoadPackagePreferences
|
414
|
+
LoadWave Loess LombPeriodogram MCC_FindServers
|
415
|
+
MFR_CheckForNewBricklets MFR_CloseResultFile
|
416
|
+
MFR_CreateOverviewTable MFR_GetBrickletCount
|
417
|
+
MFR_GetBrickletData MFR_GetBrickletDeployData
|
418
|
+
MFR_GetBrickletMetaData MFR_GetBrickletRawData
|
419
|
+
MFR_GetReportTemplate MFR_GetResultFileMetaData
|
420
|
+
MFR_GetResultFileName MFR_GetVernissageVersion
|
421
|
+
MFR_GetVersion MFR_GetXOPErrorMessage
|
422
|
+
MFR_OpenResultFile
|
423
|
+
MLLoadWave Make MakeIndex MarkPerfTestTime
|
424
|
+
MatrixConvolve MatrixCorr MatrixEigenV MatrixFilter
|
425
|
+
MatrixGLM MatrixGaussJ MatrixInverse MatrixLLS
|
426
|
+
MatrixLUBkSub MatrixLUD MatrixLUDTD MatrixLinearSolve
|
427
|
+
MatrixLinearSolveTD MatrixMultiply MatrixOP
|
428
|
+
MatrixSVBkSub MatrixSVD MatrixSchur MatrixSolve
|
429
|
+
MatrixTranspose MeasureStyledText Modify ModifyBoxPlot
|
430
|
+
ModifyBrowser ModifyCamera ModifyContour ModifyControl
|
431
|
+
ModifyControlList ModifyFreeAxis ModifyGizmo
|
432
|
+
ModifyGraph ModifyImage ModifyLayout ModifyPanel
|
433
|
+
ModifyTable ModifyViolinPlot ModifyWaterfall
|
434
|
+
MoveDataFolder MoveFile MoveFolder MoveString
|
435
|
+
MoveSubwindow MoveVariable MoveWave MoveWindow
|
436
|
+
MultiTaperPSD MultiThreadingControl NC_CloseFile
|
437
|
+
NC_DumpErrors NC_Inquire NC_ListAttributes
|
438
|
+
NC_ListObjects NC_LoadData NC_OpenFile NI4882
|
439
|
+
NILoadWave NeuralNetworkRun NeuralNetworkTrain
|
440
|
+
NewCamera NewDataFolder NewFIFO NewFIFOChan
|
441
|
+
NewFreeAxis NewGizmo NewImage NewLayout NewMovie
|
442
|
+
NewNotebook NewPanel NewPath NewWaterfall Note
|
443
|
+
Notebook NotebookAction Open OpenHelp OpenNotebook
|
444
|
+
Optimize PCA ParseOperationTemplate PathInfo
|
445
|
+
PauseForUser PauseUpdate PlayMovie PlayMovieAction
|
446
|
+
PlaySound PopupContextualMenu PopupMenu Preferences
|
447
|
+
PrimeFactors Print PrintGraphs PrintLayout
|
448
|
+
PrintNotebook PrintSettings PrintTable Project
|
449
|
+
PulseStats PutScrapText Quit RatioFromNumber
|
450
|
+
Redimension Remez Remove RemoveContour RemoveFromGizmo
|
451
|
+
RemoveFromGraph RemoveFromLayout RemoveFromTable
|
452
|
+
RemoveImage RemoveLayoutObjects RemovePath Rename
|
453
|
+
RenameDataFolder RenamePICT RenamePath RenameWindow
|
454
|
+
ReorderImages ReorderTraces ReplaceText ReplaceWave
|
455
|
+
Resample ResumeUpdate Reverse Rotate SQLHighLevelOp
|
456
|
+
STFT Save SaveData SaveExperiment SaveGizmoCopy
|
457
|
+
SaveGraphCopy SaveNotebook SavePICT
|
458
|
+
SavePackagePreferences SaveTableCopy
|
459
|
+
SetActiveSubwindow SetAxis SetBackground
|
460
|
+
SetDashPattern SetDataFolder SetDimLabel SetDrawEnv
|
461
|
+
SetDrawLayer SetFileFolderInfo SetFormula
|
462
|
+
SetIdlePeriod SetIgorHook SetIgorMenuMode
|
463
|
+
SetIgorOption SetMarquee SetProcessSleep SetRandomSeed
|
464
|
+
SetScale SetVariable SetWaveLock SetWaveTextEncoding
|
465
|
+
SetWindow ShowIgorMenus ShowInfo ShowTools Silent
|
466
|
+
Sleep Slider Smooth SmoothCustom Sort SortColumns
|
467
|
+
SoundInRecord SoundInSet SoundInStartChart
|
468
|
+
SoundInStatus SoundInStopChart SoundLoadWave
|
469
|
+
SoundSaveWave SphericalInterpolate
|
470
|
+
SphericalTriangulate SplitString SplitWave Stack
|
471
|
+
StackWindows StatsANOVA1Test StatsANOVA2NRTest
|
472
|
+
StatsANOVA2RMTest StatsANOVA2Test
|
473
|
+
StatsAngularDistanceTest StatsChiTest
|
474
|
+
StatsCircularCorrelationTest StatsCircularMeans
|
475
|
+
StatsCircularMoments StatsCircularTwoSampleTest
|
476
|
+
StatsCochranTest StatsContingencyTable StatsDIPTest
|
477
|
+
StatsDunnettTest StatsFTest StatsFriedmanTest
|
478
|
+
StatsHodgesAjneTest StatsJBTest StatsKDE StatsKSTest
|
479
|
+
StatsKWTest StatsKendallTauTest
|
480
|
+
StatsLinearCorrelationTest StatsLinearRegression
|
481
|
+
StatsMultiCorrelationTest StatsNPMCTest
|
482
|
+
StatsNPNominalSRTest StatsQuantiles
|
483
|
+
StatsRankCorrelationTest StatsResample StatsSRTest
|
484
|
+
StatsSample StatsScheffeTest StatsShapiroWilkTest
|
485
|
+
StatsSignTest StatsTTest StatsTukeyTest
|
486
|
+
StatsVariancesTest StatsWRCorrelationTest
|
487
|
+
StatsWatsonUSquaredTest StatsWatsonWilliamsTest
|
488
|
+
StatsWheelerWatsonTest StatsWilcoxonRankTest String
|
489
|
+
StructFill StructGet StructPut SumDimension SumSeries
|
490
|
+
TDMLoadData TDMSaveData TabControl Tag TextBox
|
491
|
+
ThreadGroupPutDF ThreadStart TickWavesFromAxis Tile
|
492
|
+
TileWindows TitleBox ToCommandLine ToolsGrid
|
493
|
+
Triangulate3d URLRequest Unwrap VDT2 VDTClosePort2
|
494
|
+
VDTGetPortList2 VDTGetStatus2 VDTOpenPort2
|
495
|
+
VDTOperationsPort2 VDTRead2 VDTReadBinary2
|
496
|
+
VDTReadBinaryWave2 VDTReadHex2 VDTReadHexWave2
|
497
|
+
VDTReadWave2 VDTTerminalPort2 VDTWrite2
|
498
|
+
VDTWriteBinary2 VDTWriteBinaryWave2 VDTWriteHex2
|
499
|
+
VDTWriteHexWave2 VDTWriteWave2 VISAControl VISARead
|
500
|
+
VISAReadBinary VISAReadBinaryWave VISAReadWave
|
501
|
+
VISAWrite VISAWriteBinary VISAWriteBinaryWave
|
502
|
+
VISAWriteWave ValDisplay Variable WaveMeanStdv
|
503
|
+
WaveStats WaveTransform WignerTransform WindowFunction
|
504
|
+
XLLoadWave cd dir fprintf printf pwd sprintf sscanf
|
505
|
+
wfprintf
|
506
|
+
)
|
507
|
+
end
|
508
|
+
|
509
|
+
def self.object_name
|
510
|
+
/\b[a-z][a-z0-9_\.]*?\b/i
|
511
|
+
end
|
512
|
+
|
513
|
+
object = self.object_name
|
514
|
+
noLineBreak = /(?:[ \t]|(?:\\\s*[\r\n]))+/
|
515
|
+
operator = %r([\#$~!%^&*+=\|?:<>/-])
|
516
|
+
punctuation = /[{}()\[\],.;]/
|
517
|
+
number_float= /0x[a-f0-9]+/i
|
518
|
+
number_hex = /\d+\.\d+(e[\+\-]?\d+)?/
|
519
|
+
number_int = /[\d]+(?:_\d+)*/
|
520
|
+
|
521
|
+
state :root do
|
522
|
+
rule %r(//), Comment, :comments
|
523
|
+
|
524
|
+
rule %r/#{object}/ do |m|
|
525
|
+
if m[0].downcase =~ /function/
|
526
|
+
token Keyword::Declaration
|
527
|
+
push :parse_function
|
528
|
+
elsif self.class.igorDeclarations.include? m[0].downcase
|
529
|
+
token Keyword::Declaration
|
530
|
+
push :parse_variables
|
531
|
+
elsif self.class.keywords.include? m[0].downcase
|
532
|
+
token Keyword
|
533
|
+
elsif self.class.igorConstants.include? m[0].downcase
|
534
|
+
token Keyword::Constant
|
535
|
+
elsif self.class.igorFunction.include? m[0].downcase
|
536
|
+
token Name::Builtin
|
537
|
+
elsif self.class.igorOperation.include? m[0].downcase
|
538
|
+
token Keyword::Reserved
|
539
|
+
push :operationFlags
|
540
|
+
elsif m[0].downcase =~ /\b(v|s|w)_[a-z]+[a-z0-9]*/
|
541
|
+
token Name::Constant
|
542
|
+
else
|
543
|
+
token Name
|
544
|
+
end
|
545
|
+
end
|
546
|
+
|
547
|
+
mixin :preprocessor
|
548
|
+
mixin :waveFlag
|
549
|
+
|
550
|
+
mixin :characters
|
551
|
+
mixin :numbers
|
552
|
+
mixin :whitespace
|
553
|
+
end
|
554
|
+
|
555
|
+
state :preprocessor do
|
556
|
+
rule %r((\#)(#{object})) do |m|
|
557
|
+
if self.class.preprocessor.include? m[2].downcase
|
558
|
+
token Comment::Preproc
|
559
|
+
else
|
560
|
+
token Punctuation, m[1] #i.e. ModuleFunctions
|
561
|
+
token Name, m[2]
|
562
|
+
end
|
563
|
+
|
564
|
+
|
565
|
+
end
|
566
|
+
end
|
567
|
+
|
568
|
+
state :assignment do
|
569
|
+
mixin :whitespace
|
570
|
+
rule %r/\"/, Literal::String::Double, :string1 #punctuation for string
|
571
|
+
mixin :string2
|
572
|
+
rule %r/#{number_float}/, Literal::Number::Float, :pop!
|
573
|
+
rule %r/#{number_int}/, Literal::Number::Integer, :pop!
|
574
|
+
rule %r/[\(\[\{][^\)\]\}]+[\)\]\}]/, Generic, :pop!
|
575
|
+
rule %r/[^\s\/\(]+/, Generic, :pop!
|
576
|
+
rule(//) { pop! }
|
577
|
+
end
|
578
|
+
|
579
|
+
state :parse_variables do
|
580
|
+
mixin :whitespace
|
581
|
+
rule %r/[=]/, Punctuation, :assignment
|
582
|
+
rule object, Name::Variable
|
583
|
+
rule %r/[\[\]]/, Punctuation # optional variables in functions
|
584
|
+
rule %r/[,]/, Punctuation, :parse_variables
|
585
|
+
rule %r/\)/, Punctuation, :pop! # end of function
|
586
|
+
rule %r([/][a-z]+)i, Keyword::Pseudo, :parse_variables
|
587
|
+
rule(//) { pop! }
|
588
|
+
end
|
589
|
+
|
590
|
+
state :parse_function do
|
591
|
+
rule %r([/][a-z]+)i, Keyword::Pseudo # only one flag
|
592
|
+
mixin :whitespace
|
593
|
+
rule object, Name::Function
|
594
|
+
rule %r/[\(]/, Punctuation, :parse_variables
|
595
|
+
rule(//) { pop! }
|
596
|
+
end
|
597
|
+
|
598
|
+
state :operationFlags do
|
599
|
+
rule %r/#{noLineBreak}/, Text
|
600
|
+
rule %r/[=]/, Punctuation, :assignment
|
601
|
+
rule %r([/][a-z]+)i, Keyword::Pseudo, :operationFlags
|
602
|
+
rule %r/(as)(\s*)(#{object})/i do
|
603
|
+
groups Keyword::Type, Text, Name::Label
|
604
|
+
end
|
605
|
+
rule(//) { pop! }
|
606
|
+
end
|
607
|
+
|
608
|
+
# inline variable assignments (i.e. for Make) with strict syntax
|
609
|
+
state :waveFlag do
|
610
|
+
rule %r(
|
611
|
+
(/(?:wave|X|Y))
|
612
|
+
(\s*)(=)(\s*)
|
613
|
+
(#{object})
|
614
|
+
)ix do |m|
|
615
|
+
token Keyword::Pseudo, m[1]
|
616
|
+
token Text, m[2]
|
617
|
+
token Punctuation, m[3]
|
618
|
+
token Text, m[4]
|
619
|
+
token Name::Variable, m[5]
|
620
|
+
end
|
621
|
+
end
|
622
|
+
|
623
|
+
state :characters do
|
624
|
+
rule %r/\s/, Text
|
625
|
+
rule %r/#{operator}/, Operator
|
626
|
+
rule %r/#{punctuation}/, Punctuation
|
627
|
+
rule %r/\"/, Literal::String::Double, :string1 #punctuation for string
|
628
|
+
mixin :string2
|
629
|
+
end
|
630
|
+
|
631
|
+
state :numbers do
|
632
|
+
rule %r/#{number_float}/, Literal::Number::Float
|
633
|
+
rule %r/#{number_hex}/, Literal::Number::Hex
|
634
|
+
rule %r/#{number_int}/, Literal::Number::Integer
|
635
|
+
end
|
636
|
+
|
637
|
+
state :whitespace do
|
638
|
+
rule %r/#{noLineBreak}/, Text
|
639
|
+
end
|
640
|
+
|
641
|
+
state :string1 do
|
642
|
+
rule %r/%\w\b/, Literal::String::Other
|
643
|
+
rule %r/\\\\/, Literal::String::Escape
|
644
|
+
rule %r/\\\"/, Literal::String::Escape
|
645
|
+
rule %r/\\/, Literal::String::Escape
|
646
|
+
rule %r/[^"]/, Literal::String
|
647
|
+
rule %r/\"/, Literal::String::Double, :pop! #punctuation for string
|
648
|
+
end
|
649
|
+
|
650
|
+
state :string2 do
|
651
|
+
rule %r/\'[^']*\'/, Literal::String::Single
|
652
|
+
end
|
653
|
+
|
654
|
+
state :comments do
|
655
|
+
rule %r{([/]\s*)([@]\w+\b)}i do
|
656
|
+
# doxygen comments
|
657
|
+
groups Comment, Comment::Special
|
658
|
+
end
|
659
|
+
rule %r/[^\r\n]/, Comment
|
660
|
+
rule(//) { pop! }
|
661
|
+
end
|
662
|
+
end
|
663
|
+
end
|
664
|
+
end
|