# Define SciTE settings for Visual Prolog source

file.patterns.prolog=*.pro;*.pl

filter.prolog=Prolog|$(file.patterns.prolog)|

*filter.prolog=$(filter.prolog)

lexer.$(file.patterns.prolog)=visualprolog

*language.prolog=Prolog|visualprolog||

# Visual Prolog
# Major keywords
keywords.$(file.patterns.prolog)=true fail call catch throw repeat once forall for \
dynamic public multifile discontiguous ensure_linked built_in include if else endif elif ensure_loaded op char_conversion set_prolog_flag initialization foreign
# Minor keywords
keywords2.$(file.patterns.prolog)=var nonvar atom integer float number atomic compound callable functor arg \
asserta assertz retract retractall clause abolish findall bagof setof \
append member reverse delete select permutation prefix suffix sublist last length nth sort \
atom_length atom_concat sub_atom char_code lower_upper atom_chars atom_codes name \
see tell seeing telling seen told get0 get skip put tab nl write read display \
get_char get_code put_char put_code read_term read_integer read_number write_term writeq write_canonical \
current_input current_output set_input set_output open close flush_output \
peek_char peek_code unget_char unget_code get_byte peek_byte unget_byte put_byte \
expand_term current_op rem mod div is

word.chars.prolog=$(chars.alpha)$(chars.numeric)_
word.characters.$(file.patterns.prolog)=$(word.chars.prolog)
comment.block.visualprolog=%
comment.stream.start.visualprolog=/*
comment.stream.end.visualprolog=*/

statement.indent.$(file.patterns.prolog)=2 do then :-
statement.$(file.patterns.prolog)=1 . end
statement.lookback.$(file.visualprolog)=20

# Visual Prolog styles
# Default
style.visualprolog.32=$(font.base)
# White space
style.visualprolog.0=fore:#808080
# Keyword major
style.visualprolog.1=$(colour.keyword),bold
# Keyword minor
style.visualprolog.2=fore:#0000AA,$(font.keyword)
# Keyword directive
style.visualprolog.3=fore:#DD9900,$(font.keyword)
# Comment block
style.visualprolog.4=$(colour.code.comment.box),$(font.code.comment.box)
# Comment line
style.visualprolog.5=$(style.visualprolog.4)
# Comment key
style.visualprolog.6=fore:#8050A0,$(font.code.comment.doc)
# Comment key error
style.visualprolog.7=$(style.visualprolog.4),$(font.code.comment.box)
# Identifier
style.visualprolog.8=fore:#000000,$(font.identifier)
# Variable
style.visualprolog.9=fore:#008000,bold
# Anonymous
style.visualprolog.10=fore:#A0C0A0,$(font.identifier)
# Number
style.visualprolog.11=fore:#00C000,$(font.number)
# Operator
style.visualprolog.12=fore:#A00000,$(font.operator)
# Character styles are not used any more
# style.visualprolog.13=<<unused>>
# style.visualprolog.14=<<unused>>
# style.visualprolog.15=<<unused>>
# String
style.visualprolog.16=fore:#3898B2,$(font.string.literal)
# String escape
style.visualprolog.17=fore:#F07000,$(font.string.literal)
# String escape error
style.visualprolog.18=fore:#FFFFFF,back:#FF4040,$(font.error)
# String EOL open
style.visualprolog.19=$(style.visualprolog.18)
# String verbatim
style.visualprolog.20=fore:#8064A2,$(font.string.literal)
# String verbatim special
style.visualprolog.21=$(style.visualprolog.14)
# String verbatim EOL
style.visualprolog.22=back:#0xFFB060,$(font.string.literal)

# Braces are only matched in operator style
braces.visualprolog.style=12

command.compile.name.$(file.patterns.prolog)=Start interpreter
command.compile.$(file.patterns.prolog)=prolog_Restart
command.compile.subsystem.$(file.patterns.prolog)=3

command.clean.name.$(file.patterns.prolog)=Stop interpreter
command.clean.$(file.patterns.prolog)=interp_Stop
command.clean.subsystem.$(file.patterns.prolog)=3

command.go.name.$(file.patterns.prolog)=Load file
command.go.$(file.patterns.prolog)=prolog_Load
command.go.save.before.$(file.patterns.prolog)=1
command.go.subsystem.$(file.patterns.prolog)=3

command.build.name.$(file.patterns.prolog)=Run selected
command.build.$(file.patterns.prolog)=prolog_Run
command.build.subsystem.$(file.patterns.prolog)=3
