# file    : context.properties
# version : 18 august 2003
# author  : Hans Hagen / PRAGMA ADE / www.pragma-ade.com

# there but not yet working:

# comment.box.start.tex=\n\\starthiding\n
# comment.box.middle.tex=
# comment.box.end.tex=\n\\stophiding\n

# comment.box.start.xml=<!--
# comment.box.middle.xml=
# comment.box.end.tex=-->

# comment.block.start.xml=<!--\s
# comment.block.end.xml=\s-->

# calltip.*.end.definition=%

# This is the new default for windows 2000+ per 1.56:
#
# if PLAT_WIN
# 	find.command=findstr /n /s $(find.what) $(find.files)
#
# uncomment this (or move to user properties) if needed:
#
# if PLAT_WIN
#   find.command=fgrep -G -n $(find.what) $(find.files)

# 1: better anti-aliasing on windows, also slightly diffent lineheights

#~ technology=1

# not much difference
#
# buffered.draw=0
# two.phase.draw=0
#
# no auto save:
#
# save.on.timer=0

# Just UTF-8

code.page=65001
output.code.page=65001

position.maximize=1
virtual.space=1

textwrapper.margin=4
textwrapper.length=68

output.wrap=0

# xml.auto.close.tags=1

# ConTeXt: suffixes (really needed)

file.patterns.tex=
file.patterns.latex=
file.patterns.context=*.tex;*.mkii;*.mkiv;*.mkvi;*.mkix;*.mkxi;

open.suffix.$(file.patterns.context)=.tex

# Example : patterns

file.patterns.xml=
file.patterns.example=*.xml;*.xsl;*.xsd;*.fo;*.exa;*.rlb;*.rlg;*.rlv;*.rng;*.xfdf;*.xslt;*.dtd;*.lmx;*.htm;*.html;*.xhtml;*.ctx;*.export;*.svg;*.xul
open.suffix.$(file.patterns.example)=.xml
filter.example=eXaMpLe|$(file.patterns.example)|
#~ lexer.$(file.patterns.example)=xml

# Lua : patterns

file.patterns.lua=*.lua;*.luc;*.cld;*.tuc;*.luj;*.lum;*.tma;*.lfg;*.luv;*.lui
open.suffix.$(file.patterns.lua)=.lua
filter.lua=Lua MkIV|$(file.patterns.lua)|
#~ lexer.$(file.patterns.lua)=lua

command.compile.$(file.patterns.lua)=mtxrun --script "$(FileNameExt)"
command.go.$(file.patterns.lua)=mtxrun --script "$(FileNameExt)"

# W: patterns
#
# file.patterns.w=*.c;*.w;*.cc;*.cpp;*.cxx;*.h;*.hh;*.hpp;*.hxx;

# Test: patterns

file.patterns.text=*.txt
filter.text=Text |$(file.patterns.text)|
# lexer.$(file.patterns.txt)=txt

file.patterns.pdf=*.pdf
filter.pdf=PDF |$(file.patterns.pdf)|

# Commands: some scripts

if PLAT_WIN
    name.context.console=cmd
    name.context.console=$(ComSpec)
    name.context.gsview=gsview32.exe
    name.context.acrobat=
    name.flag.pdfopen=--autopdf
    #~ name.flag.pdfopen=--autopdf=default

if PLAT_GTK
    name.context.console=rxvt
    name.context.gsview=gv
    name.context.acrobat=acroread
    name.flag.pdfopen=--autopdf
    name.flag.pdfopen=--autopdf=sumatra

name.metafun.console=$(name.context.console)
name.example.console=$(name.context.console)

name.context.mtxrun=mtxrun --autogenerate
name.context.mtxrunjit=mtxrunjit --autogenerate

name.context.check=$(name.context.mtxrun) --script check
name.context.run=$(name.context.mtxrun) --script context $(name.flag.pdfopen)
name.context.runjit=$(name.context.mtxrunjit) --script context $(name.flag.pdfopen)
name.context.texshow=$(name.context.mtxrun) texshow
name.context.purge=$(name.context.mtxrun) --context --purge --all
name.context.showcase=$(name.context.mtxrun) --launch showcase.pdf

name.example.xmlcheck=tidy -quiet -utf8 -xml -errors

