# Define SciTE settings for PARI/GP files.
# von Lars Fischer 
# beim cpp - Mode abgeschaut

# GP-Skripte haben die Erweiterung gp
file.patterns.gp=*.gp
# der Lexer baut auf dem cpp - Lexer auf
lexer.$(file.patterns.gp)=cpp
filter.gp=Pari/GP (gp)|$(file.patterns.gp)|
shbang.gp=gp

# die Schlsselwrter
forlike=for fordiv forprime forstep forsubgroup forvec
keywordclass.gp=break $(forlike) if next return until while local global kill print print1 default

# der Lexer match Klammern automatisch
#[ ] { } ( ) # < > == != = * ^ ! += -= *= ++ --  % ~ << >> < > <= >= & && | ||

keywords.$(file.patterns.gp)=$(keywordclass.gp)

word.chars.$(file.patterns.gp)=$(chars.alpha)$(chars.numeric)_
word.characters.$(file.patterns.gp)=$(word.chars.cxx)

statement.indent.$(file.patterns.gp)=5  if while until $(forlike) {
statement.end.$(file.patterns.gp)=10 ;
#statement.lookback.$(file.patterns.gp)=0

block.start.$(file.patterns.gp)={
block.end.$(file.patterns.gp)=}

#tab.timmy.whinge.level=1
#fold.quotes.gp=1

# der Lexer kommt mit \\ nicht so richtig klar, ist ja ein C-Escape fr "\"
comment.block.cpp=\\# 
comment.block.at.line.start.cpp=0
comment.stream.start.cpp=/* 
comment.stream.end.cpp= */
comment.box.start.cpp=/* 
comment.box.middle.cpp= * 
comment.box.end.cpp= */

fold.comment=1
fold.preprocessor=1

indent.size.cpp=4
indent.auto.cpp=1
indent.automatic.cpp=1

# clear output before next run
clear.before.execute=1
buffered.draw=0

#braces.$(file.patterns.gp).style=1

#style.cpp.32=$(font.base),back:#1c1c59,fore:#FF0000
#caret.fore=fore:#00FFFF
#caret.width=4

# Farbeinstellung, wer Spass hat darf eine "Turbo-Pascal Revival" -Farbschemata erstellen:
#~ style.cpp.32=$(font.base),fore:#ff7788
# Comment: /* */.
style.cpp.1=fore:#1a1a1a
# Line Comment: //.
style.cpp.2=fore:#1a1a1a
# Line Comment: //.
style.cpp.3=fore:#1a1a1a
# number
style.cpp.4=fore:#0000FF
# Keyword
style.cpp.5=fore:#007F7F,bold
# Double quoted string
style.cpp.6=fore:#FF0077
# Operators
style.cpp.10=fore:#7FFF00,bold
# Identifiers
#style.cpp.11=fore:#007700
# End of line where string is not closed
style.cpp.12=fore:#FF0000,$(font.monospace),back:#E0C0E0,eolfilled
#~ # Verbatim strings for C#
#~ style.cpp.13=fore:#007F00,$(font.monospace),back:#E0FFE0,eolfilled
#~ # Regular expressions for JavaScript
#~ style.cpp.14=fore:#3F7F3F,$(font.monospace),back:#E0F0FF,eolfilled
# Doc Comment Line: line comments beginning with /// or //!.
#~ style.cpp.15=fore:#7F7F00
#~ # Keywords2
#~ style.cpp.16=fore:#B00040
# Comment keyword
#~ style.cpp.17=fore:#7F7F00
# Comment keyword error
#~ style.cpp.18=fore:#7F7F00
#~ # Braces are only matched in operator style
#~ braces.cpp.style=10

calltip.cpp.ignorecase=0 
calltip.cpp.parameters.start=( 
calltip.cpp.parameters.end=) 
calltip.cpp.parameters.separators=, 
calltip.cpp.end.definition=)
 
split.vertical=0
output.vertical.size=250
output.initial.hide=1

# autocompletion aktivieren
autocompleteword.automatic=1
# flickert aber ist schneller:
buffered.draw=0




# Das passiert bei Druck auf F5:

if PLAT_WIN
	# hier den Pfad anpassen:
	GP_PATH=C:\Programme\PARI
	# Das wird bei Druck auf F1 ausgeführt:, geht natürlich unter Windoof nicht vernünftig:
	command.help.$(file.patterns.gp)="$(GP_PATH)\perl.exe" "$(GP_PATH)\gphelp" $(CurrentWord)
	# falls ihr das gphelp Programm anpasst, so dass die Formatierungen deaktiviert sind,
	# dann das # Zeichen entfernen und in der obigen Zeile hinzufügen
	#command.help.$(file.patterns.gp)="$(GP_PATH)\perl.exe" "$(GP_PATH)\gphelp_scite" $(CurrentWord)

	# Windoof: OMG WTF
	# ohne den ganzen Kram funktioniert das < Zeichen nicht (unter Windows 2000)
	command.go.$(file.patterns.gp)=cmd /s /c ""$(GP_PATH)\gp.exe" -f -q <  "$(FilePath)""
	
if PLAT_GTK
	# Linux ist toll:
	command.go.$(file.patterns.gp)=gp -f -q < "$(FileNameExt)"
	# Das wird bei Druck auf F1 ausgefhrt:, geht natrlich unter Windoof nicht vernünftig
	command.help.$(file.patterns.gp)=gphelp $(CurrentWord)

	

