ultraviolet 0.10.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. data/.gitmodules +3 -0
  2. data/Gemfile +10 -0
  3. data/Gemfile.lock +28 -0
  4. data/Rakefile +18 -47
  5. data/Readme.md +89 -0
  6. data/bin/theme2latexrender +0 -0
  7. data/bin/theme2xhtmlrender +0 -0
  8. data/bin/uv +0 -0
  9. data/lib/uv.rb +78 -75
  10. data/lib/uv/render_processor.rb +128 -119
  11. data/lib/uv/utility.rb +62 -62
  12. data/lib/uv/version.rb +3 -0
  13. data/spec/spec_helper.rb +2 -0
  14. data/spec/ultraviolet_spec.rb +13 -0
  15. data/ultraviolet.gemspec +15 -0
  16. metadata +123 -271
  17. data/History.txt +0 -25
  18. data/Manifest.txt +0 -233
  19. data/README.txt +0 -52
  20. data/syntax/actionscript.syntax +0 -97
  21. data/syntax/active4d.syntax +0 -276
  22. data/syntax/active4d_html.syntax +0 -311
  23. data/syntax/active4d_ini.syntax +0 -50
  24. data/syntax/active4d_library.syntax +0 -21
  25. data/syntax/ada.syntax +0 -33
  26. data/syntax/antlr.syntax +0 -151
  27. data/syntax/apache.syntax +0 -191
  28. data/syntax/applescript.syntax +0 -384
  29. data/syntax/asp.syntax +0 -70
  30. data/syntax/asp_vb.net.syntax +0 -129
  31. data/syntax/bibtex.syntax +0 -151
  32. data/syntax/blog_html.syntax +0 -41
  33. data/syntax/blog_markdown.syntax +0 -42
  34. data/syntax/blog_text.syntax +0 -27
  35. data/syntax/blog_textile.syntax +0 -27
  36. data/syntax/build.syntax +0 -53
  37. data/syntax/bulletin_board.syntax +0 -287
  38. data/syntax/c++.syntax +0 -109
  39. data/syntax/c.syntax +0 -326
  40. data/syntax/cake.syntax +0 -55
  41. data/syntax/camlp4.syntax +0 -36
  42. data/syntax/cm.syntax +0 -32
  43. data/syntax/coldfusion.syntax +0 -119
  44. data/syntax/context_free.syntax +0 -176
  45. data/syntax/cs.syntax +0 -59
  46. data/syntax/css.syntax +0 -195
  47. data/syntax/css_experimental.syntax +0 -1925
  48. data/syntax/csv.syntax +0 -68
  49. data/syntax/d.syntax +0 -142
  50. data/syntax/diff.syntax +0 -81
  51. data/syntax/dokuwiki.syntax +0 -204
  52. data/syntax/dot.syntax +0 -47
  53. data/syntax/doxygen.syntax +0 -43
  54. data/syntax/dylan.syntax +0 -62
  55. data/syntax/eiffel.syntax +0 -78
  56. data/syntax/erlang.syntax +0 -922
  57. data/syntax/f-script.syntax +0 -80
  58. data/syntax/fortran.syntax +0 -141
  59. data/syntax/fxscript.syntax +0 -142
  60. data/syntax/greasemonkey.syntax +0 -34
  61. data/syntax/gri.syntax +0 -83
  62. data/syntax/groovy.syntax +0 -191
  63. data/syntax/gtd.syntax +0 -22
  64. data/syntax/gtdalt.syntax +0 -143
  65. data/syntax/haml.syntax +0 -88
  66. data/syntax/haskell.syntax +0 -88
  67. data/syntax/html-asp.syntax +0 -27
  68. data/syntax/html.syntax +0 -362
  69. data/syntax/html_django.syntax +0 -36
  70. data/syntax/html_for_asp.net.syntax +0 -424
  71. data/syntax/html_mason.syntax +0 -119
  72. data/syntax/html_rails.syntax +0 -40
  73. data/syntax/html_tcl.syntax +0 -26
  74. data/syntax/icalendar.syntax +0 -32
  75. data/syntax/inform.syntax +0 -48
  76. data/syntax/ini.syntax +0 -55
  77. data/syntax/installer_distribution_script.syntax +0 -77
  78. data/syntax/io.syntax +0 -81
  79. data/syntax/java.syntax +0 -211
  80. data/syntax/javaproperties.syntax +0 -20
  81. data/syntax/javascript.syntax +0 -256
  82. data/syntax/javascript_+_prototype.syntax +0 -72
  83. data/syntax/javascript_+_prototype_bracketed.syntax +0 -140
  84. data/syntax/jquery_javascript.syntax +0 -114
  85. data/syntax/json.syntax +0 -136
  86. data/syntax/languagedefinition.syntax +0 -708
  87. data/syntax/latex.syntax +0 -566
  88. data/syntax/latex_beamer.syntax +0 -41
  89. data/syntax/latex_log.syntax +0 -50
  90. data/syntax/latex_memoir.syntax +0 -64
  91. data/syntax/lexflex.syntax +0 -219
  92. data/syntax/lighttpd.syntax +0 -54
  93. data/syntax/lilypond.syntax +0 -492
  94. data/syntax/lisp.syntax +0 -61
  95. data/syntax/literate_haskell.syntax +0 -24
  96. data/syntax/logo.syntax +0 -29
  97. data/syntax/logtalk.syntax +0 -152
  98. data/syntax/lua.syntax +0 -86
  99. data/syntax/m.syntax +0 -142
  100. data/syntax/macports_portfile.syntax +0 -163
  101. data/syntax/mail.syntax +0 -118
  102. data/syntax/makefile.syntax +0 -36
  103. data/syntax/man.syntax +0 -17
  104. data/syntax/markdown.syntax +0 -543
  105. data/syntax/mediawiki.syntax +0 -567
  106. data/syntax/mel.syntax +0 -92
  107. data/syntax/mips.syntax +0 -66
  108. data/syntax/mod_perl.syntax +0 -50
  109. data/syntax/modula-3.syntax +0 -47
  110. data/syntax/moinmoin.syntax +0 -189
  111. data/syntax/mootools.syntax +0 -572
  112. data/syntax/movable_type.syntax +0 -162
  113. data/syntax/multimarkdown.syntax +0 -39
  114. data/syntax/objective-c++.syntax +0 -18
  115. data/syntax/objective-c.syntax +0 -233
  116. data/syntax/ocaml.syntax +0 -764
  117. data/syntax/ocamllex.syntax +0 -167
  118. data/syntax/ocamlyacc.syntax +0 -184
  119. data/syntax/opengl.syntax +0 -14
  120. data/syntax/pascal.syntax +0 -77
  121. data/syntax/perl.syntax +0 -1115
  122. data/syntax/php.syntax +0 -1253
  123. data/syntax/plain_text.syntax +0 -32
  124. data/syntax/pmwiki.syntax +0 -113
  125. data/syntax/postscript.syntax +0 -114
  126. data/syntax/processing.syntax +0 -106
  127. data/syntax/prolog.syntax +0 -40
  128. data/syntax/property_list.syntax +0 -635
  129. data/syntax/python.syntax +0 -868
  130. data/syntax/python_django.syntax +0 -21
  131. data/syntax/qmake_project.syntax +0 -114
  132. data/syntax/qt_c++.syntax +0 -26
  133. data/syntax/quake3_config.syntax +0 -32
  134. data/syntax/r.syntax +0 -81
  135. data/syntax/r_console.syntax +0 -16
  136. data/syntax/ragel.syntax +0 -201
  137. data/syntax/rd_r_documentation.syntax +0 -91
  138. data/syntax/regexp.syntax +0 -50
  139. data/syntax/regular_expressions_oniguruma.syntax +0 -107
  140. data/syntax/regular_expressions_python.syntax +0 -109
  141. data/syntax/release_notes.syntax +0 -46
  142. data/syntax/remind.syntax +0 -253
  143. data/syntax/restructuredtext.syntax +0 -250
  144. data/syntax/rez.syntax +0 -80
  145. data/syntax/ruby.syntax +0 -1035
  146. data/syntax/ruby_experimental.syntax +0 -145
  147. data/syntax/ruby_on_rails.syntax +0 -88
  148. data/syntax/s5.syntax +0 -69
  149. data/syntax/scheme.syntax +0 -347
  150. data/syntax/scilab.syntax +0 -41
  151. data/syntax/setext.syntax +0 -147
  152. data/syntax/shell-unix-generic.syntax +0 -384
  153. data/syntax/slate.syntax +0 -149
  154. data/syntax/smarty.syntax +0 -63
  155. data/syntax/sql.syntax +0 -237
  156. data/syntax/sql_rails.syntax +0 -18
  157. data/syntax/ssh-config.syntax +0 -33
  158. data/syntax/standard_ml.syntax +0 -121
  159. data/syntax/strings_file.syntax +0 -39
  160. data/syntax/subversion_commit_message.syntax +0 -36
  161. data/syntax/sweave.syntax +0 -84
  162. data/syntax/swig.syntax +0 -57
  163. data/syntax/tcl.syntax +0 -152
  164. data/syntax/template_toolkit.syntax +0 -121
  165. data/syntax/tex.syntax +0 -86
  166. data/syntax/tex_math.syntax +0 -49
  167. data/syntax/textile.syntax +0 -215
  168. data/syntax/tsv.syntax +0 -50
  169. data/syntax/twiki.syntax +0 -241
  170. data/syntax/txt2tags.syntax +0 -79
  171. data/syntax/vectorscript.syntax +0 -57
  172. data/syntax/xhtml_1.0.syntax +0 -4027
  173. data/syntax/xml.syntax +0 -180
  174. data/syntax/xml_strict.syntax +0 -92
  175. data/syntax/xsl.syntax +0 -60
  176. data/syntax/yaml.syntax +0 -160
  177. data/syntax/yui_javascript.syntax +0 -176
  178. data/test/test_uv.rb +0 -0