name.metafun.mptopdf=$(name.context.mtxrun) --script mptopdf

# if needed one can set MTX_SERVER_ROOT to the root of the documentation

if PLAT_WIN
    name.context.wwwserver=cmd /c start /min "Context Documentation" $(name.context.mtxrun) --script server --auto

if PLAT_GTK
    name.context.wwwserver=$(name.context.mtxrun) --script server --start > ~/context-wwwserver.log &

# Commands: help info, e:\websites\www.pragma-ade.com\showcase.pdf / todo: manuals

command.help.$(file.patterns.context)=$(name.context.texshow) $(CurrentWord)
command.help.$(file.patterns.context)=mtxrun --gethelp --url="http://localhost:31415/mtx-server-ctx-help.lua?command=%command%" --command="$(CurrentWord)"
command.help.$(file.patterns.context)=mtxrun --gethelp --url="http://www.contextgarden.net/Command/%command%" --command="$(CurrentWord)"
command.help.$(file.patterns.example)=
command.help.$(file.patterns.metafun)=

command.help.subsystem.$(file.patterns.context)=2

# Commands: tools menu extensions

context.distribution.writable=1

# for the moment using subsystem 1 for perl jobs is better (otherwise dangling jobs)

command.save.before=1

# xml completion

xml.auto.close.tags=1

# extensions

import context/scite-ctx

# hard coded compile / build / go

command.build.$(file.patterns.context)=$(name.context.check) $(FileNameExt)
command.build.$(file.patterns.metafun)=
command.build.$(file.patterns.example)=$(name.example.xmlcheck) $(FileNameExt)
command.build.*.fo=$(name.example.xmlcheck) $(FileNameExt)

command.compile.$(file.patterns.context)=$(name.context.run) $(FileNameExt)
command.compile.$(file.patterns.metafun)=$(name.context.run) $(name.flag.pdfopen) $(FileNameExt)
command.compile.$(file.patterns.example)=$(name.context.run) --forcexml $(FileNameExt)
command.compile.*.fo=$(name.context.run) $(name.flag.pdfopen) --forcexml --use=foxet $(FileNameExt)

command.compile.subsystem.$(file.patterns.context)=1
command.compile.subsystem.$(file.patterns.metafun)=1
command.compile.subsystem.$(file.patterns.example)=1
command.compile.subsystem.*.fo=1

if PLAT_WIN
    command.go.$(file.patterns.context)=$(FileName).pdf
    command.go.$(file.patterns.metafun)=$(FileName).pdf
    command.go.$(file.patterns.example)=$(FileName).pdf
    command.go.*.fo=$(FileName).pdf

if PLAT_GTK
    command.go.$(file.patterns.context)=$(name.context.acrobat) $(FileName).pdf
    command.go.$(file.patterns.metafun)=$(name.context.acrobat) $(FileName).pdf
    command.go.$(file.patterns.example)=$(name.context.acrobat) $(FileName).pdf
    command.go.*.fo=$(name.context.acrobat) $(FileName).pdf

command.go.subsystem.$(file.patterns.context)=2
command.go.subsystem.$(file.patterns.metafun)=2
command.go.subsystem.$(file.patterns.example)=2
command.go.subsystem.*.fo=2

# 0 : syntax checking

command.name.0.$(file.patterns.context)=Check TeX File
command.name.0.$(file.patterns.metafun)=
command.name.0.$(file.patterns.example)=Check XML File

command.0.$(file.patterns.context)=$(name.context.check) $(FileNameExt)
command.0.$(file.patterns.metafun)=
command.0.$(file.patterns.example)=$(name.example.xmlcheck) $(FileNameExt)

# 1 : normal processing

command.name.1.$(file.patterns.context)=Process TeX file
command.name.1.$(file.patterns.metafun)=Process METAPOST File
command.name.1.$(file.patterns.example)=Process XML File

command.1.$(file.patterns.context)=$(name.context.run) $(FileNameExt)
command.1.$(file.patterns.metafun)=$(name.context.run) $(FileNameExt) --metapost
command.1.$(file.patterns.example)=$(name.context.run) $(FileNameExt) --xml

