# Anjuta internal configuration file

#----------------- WARNING ------------------------------------#
# Any modification in this file without knowing proper internal
# working of Anjuta may lead to instabilites.
#----------------- WARNING ------------------------------------#

# Anjuta uses this file for internal operations,
# therefore this file should never be modified.
# Only Anjuta developers will be tampering with this file. 

# Any modification if needed should be approved by the Anjuta
# developers, so that the source code is also changed (if needed)
# and the changes incorporated in the next release of Anjuta.

##################################################
# Filters to be used in file open/close/save etc #
##################################################
filter.pascal=Pascal (pas inc)|*.pas;*.inc;*.pp|

############################################
# File patterns defined for all file types #
############################################
file.patterns.pascal=*.pas;*.inc;*.pp

####################################################
# Lexer to be used for corresponding file patterns #
####################################################
lexer.$(file.patterns.pascal)=pascal

################################################
# File type corresponding to the file patterns #
################################################
filetype.$(file.patterns.pascal)=pascal

#######################
# Keywords for pascal #
#######################
keywordclass.pascal=program const type var begin end array set packed record string if then else \
while for to downto do with repeat until case of goto exit label procedure \
function nil file and or not xor div mod unit uses implementation interface \
external asm inline object constructor destructor virtual far assembler near \
inherited stdcall cdecl library export exports end. \
class ansistring raise try except on index name finally \
resourcestring false true initialization finalization \
override overload

keywordclass.pascalclasses=write read default public protected private property published stored

keywords.$(file.patterns.pascal)=$(keywordclass.pascal)
keywords2.$(file.patterns.pascal)=$(keywordclass.pascalclasses)

#########################
# Other Pascal properties #
#########################
statement.indent.$(file.patterns.pascal)=5 case catch class default do else for then \
private protected public struct try union while type begin

statement.end.$(file.patterns.pascal)=10 ;

statement.lookback.$(file.patterns.pascal)=20

block.start.$(file.patterns.pascal)=10 begin
block.end.$(file.patterns.pascal)=10 end

file.has.folds.$(file.patterns.pascal)=1
file.is.source.$(file.patterns.pascal)=1

##############################
# Pascal style definition #
##############################

# White space
style.pascal.0=$(style.default.whitespace)
# Comment
style.pascal.1=$(style.default.comment)
# Line Comment
style.pascal.2=$(style.default.comment)
# Doc comment
style.pascal.3=$(style.default.comment)
# Number
style.pascal.4=$(style.default.number)

# Keyword
style.pascal.5=$(style.default.keyword)
# Double quoted string
style.pascal.6=$(style.default.doublequote)
# Single quoted string
style.pascal.7=$(style.default.singlequote)
# Symbols 
style.pascal.8=fore:#007F7F
# Preprocessor
style.pascal.9=$(style.default.preprocessor)
# Operators
style.pascal.10=$(style.default.operator)
# Braces are only matched in operator style
braces.pascal.style=10

######################################################
# Default Commands for handling different file types #
######################################################

command.compile.file.$(file.patterns.pascal)=fpc "$(current.full.filename)"
command.build.file.$(file.patterns.pascal)=fpc -B "$(current.full.filename)"
command.execute.file.$(file.patterns.pascal)=kvt -e "$(current.file.name.ext)" $(anjuta.program.arguments)
