'*******************************************************************************
' EverEdit Syntax File
' Language:    Ruby
' Maintainer:  Morler 
' History:
'   2012/06/26 Created
'*******************************************************************************
Include( ".\const.mac" )

Set ruby=CreateParser()

'comment
Set rLineComment=ruby.CreateRegion( COLOR_COMMENT1, "+#+", "$", True )
Set rBlockComment=ruby.CreateRegion( COLOR_COMMENT1, "+=begin+", "+=end+", True )
ruby.AddRegion( rLineComment )
ruby.AddRegion( rBlockComment )

'string
ruby.AddRegion(ruby.CreateStringRegion( COLOR_STRING2, """", "\", True ))
ruby.AddRegion(ruby.CreateStringRegion( COLOR_STRING1, "'", "\", True ))

'number
ruby.AddItem( ruby.CreateItem(COLOR_NUMBER, "\b\d+\b", False) )

'integer arithmetic
ruby.AddItem( ruby.CreateItem(COLOR_WORD1, "\+|\-|\*|\/|\%|\<|\>|\!|\:|\&|\||\^|\~|\!|\$|\=|\'|\(|\)|{|\}|\[|\]|\.|\,|\;", False ) )

'Reserved words
ruby.AddWord( ruby.CreateWord(COLOR_WORD1, "BEGIN END __ENCODING__ __END__ __FILE__ __LINE__ alias and begin break case class def defined? do else elsif end ensure false for if in module next nil not or redo rescue retry return self super then true undef unless until when while yield", True, "?" ) )

'Classes
ruby.AddWord( ruby.CreateWord(COLOR_WORD2, "ARGF ArgumentError Array BasicObject Bignum Binding Class Comparable Complex Continuation Data Dir EOFError Encoding Converter ConverterNotFoundError InvalidByteSequenceError UndefinedConversionError EncodingError Enumerable Enumerator Generator Yielder Errno Exception FalseClass Fiber FiberError File Constants Stat FileTest Fixnum Float FloatDomainError GC Profiler Hash IO WaitReadable WaitWritable IOError IndexError Integer Interrupt Kernel KeyError LoadError LocalJumpError Marshal MatchData Math DomainError Method Module Mutex NameError message NilClass NoMemoryError NoMethodError NotImplementedError Numeric Object ObjectSpace Proc Process GID Status Sys UID Random Range RangeError Rational Regexp RegexpError RubyVM Env RuntimeError ScriptError SecurityError Signal SignalException StandardError StopIteration String Struct Symbol SyntaxError SystemCallError SystemExit SystemStackError Thread ThreadError ThreadGroup Time TrueClass TypeError UnboundMethod ZeroDivisionError fatal AbstractAdapter AbstractController AbstractStore AcceptanceValidator ActionCachePath ActionController ActionDispatch ActionMailer ActionMethods ActionMiddleware ActionNotFound ActionView Actions ActiveModel ActiveModelFormBuilder ActiveModelHelper ActiveModelInstanceTag ActiveRecord ActiveRecordError ActiveResource ActiveSupport AdapterNotFound AdapterNotSpecified Aggregations All Annotation AppBuilder AppGenerator Application ApplicationController ApplicationHelper Assertions AssetPaths AssetTagHelper AssociatedValidator AssociationPreload AssociationTypeMismatch Associations AtomBuilder AtomFeedBuilder AtomFeedHelper AttributeAssignmentError AttributeMethodMatcher AttributeMethods Autoload AutosaveAssociation Backends BacktraceCleaner BadRequest Base Base64 Basic BeforeTypeCast Behavior Benchmark Benchmarkable Benchmarker BestStandardsSupport BigDecimal BlackList BlockValidator Bootstrap BrowsingTest BufferedLogger Builder Cache CacheHelper Caching Calculations Callback CallbackChain Callbacks CaptureHelper Chars CircularReferenceError ClassMethods ClientError Codepoint Collection Collector Column Commands Compatibility Compilable CompressedMemCacheStore Concern ConditionalGet ConfigMethods Configurable Configuration ConfigurationError ConfirmationValidator Connection ConnectionAdapters ConnectionHandler ConnectionManagement ConnectionNotEstablished ConnectionPool ConnectionTimeoutError Console Context ControllerGenerator ControllerMethods ControllerRuntime Conversion CookieOverflow CookieStore Cookies CounterCache CpuTime CsrfHelper CustomMethods DBConsole DangerousAttributeError DatabaseLimits DatabaseStatements Date DateHelper DateTime DebugHelper Debugger Declarative Dependencies Deprecated DeprecatedConstant DeprecatedErrorMethods DeprecatedHeaderProxy DeprecatedHelpers DeprecatedUrlOptions Deprecation DescendantsTracker Details Digest Dirty Dispatcher DomAssertions DoubleRenderError Duration DynamicFinderMatch DynamicScopeMatch ERB EachValidator Encoder Engine Entry Error Errors Erubis Event ExceptionHandler ExclusionValidator Fanout FileStore FileSystemResolver FileUpdateChecker FilterParameters FinderMethods Finisher FixtureResolver Fixtures FixturesFileNotFound Flash FlashHash ForClassicTestUnit ForMiniTest ForbiddenAccess Forking FormBuilder FormHelper FormOptionsHelper FormTagHelper Format FormatValidator Formats Fragments FullSanitizer GcRuns GcTime GeneratedAttribute GeneratorGenerator GeneratorMethods Generators Gzip HTML Handler Handlers HasOneThroughAssociation HashBuilder HashWithIndifferentAccess Head Headers HelperGenerator HelperMethods Helpers HideActions Http HttpAuthentication HttpHelpers HttpMock I18n ImplicitRender InclusionValidator Inflections Inflector Info InfoController InheritableOptions Initializable Initializer Install InstanceMethods InstanceTag InstanceTagMethods Instrumentation Instrumenter Integration IntegrationGenerator IntegrationTest IntegrationTestGenerator InvalidForeignKey InvalidMessage InvalidNumberError InvalidRequestError InvalidSignature IpSpoofAttackError IrreversibleMigration Isolation JSON JSONGem JavaScriptGenerator JavaScriptHelper JsonFormat LayoutConditions Layouts LengthValidator LinkSanitizer Lint LocalCache LocalStore Locals Locking LogSubscriber LogTailer Logger LookupContext MacroReflection MailerGenerator Mapper MassAssignmentSecurity MemCacheStore Memoizable Memory MemoryStore MessageEncryptor MessageVerifier Metal Metrics Middleware MiddlewareStack Migration MigrationGenerator MigrationProxy Mime MimeNegotiation MimeResponds Mimes MiniTest MissingAttributeError MissingSourceFile MockLogger ModelGenerator Multibyte MultiparameterAssignmentErrors MysqlAdapter Name NamedBase NamedScope Naming NestedAttributes NonConcattingString Notifications NullResolver NumberHelper NumericalityValidator Objects Observer ObserverGenerator Observing Optimistic Options OptionsHash OrderedOptions OutputBuffer Pages ParameterFilter Parameters ParamsParser PartialRenderer Partials Path PathParent PathResolver Paths Pending Performance PerformanceGenerator PerformanceTest PerformanceTestGenerator Performer PermissionSet Persistence Pessimistic Plugin PluginGenerator PolymorphicRoutes PostgreSQLAdapter PostgreSQLColumn PredicateBuilder PreparedStatementInvalid PresenceValidator PrimaryKey ProcessTime PrototypeHelper ProxyTestResult Query QueryCache QueryMethods Quoting RJS Rack RackDelegation Rails RailsEnvironment Railtie Railties RaiseActionExceptions RawOutputHelper Read ReadOnlyRecord RecordIdentifier RecordInvalid RecordNotFound RecordNotSaved RecordNotUnique RecordTagHelper RecursiveHTTPFetcher Redirecting Reference Reflection Relation RemoteError RemoteIp RemoteIpGetter Remove Renderers Rendering Request RequestForgeryProtection RequestHelpers Rescuable Rescue Resolver ResourceConflict ResourceGenerator ResourceGone ResourceHelpers ResourceNotFound Resources Responder Response ResponseAssertions Rollback Root RouteSet Routing RoutingAssertions Runner SQLiteAdapter SSLError SafeBuffer SanitizeHelper Sanitizer ScaffoldControllerGenerator ScaffoldGenerator Schema SchemaStatements Scoping ScriptRailsLoader ScriptaculousHelper SecureRandom Selector SelectorAssertions Serialization SerializationTypeMismatch Serializers Server ServerError Session SessionHash SessionManagement SessionMigrationGenerator SessionStore Setup SetupAndTeardown Severity Shorthand ShowExceptions SimpleFormatter SourceAnnotationExtractor SpawnMethods SqlBypass StaleObjectError StatementInvalid Static Store Strategy Stream Streaming StringInquirer StylesheetsGenerator Subclasses Subprocess Sweeping SynchronizedMemoryStore Table TableDefinition Tag TagAssertions TagHelper Template TemplateAssertions Test TestCase TestController TestFixtures TestHelper TestProcess TestRequest TestResponse TestUnit TestUnitRailtie Testing Tests TextHelper ThroughAssociationScope ThrowResult TimeWithZone TimeZone TimeZoneConversion TimeoutError Timestamp Token TooManyRecords Transactions Translation TranslationHelper Type URL UnauthorizedAccess Unicode UnicodeDatabase UniquenessValidator Unit UnknownAction UnknownAttributeError Upload UploadedFile UrlFor UrlHelper UrlRewriter UrlWriter Util Validations Validator Variable Version ViewPaths WallTime WatchStack WhiteList WhiteListSanitizer WrappedDatabaseException Write Xml XmlFormat XmlMini XmlMini_LibXMLSAX XmlMini_NokogiriSAX Yajl Yaml", True ) )

'Methods
ruby.AddWord( ruby.CreateWord(COLOR_WORD3, "Array Complex DEBUG DEBUG= Float Integer Rational String __callee__ __id__ __method__ _dump _id2ref _load abort abort_on_exception abort_on_exception= abs abs2 absolute_path acos acosh add add_trace_func alias_method aliases alive? all? all_symbols allocate ancestors angle any? append_features arg args argv arity ascii_compatible? ascii_only? asciicompat_encoding asctime asin asinh assoc at at_exit atan atan2 atanh atime attr_accessor attr_reader attr_writer autoclose= autoclose? autoload autoload? backtrace basename begin between? bind binding binmode binmode? binread blksize block_given? blockdev? blocks bytes bytesize call callcc caller capitalize capitalize! captures casecmp casefold? catch cbrt ceil center change_privilege chardev? chars chdir chmod chomp chomp! chop chop! chown chr chroot chunk class class_eval class_exec class_variable_defined? class_variable_get class_variable_set class_variables clear clone close close_on_exec= close_on_exec? close_read close_write closed? codepoints coerce collect collect! collect_concat combination compact compact! compare_by_identity compare_by_identity? compatible? compile concat conj conjugate const_defined? const_get const_missing const_set constants convert convpath copy_stream coredump? cos cosh count count_objects cover? crypt ctime current curry cycle daemon day default default= default_external default_external= default_internal default_internal= default_proc default_proc= define_finalizer define_method define_singleton_method delete delete! delete_at delete_if denominator destination_encoding destination_encoding_name detach detect dev dev_major dev_minor directory? dirname disable display div divmod downcase downcase! downto drop drop_while dst? dummy? dump dup each each_byte each_char each_codepoint each_cons each_entry each_index each_key each_line each_object each_pair each_slice each_value each_with_index each_with_object egid egid= eid empty? enable enabled? enclose enclosed? encode encode! encoding end_with? entries enum_for eof eof? eql? erf erfc errno error_bytes error_char escape euid euid= eval even? exception exclude_end? exclusive exec executable? executable_real? exist? exists? exit exit! exit_value exited? exitstatus exp expand_path extend extend_object extended external_encoding extname fail fcntl fdatasync fdiv feed fetch file file? filename fileno fill find find_all find_index finish finite? first fixed_encoding? flat_map flatten flatten! flock floor flush fnmatch fnmatch? for_fd force_encoding foreach fork format freeze frexp friday? frozen? fsync ftype gamma garbage_collect gcd gcdlcm getbyte getc getegid geteuid getgid getgm getlocal getpgid getpgrp getpriority getrlimit gets getuid getutc getwd gid gid= glob global_variables gm gmt? gmt_offset gmtime gmtoff grant_privilege grep group group_by groups groups= grpowned? gsub gsub! has_key? has_value? hash hex home hour hypot i id2name identical? imag imaginary include include? included included_modules incomplete_input? index infinite? inherited initgroups initialize_copy inject ino inplace_mode inplace_mode= insert insert_output inspect instance_method instance_methods instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables integer? intern internal_encoding invert ioctl is_a? isatty isdst issetugid iterator? join keep_if key key? keys kill kind_of? lambda lambda? last last_error last_match lchmod lchown lcm ldexp length lgamma lineno lineno= lines link list ljust load local local_variables locale_charmap localtime lock locked? log log10 log2 loop lstat lstrip lstrip! magnitude main malloc_allocated_size malloc_allocations map map! marshal_dump marshal_load match max max_by maxgroups maxgroups= mday member? members merge merge! message method method_added method_defined? method_removed method_undefined min min_by minmax minmax_by mkdir mktime mode module_eval module_exec module_function modulo mon monday? month mtime name name_list named_captures names nan? nesting new new_seed next next! next_values nil? nlink none? nonzero? now nsec numerator object_id oct odd? offset one? open options ord owned? owner p pack parameters partition pass path peek peek_values permutation phase pid pipe pipe? polar pop popen pos pos= post_match ppid pre_match pred primitive_convert primitive_errinfo print printf priority priority= private private_class_method private_instance_methods private_method_defined? proc product protected protected_instance_methods protected_method_defined? public public_class_method public_instance_method public_instance_methods public_method public_method_defined? public_send push putback putc puts pwd quo quote raise rand rassoc rationalize rdev rdev_major rdev_minor re_exchange re_exchangeable? read read_nonblock readable? readable_real? readagain_bytes readbyte readchar readline readlines readlink readpartial real real? realdirpath realpath reason receiver rect rectangular reduce regexp rehash reject reject! remainder remove_class_variable remove_const remove_instance_variable remove_method rename reopen repeated_combination repeated_permutation replace replacement replacement= replicate report require respond_to? respond_to_missing? restore result resume reverse reverse! reverse_each rewind rid rindex rjust rmdir rotate rotate! round rpartition rstrip rstrip! run safe_level sample saturday? scan search_convpath sec seed seek select select! send set_backtrace set_encoding set_trace_func setbyte setegid seteuid setgid setgid? setpgid setpgrp setpriority setregid setresgid setresuid setreuid setrgid setrlimit setruid setsid setuid setuid? shift shuffle shuffle! sid_available? signaled? signo sin singleton_class singleton_method_added singleton_methods sinh size size? skip sleep slice slice! slice_before socket? sort sort! sort_by sort_by! source source_encoding source_encoding_name source_location spawn split sprintf sqrt squeeze squeeze! srand start start_with? stat status step sticky? stop stop? stopped? stopsig store stress stress= strftime strip strip! sub sub! subsec succ succ! success? sum sunday? superclass swapcase swapcase! switch symlink symlink? sync sync= synchronize syscall sysopen sysread sysseek system syswrite taint tainted? take take_while tan tanh tap tell terminate termsig test throw thursday? times to_a to_ary to_c to_enum to_f to_hash to_i to_int to_io to_path to_proc to_r to_s to_str to_sym total_time tr tr! tr_s tr_s! trace_var transfer transpose trap truncate trust try_convert try_lock tty? tuesday? tv_nsec tv_sec tv_usec uid uid= umask unbind undef_method undefine_finalizer ungetbyte ungetc union uniq uniq! unlink unlock unpack unshift untaint untrace_var untrust untrusted? upcase upcase! update upto usec utc utc? utc_offset utime valid_encoding? value value? values values_at wait wait2 waitall waitpid waitpid2 wakeup warn wday wednesday? with_index with_object world_readable? world_writable? writable? writable_real? write write_nonblock yday year yield zero? zip zone GET POST __replay__ _all_autoload_paths _all_load_paths _compile_per_key_options _dasherize _dump_without_utc_flag _dump_without_zone _handle_method_missing _implied_layout_name _insert_callbacks _load_without_utc_flag _load_without_zone _normalize_callback_options _normalize_options _original_to_s _parse_file _prefix _read_attribute _render_partial _routes _run_class_setup _save_fragment _set_detail _update_filter _write_layout_method _write_render_options abstract! abstract_class? abstract_railtie? accept accepts accepts_nested_attributes_for accessible_attributes action action_has_layout? action_methods action_options? action_path active active? active_authorizer acts_like? acts_like_date? acts_like_string? acts_like_time? adapter_name add_column add_column_position! add_error add_expr_escaped add_expr_literal add_filter add_index add_limit_offset! add_observer add_observer! add_on_blank add_on_empty add_postamble add_preamble add_renderer add_resource_route add_routes add_shebang_option! add_silencer add_source add_stmt add_text add_timestamps add_to_base add_to_transaction add_transaction_record add_whiner advance after after_commit after_dispatch after_initialize after_rollback after_validation aggregate_mapping ago alert alias_attribute alias_method_chain all all_paths announce anonymous? api_behavior api_location app app_const app_const_base app_generators app_middleware app_name app_secret append append_if_string append_info_to_payload append_view_path application application_name apply_common_behavior_for apply_finder_options apply_join_dependency apply_rails_template arel arel_engine arel_table arguments array_or_string_for_javascript as_json assert_blank assert_class_method assert_difference assert_directory assert_dom_equal assert_dom_not_equal assert_field_default_value assert_field_type assert_file assert_generates assert_index assert_instance_method assert_method assert_migration assert_no_difference assert_no_directory assert_no_file assert_no_migration assert_no_tag assert_present assert_recognizes assert_redirected_to assert_response assert_routing assert_select assert_select_email assert_select_encoded assert_select_rjs assert_tag assert_template assert_valid_keys assign assign_shortcuts assigns assume_migrated_upto_version at_beginning_of_day at_beginning_of_month at_beginning_of_quarter at_beginning_of_week at_beginning_of_year at_end_of_month at_end_of_quarter at_end_of_week at_end_of_year at_midnight atom_feed atomic_write attach_to attachments attr_accessible attr_accessor_with_default attr_internal attr_internal_accessor attr_internal_reader attr_internal_writer attr_protected attr_readonly attribute_for_inspect attribute_match attribute_method? attribute_method_affix attribute_method_prefix attribute_method_suffix attribute_methods_generated? attribute_names attribute_present? attributes attributes_before_type_cast attributes_protected_by_default audio_path audio_tag auth_type authenticate authenticate_or_request_with_http_basic authenticate_or_request_with_http_digest authenticate_or_request_with_http_token authenticate_with_http_basic authenticate_with_http_digest authenticate_with_http_token authentication_header authentication_request authorization auto_discovery_link_tag auto_flush auto_flushing auto_link autoload_at autoload_once autoload_once_paths autoload_paths autoload_under autoloads available_views average backend backtrace_cleaner bang? banner base64 base_class base_name base_root becomes before before_configuration before_dispatch before_eager_load before_filters before_initialize before_validation begin_db_transaction beginning_of_day beginning_of_month beginning_of_quarter beginning_of_week beginning_of_year behavior belongs_to benchmark best_install_method binary_content binary_to_string blank? body body_parts breakpoint buffer build build_arel build_callbacks build_conditions build_from_hash build_mem_cache build_middleware_stack build_sti_condition build_through_conditions builder builtin_controller bundle_if_dev_or_edge button_to button_to_function byte cache cache_attribute? cache_attributes cache_fixtures cache_for_connection cache_key cache_page cache_store cached_attributes cached_fixtures caches_action caches_page caching_allowed? calculate callback camelcase camelize canonical_action? capify! capture case_sensitive_equality_operator cattr_accessor cattr_reader cattr_writer cdata_block cdata_section change change_column change_column_default change_column_null change_default change_table changed changed? changed_attributes changed_for_autosave? changes characters charset check_box check_box_checked? check_box_tag check_class_collision check_validity! checkin checkout civil_from_format class_attribute class_name class_of_active_record_descendant classify clean cleanup cleanup_view_runtime clear! clear_action_methods! clear_active_connections! clear_all_connections! clear_buffer clear_cache clear_helpers clear_query_cache clear_reloadable_connections! clear_respond_to clear_stale_cached_connections! clear_transaction_record_state client_error? client_min_messages clone_attribute_value clone_attributes code collation collection collection_path collection_select collection_with_template collection_without_template color colorize_logging column column_aliases column_exists? column_for_attribute column_name_length column_names columns columns_hash columns_per_multicolumn_index columns_per_table commit_db_transaction commit_transaction_records comparable_time compare_with_coercion compare_without_coercion compose compose_codepoints composed_of compress compressed? compute_type conditions config config_accessor configru configuration configurations configure connected? connection connection_handler connection_pool consider_all_requests_local? console constantize constraints construct_conditions construct_from construct_join_attributes construct_join_dependency_for_association_find construct_joins construct_limited_ids_condition construct_owner_attributes construct_quoted_owner_attributes construct_relation_for_association_calculations construct_relation_for_association_find construct_scope construct_select consumes? contains_bad_protocols? content_columns content_for content_for? content_length content_mime_type content_tag content_tag_for content_type controller controller_class controller_class_name controller_class_path controller_constraints controller_file_name controller_file_path controller_i18n_scope controller_name controller_path controller_paths convert_key convert_to_model convert_value cookie_jar cookie_secret cookies copy_stylesheets_file copy_view_files count_by_sql count_observers counter_name create create! create_active_record_files create_app_files create_boot_file create_config_files create_controller_files create_database create_db_files create_doc_files create_fixture_file create_fixtures create_generated_attribute create_generator_files create_helper_files create_lib_files create_log_files create_prototype_files create_public_files create_public_image_files create_public_stylesheets_files create_reflection create_root create_root_files create_root_folder create_savepoint create_script_files create_table create_tasks_files create_test_file create_test_files create_tmp_files create_vendor_files create_with creator? csrf_meta_tag css_select current_cycle current_database current_hash current_page? current_savepoint_name custom_join_sql custom_method_collection_url dasherize data data_column data_column_name data_column_size_limit database_configuration database_configuration_file database_yml date_select datetime_select days days_in_month db debug_protected_attribute_removal debug_rjs debugger decode decode64 decode_credentials decode_credentials_header decompose decompose_codepoints decompress decrement decrement! decrement_counter decrement_open_transactions decrypt decrypt_and_verify deep_merge deep_merge! default_action default_aliases_for_option default_for_option default_format default_inspect default_middleware_stack default_options default_primary_key_type default_render default_scope default_sequence_name default_source_root default_timezone default_url_options default_value_for_option defaults define define_attr_method define_attribute_methods define_callbacks define_method_attribute define_model_callbacks defined_activerecord_methods defined_app_const_base defined_app_const_base? defined_app_name delay delegate delete? delete_all delete_entry delete_existing_fixtures delete_matched delete_sql delete_via_redirect demodulize deny? deprecate deprecate_methods deprecated_method_warning deprecated_url_options desc descendants descends_from_active_record? describe destination destroy destroy_all destroyed? details_for_lookup determine_default_controller_class determine_default_helper_class determine_install_method dev_or_edge? diff direct_descendants dirties_query_cache disable_referential_integrity discard disconnect! dispatch distance_of_time_in_words distance_of_time_in_words_to_now distinct div_for doc dom_class dom_id domain download draggable draggable_element drop_receiving drop_receiving_element drop_table duplicable? each_full eager_autoload eager_autoload! eager_load eager_load! eager_load_paths eager_loading? element_path email_field email_field_tag emitted_hidden_id? empty_directory_with_gitkeep empty_insert_statement_value empty_json_resource empty_resource emulate_booleans enable_warnings encode64 encode64s encode_credentials encode_json encode_with encoding_aware? encrypt encrypt_and_sign end_document end_element end_of_day end_of_month end_of_quarter end_of_week end_of_year engines entry enumerate env env_defaults env_filter environment erb_trim_mode error error? error_message error_wrapping errors escape_bytea escape_javascript escape_once establish_connection etag etag? etag_matches? exabyte exabytes except except! excerpt exclude? exec_script_rails! execute execute_hook execute_if_updated expand_cache_key expand_hash_conditions_for_aggregates expected_response expire_action expire_fragment expire_page expired? expires_at expires_in expires_now extending extension externals extify extract! extract_annotations_from extract_default extract_options! extractable_options? fallback_string_to_date fallback_string_to_time fallbacks fast_string_to_date fast_string_to_time favicon_link_tag fetch_dir field_set_tag field_type fields_for fifth file_field file_field_tag file_path filter filter_by filtered_env filtered_options filtered_parameters filtered_path filtered_query_string find_all_tag find_by_attributes find_by_session_id find_by_sql find_cmd find_first find_in find_last find_layout find_one find_or_instantiator_by_attributes find_root_with_flag find_some find_tag find_template find_tzinfo find_with_associations find_with_ids finder? finish_template fixture_file_upload fixture_is_cached? fixtures flash flush_all! flush_cache flushable_loggers follow_redirect! for_class for_id for_tag foreign_key forgery_whitelisted? forking_env? form_authenticity_param form_authenticity_token form_data? form_for form_tag formats formatted_offset fortnight fortnights forty_two fourth fragment_cache_key fragment_exist? framework_version frameworks freeze! freeze_with_memoizable fresh? fresh_when from from_array from_json from_now from_rails_root from_response from_xml full_messages full_test_name fullpath future? g_length g_pack g_unpack gem gem_for_database gemfile generate generate_message generate_method_for_mime generator generator_dir generator_name generators get? get_via_redirect gigabyte gigabytes git git_url? gitignore grouped_collection_select grouped_options_for_select h ha1 handle_unverified_request handler_for_rescue handles_encoding? has_and_belongs_to_many has_attribute? has_default? has_empty_resource_definition? has_errors? has_flash? has_flash_object? has_flash_with_contents? has_many has_one has_session_object? has_template_object? having head head? headers help helper helper_attr helper_class helper_method helpers helpers_dir hidden_actions hidden_field hidden_field_tag hidden_namespaces hide hide_action hide_namespace hide_namespaces highlight hook_for host host! host_with_port hours html? html_document html_escape html_safe html_safe! html_safe? httpdate https! https? human human_attribute_name human_name humanize i18n_scope id id_constraint id_constraint? id_from_response identify ids_in_list_limit if_modified_since if_none_match image_path image_submit_tag image_tag images in in_char_class? in_clause_length in_groups in_groups_of in_memory_controller_namespaces in_rails_application? in_rails_application_subdirectory? in_time_zone include_fallbacks_module include_with_range? includes increment increment! increment_counter increment_open_transactions index_by index_exists? index_helper index_name_exists? index_name_length indexes indexes_per_table inflections info inheritance_column init_fallbacks init_with initialize! initialize_console initialize_generators initialize_i18n initialize_schema_migrations_table initialize_tasks initialize_template_class initialized initialized? initializer initializers initializers_chain initializers_for insert_after insert_before insert_fixture insert_fixtures insert_html insert_sql install installed? instance instance_method_already_implemented? instance_method_names instance_variable_names instantiate_all_loaded_fixtures instantiate_fixtures instantiate_observers instantiator? instrument instrument_fragment_cache instrumenter internal_methods invalid? invoke ip irregular is_missing? is_utf8? iso8601 j javascript_include_tag javascript_path javascript_tag javascripts joins joins_per_query json_escape keep key_matcher kilobyte kilobytes kind klass known_attributes l label label_tag last_modified last_modified? layout lib limit limited_update_conditions link_to link_to_function link_to_if link_to_unless link_to_unless_current links listeners_for listening? literal load_attributes_from_response load_console load_deprecated_tasks load_generators load_paths load_tasks loaded? local? local_constant_names local_constants local_offset local_time local_to_utc locale localize locals location lock! locking_column locking_enabled? log_path log_process_action log_subscriber log_subscribers logged logger lookup lookup_ancestors lookup_by_extension lookup_context lookup_store ls mail mail_to mailer_name many? mark_for_destruction marked_for_destruction? mass_assignment_authorizer matches? mattr_accessor mattr_reader mattr_writer maximum mb_chars measure measure_mode media_type megabyte megabytes member memoize memoize_all memoized_ivar_for method_for_action method_missing method_missing_target method_name method_names method_option_to_s method_symbol microseconds middleware midnight migrate migration_template migrations_path mime_type minimum minus_with_coercion minus_without_coercion minus_without_duration minute minutes missing? missing_name missing_name? model_name monday months months_ago months_since mount ms multiple_of? mute mysql_socket name_for_action named_scope namespace native_database_types navigation_behavior navigation_location negotiate_mime nested nested_options new? new_constants new_date new_element_path new_from_hash_copying_default new_record? new_session new_time next_element next_id next_month next_selector next_week next_year no_color! nonce normalize normalize_name normalize_options! normalize_path not_modified? notice notifier notify_observers nth_child number? number_field number_field_tag number_to_currency number_to_human number_to_human_size number_to_percentage number_to_phone number_with_delimiter number_with_precision object observe observed_class observed_classes observed_descendants observers on on_base on_cdata_block on_characters on_end_document on_end_element on_load on_start_document on_start_element only only_child opaque open_session open_transactions opt_parser option_groups_from_collection_for_select options_for options_for_ajax options_for_javascript options_for_select options_from_collection_for_select options_include_default? order ordinalize orig_delete orm_class orm_instance output_filename outside_transaction? overlaps? parameter_filter parameter_filter_for parameterize params parent parent_name parent_of? parents parse parse! parse_raw_value_as_a_number parse_raw_value_as_an_integer password password_field password_field_tag past? path_for_action path_parameters path_to_audio path_to_image path_to_javascript path_to_stylesheet path_to_video paths pending perform_validations performed? period period_for_local period_for_utc persisted? petabyte petabytes phone_field phone_field_tag plugin plugin_dir plugins plural plural_file_name plural_name plural_table_name pluralize pluralize_table_names pluralize_table_names? polymorphic_path polymorphic_url pop_d pop_modules port port_string post? post_via_redirect postgresql_version precisionless_round prefetch_primary_key? prefix prefix_name_for_action prefix_source preload preload_associations prepare! prepare_controller_class prepare_destination prepend_view_path presence present? prev_month prev_year previous_changes primary_key primary_key_prefix_type prime_cache process process_action process_attributes_for process_node process_view_paths process_with_new_base_test profile properties property protect_against_forgery? protect_from_forgery protected_attributes protocol proxy proxy_class prune pruning? public_directory public_path publish push_d put put? put_via_redirect query query_attribute query_parameters quote_column_name quote_string quote_table_name quoted_columns_for_index quoted_date quoted_false quoted_locking_column quoted_primary_key quoted_table_name quoted_true radio_button radio_button_checked? radio_button_tag railtie_name railties rake rake_tasks rakefile random_bytes random_number range_field range_field_tag raw raw_connection raw_host_with_port raw_post raw_value read_attribute read_attribute_before_type_cast read_entry read_fragment read_multi readable_inspect readme readonly readonly! readonly? readonly_attributes receive recompile! reconnect! record record_key_for_dom_id recycle! redefine_method redirect redirect? redirect_to redirect_to_url redirect_url redirect_url_match? redirected_to ref reference? references reflect_on_aggregation reflect_on_all_aggregations reflect_on_all_associations reflect_on_all_autosave_associations reflect_on_association reflections register register_alias register_interceptor register_interceptors register_javascript_expansion register_javascript_include_default register_observer register_observers register_stylesheet_expansion regular_update regular_writer release_connection release_savepoint reload reload! reload_routes! reloader remember_transaction_record_state remote_addr remote_addrs remote_function remote_ip remove remove_belongs_to remove_column remove_columns remove_connection remove_filters! remove_hook_for remove_index remove_multiparameter_id remove_possible_method remove_references remove_silencers! remove_timestamps rename_column rename_index rename_key rename_table render render_collection render_partial render_template render_to_body render_to_string rendered reorder reorder_characters replace_html request request_http_basic_authentication request_http_digest_authentication request_http_token_authentication request_method request_method_symbol request_parameters request_uri request_via_redirect requests require_fixture_classes require_library_or_gem requires_reloading? rescue_action rescue_action_in_public! rescue_action_without_handler rescue_from rescue_with_handler reset reset! reset_cache reset_callbacks reset_column_information reset_counters reset_cycle reset_javascript_include_default reset_locking_column reset_runtime reset_sequence! reset_session resource resource_location resource_method_scope? resource_scope resource_scope? resourceful? resources resources_path_names respond respond_to respond_to_without_attributes? response_body response_code response_from_page_or_rjs responses restore_transaction_record_state retrieve_connection retrieve_connection_pool returning reverse_merge reverse_merge! reverse_order reverse_update rfc2822 rfc822 rollback_active_record_state! rollback_db_transaction rollback_to_savepoint rollback_transaction_records root route route_url routes routes_configuration_file routes_reloader run_callbacks run_generator run_in_isolation run_in_transaction? run_initializers run_load_hooks run_profile run_test run_validations! run_warmup runtime safe_concat sanitize sanitize_conditions sanitize_css sanitize_dom_id sanitize_for_mass_assignment sanitize_limit sanitize_sql sanitize_sql_array sanitize_sql_for_assignment sanitize_sql_for_conditions sanitize_sql_hash sanitize_sql_hash_for_assignment sanitize_sql_hash_for_conditions sanitizeable? save save! save_with_validation say say_with_time schema schema_format schema_search_path scheme scope scope_action_options scope_action_options? scope_for_create scoped scopes scoping script search_field search_field_tag second seconds seconds_since_midnight seconds_to_utc_offset secret_token select_all select_date select_datetime select_day select_first select_hour select_minute select_month select_one select_rows select_second select_tag select_time select_value select_values select_year selector send_action send_data send_file sequence_name serializable_hash serialize serialized_attributes server_error? server_port server_software session session_id_column session_options session_store set set_callback set_content_type set_default_accessors! set_default_backend set_environment set_fixture_class set_inheritance_column set_locking_column set_logger set_prefix set_primary_key set_sequence_name set_standard_conforming_strings set_table_name set_test_assigns setup setup_controller_request_and_response setup_fixture_accessors setup_fixtures setup_subscriptions setup_with_controller shallow shallow? shallow_scoping? show show_variable silence silence! silence_stream silence_warnings silencer simple_format simple_selector since singular singular_table_name singularize site skip_callback skip_default_locale! skip_filter sortable sortable_element source_root split_args sql sql_conditions sql_query_length sqlite_version squish squish! ssl? ssl_options stale? standard_port standard_port? start_document start_element start_processing stats status_message step_with_blockless sti_name string_to_binary string_to_date string_to_dummy_time string_to_time stringify_keys stringify_keys! strip_heredoc strip_links strip_tags structure_dump stylesheet_link_tag stylesheet_path stylesheets subclasses subdomain subdomains submit submit_tag subscribe sunday superclass_delegating_accessor supports_add_column? supports_count_distinct? supports_ddl_transactions? supports_insert_with_returning? supports_migrations? supports_primary_key? supports_savepoints? suppress suppress_messages svn_url? swap symbolize_keys symbolize_keys! symbolized_path_parameters symbols t table_alias_for table_alias_length table_exists? table_name table_name_length table_name_prefix table_name_suffix table_structure tableize tables tag tail! teardown teardown_fixtures teardown_subscriptions telephone_field telephone_field_tag template template_exists? template_objects templates_path terabyte terabytes test_errors_aref test_errors_full_messages test_homepage test_model_naming test_persisted? test_to_key test_to_param test_valid? tests text? text_area text_area_tag text_field text_field_tag third threadsafe! tidy_bytes time time_ago_in_words time_select time_with_datetime_fallback time_zone_options_for_select time_zone_select timeout timestamped_migrations timestamps titlecase titleize tmp to to_d to_date to_datetime to_default_s to_format to_formatted_s to_html to_json to_key to_model to_options to_options! to_param to_prepare to_prepare_blocks to_query to_sentence to_sql to_tag to_time to_time_in_current_zone to_xml to_yaml today today? toggle toggle! token_and_options tokenize tomorrow touch transaction transaction_include_action? transaction_joinable transaction_record_state translate translate_exception transliterate try try_to_load_dependency tsort_each_child type_cast type_cast_code type_to_sql u_unpack uncached uncountable uncountable? undefine_attribute_methods underscore unescape unescape_bytea unescape_rjs uninstall uniq_by uniq_by! unmemoize_all unserializable_attribute? unserialize_attribute unsubscribe until update_all update_attribute update_attributes update_attributes! update_counters update_details update_page update_page_tag update_sql updated updated_at url url_field url_field_tag url_for url_options us_zones use use_checkout? use_externals? use_renderer use_renderers use_svn? use_zone user user_agent user_name_and_password uses_transaction uses_transaction? using_limitable_reflections? utc_time utc_to_local valid? valid_alter_table_options valid_app_const? valid_scope_name? validate validate_digest_response validate_each validate_fallbacks validate_nonce validates validates_acceptance_of validates_associated validates_confirmation_of validates_each validates_exclusion_of validates_format_of validates_inclusion_of validates_length_of validates_numericality_of validates_presence_of validates_size_of validates_uniqueness_of validates_with validators validators_on value_before_type_cast value_to_boolean value_to_decimal variable_name vendor vendor_plugins verified_request? verify verify! verify_authenticity_token verify_request? version version_constraint_for_database_gem video_path video_tag view_context view_context_class view_path view_paths visible_action? visual_effect wants? warn! watch_namespaces week weeks where where_values_hash with_backend with_connection with_exclusive_scope with_fallbacks with_gc_stats with_indifferent_access with_layout_format with_local_cache with_options with_output_file with_routing with_scope with_scope_level with_transaction_returning_status with_warnings without_modules word_wrap wrap write_attribute write_entry write_fragment xhr xhr? xml xml_column_fallback xml_http_request xml_http_request? xmlschema years years_ago years_since yesterday zones_map", True, "?!=0123456789" ) )

'Symbols, Global Variables, Instance Variables
ruby.AddItem( ruby.CreateItem(COLOR_WORD4, "[\:\$\@][^\s\]\:]+(\s|$)", False ) )

'Regex String
ruby.AddItem( ruby.CreateItem(COLOR_STRING1, "\/.+\/", False) )

'folding
ruby.FoldText "\{", False, "\}", False
ruby.IndentText "^\s*(def|class|if|else|do|for)\b", False, "end$", False
ruby.SetPairs "[]{}()""""''"
ruby.CommentLine "#"
ruby.CommentBlock "=begin", "=end"
ruby.AddSnippet "rails.snippet"