command.1.subsystem.$(file.patterns.context)=1
command.1.subsystem.$(file.patterns.metafun)=1
command.1.subsystem.$(file.patterns.example)=1

command.name.29.*=Run with jit
command.subsystem.29.*=1
command.29.$(file.patterns.context)=$(name.context.runjit) $(FileNameExt)
command.29.$(file.patterns.metafun)=$(name.context.runjit) $(FileNameExt) --metapost
command.29.$(file.patterns.exmaple)=$(name.context.runjit) $(FileNameExt) --xml
command.groupundo.29.*=yes
command.save.before.29.*=2
command.shortcut.29.*=Alt+F12

#~ command.name.30.*=Run with jit
#~ command.subsystem.30.*=1
#~ command.30.$(file.patterns.context)=$(name.context.runjit) $(FileNameExt)
#~ command.30.$(file.patterns.metafun)=$(name.context.runjit) $(FileNameExt) --metapost
#~ command.30.$(file.patterns.exmaple)=$(name.context.runjit) $(FileNameExt) --xml
#~ command.groupundo.30.*=yes
#~ command.save.before.30.*=2
#~ command.shortcut.30.*=Alt+F7

# 2 : pdf viewing

command.name.2.$(file.patterns.context)=View PDF File with GhostScript
command.name.2.$(file.patterns.metafun)=View PDF File with GhostScript
command.name.2.$(file.patterns.example)=View PDF File with GhostScript

command.2.$(file.patterns.context)=$(name.context.gsview) $(FileDir)/$(FileName).pdf
command.2.$(file.patterns.metafun)=$(name.context.gsview) $(FileDir)/$(FileName).pdf
command.2.$(file.patterns.example)=$(name.context.gsview) $(FileDir)/$(FileName).pdf

command.subsystem.2.$(file.patterns.context)=2
command.subsystem.2.$(file.patterns.metafun)=2
command.subsystem.2.$(file.patterns.example)=2

# 3 : clean up

command.name.3.$(file.patterns.context)=Purge Files
command.name.3.$(file.patterns.metafun)=Purge Files
command.name.3.$(file.patterns.example)=Purge Files

command.3.$(file.patterns.context)=$(name.context.purge)
command.3.$(file.patterns.metafun)=$(name.context.purge)
command.3.$(file.patterns.example)=$(name.context.purge)

# 4 : documentation

command.4.$(file.patterns.context)=$(name.context.showcase)
command.4.$(file.patterns.metafun)=$(name.context.showcase)
command.4.$(file.patterns.example)=$(name.context.showcase)

command.name.4.$(file.patterns.context)=Show Documentation
command.name.4.$(file.patterns.metafun)=Show Documentation
command.name.4.$(file.patterns.example)=Show Documentation

# 6 : console

command.name.6=Start Console
command.name.6.$(file.patterns.context)=Start Console
command.name.6.$(file.patterns.metafun)=Start Console
command.name.6.$(file.patterns.example)=Start Console

command.6=$(name.context.console)
command.6.$(file.patterns.context)=$(name.context.console)
command.6.$(file.patterns.metafun)=$(name.context.console)
command.6.$(file.patterns.example)=$(name.context.console)

# 7 : listings

command.name.7=Generate Listing
command.name.7.$(file.patterns.context)=Generate Listing
command.name.7.$(file.patterns.metafun)=Generate Listing
command.name.7.$(file.patterns.example)=Generate Listing

command.7=$(name.context.run)                          --extra=listing --pretty --result=$(FileName) $(FileNameExt)
command.7.$(file.patterns.context)=$(name.context.run) --extra=listing --pretty --result=$(FileName) $(FileNameExt)
command.7.$(file.patterns.metafun)=$(name.context.run) --extra=listing --pretty --result=$(FileName) $(FileNameExt)
command.7.$(file.patterns.example)=$(name.context.run) --extra=listing --pretty --result=$(FileName) $(FileNameExt)

command.7.subsystem=1
command.7.subsystem.$(file.patterns.context)=1
command.7.subsystem.$(file.patterns.metafun)=1
command.7.subsystem.$(file.patterns.example)=1

# 10: arranging

