# Define SciTE settings for DataFlex files.

filter.dataflex=Dataflex (src vw dg sl pkg bp inc dd h rv wo prn)|*.src;*.vw;*.dg;*.sl;*.pkg;*.bp;*.inc;*.dd;*.h;*.rv;*.wo;*.prn|

*filter.dataflex=$(filter.dataflex)

file.patterns.dataflex=*.src;*.vw;*.dg;*.sl;*.pkg;*.bp;*.inc;*.dd;*.h;*.rv;*.wo;*.prn
file.patterns.dataflex.all=$(file.patterns.dataflex)
lexer.$(file.patterns.dataflex.all)=dataflex
*language.dataflex=Dataflex|src||

# Keywords
keywords.$(file.patterns.dataflex)=\
abort abort_transaction activate_view add address append append_output ascii at attach bigint boolean break broadcast \
broadcast_focus byref calc call_driver callstackdump case channel char character clear close close_input close_output constrain constrained_clear \
constrained_find constraint_set constraint_validate convert copy_db copy_records copyfile create_field create_index currency date datetime \
decimal declare_datafile decrement deferred_view define delegate delete delete_db delete_field delete_index direct_input direct_output diskfree \
do dword else entry_item erasefile error external_function field field_map file_exist file_field fill_field find float for forward from function_return \
get get_argument_size get_attribute get_channel_position get_channel_size get_current_directory get_current_input_channel \
get_current_output_channel get_current_user_count get_date_attribute get_directory get_environment get_field_value get_fieldnumber \
get_file_mod_time get_file_path get_filenumber get_licensed_max_users get_stricteval get_transaction_retry get_windows_directory getaddress \
getbuff getbuff_string getdskinfo global_variable handle if ifnot import_class_protocol include_resource increment indicate indicator integer is item \
left length load_def load_driver local lock login logout ltrim make_directory make_file make_temp_file mid move moveint movenum movestr \
newrecord number of on_item on_key open overstrike output output_aux_file output_wrap pad playwave pointer pos procedure_return property \
public put read read_block read_hex readln real reg_key_enum reg_integer_value_enum reg_string_value_enum register_function register_object \
register_procedure relate remove_directory renamefile repeat report_breaks replace replaces reread returns right rowid rtrim runprogram save \
saverecord self send set set_argument_size set_attribute set_channel_position set_date_attribute set_directory set_field_value set_file_mod_time set_relate \
set_stricteval set_transaction_retry shift_state short show showln sleep sort start_ui string structure_abort structure_copy structure_end structure_start subtract \
sysdate sysdate4 time timespan to trim ubigint uchar uinteger unload_driver unlock use ushort valid_drive valuetreedeserializeparameter \
valuetreeserializeparameter variant vconstrain version_information vfind virtual_key webget webpublishfunction webpublishprocedure webset \
websetresponsive write write_hex writeln xmlhandle zerofile zerostring zerotype #check #error #include #pop #push #replace #set \
#spop #spush

# Scope open
keywords2.$(file.patterns.dataflex)=\
begin class function procedure object repeat for while begin_constraints procedure_section begin_row \
item_list enumeration_list enum_list #ifdef #ifdef #else cd_popup_object #command begin_transaction repeat #if for_all dfcreate_menu \
dfcreate_menu #if type #ifsame struct

# Scope close
keywords3.$(file.patterns.dataflex)=\
end end_class end_function end_procedure end_object until loop loop end_constraints end_procedure end_row \
end_item_list end_enumeration_list end_enum_list #else #endif #endif cd_end_object #endcommand end_transaction until #endif end_for_all \
end_pull_down end_menu #else end_type #endif end_struct

# Operators
keywords4.$(file.patterns.dataflex)=\
+ - = * / < > <= >= <> Or And In Contains Eq Ne Lt Gt Ge Le Not Iand Ior found seqeof ~ ^ True False err lasterr

fold.dataflex.compilerlist=0

# DataFlex Styles
# Default
style.dataflex.32=$(font.base)
# White space
style.dataflex.0=fore:#808080
# Identifiers
style.dataflex.1=
# Metatag: { ... }
style.dataflex.2=$(colour.code.comment.box),$(font.code.comment.box)
# DataFlex image: \* ... *\
style.dataflex.3=$(colour.code.comment.box),$(font.code.comment.box)
# Line Comment: // ...
style.dataflex.4=$(colour.code.comment.line),$(font.code.comment.line)
# Preprocessor: {$ ... }
style.dataflex.5=$(colour.preproc)
# Preprocessor2: (*$ ... *)
style.dataflex.6=$(colour.preproc)
# Number
style.dataflex.7=$(colour.number)
# Hex Number
style.dataflex.8=$(colour.number)
# Keyword
style.dataflex.9=fore:#000080
# String
style.dataflex.10=$(colour.string)
# End of line where string is not closed
style.dataflex.11=fore:#000000,$(font.monospace),back:#E0C0E0,eolfilled
# Scope word
style.dataflex.12=fore:#000080,bold
# Operators
style.dataflex.13=$(colour.operator),bold
# ICode
style.dataflex.14=fore:#804080
