# Metapost: lexer.metapost.interface.default
#
# 0 not used
# 1 metapost primitives and commands
# 2 metafun macros
#
# first lines of a metapost file are interpreted as follows:
#
# % interface=none|metapost|mp|metafun

import context/scite-context-data-metapost
import context/scite-context-data-metafun

keywordclass.metapost.all=$(keywordclass.metapost.tex) $(keywordclass.metapost.plain) $(keywordclass.metapost.primitives)
keywordclass.metafun.all=$(keywordclass.metafun.constants) $(keywordclass.metafun.helpers)

keywords.$(file.patterns.metafun)=$(keywordclass.metapost.all)
keywords2.$(file.patterns.metafun)=$(keywordclass.metapost.all) $(keywordclass.metafun.all)

lexer.metapost.interface.default=2
lexer.metapost.comment.process=0

lexer.$(file.patterns.metapost)=metapost
lexer.$(file.patterns.metafun)=metapost

# Metapost: comments

comment.block.metapost=%
comment.block.at.line.start.metapost=1

# internal lexers
#
# 0 all \commands
# 1 tex etex pdftex omega primitives
# 2 context nl (when context.properties is loaded)
# 3 context en (when context.properties is loaded)
# 4 context de (when context.properties is loaded)
# 5 context cz (when context.properties is loaded)
# 6 context it (when context.properties is loaded)
# 7 context ro (when context.properties is loaded)
# 8 latex (no keywords yet; will move up)
#
# first lines of a tex file are interpreted as follows
#
# % interface=all|nl|en|de|cz|it|ro|latex

import context/scite-context-data-tex
import context/scite-context-data-context
import context/scite-context-data-interfaces

word.characters.$(file.patterns.context)=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@!?_\\

keywordclass.context.base=\
    $(keywordclass.tex.tex) \
    $(keywordclass.tex.etex) \
    $(keywordclass.tex.pdftex) \
    $(keywordclass.tex.aleph) \
    $(keywordclass.tex.omega) \
    $(keywordclass.tex.xetex) \
    $(keywordclass.context.constants) \
    $(keywordclass.context.helpers)

keywords.$(file.patterns.context)=$(keywordclass.context.base)
keywords2.$(file.patterns.context)=$(keywordclass.context.base) $(keywordclass.context.nl)
keywords3.$(file.patterns.context)=$(keywordclass.context.base) $(keywordclass.context.en)
keywords4.$(file.patterns.context)=$(keywordclass.context.base) $(keywordclass.context.de)
keywords5.$(file.patterns.context)=$(keywordclass.context.base) $(keywordclass.context.cs)
keywords6.$(file.patterns.context)=$(keywordclass.context.base) $(keywordclass.context.it)
keywords7.$(file.patterns.context)=$(keywordclass.context.base) $(keywordclass.context.ro)
keywords8.$(file.patterns.context)=$(keywordclass.context.base) $(keywordclass.context.fr)
keywords9.$(file.patterns.context)=$(keywordclass.context.base) $(keywordclass.context.pe)

comment.block.context=%
comment.block.at.line.start.context=1

lexer.context.interface.default=0
lexer.context.use.keywords=1
lexer.context.comment.process=0
lexer.context.auto.if=1

lexer.$(file.patterns.context)=tex
lexer.$(file.patterns.tex)=tex

lexer.$(file.patterns.example)=xml
lexer.$(file.patterns.lua)=lua
lexer.$(file.patterns.metafun)=metapost