command.name.10.$(file.patterns.context)=Process and Arrange
command.name.10.$(file.patterns.metafun)=Process and Arrange
command.name.10.$(file.patterns.example)=Process and Arrange
command.10.$(file.patterns.context)=$(name.context.run) --arrange         $(FileNameExt)
command.10.$(file.patterns.metafun)=$(name.context.run)           --mptex $(FileNameExt)
command.10.$(file.patterns.example)=$(name.context.run) --arrange --xml   $(FileNameExt)
command.10.subsystem.$(file.patterns.context)=1
command.10.subsystem.$(file.patterns.metafun)=1
command.10.subsystem.$(file.patterns.example)=1

# 11: make

command.name.11.$(file.patterns.context)=Generate Formats (pdfTeX)
command.name.11.$(file.patterns.metafun)=Generate Formats
command.name.11.$(file.patterns.example)=Generate Formats
command.11.$(file.patterns.context)=$(name.context.run) --make --all --pdftex
command.11.$(file.patterns.metafun)=$(name.context.run) --make --all
command.11.$(file.patterns.example)=$(name.context.run) --make --all
command.11.subsystem.$(file.patterns.context)=1
command.11.subsystem.$(file.patterns.metafun)=1
command.11.subsystem.$(file.patterns.example)=1

# 12: make

command.name.12.$(file.patterns.context)=Generate Formats (luaTeX)
command.12.$(file.patterns.context)=$(name.context.run) --make --all --luatex
command.12.subsystem.$(file.patterns.context)=1

# 13: make

command.name.13.$(file.patterns.context)=Generate Formats (XeTeX)
command.13.$(file.patterns.context)=$(name.context.run) --make --all --xetex
command.13.subsystem.$(file.patterns.context)=1

# 15: example

command.name.15=Documentation Server
command.name.15.$(file.patterns.context)=Documentation Service
command.name.15.$(file.patterns.metafun)=Documentation Service
command.name.15.$(file.patterns.example)=Documentation Service

command.15=$(name.context.wwwserver)
command.15.$(file.patterns.context)=$(name.context.wwwserver)
command.15.$(file.patterns.metafun)=$(name.context.wwwserver)
command.15.$(file.patterns.example)=$(name.context.wwwserver)

# Editor: syntax highlighting

view.indentation.guides=1
highlight.indentation.guides=1

# Editor: keys

user.shortcuts=\
F12|IDM_BUILD|\
Ctrl+F12|IDM_COMPILE|\
Shift+F12|IDM_GO|\

os.x.home.end.keys=0

# Editor: fonts

if PLAT_WIN
    font.monospace=font:Dejavu Sans Mono,size:14
    font.errorfont=font:Dejavu Sans Mono,size:8

if PLAT_GTK
    font.monospace=font:!Dejavu Sans Mono,size:14
    font.errorfont=font:!Dejavu Sans Mono,size:8

if PLAT_MAC
    font.monospace=font:Dejavu Sans Mono,size:14
    font.errorfont=font:Dejavu Sans Mono,size:8

font.base=$(font.monospace)
font.comment=$(font.monospace)
font.text=$(font.monospace)
font.text.comment=$(font.monospace)
font.embedded.base=$(font.monospace)
font.embedded.comment=$(font.monospace)
font.vbs=$(font.monospace)

# colors and styles

colors.red=#7F0000
colors.green=#007F00
colors.blue=#00007F
colors.cyan=#007F7F
colors.magenta=#7F007F
colors.yellow=#7F7F00

colors.white=#FFFFFF
colors.light= #CFCFCF
colors.grey= #808080
colors.dark= #4F4F4F
colors.black= #000000
colors.selection=#F7F7F7
colors.logpanel=#E7E7E7
colors.textpanel=#CFCFCF
colors.linepanel=#A7A7A7
colors.tippanel=#444444
colors.right=#0000FF
colors.wrong=#FF0000

colors.teal=$(colors.cyan)
colors.purple=$(colors.magenta)

styles.default=fore:$(colors.black),back:$(colors.textpanel),$(font.base)
styles.nothing=

styles.number=fore:$(colors.cyan)
styles.comment=fore:$(colors.yellow)
styles.string=fore:$(colors.magenta)
styles.keyword=fore:$(colors.blue),bold