@@ -1,145 +0,0 @@
1
- ---
2
- name: Ruby Experimental
3
- scopeName: source.ruby.experimental
4
- repository:
5
- nest_function_parens:
6
- captures:
7
- "0":
8
- name: punctuation.section.scope.ruby.experimental
9
- begin: \(
10
- contentName: meta.section.scope.ruby.experimental
11
- end: \)
12
- patterns:
13
- - include: "#nest_function_parens"
14
- - include: $self
15
- known_function_names:
16
- name: support.function.core.ruby
17
- match: \b(abort_on_exception=|absolute\?|acos!|acosh!|add!|add\?|alive\?|all\?|any\?|asin!|asinh!|async=|atan!|atan2!|atanh!|attributes=|autoload\?|avail_out=|beginning_of_line\?|between\?|block_given\?|blockdev\?|bol\?|capitalize!|casefold\?|changed\?|chardev\?|charset=|chomp!|chop!|close!|closed\?|closed_read\?|closed_write\?|codepage=|collect!|comment=|compact!|const_defined\?|coredump\?|cos!|cosh!|critical=|data=|dataType=|datetime_format=|debug\?|default=|delete!|delete\?|directory\?|dn=|downcase!|dst\?|egid=|eid=|empty\?|enclosed\?|end\?|ended\?|eof\?|eos\?|eql\?|eqn\?|equal\?|error\?|event\?|exclude_end\?|executable\?|executable_real\?|exist\?|exists\?|exit!|exited\?|euid=|exp!|extensions=|fatal\?|file\?|filter=|finished\?|finite\?|flatten!|fnmatch\?|fragment=|frozen\?|fu_have_symlink\?|fu_world_writable\?|gid=|gmt\?|gregorian_leap\?|groups=|grpowned\?|gsub!|has_key\?|has_value\?|headers=|hierarchical\?|host=|identical\?|include\?|infinite\?|info\?|input\?|instance_of\?|integer\?|is_a\?|iterator\?|julian_leap\?|key\?|kind_of\?|leap\?|level=|lineno=|locked\?|log!|log10!|log=|lstrip!|map!|match\?|matched\?|max=|maxgroups=|member\?|merge!|method_defined\?|mountpoint\?|multipart\?|mtime=|multipart\?|nan\?|new!|next!|next\?|nil\?|nodeTypedValue=|nodeValue=|nonzero\?|normalize!|ns\?|ondataavailable=|onreadystatechange=|ontransformnode=|opaque=|optional\?|orig_name=|os\?|output\?|owned\?|params=|password=|path=|pipe\?|pointer=|port=|pos=|power!|preserveWhiteSpace=|priority=|private_method_defined\?|proper_subset\?|proper_superset\?|protected_method_defined\?|public_method_defined\?|query=|re_exchangeable\?|readable\?|readable_real\?|registry=|regular\?|reject!|relative\?|resolveExternals=|respond_to\?|rest\?|retval\?|reverse!|root\?|rstrip!|run\?|run=|scheme=|scope=|secure=|setgid\?|setuid\?|sid_available\?|signaled\?|sin!|singular\?|sinh!|size\?|slice!|socket\?|sort!|sqrt!|square\?|squeeze!|sticky\?|stop\?|stopped\?|stream_end\?|string=|strip!|sub!|subset\?|succ!|success\?|superset\?|swapcase!|symlink\?|sync=|sync_point\?|tainted\?|tan!|tanh!|text=|to=|tr!|tr_s!|tty\?|typecode=|uid=|uniq!|upcase!|uptodate\?|url=|user=|userinfo=|utc\?|valid_civil\?|valid_commercial\?|valid_jd\?|valid_ordinal\?|valid_time\?|validateOnParse=|value=|value\?|visible\?|warn\?|writable\?|writable_real\?|zero\?)|\b(__getobj__|__id__|__init__|__send__|__setobj__|_dump|_getproperty|_id2ref|_invoke|_load|_setproperty|abbrev|abort_on_exception|abort|abs2|absoluteChildNumber|absolute|abs|acosh|acos|add_builtin_type|add_domain_type|add_finalizer|add_observer|add_private_type|add_ruby_type|add|adler32|adler|ajd_to_amjd|ajd_to_jd|ajd|a|all_symbols|all_waits|allocate|amjd_to_ajd|amjd|ancestorChildNumber|ancestors|angle|appendChild|appendData|append_features|args|arg|arity|asctime|asinh|asin|assoc|async|at_exit|atan2|atanh|atan|atime|attributes|at|autoload|avail_in|avail_out|b64encode|backtrace|baseName|basename|base|benchmark|binding|bind|binmode|blksize|blockquote|blocks|bmbm|bm|broadcast|build2|build|call_finalizer|callcc|caller|call|capitalize|caption|captures|casecmp|cd|ceil|center|change_privilege|changed|charset_map|charset|chdir|check_until|checkbox_group|checkbox|check|childNodes|childNumber|children|chmod_R|chmod|chomp|chop|chown_R|chown|chroot|chr|civil_to_jd|civil|class_eval|class_name|class_variable_get|class_variable_set|class_variables|classify|class|cleanpath|clear|cloneNode|clone|close_read|close_write|close|cmp|codepage|coerce|collect2|collect|column_size|column_vector|column_vectors|columns|column|comment|commercial_to_jd|commercial|commit|compact|compare_by_row_vectors|compare_by|compare_file|compare_stream|compile|component_ary|component|concat|conj|conjugate|connect|const_get|const_load|const_missing|const_set|constants|conv|copy_entry|copy_file|copy_stream|copy|cosh|cos|count_observers|count|covector|cp_r|cp|crc32|crc_table|crc|createAttribute|createCDATASection|createComment|createDocumentFragment|createElement|createEntityReference|createNode|createProcessingInstruction|createTextNode|create_docfile|create_win32ole_makefile|critical|crypt|ctime|current|cwday|cweek|cwyear|dataType|data_type|data|datetime_format|day_fraction|day_fraction_to_time|day|debug|decode64|decode_b|decode|def_delegator|def_delegators|def_instance_delegator|def_instance_delegators|def_singleton_delegator|def_singleton_delegators|default_handler|default_port|default_proc|default|define_class|define_finalizer|define_define_define_instance_variables|define_method|define_method_missing|define_module|definition|deflate|deleteData|delete_at|delete_if|delete_observer|delete_observers|delete|denominator|depth|deq|detach|detect|detect_implicit|determinant|det|dev_major|dev_minor|dev|diagonal|difference|dir_foreach|dirname|disable|dispid|display|divide|divmod|div|dn|doctype|documentElement|downcase|downto|dump_stream|dump|dup|each2|each_byte|each_cons|each_document|each_entry|each_filename|each_index|each_key|each_line|each_node|each_object|each_pair|each_slice|each_value|each_with_index|each|eid|elements|emitter|enable|enclose|encode64|encode|end|england|enq|entities|entries|enum_cons|enum_for|enum_slice|enum_with_index|eof|erfc|erf|errno|errorCode|error|escapeElement|escapeHTML|escape|euid|eval|event_interface|exception|exclusive|exclusive_unlock|exec|exit_value|exitstatus|exit|expand_path|exp|extend_object|extended|extensions|extname|extract|failed|fail|fatal|fcntl|fetch|file_field|fileno|filepos|fill|filter|finalizers|find_all|find|finish|first|firstChild|flatten_merge|flatten|flock|floor|flush_next_in|flush_next_out|flush|fnmatch|for_fd|foreachline|foreach|fork|format|formatDate|formatIndex|formatNumber|formatTime|form|freeze|frexp|fsync|ftype|garbage_collect|gcdlcm|gcd|generate_args|generate_argtype|generate_argtypes|generate_class|generate_constants|generate_func_methods|generate_method_args_help|generate_method_body|generate_method_help|generate_methods|generate_method|generate_properties_with_args|generate_propget_methods|generate_propput_methods|generate_propputref_methods|generate|generic_parser|getAllResponseHeaders|getAttribute|getAttributeNode|getElementsByTagName|getNamedItem|getQualifiedItem|getResponseHeader|get_byte|getbyte|getch|getc|getegid|geteuid|getgid|getgm|getlocal|getpgid|getpgrp|getpriority|gets|getuid|getutc|getwd|gid|global_variables|glob|gmt_offset|gmtime|gmtoff|gm|grant_privilege|gregorian|grep|groups|group|gsub|guess1|guess2|guess_old|guess|guid|handler1|handler2|handler3|hasChildNodes|hasFeature|hash|header|helpcontext|helpfile|helpstring|hex|hidden|hour|html_escape|html|httpdate|hypot|h|iconv|id2name|identity|id|imag|image_button|image|img|implementation|im|included_modules|included|indexes|index|indices|induced_from|inflate|info|inherited|init_elements|initgroups|initialize_copy|inject|inner_product|ino|insertBefore|insertData|insert|inspect|install|instance_eval|instance_method|instance_methods|instance_variable_get|instance_variable_set|instance_variables|intern|intersection|inverse|inverse_from|invert|invkind|invoke|invoke_kind|inv|ioctl|isatty|isdst|iseuc|iso8601|issetugid|issjis|isutf8|italy|item|jd_to_ajd|jd_to_civil|jd_to_commercial|jd_to_ld|jd_to_mjd|jd_to_ordinal|jd_to_wday|jd|join_nowait|join|julian|kcode|kconv|keys|kill|lambda|lastChild|last_match|last|lchmod|lchown|lcm|ld_to_jd|ldexp|ld|length|level|lineno|linepos|(?<=\.)line|link|listup|list|ljust|ln_s|ln_sf|ln|loadXML|load_documents|load_file|load_stream|load|local_variables|localtime|local|lock|log10|log|lstat|lstrip|main|major_version|make_link|make_symlink|makedirs|map2|map|marshal_dump|marshal_load|matched|matched_size|matchedsize|match|maxgroups|max|mday|measure|members|memberwise|merge|message_message|method_added|method_missing|method_removed|method_undefined|methods|method|minor|minor_version|min|mjd_to_jd|mjd|mkdir_p|mkdir|mkpath|mktime|mode|module_eval|modulo|month|mon|move|mtime|multipart_form|must_C_version|mv|namespaceURI|name|navigate|nesting|new2|new_start|nextNode|nextSibling|next_wait|next|nitems|nkf|nlink|nodeFromID|nodeName|nodeType|nodeTypeString|nodeTypedValue|nodeValue|normalize|notationName|notations|notify_observers|now|num_waiting|numerator|object_id|object_maker|oct|offset_vtbl|offset|ole_classes|ole_free|ole_func_methods|ole_get_methods|ole_method|ole_method_help|ole_methods|ole_obj_help|ole_put_methods|ole_reference_count|ole_show_help|ole_type_detail|ole_type|oletypelib_name|on_event_with_outargs|on_event|ondataavailable|onreadystatechange|opendir|open|options|ordinal_to_jd|ordinal|orig_name|os_code|out|ownerDocument|pack|params|parentNode|parent|parseError|parse_documents|parse_file|parsed|parser|parse|partition|password|password_field|pass|path|peek|peep|pid|pipe|pointer|polar|popen|popup_menu|pop|post_match|pos|ppid|pre_match|prec_f|prec_i|prec|prefix|preserveWhiteSpace|pretty|previousSibling|printf|print|priority|private_class_method|private_instance_methods|private_methods|proc|progids|progid|protected_instance_methods|protected_methods|prune|publicId|public_class_method|public_instance_methods|public_methods|push|putc|puts|pwd|p|quick_emit|quote|quo|radio_button|radio_group|rand|rank|rassoc|raw_cookie|raw_cookie2|rdev_major|rdev_minor|rdev|rdiv|re_exchange|read_type_class|readchar|readlines|readline|readlink|readpartial|readyState|read|realpath|realtime|real|reason|reduce|regexp|rehash|reject|relative_path_from|remainder|removeAttribute|removeAttributeNode|removeChild|removeNamedItem|removeQualifiedItem|remove_class_variable|remove_const|remove_dir|remove_entry_secure|remove_entry|remove_file|remove_finalizer|remove_instance_variable|remove_method|remove|rename|reopen|replaceChild|replaceData|replace|request_uri|require|reset|resolveExternals|resolver|responseBody|responseStream|responseText|responseXML|rest_size|restore|restsize|rest|result|return_type_detail|return_type|return_vtype|reverse_each|reverse|rewind|rfc1123_date|rfc2822|rfc822|rid|rindex|rjust|rm_f|rm_rf|rm_r|rmdir|rmtree|rm|roots|root|round|route_from|route_to|row_size|row_vector|row_vectors|rows|row|rpower|rstrip|run|r|safe_level|safe_unlink|save(?!!)|scalar|scan_full|scan_until|scan|scope|scrolling_list|search_full|sec|seek|selectNodes|selectSingleNode|select|send|setAttribute|setAttributeNode|setNamedItem|setRequestHeader|set_attributes|set_backtrace|set_dictionary|set_dn|set_eoutvar|set_extensions|set_filter|set_fragment|set_headers|set_host|set_log|set_opaque|set_password|set_path|set_port|set_query|set_registry|set_scheme|set_scope|set_to|set_trace_func|set_typecode|set_user|set_userinfo|setegid|seteuid|setgid|setpgid|setpgrp|setpriority|setproperty|setregid|setresgid|setresuid|setreuid|setrgid|setruid|setsid|setuid|setup|shellwords|shift|signal|sin|singleton_method_added|singleton_method_removed|singleton_method_undefined|singleton_methods|sinh|size_opt_params|size_params|size|skip_until|skip|sleep|slice|sort_by|sort|source|specified|split|splitText|sprintf|sqrt|squeeze|srand|srcText|src_type|start|status|statusText|stat|step|stop_msg_stopsig|stop|store|strftime|string|strip|strptime|sub|submit|substringData|subtract|succ|success|sum|superclass|swapcase|switch|symlink|synchronize|sync|syscall|sysopen|sysread|sysseek|systemId|system|syswrite|tagName|tagurize|taint|tanh|tan|target|teardown|tell|terminate|termsig|test__invoke|test_bracket_equal_with_arg|test_class_to_s|test_const_CP_ACP|test_const_CP_MACCP|test_const_CP_OEMCP|test_const_CP_SYMBOL|test_const_CP_THREAD_ACP|test_const_CP_UTF7|test_const_CP_UTF8|test_convert_bignum|test_dispid|test_each|test_event|test_event_interface|test_get_win32ole_object|test_helpcontext|test_helpfile|test_helpstring|test_input|test_invoke_kind|test_invoke|test_name|test_no_exist_property|test_offset_vtbl|test_ole_func_methods|test_ole_get_methods|test_ole_invoke_with_named_arg|test_ole_invoke_with_named_arg_last|test_ole_method_help|test_ole_methods|test_ole_put_methods|test_ole_type|test_ole_type_detail|test_on_event|test_on_event2|test_on_event3|test_on_event4|test_openSchema|test_optional|test_output|test_return_type|test_return_type_detail|test_return_vtype|test_s_codepage|test_s_codepage_changed|test_s_codepage_set|test_s_connect|test_s_const_load|test_s_test_s_new_DCOM|test_s_new_from_clsid|test_s_ole_classes|test_s_progids|test_s_typelibs|test_setproperty|test_setproperty_bracket|test_setproperty_with_equal|test_src_type|test_to_s|test_typekind|test_value|test_variables|test_variant|test_visible|test|text_field|textarea|text|time_to_day_fraction|timeout|times|tmpdir|to_ary|to_a|to_enum|to_f|to_hash|to_int|to_io|to_i|to_mailtext|to_proc|to_rfc822text|to_r|to_set|to_str|to_sym|to_s|today|toeuc|tojis|tosjis|total_in|total_out|touch|toutf16|toutf8|tr_s|trace_var|trace|transaction|transfer|transformNode|transformNodeToObject|transpose|trap|truncate|try_implicit|try_lock|tr|tv_sec|tv_usec|typekind|typelibs|type|t|uid|umask|unbind|undef_method|undefine_finalizer|unescapeElement|unescapeHTML|unescape|ungetc|union|uniqueID|uniq|unknown|unlink|unlock|unpack|unscan|unshift|untaint|untrace_var|unused|upcase|update|upto|url_encode|url|use_registry|usec|userinfo|user|utc_offset|utc|utime|u|validateOnParse|values_at|values|value|variable_kind|variables|varkind|version|wait2|waitall|waitpid|waitpid2|wait|wakeup|warn|wday|wrap|write|xmlschema|xml|yday|year|yield|zero|zip|zlib_version|zone_offset|zone)\b
18
- comment: |-
19
-
20
- adding all the core methods here to provide a visual aid for spelling errors,
21
- as long as the current theme highlights [support.function] scopes.
22
-
23
- ie: if you miss type first as fisrt, then the word will not highlight.
24
- leading-space:
25
- patterns:
26
- - name: meta.leading-tabs
27
- begin: ^(?=(\t| ))
28
- end: (?=[^\t\s]|\n)
29
- patterns:
30
- - captures:
31
- "6":
32
- name: meta.even-tab.group6.spaces
33
- "11":
34
- name: meta.odd-tab.group11.spaces
35
- "7":
36
- name: meta.odd-tab.group7.spaces
37
- "8":
38
- name: meta.even-tab.group8.spaces
39
- "9":
40
- name: meta.odd-tab.group9.spaces
41
- "1":
42
- name: meta.odd-tab.group1.spaces
43
- "2":
44
- name: meta.even-tab.group2.spaces
45
- "3":
46
- name: meta.odd-tab.group3.spaces
47
- "4":
48
- name: meta.even-tab.group4.spaces
49
- "10":
50
- name: meta.even-tab.group10.spaces
51
- "5":
52
- name: meta.odd-tab.group5.spaces
53
- match: ( )( )?( )?( )?( )?( )?( )?( )?( )?( )?( )?
54
- - captures:
55
- "6":
56
- name: meta.even-tab.group6.tab
57
- "11":
58
- name: meta.odd-tab.group11.tab
59
- "7":
60
- name: meta.odd-tab.group7.tab
61
- "8":
62
- name: meta.even-tab.group8.tab
63
- "9":
64
- name: meta.odd-tab.group9.tab
65
- "1":
66
- name: meta.odd-tab.group1.tab
67
- "2":
68
- name: meta.even-tab.group2.tab
69
- "3":
70
- name: meta.odd-tab.group3.tab
71
- "4":
72
- name: meta.even-tab.group4.tab
73
- "10":
74
- name: meta.even-tab.group10.tab
75
- "5":
76
- name: meta.odd-tab.group5.tab
77
- match: (\t)(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?
78
- uuid: C36CAB29-030A-418B-9F72-7FE6D526A408
79
- foldingStartMarker: "(?x)^\n\
80
- \t (\\s*+\n\
81
- \t (module|class|def\n\
82
- \t |unless|if\n\
83
- \t |case\n\
84
- \t |begin\n\
85
- \t |for|while|until\n\
86
- \t |( \"(\\\\.|[^\"])*+\" # eat a double quoted string\n\
87
- \t | '(\\\\.|[^'])*+' # eat a single quoted string\n\
88
- \t | [^#\"'] # eat all but comments and strings\n\
89
- \t )*\n\
90
- \t ( \\s (do|begin|case)\n\
91
- \t | [-+=&|*/~%^<>~] \\s*+ (if|unless)\n\
92
- \t )\n\
93
- \t )\\b\n\
94
- \t (?! [^;]*+ ; .*? \\bend\\b )\n\
95
- \t |( \"(\\\\.|[^\"])*+\" # eat a double quoted string\n\
96
- \t | '(\\\\.|[^'])*+' # eat a single quoted string\n\
97
- \t | [^#\"'] # eat all but comments and strings\n\
98
- \t )*\n\
99
- \t ( \\{ (?! [^}]*+ \\} )\n\
100
- \t | \\[ (?! [^\\]]*+ \\] )\n\
101
- \t )\n\
102
- \t ).*$\n\
103
- \t| [#] .*? \\(fold\\) \\s*+ $ # Sune\xE2\x80\x99s special marker\n\
104
- \t"
105
- patterns:
106
- - name: meta.function-call.method.without-arguments.ruby
107
- begin: (?<=[^\.]\.|::)(?=[a-zA-Z][a-zA-Z0-9_!?]*[^a-zA-Z0-9_!?])
108
- end: (?<=[a-zA-Z0-9_!?])(?=[^a-zA-Z0-9_!?])
109
- patterns:
110
- - include: "#known_function_names"
111
- - name: entity.name.function.ruby
112
- match: ([a-zA-Z][a-zA-Z0-9_!?]*)(?=[^a-zA-Z0-9_!?])
113
- - name: meta.function-call.method.with-arguments.ruby
114
- begin: (?<=[^\.])(?=(\.|::)[a-zA-Z][a-zA-Z0-9_!?]*\()(\.|::)
115
- beginCaptures:
116
- "1":
117
- name: punctuation.separator.method.ruby
118
- end: (?<=\))
119
- patterns:
120
- - include: "#nest_function_parens"
121
- - include: "#known_function_names"
122
- - name: entity.name.function.ruby
123
- match: ([a-zA-Z][a-zA-Z0-9_!?]*)(?=\()
124
- - include: $self
125
- - name: meta.function-call.ruby
126
- begin: (?=[a-zA-Z0-9_!?]+\()
127
- end: (?<=\))
128
- patterns:
129
- - include: "#nest_function_parens"
130
- - include: "#known_function_names"
131
- - name: entity.name.function.ruby
132
- match: ([a-zA-Z0-9_!?]+)(?=\()
133
- - include: $self
134
- - include: "#leading-space"
135
- - include: source.ruby
136
- - name: variable.other.ruby
137
- match: ((?<=\W)\b|^)\w+\b(?=\s*([\]\)\}\=\+\-\*\/\^\$\,]|<\s|<<\s))
138
- comment: This is kindof experimental. There really is no way to perfectly match all regular variables, but you can pretty well assume that any normal word in certain curcumstances that havnt already been scoped as something else are probably variables, and the advantages beat the potential errors
139
- foldingStopMarker: "(?x)\n\
140
- \t\t( (^|;) \\s*+ end \\s*+ ([#].*)? $\n\
141
- \t\t| (^|;) \\s*+ end \\. .* $\n\
142
- \t\t| ^ \\s*+ [}\\]]\\)? \\s*+ ([#].*)? $\n\
143
- \t\t| [#] .*? \\(end\\) \\s*+ $ # Sune\xE2\x80\x99s special marker\n\
144
- \t\t)"
145
- keyEquivalent: ^~R
@@ -1,88 +0,0 @@
1
- ---
2
- name: Ruby on Rails
3
- fileTypes:
4
- - rxml
5
- scopeName: source.ruby.rails
6
- uuid: 54D6E91E-8F31-11D9-90C5-0011242E4184
7
- foldingStartMarker: "(?x)^\n\
8
- \t (\\s*+\n\
9
- \t (module|class|def\n\
10
- \t |unless|if\n\
11
- \t |case\n\
12
- \t |begin\n\
13
- \t |for|while|until\n\
14
- \t |( \"(\\\\.|[^\"])*+\" # eat a double quoted string\n\
15
- \t | '(\\\\.|[^'])*+' # eat a single quoted string\n\
16
- \t | [^#\"'] # eat all but comments and strings\n\
17
- \t )*\n\
18
- \t ( \\s (do|begin|case)\n\
19
- \t | [-+=&|*/~%^<>~] \\s*+ (if|unless)\n\
20
- \t )\n\
21
- \t )\\b\n\
22
- \t (?! [^;]*+ ; .*? \\bend\\b )\n\
23
- \t |( \"(\\\\.|[^\"])*+\" # eat a double quoted string\n\
24
- \t | '(\\\\.|[^'])*+' # eat a single quoted string\n\
25
- \t | [^#\"'] # eat all but comments and strings\n\
26
- \t )*\n\
27
- \t ( \\{ (?! [^}]*+ \\} )\n\
28
- \t | \\[ (?! [^\\]]*+ \\] )\n\
29
- \t )\n\
30
- \t ).*$\n\
31
- \t| [#] .*? \\(fold\\) \\s*+ $ # Sune\xE2\x80\x99s special marker\n\
32
- \t"
33
- patterns:
34
- - name: meta.rails.functional_test
35
- begin: (^\s*)(?=class\s+(([.a-zA-Z0-9_:]+ControllerTest(\s*<\s*[.a-zA-Z0-9_:]+)?)))
36
- end: ^\1(?=end)\b
37
- patterns:
38
- - include: source.ruby
39
- - include: $self
40
- comment: Uses lookahead to match classes with the ControllerTest suffix; includes 'source.ruby' to avoid infinite recursion
41
- - name: meta.rails.controller
42
- begin: (^\s*)(?=class\s+(([.a-zA-Z0-9_:]+Controller\b(\s*<\s*[.a-zA-Z0-9_:]+)?)|(<<\s*[.a-zA-Z0-9_:]+)))(?!.+\bend\b)
43
- end: ^\1(?=end)\b
44
- patterns:
45
- - include: source.ruby
46
- - include: $self
47
- comment: Uses lookahead to match classes with the Controller suffix; includes 'source.ruby' to avoid infinite recursion
48
- - name: meta.rails.helper
49
- begin: (^\s*)(?=module\s+((([A-Z]\w*::)*)[A-Z]\w*)Helper)
50
- end: ^\1(?=end)\b
51
- patterns:
52
- - include: source.ruby
53
- - include: $self
54
- comment: Uses lookahead to match modules with the Helper suffix; includes 'source.ruby' to avoid infinite recursion
55
- - name: meta.rails.mailer
56
- begin: (^\s*)(?=class\s+(([.a-zA-Z0-9_:]+(\s*<\s*ActionMailer::Base))))
57
- end: ^\1(?=end)\b
58
- patterns:
59
- - include: source.ruby
60
- - include: $self
61
- comment: Uses lookahead to match classes that inherit from ActionMailer::Base; includes 'source.ruby' to avoid infinite recursion
62
- - name: meta.rails.model
63
- begin: (^\s*)(?=class\s+.+ActiveRecord::Base)
64
- end: ^\1(?=end)\b
65
- patterns:
66
- - include: source.ruby
67
- - include: $self
68
- comment: Uses lookahead to match classes that (may) inherit from ActiveRecord::Base; includes 'source.ruby' to avoid infinite recursion
69
- - name: meta.rails.unit_test
70
- begin: (^\s*)(?=class\s+(?![.a-zA-Z0-9_:]+ControllerTest)(([.a-zA-Z0-9_:]+Test(\s*<\s*[.a-zA-Z0-9_:]+)?)|(<<\s*[.a-zA-Z0-9_:]+)))
71
- end: ^\1(?=end)\b
72
- patterns:
73
- - include: source.ruby
74
- - include: $self
75
- comment: Uses lookahead to match classes with the Test suffix; includes 'source.ruby' to avoid infinite recursion
76
- - name: support.function.actionpack.rails
77
- match: \b(before_filter|skip_before_filter|skip_after_filter|after_filter|around_filter|filter|filter_parameter_logging|layout|require_dependency|render|render_action|render_text|render_file|render_template|render_nothing|render_component|render_without_layout|url_for|redirect_to|redirect_to_path|redirect_to_url|helper|helper_method|model|service|observer|serialize|scaffold|verify|hide_action)\b
78
- - name: support.function.activerecord.rails
79
- match: \b(acts_as_list|acts_as_tree|after_create|after_destroy|after_save|after_update|after_validation|after_validation_on_create|after_validation_on_update|before_create|before_destroy|before_save|before_update|before_validation|before_validation_on_create|before_validation_on_update|composed_of|belongs_to|has_one|has_many|has_and_belongs_to_many|helper|helper_method|validate|validate_on_create|validates_numericality_of|validate_on_update|validates_acceptance_of|validates_associated|validates_confirmation_of|validates_each|validates_format_of|validates_inclusion_of|validates_length_of|validates_presence_of|validates_size_of|validates_uniqueness_of|attr_protected|attr_accessible)\b
80
- - name: support.function.activesupport.rails
81
- match: \b(cattr_accessor|mattr_accessor)\b
82
- - include: source.ruby
83
- foldingStopMarker: "(?x)\n\
84
- \t\t( (^|;) \\s*+ end \\s*+ ([#].*)? $\n\
85
- \t\t| ^ \\s*+ [}\\]] \\s*+ ([#].*)? $\n\
86
- \t\t| [#] .*? \\(end\\) \\s*+ $ # Sune\xE2\x80\x99s special marker\n\
87
- \t\t)"
88
- keyEquivalent: ^~R
@@ -1,69 +0,0 @@
1
- ---
2
- name: S5 Slide Show
3
- fileTypes:
4
- - s5
5
- scopeName: source.s5
6
- uuid: 84A2047B-4453-418D-B009-A3D3C60F3D1E
7
- foldingStartMarker: |-
8
- (?x)
9
- (<(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)\b.*?>
10
- |<!--(?!.*-->)
11
- |\{\s*($|\?>\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/)))
12
- )
13
- patterns:
14
- - name: meta.header.s5
15
- captures:
16
- "1":
17
- name: keyword.other.s5
18
- "2":
19
- name: punctuation.separator.key-value.s5
20
- "3":
21
- name: string.unquoted.s5
22
- match: ^([A-Za-z0-9]+)(:)\s*(.*)$\n?
23
- - begin: ^(?![A-Za-z0-9]+:)
24
- end: ^(?=not)possible$
25
- patterns:
26
- - begin: (^_{10}$)
27
- contentName: text.html.markdown.handout.s5
28
- beginCaptures:
29
- "1":
30
- name: meta.separator.handout.s5
31
- end: "(?=^(?:(?:\xE2\x9C\x82-{6})+|^#{10})$)"
32
- patterns:
33
- - include: text.html.markdown
34
- comment: "\n\
35
- \t\t\t\t\t\tname = 'meta.separator.handout.s5';\n\
36
- \t\t\t\t\t\tmatch = '(^_{10}$)';\n\
37
- \t\t\t\t\t"
38
- - begin: (^#{10}$)
39
- contentName: text.html.markdown.notes.s5
40
- beginCaptures:
41
- "1":
42
- name: meta.separator.notes.s5
43
- end: "(?=^(?:(?:\xE2\x9C\x82-{6})+|_{10})$)"
44
- patterns:
45
- - include: text.html.markdown
46
- comment: "\n\
47
- \t\t\t\t\t\tname = 'meta.separator.notes.s5';\n\
48
- \t\t\t\t\t\tmatch = '(^#{10}$)';\n\
49
- \t\t\t\t\t"
50
- - begin: "^((\xE2\x9C\x82-{6})+$\\n)"
51
- contentName: text.html.markdown.slide.s5
52
- beginCaptures:
53
- "1":
54
- name: meta.separator.slide.s5
55
- end: "(?=^(?:(?:\xE2\x9C\x82-{6})+|_{10}|#{10})$)"
56
- patterns:
57
- - include: text.html.markdown
58
- comment: "\n\
59
- \t\t\t\t\t\tname = 'meta.separator.slide.s5';\n\
60
- \t\t\t\t\t\tmatch = '^((\xE2\x9C\x82-{6})+$\\n)';\n\
61
- \t\t\t\t\t"
62
- - include: text.html.markdown
63
- foldingStopMarker: |-
64
- (?x)
65
- (</(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)>
66
- |^\s*-->
67
- |(^|\s)\}
68
- )
69
- keyEquivalent: ^~S
@@ -1,347 +0,0 @@
1
- ---
2
- name: Scheme
3
- fileTypes:
4
- - scm
5
- - sch
6
- scopeName: source.scheme
7
- repository:
8
- illegal:
9
- name: invalid.illegal.parenthesis.scheme
10
- match: "[()]"
11
- quote-sexp:
12
- begin: (?<=\()\s*(quote)\b\s*
13
- contentName: string.other.quote.scheme
14
- beginCaptures:
15
- "1":
16
- name: keyword.control.quote.scheme
17
- end: (?=[\s)])|(?<=\n)
18
- patterns:
19
- - include: "#quoted"
20
- comment: "\n\
21
- \t\t\t\tSomething quoted with (quote \xC2\xABthing\xC2\xBB). In this case \xC2\xABthing\xC2\xBB\n\
22
- \t\t\t\twill not be evaluated, so we are considering it a string.\n\
23
- \t\t\t"
24
- quote:
25
- patterns:
26
- - name: constant.other.symbol.scheme
27
- captures:
28
- "1":
29
- name: punctuation.section.quoted.symbol.scheme
30
- match: "(?x)\n\
31
- \t\t\t\t\t\t(')\\s*\n\
32
- \t\t\t\t\t\t([[:alnum:]][[:alnum:]!$%&*+-./:<=>?@^_~]*)\n\
33
- \t\t\t\t\t"
34
- - name: constant.other.empty-list.schem
35
- captures:
36
- "1":
37
- name: punctuation.section.quoted.empty-list.scheme
38
- "2":
39
- name: meta.expression.scheme
40
- "3":
41
- name: punctuation.section.expression.begin.scheme
42
- "4":
43
- name: punctuation.section.expression.end.scheme
44
- match: "(?x)\n\
45
- \t\t\t\t\t\t(')\\s*\n\
46
- \t\t\t\t\t\t((\\()\\s*(\\)))\n\
47
- \t\t\t\t\t"
48
- - name: string.other.quoted-object.scheme
49
- begin: (')\s*
50
- beginCaptures:
51
- "1":
52
- name: punctuation.section.quoted.scheme
53
- end: (?=[\s()])|(?<=\n)
54
- patterns:
55
- - include: "#quoted"
56
- comment: quoted double-quoted string or s-expression
57
- comment: "\n\
58
- \t\t\t\tWe need to be able to quote any kind of item, which creates\n\
59
- \t\t\t\ta tiny bit of complexity in our grammar. It is hopefully\n\
60
- \t\t\t\tnot overwhelming complexity.\n\
61
- \t\t\t\t\n\
62
- \t\t\t\tNote: the first two matches are special cases. quoted\n\
63
- \t\t\t\tsymbols, and quoted empty lists are considered constant.other\n\
64
- \t\t\t\t\n\
65
- \t\t\t"
66
- language-functions:
67
- patterns:
68
- - name: keyword.control.scheme
69
- match: |-
70
- (?x)
71
- (?<=(\s|\()) # preceded by space or (
72
- ( do|or|and|else|quasiquote|begin|if|case|set!|
73
- cond|let|unquote|define|let\*|unquote-splicing|delay|
74
- letrec)
75
- (?=(\s|\())
76
- - name: support.function.boolean-test.scheme
77
- match: "(?x)\n\
78
- \t\t\t\t\t\t(?<=(\\s|\\()) # preceded by space or (\n\
79
- \t\t\t\t\t\t( char-alphabetic|char-lower-case|char-numeric|\n\
80
- \t\t\t\t\t\t char-ready|char-upper-case|char-whitespace|\n\
81
- \t\t\t\t\t\t (?:char|string)(?:-ci)?(?:=|<=?|>=?)|\n\
82
- \t\t\t\t\t\t atom|boolean|bound-identifier=|char|complex|\n\
83
- \t\t\t\t\t\t identifier|integer|symbol|free-identifier=|inexact|\n\
84
- \t\t\t\t\t\t eof-object|exact|list|(?:input|output)-port|pair|\n\
85
- \t\t\t\t\t\t real|rational|zero|vector|negative|odd|null|string|\n\
86
- \t\t\t\t\t\t eq|equal|eqv|even|number|positive|procedure\n\
87
- \t\t\t\t\t\t)\n\
88
- \t\t\t\t\t\t(\\?)\t\t# name ends with ? sign\n\
89
- \t\t\t\t\t\t(?=(\\s|\\()) # followed by space or (\n\
90
- \t\t\t\t\t"
91
- comment: "\n\
92
- \t\t\t\t\t\tThese functions run a test, and return a boolean\n\
93
- \t\t\t\t\t\tanswer.\n\
94
- \t\t\t\t\t"
95
- - name: support.function.convert-type.scheme
96
- match: "(?x)\n\
97
- \t\t\t\t\t\t(?<=(\\s|\\()) # preceded by space or (\n\
98
- \t\t\t\t\t\t( char->integer|exact->inexact|inexact->exact|\n\
99
- \t\t\t\t\t\t integer->char|symbol->string|list->vector|\n\
100
- \t\t\t\t\t\t list->string|identifier->symbol|vector->list|\n\
101
- \t\t\t\t\t\t string->list|string->number|string->symbol|\n\
102
- \t\t\t\t\t\t number->string\n\
103
- \t\t\t\t\t\t)\n\
104
- \t\t\t\t\t\t(?=(\\s|\\()) # followed by space or (\t\t\t\t\t\n\
105
- \t\t\t\t\t"
106
- comment: "\n\
107
- \t\t\t\t\t\tThese functions change one type into another.\n\
108
- \t\t\t\t\t"
109
- - name: support.function.with-side-effects.scheme
110
- match: "(?x)\n\
111
- \t\t\t\t\t\t(?<=(\\s|\\()) # preceded by space or (\n\
112
- \t\t\t\t\t\t( set-(?:car|cdr)|\t\t\t\t # set car/cdr\n\
113
- \t\t\t\t\t\t (?:vector|string)-(?:fill|set) # fill/set string/vector\n\
114
- \t\t\t\t\t\t)\n\
115
- \t\t\t\t\t\t(!)\t\t\t# name ends with ! sign\n\
116
- \t\t\t\t\t\t(?=(\\s|\\()) # followed by space or (\n\
117
- \t\t\t\t\t"
118
- comment: "\n\
119
- \t\t\t\t\t\tThese functions are potentially dangerous because\n\
120
- \t\t\t\t\t\tthey have side-effects which could affect other\n\
121
- \t\t\t\t\t\tparts of the program.\n\
122
- \t\t\t\t\t"
123
- - name: support.function.arithmetic-operators.scheme
124
- match: "(?x)\n\
125
- \t\t\t\t\t\t(?<=(\\s|\\()) # preceded by space or (\n\
126
- \t\t\t\t\t\t( >=?|<=?|=|[*/+-])\n\
127
- \t\t\t\t\t\t(?=(\\s|\\()) # followed by space or (\n\
128
- \t\t\t\t\t\t"
129
- comment: "\n\
130
- \t\t\t\t\t\t+, -, *, /, =, >, etc. \n\
131
- \t\t\t\t\t"
132
- - name: support.function.general.scheme
133
- match: "(?x)\n\
134
- \t\t\t\t\t\t(?<=(\\s|\\()) # preceded by space or (\n\
135
- \t\t\t\t\t\t( append|apply|approximate|\n\
136
- \t\t\t\t\t\t call-with-current-continuation|call/cc|catch|\n\
137
- \t\t\t\t\t\t construct-identifier|define-syntax|display|foo|\n\
138
- \t\t\t\t\t\t for-each|force|cd|gen-counter|gen-loser|\n\
139
- \t\t\t\t\t\t generate-identifier|last-pair|length|let-syntax|\n\
140
- \t\t\t\t\t\t letrec-syntax|list|list-ref|list-tail|load|log|\n\
141
- \t\t\t\t\t\t macro|magnitude|map|map-streams|max|member|memq|\n\
142
- \t\t\t\t\t\t memv|min|newline|nil|not|peek-char|rationalize|\n\
143
- \t\t\t\t\t\t read|read-char|return|reverse|sequence|substring|\n\
144
- \t\t\t\t\t\t syntax|syntax-rules|transcript-off|transcript-on|\n\
145
- \t\t\t\t\t\t truncate|unwrap-syntax|values-list|write|write-char|\n\
146
- \t\t\t\t\t\t \n\
147
- \t\t\t\t\t\t # cons, car, cdr, etc\n\
148
- \t\t\t\t\t\t cons|c(a|d){1,4}r| \n \n\
149
- \t\t\t\t\t\t # unary math operators\n\
150
- \t\t\t\t\t\t abs|acos|angle|asin|assoc|assq|assv|atan|ceiling|\n\
151
- \t\t\t\t\t\t cos|floor|round|sin|sqrt|tan|\n\
152
- \t\t\t\t\t\t (?:real|imag)-part|numerator|denominator\n \n\
153
- \t\t\t\t\t\t # other math operators\n\
154
- \t\t\t\t\t\t modulo|exp|expt|remainder|quotient|lcm|\n \n\
155
- \t\t\t\t\t\t # ports / files\n\
156
- \t\t\t\t\t\t call-with-(?:input|output)-file|\n\
157
- \t\t\t\t\t\t (?:close|current)-(?:input|output)-port|\n\
158
- \t\t\t\t\t\t with-(?:input|output)-from-file|\n\
159
- \t\t\t\t\t\t open-(?:input|output)-file|\n\
160
- \t\t\t\t\t\t \n\
161
- \t\t\t\t\t\t # char-\xC2\xABfoo\xC2\xBB\n\
162
- \t\t\t\t\t\t char-(?:downcase|upcase|ready)|\n\
163
- \t\t\t\t\t\t \n\
164
- \t\t\t\t\t\t # make-\xC2\xABfoo\xC2\xBB\n\
165
- \t\t\t\t\t\t make-(?:polar|promise|rectangular|string|vector)\n\
166
- \t\t\t\t\t\t \n\
167
- \t\t\t\t\t\t # string-\xC2\xABfoo\xC2\xBB, vector-\xC2\xABfoo\xC2\xBB\n\
168
- \t\t\t\t\t\t string(?:-(?:append|copy|length|ref))?|\n\
169
- \t\t\t\t\t\t vector(?:-length|-ref)\n\
170
- \t\t\t\t\t\t)\n\
171
- \t\t\t\t\t\t(?=(\\s|\\()) # followed by space or (\n\
172
- \t\t\t\t\t"
173
- quoted:
174
- patterns:
175
- - include: "#string"
176
- - name: meta.expression.scheme
177
- endCaptures:
178
- "1":
179
- name: punctuation.section.expression.end.scheme
180
- begin: (\()
181
- beginCaptures:
182
- "1":
183
- name: punctuation.section.expression.begin.scheme
184
- end: (\))
185
- patterns:
186
- - include: "#quoted"
187
- - include: "#quote"
188
- - include: "#illegal"
189
- constants:
190
- patterns:
191
- - name: constant.language.boolean.scheme
192
- match: "#[t|f]"
193
- - name: constant.numeric.scheme
194
- match: (?<=[\(\s])(#e|#i)?[0-9][0-9.]*
195
- - name: constant.numeric.scheme
196
- match: (?<=[\(\s])(#x)[0-9a-fA-F]+
197
- - name: constant.numeric.scheme
198
- match: (?<=[\(\s])(#o)[0-7]+
199
- - name: constant.numeric.scheme
200
- match: (?<=[\(\s])(#b)[01]+
201
- comment:
202
- name: comment.line.semicolon.scheme
203
- captures:
204
- "1":
205
- name: punctuation.definition.comment.semicolon.scheme
206
- match: (;).*$\n?
207
- string:
208
- name: string.quoted.double.scheme
209
- endCaptures:
210
- "1":
211
- name: punctuation.definition.string.end.scheme
212
- begin: (")
213
- beginCaptures:
214
- "1":
215
- name: punctuation.definition.string.begin.scheme
216
- end: (")
217
- patterns:
218
- - name: constant.character.escape.scheme
219
- match: \\.
220
- sexp:
221
- name: meta.expression.scheme
222
- endCaptures:
223
- "1":
224
- name: punctuation.section.expression.end.scheme
225
- "2":
226
- name: meta.after-expression.scheme
227
- begin: (\()
228
- beginCaptures:
229
- "1":
230
- name: punctuation.section.expression.begin.scheme
231
- end: (\))(\n)?
232
- patterns:
233
- - include: "#comment"
234
- - name: meta.declaration.procedure.scheme
235
- captures:
236
- "1":
237
- name: keyword.control.scheme
238
- "2":
239
- name: entity.name.function.scheme
240
- "3":
241
- name: variable.parameter.function.scheme
242
- begin: "(?x)\n\
243
- \t\t\t\t\t\t(?<=\\() # preceded by (\n\
244
- \t\t\t\t\t\t(define)\\s+ # define\n\
245
- \t\t\t\t\t\t\\( # list of parameters\n\
246
- \t\t\t\t\t\t ([[:alnum:]][[:alnum:]!$%&*+-./:<=>?@^_~]*)\n\
247
- \t\t\t\t\t\t ((\\s+\n\
248
- \t\t\t\t\t\t ([[:alnum:]][[:alnum:]!$%&*+-./:<=>?@^_~]*|[._])\n\
249
- \t\t\t\t\t\t )*\n\
250
- \t\t\t\t\t\t )\\s*\n\
251
- \t\t\t\t\t\t\\)\n\
252
- \t\t\t\t\t"
253
- end: (?=\))
254
- patterns:
255
- - include: "#comment"
256
- - include: "#sexp"
257
- - include: "#illegal"
258
- - name: meta.declaration.procedure.scheme
259
- captures:
260
- "1":
261
- name: keyword.control.scheme
262
- "2":
263
- name: variable.parameter.scheme
264
- begin: "(?x)\n\
265
- \t\t\t\t\t\t(?<=\\() # preceded by (\n\
266
- \t\t\t\t\t\t(lambda)\\s+\n\
267
- \t\t\t\t\t\t(\\() # opening paren\n\
268
- \t\t\t\t\t\t((?:\n\
269
- \t\t\t\t\t\t ([[:alnum:]][[:alnum:]!$%&*+-./:<=>?@^_~]*|[._])\n\
270
- \t\t\t\t\t\t \\s*\n\
271
- \t\t\t\t\t\t)*)\n\
272
- \t\t\t\t\t\t(\\)) # closing paren\n\
273
- \t\t\t\t\t"
274
- end: (?=\))
275
- patterns:
276
- - include: "#comment"
277
- - include: "#sexp"
278
- - include: "#illegal"
279
- comment: "\n\
280
- \t\t\t\t\t\tNot sure this one is quite correct. That \\s* is\n\
281
- \t\t\t\t\t\tparticularly troubling\n\
282
- \t\t\t\t\t"
283
- - name: meta.declaration.variable.scheme
284
- captures:
285
- "1":
286
- name: keyword.control.scheme
287
- "2":
288
- name: variable.other.scheme
289
- begin: (?<=\()(define)\s([[:alnum:]][[:alnum:]!$%&*+-./:<=>?@^_~]*)\s*.*?
290
- end: (?=\))
291
- patterns:
292
- - include: "#comment"
293
- - include: "#sexp"
294
- - include: "#illegal"
295
- - include: "#quote-sexp"
296
- - include: "#quote"
297
- - include: "#language-functions"
298
- - include: "#string"
299
- - include: "#constants"
300
- - name: constant.character.named.scheme
301
- match: (?<=[\(\s])(#\\)(space|newline|tab)(?=[\s\)])
302
- - name: constant.character.hex-literal.scheme
303
- match: (?<=[\(\s])(#\\)x[0-9A-F]{2,4}(?=[\s\)])
304
- - name: constant.character.escape.scheme
305
- match: (?<=[\(\s])(#\\).(?=[\s\)])
306
- - name: punctuation.separator.cons.scheme
307
- match: (?<=[ ()])\.(?=[ ()])
308
- comment: "\n\
309
- \t\t\t\t\t\tthe . in (a . b) which conses together two elements\n\
310
- \t\t\t\t\t\ta and b. (a b c) == (a . (b . (c . nil)))\n\
311
- \t\t\t\t\t"
312
- - include: "#sexp"
313
- - include: "#illegal"
314
- uuid: 3EC2CFD0-909C-4692-AC29-1A60ADBC161E
315
- foldingStartMarker: |-
316
- (?x)^ [ \t]* \(
317
- (?<par>
318
- ( [^()\n]++ | \( \g<par> \)? )*+
319
- )
320
- $
321
- patterns:
322
- - include: "#comment"
323
- - include: "#sexp"
324
- - include: "#string"
325
- - include: "#language-functions"
326
- - include: "#quote"
327
- - include: "#illegal"
328
- foldingStopMarker: |-
329
- (?x)^ [ \t]*
330
- (?<par>
331
- ( [^()\n]++ | \( \g<par> \) )*+
332
- )
333
- ( \) [ \t]*+ ) ++
334
- $
335
- keyEquivalent: ^~S
336
- comment: "\n\
337
- \t\tThe foldings do not currently work the way I want them to. This\n\
338
- \t\tmay be a limitation of the way they are applied rather than the\n\
339
- \t\tregexps in use. Nonetheless, the foldings will end on the last\n\
340
- \t\tidentically indented blank line following an s-expression. Not\n\
341
- \t\tideal perhaps, but it works. Also, the #illegal pattern never\n\
342
- \t\tmatches an unpaired ( as being illegal. Why?! -- Rob Rix\n\
343
- \t\t\n\
344
- \t\tOk, hopefully this grammar works better on quoted stuff now. It\n\
345
- \t\tmay break for fancy macros, but should generally work pretty\n\
346
- \t\tsmoothly. -- Jacob Rus\n\
347
- \t"