styles.char=fore:$(colors.magenta)
styles.class=fore:$(colors.black),bold
styles.constant=fore:$(colors.cyan),bold
styles.definition=fore:$(colors.black),bold
styles.error=fore:$(colors.red)
styles.function=fore:$(colors.black),bold
styles.operator=fore:$(colors.blue)
styles.preproc=fore:$(colors.yellow),bold
styles.tag=fore:$(colors.cyan)
styles.type=fore:$(colors.blue)
styles.variable=fore:$(colors.black)
styles.identifier=$(styles.nothing)

styles.linenumber=back:$(colors.linepanel)
styles.bracelight=fore:$(colors.orange),bold
styles.bracebad=fore:$(colors.orange),bold
styles.indentguide=fore:$(colors.linepanel),back:$(colors.white)
styles.calltip=fore:$(colors.white),back:$(colors.tippanel)
styles.controlchar=$(styles.nothing)

# end of colors and styles

# Editor: color schemes

caret.width=3

style.*.32=$(font.base),back:$(colors.textpanel)
style.*.33=$(font.base),back:$(colors.linepanel)

style.errorlist.32=$(font.errorfont),back:$(colors.logpanel)

selection.back=#000000

# Editor: fast switching between files

tabbar.visible=1
tabbar.hide.one=0
tabbar.multiline=1

buffers=100
load.on.activate=1
check.if.already.open=1
tabbar.multiline=1

# Editor: handy anyway

line.margin.visible=1
#~ line.numbers=6
line.margin.width=3+
title.full.path=1
strip.trailing.spaces=1
save.session=1
save.recent=1
open.dialog.in.file.directory=1

# Editor: tabbing

tabsize=4
indent.size=4
use.tabs=0
indent.automatic=1
indent.opening=0
indent.closing=0

# Editor: misc

# edge.mode=0
# edge.column=80

error.marker.fore=#FFFFFF
error.marker.back=#007F7F

# Editor: status

statusbar.visible=1
statusbar.number=1
statusbar.text.1=$(FileNameExt) | $(FileDate) $(FileTime) | line $(LineNumber) column $(ColumnNumber) | mode $(OverType) | eol $(EOLMode) | $(FileDate) $(FileTime)

# Editor: searching

find.files=
find.what=

find.replace.regexp.posix=1
find.files=*.tex *.xml *.mp

if PLAT_WIN
	find.command=fgrep -n $(find.what) $(find.files)

# todo:

source.files=$(file.patterns.context);$(file.patterns.metafun);$(file.patterns.example);*.pl;*.rb;*.lua

# Editor: printing

if PLAT_WIN
    print.colour.mode=1
    print.margins=750,750,750,750
    print.header.format=$(FileNameExt) — Printed on $(CurrentDate), $(CurrentTime) — Page $(CurrentPage)
    print.footer.format=$(FilePath) — File date: $(FileDate) — File time: $(FileTime)
    print.header.style=font:Dejavu Sans Mono,size:10
    print.footer.style=font:Dejavu Sans Mono,size:10

# Editor: processing

clear.before.execute=1
wrap.output=0

if PLAT_WIN
    eol.mode=CRLF

ensure.final.line.end=1
ensure.consistent.line.ends=1

# Editor: file type

default.file.ext=.tex

# Editor: auto completion

autocompleteword.automatic=1
autocomplete.choose.single=0

# api.*.tex=t:\sources\cont-en-scite.api

# Logging

style.errorlist.32=$(font.errorfont),back:$(colors.logpanel)

# Default

style.errorlist.0=fore:$(colors.black)
style.errorlist.1=fore:$(colors.red)
style.errorlist.2=fore:$(colors.red)
style.errorlist.3=fore:$(colors.red)
style.errorlist.4=fore:$(colors.green)
style.errorlist.5=fore:$(colors.red)
style.errorlist.6=fore:$(colors.red)
style.errorlist.7=fore:$(colors.red)
style.errorlist.8=fore:$(colors.red)
style.errorlist.9=fore:$(colors.red)
style.errorlist.10=fore:$(colors.green)
style.errorlist.11=fore:$(colors.blue)
style.errorlist.12=fore:$(colors.cyan)
style.errorlist.13=fore:$(colors.red)
style.errorlist.14=fore:$(colors.red)
style.errorlist.15=fore:$(colors.red)
style.errorlist.16=fore:$(colors.red)

# Metapost: patterns

file.patterns.metafun=*.mp;*.mpx;*.mpy;*.mpii;*.mpiv
filter.metafun=MetaFun|$(file.patterns.metafun)|
#~ lexer.$(file.patterns.metafun)=metapost

command.compile.$(file.patterns.metafun)=
command.build.$(file.patterns.metafun)=$(name.context.mtxrun) --script context $(name.flag.pdfopen) $(FileNameExt)
command.go.$(file.patterns.metafun)=gv $(FileName).1

command.0.$(file.patterns.metafun)=
command.1.$(file.patterns.metafun)=
command.2.$(file.patterns.metafun)=
command.3.$(file.patterns.metafun)=
command.4.$(file.patterns.metafun)=
command.5.$(file.patterns.metafun)=
command.6.$(file.patterns.metafun)=
command.7.$(file.patterns.metafun)=
command.8.$(file.patterns.metafun)=
command.9.$(file.patterns.metafun)=

# Shared highlighting

styles.context.default=$(styles.nothing)
styles.context.number=$(styles.number)
styles.context.comment=$(styles.comment)
styles.context.keyword=$(styles.keyword)
styles.context.string=$(styles.string)

styles.context.command=fore:$(colors.green),bold
styles.context.preamble=$(styles.comment)
styles.context.embedded=fore:$(colors.black),bold
styles.context.grouping=fore:$(colors.red)
styles.context.primitive=$(styles.keyword)
styles.context.plain=fore:$(colors.dark),bold
styles.context.user=fore:$(colors.green)
styles.context.data=$(styles.constant)
styles.context.special=fore:$(colors.blue)
styles.context.extra=fore:$(colors.yellow)
styles.context.quote=fore:$(colors.blue),bold

# Metapost highlighting

style.metapost.0=$(styles.context.default)
style.metapost.1=$(styles.context.special)
style.metapost.2=$(styles.context.grouping)
style.metapost.3=$(styles.context.comment)
style.metapost.4=$(styles.context.keyword)
style.metapost.5=$(styles.context.default)
style.metapost.6=$(styles.context.plain)
style.metapost.34=$(styles.bracelight)
style.metapost.35=$(styles.bracebad)

# TeX highlighting

style.tex.0=$(styles.context.default)
style.tex.1=$(styles.context.special)
style.tex.2=$(styles.context.grouping)
style.tex.3=$(styles.context.comment)
style.tex.4=$(styles.context.user)
style.tex.34=$(styles.bracelight)
style.tex.35=$(styles.bracebad)

# style.tex.* : external styling happens elsewhere
# style.mps.* : external styling happens elsewhere
# style.cls.* : external styling happens elsewhere

# Lua highlighting:
#
# might change as we change the cld lexer

comment.block.lua=--
comment.block.at.line.start.lua=1

# braces.lua.style=10

style.lua.32=$(styles.context.default)
style.lua.0=$(styles.context.default)
style.lua.1=$(styles.context.comment)
style.lua.2=$(styles.context.comment)
style.lua.3=$(styles.context.comment)
style.lua.4=$(styles.context.number)
style.lua.5=$(styles.context.keyword)
style.lua.6=$(styles.context.string)
style.lua.7=$(styles.context.string)
style.lua.8=$(styles.context.comment)
style.lua.9=$(styles.context.default)
style.lua.10=$(styles.context.special)
style.lua.11=$(styles.context.default)
style.lua.12=$(styles.context.default)
style.lua.13=$(styles.context.default)
style.lua.14=$(styles.context.default)
style.lua.15=$(styles.context.default)
style.lua.16=$(styles.context.default)
style.lua.17=$(styles.context.default)
style.lua.18=$(styles.context.default)
style.lua.19=$(styles.context.default)
style.lua.20=$(styles.context.default)

style.context.34=$(styles.bracelight)
style.context.35=$(styles.bracebad)

# folding

fold=1
fold.symbols=3
fold.margin.colour=#CCCCCC

# testing

caret.width = 3
selection.rectangular.switch.mouse = 1

#~ cache.layout=

find.command=mtxrun --script grep "$(find.what)" "$(find.files)"
