summaryrefslogtreecommitdiff
path: root/context/data
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2010-07-04 15:32:09 +0300
committerMarius <mariausol@gmail.com>2010-07-04 15:32:09 +0300
commit85b7bc695629926641c7cb752fd478adfdf374f3 (patch)
tree80293f5aaa7b95a500a78392c39688d8ee7a32fc /context/data
downloadcontext-85b7bc695629926641c7cb752fd478adfdf374f3.tar.gz
stable 2010-05-24 13:10
Diffstat (limited to 'context/data')
-rw-r--r--context/data/scite/cont-cs-scite.properties1
-rw-r--r--context/data/scite/cont-cz-scite.properties76
-rw-r--r--context/data/scite/cont-de-scite.properties1
-rw-r--r--context/data/scite/cont-en-scite.properties1
-rw-r--r--context/data/scite/cont-fr-scite.properties1
-rw-r--r--context/data/scite/cont-it-scite.properties1
-rw-r--r--context/data/scite/cont-nl-scite.properties1
-rw-r--r--context/data/scite/cont-pe-scite.properties1
-rw-r--r--context/data/scite/cont-ro-scite.properties1
-rw-r--r--context/data/scite/cont-xx-scite.properties178
-rw-r--r--context/data/scite/context.properties559
-rw-r--r--context/data/scite/cscite.rme50
-rw-r--r--context/data/scite/latex-scite.properties2
-rw-r--r--context/data/scite/metafun-scite.properties19
-rw-r--r--context/data/scite/scite-ctx.lua838
-rw-r--r--context/data/scite/scite-ctx.properties155
-rw-r--r--context/data/scite/scite-ctx.readme19
-rw-r--r--context/data/texfont/type-buy.dat146
-rw-r--r--context/data/texfont/type-fsf.dat25
-rw-r--r--context/data/texfont/type-ghz.dat78
-rw-r--r--context/data/texfont/type-tmf.dat75
-rw-r--r--context/data/textadept/context.lua710
-rw-r--r--context/data/texworks/TUG/TeXworks.ini18
-rw-r--r--context/data/texworks/completion/tw-context.txt1
-rw-r--r--context/data/texworks/configuration/auto-indent-patterns.txt14
-rw-r--r--context/data/texworks/configuration/delimiter-pairs.txt12
-rw-r--r--context/data/texworks/configuration/smart-quotes-modes.txt21
-rw-r--r--context/data/texworks/configuration/syntax-patterns.txt42
-rw-r--r--context/data/texworks/configuration/tag-patterns.txt33
-rw-r--r--context/data/texworks/configuration/texworks-config.txt22
-rw-r--r--context/data/texworks/configuration/tools.ini35
-rw-r--r--context/data/texworks/texworks-context.rme2
-rw-r--r--context/data/texworks/texworks-setup.ini2
33 files changed, 3140 insertions, 0 deletions
diff --git a/context/data/scite/cont-cs-scite.properties b/context/data/scite/cont-cs-scite.properties
new file mode 100644
index 000000000..ddf42aacd
--- /dev/null
+++ b/context/data/scite/cont-cs-scite.properties
@@ -0,0 +1 @@
+keywordclass.macros.context.cs=CAP Cap Caps MESIC Rimskecislice SLOVA SLOVO Slova Slovo VSEDNIDEN Znak Znaky aktualnicislonadpisu aktualnidatum appendix barva bilemisto bublinkovanapoveda bypassblocks cap cernalinka cernelinky chapter chem cisla cislonadpisu citace citovat completecombinedlist completelistoffloats completelistofsorts completelistofsynonyms completeregister coupledregister crlf datum definebodyfontDEF definebodyfontREF definedfont definefontfeature definefonthandling definetype definetypeface definuj definujbarvu definujblok definujbloksekce definujbuffer definujfont definujformatodkazu definujinterakcnimenu definujinterakcnimenu definujkombinovanyseznam definujkonverzi definujlogo definujnadpis definujobrazeksymbol definujodkaz definujodsazovani definujodstavce definujopis definujoramovani definujoramovanytext definujpaletu definujplvouciobjekt definujpodpole definujpole definujpopis definujpopisek definujprekryv definujpreskok definujprofil definujprogram definujprostredizakladnihofontu definujrejstrik definujsablonutabulky definujsekci definujseznam definujseznamodkazu definujskupinubarev definujstartstop definujsymbol definujsynonumumfontu definujsynonyma definujtabelaci definujtext definujtrideni definujupravu definujvelikostpapiru definujverzi definujvycet definujvystup definujzakladnifont definujzasobnikpoli definujznaceni description dodrzujprofil dodrzujverzi dodrzujverziprofilu dvoustrannypapir emptylines enumeration externiobraz footnotetext forceblocks framedtext hl hlavnijazyk indentation ininner inouter instalacejazyka interakcnilista interakcnitlacitka jazyk jdidolu jdina jdinabox klonujpole komentar konvertujcislo kopirujpole korekcebilehomista labeling listsymbol loadsorts loadsynonyms mapfontsize marginalnilinka marginalnitext matematika mediaeval meritko mesic mezera mrizka nadpis nadruhyokraj name naokraj nastavbarvu nastavbarvy nastavbilamista nastavblok nastavbloksekce nastavbuffer nastavcernelinky nastavcislonadpisu nastavcislostrany nastavcislovani nastavcislovaniodstavcu nastavcislovaniradku nastavcislovanistran nastavcitaci nastavdefinicipoznamekpodcarou nastavdeleniplvoucichobjektu nastavdelitko nastavdolnitexty nastavexterniobrazy nastavhorejsek nastavhornitexty nastavinterakci nastavinterakcnilistu nastavinterakcnimenu nastavinterakcniobrazovku nastavjazyk nastavkapitalky nastavkombinovanyseznam nastavkomentar nastavlegendu nastavmarginalie nastavmarginalniblok nastavmarginalnilinky nastavmeziradkovoumezeru nastavnadpis nastavnadpisy nastavodkazovani nastavodsazeni nastavodsazovani nastavodstavce nastavopis nastavoramovanetexty nastavoramovani nastavorez nastavotoceni nastavpaletu nastavplvouciobjekt nastavplvouciobjekty nastavpodcislostrany nastavpodtrzeni nastavpole nastavpolozky nastavpopisek nastavpopisky nastavpopisy nastavpozadi nastavpozadi nastavpoznamkypodcarou nastavprechodstrany nastavpreskok nastavprofily nastavprogramy nastavprostredizakladnihofontu nastavpublikace nastavradkovani nastavradky nastavrastr nastavrejstrik nastavrovnice nastavsadusymbolu nastavsekci nastavseznam nastavseznamodkazu nastavsirkucary nastavsloupce nastavspodek nastavspojeni nastavsynchronizaci nastavsynchronizacnilistu nastavsynonyma nastavsystem nastavtab nastavtabelaci nastavtabulky nastavtenkelinky nastavtext nastavtexthlavicky nastavtextovelinky nastavtextpopisku nastavtexttexty nastavtextyupati nastavtextyzahlavi nastavtlacitka nastavtoleranci nastavtrideni nastavtype nastavumisteniprotejsku nastavumistovani nastavupati nastavupravu nastavurl nastavusporadani nastavvelikostpapiru nastavverze nastavvsechnapole nastavvycty nastavvyplnovelinky nastavvyplnoveradky nastavvystup nastavvzhled nastavzahlavi nastavzakladnifont nastavzarovnani nastavznaceni nastavzuzeni nastrane nejakyradek nekde nextsection nivy nizky nocap nop obrazovka odkaz odkaz odkaznadatum odkaznastranu odkaznatext odsazovani okr opis opissoubor oramovani oref orez otocit overbar overbars overstrike overstrikes oznacverzi paragraph parovastrana part pis placefloat placelistoffloats placelistofsorts placelistofsynonyms placereferencelist pol pole polozka polozky popisky porovnejpaletu porovnejskupinubarev pozadi pozice poznamka poznamkapodcarou pref prelozit premistinamrizku prepninazakladnifont preskoc prizpusobivepole prizpusobvzhled program propojeneznaceni propojenydokument propojenyrejstrik publikace ran ref register reservefloat reset resettextcontent resetznaceni rimskecislice rozdelplvouciobjekt rozpojeneznaceni roztazene schovejbloky section sedabarva seeregister settextcontent setupfonthandling setupfontsynonym setupforms setupinterlinespace2 setupitemgroup setuplistalternative setuppaper setupstrut sloupec slovovpravo sort spodek stanovcharakteristickuseznamu stanovcislonadpisu startalignment startbarva startbuffer startbuffer startcitace startcolumns startcombination startdescription startdocument startenumeration startfakt startfigure startfloattext startformula startframedtext starthiding startinteraktivnimenu startitemgroup startkomentar startkomponenta startlegend startline startlinecorrection startlinenumbering startlines startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginalnilinka startmarginblock startnamemakeup startnarrower startopposite startoverlay startoverview startparagraph startpositioning startpostponing startpozadi startprodukt startprofile startprojekt startprostredi startregister startsymbolset startsynchronization starttable starttables starttabulate starttextovalinka starttyping startunpacked startverze startzhustene stopalignment stopbarva stopbuffer stopbuffer stopcitace stopcolumns stopcombination stopdescription stopdocument stopenumeration stopfakt stopfigure stopfloattext stopformula stopframedtext stophiding stopinteraktivnimenu stopitemgroup stopkomentar stopkomponenta stoplegend stopline stoplinecorrection stoplinenumbering stoplines stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginalnilinka stopmarginblock stopnamemakeup stopnarrower stopopposite stopoverlay stopoverview stopparagraph stoppositioning stoppostponing stoppozadi stopprodukt stopprofile stopprojekt stopprostredi stopsymbolset stopsynchronization stoptable stoptables stoptabulate stoptextovalinka stoptyping stopunpacked stopverze stopzhustene strana sub subject subsection subsubject subsubsection subsubsubject sym symbol synchronizacnilista synchronizovat synonym tab tecky tenkalinka tenkelinky tex texthlavicky textovalinka textpopisku title tlacitko tref tvrdemezery typebuffer typstrany ukazbarvu ukazexterniobrazy ukazmrizku ukaznastaveni ukazpaletu ukazpodpery ukazpole ukazpostredizakladnihofontu ukazramecek ukazsadusymbolu ukazskupinubarev ukazupravu ukazvytisk ukazvzhled ukazzakladnifont umistikombinovanyseznam umistikombinovanyseznam umistilegendu umistiloga umistilokalnipoznamkypodcarou umistinadsebe umistinamrizku umistipodrovnici umistipoznamkypodcarou umistirejstrik umistirejstrik umistirovnici umistiseznam umistivedlesebe umistizalozky underbar underbars usedirectory usetypescript usetypescriptfile uzijURL uzijbloky uzijexternidokument uzijexterniobraz uzijexternisoubor uzijexternisoubory uzijexternizvuk uzijkodovani uzijmodul uzijodkazy uzijprikazy uzijspeciality uzijsymbol verze vl vlasovalinka vlevo vpravo vradku vsedniden vyberbloky vyberpapir vyberverzi vyplnenytext vyplnovelinky vyplnovepole vyplnovyradek vysoky zablokujinterakcnimenu zachovejbloky zadnamezera zadnebilemisto zadnedalsibloky zadnedalsisoubory zadnehorniadolniradky zadneodsazovani zadnezahlaviaupati zadneznaceni zadnyseznam zalozka zapisdorejstriku zapisdoseznamu zapisdoseznamuodkazu zapismeziseznam zaramovani zarovnanonastred zarovnanovlevo zarovnanovpravo zasobnikpoli zaznamovepole zhustene ziskejbuffer ziskejznaceni zlomek znaceni znak znaky zpracujbloky zpracujstranu zrcadlit zref \ No newline at end of file
diff --git a/context/data/scite/cont-cz-scite.properties b/context/data/scite/cont-cz-scite.properties
new file mode 100644
index 000000000..256a4ea3b
--- /dev/null
+++ b/context/data/scite/cont-cz-scite.properties
@@ -0,0 +1,76 @@
+keywordclass.macros.context.cz=\
+ MESIC Rimskecislice SLOVA SLOVO Slova Slovo \
+ VSEDNIDEN Znak Znaky aktualnicislonadpisu aktualnidatum arg \
+ barva bilemisto bublinkovanapoveda bypassblocks cernalinka cernelinky \
+ chem cisla cislonadpisu citace citovat completeregister \
+ crlf datum definerawfont definerule definetextposition definetextvariable \
+ definetype definuj definujbarvu definujblok definujbloksekce definujbuffer \
+ definujfont definujformatodkazu definujinterakcnimenu definujkombinovanyseznam definujkonverzi definujlogo \
+ definujnadpis definujobrazeksymbol definujodkaz definujodsazovani definujodstavce definujopis \
+ definujoramovani definujoramovanytext definujpaletu definujplvouciobjekt definujpodpole definujpole \
+ definujpopis definujpopisek definujprekryv definujpreskok definujprofil definujprogram \
+ definujprostredizakladnihofontu definujrejstrik definujsablonutabulky definujsekci definujseznam definujseznamodkazu \
+ definujskupinubarev definujstartstop definujsymbol definujsynonyma definujtabelaci definujtext \
+ definujtrideni definujupravu definujvelikostpapiru definujverzi definujvycet definujvystup \
+ definujzakladnifont definujzasobnikpoli definujznaceni dodrzujprofil dodrzujverzi dodrzujverziprofilu \
+ dvoustrannypapir emptylines externiobraz footnotetext forceblocks hl \
+ hlavnijazyk ininner inouter instalacejazyka interakcnilista interakcnitlacitka \
+ jazyk jdidolu jdina jdinabox klonujpole komentar \
+ konvertujcislo kopirujpole korekcebilehomista listsymbol marginalnilinka marginalnitext \
+ matematika meritko mesic mezera mrizka nadpis \
+ nadruhyokraj nadtrzeni nadtrzeno naokraj nastavbarvu nastavbarvy \
+ nastavbilamista nastavblok nastavbloksekce nastavbuffer nastavcernelinky nastavcislonadpisu \
+ nastavcislostrany nastavcislovani nastavcislovaniodstavcu nastavcislovaniradku nastavcislovanistran nastavcitaci \
+ nastavdefinicipoznamekpodcarou nastavdeleniplvoucichobjektu nastavdelitko nastavdolnitexty nastavexterniobrazy nastavhorejsek \
+ nastavhornitexty nastavinterakci nastavinterakcnilistu nastavinterakcniobrazovku nastavjazyk nastavkapitalky \
+ nastavkombinovanyseznam nastavkomentar nastavlegendu nastavmarginalie nastavmarginalniblok nastavmarginalnilinky \
+ nastavmeziradkovoumezeru nastavnadpis nastavnadpisy nastavodkazovani nastavodsazeni nastavodsazovani \
+ nastavodstavce nastavopis nastavoramovanetexty nastavoramovani nastavorez nastavotoceni \
+ nastavpaletu nastavplvouciobjekt nastavplvouciobjekty nastavpodcislostrany nastavpodtrzeni nastavpole \
+ nastavpolozky nastavpopisek nastavpopisky nastavpopisy nastavpozadi nastavpoznamkypodcarou \
+ nastavprechodstrany nastavpreskok nastavprofily nastavprogramy nastavprostredizakladnihofontu nastavpublikace \
+ nastavradkovani nastavradky nastavrastr nastavrejstrik nastavsadusymbolu nastavsekci \
+ nastavseznam nastavseznamodkazu nastavsirkucary nastavsloupce nastavspodek nastavspojeni \
+ nastavsynchronizaci nastavsynchronizacnilistu nastavsynonyma nastavsystem nastavtab nastavtabelaci \
+ nastavtabulky nastavtenkelinky nastavtext nastavtexthlavicky nastavtextovelinky nastavtextpopisku \
+ nastavtexttexty nastavtextyupati nastavtextyzahlavi nastavtlacitka nastavtoleranci nastavtrideni \
+ nastavtype nastavumisteniprotejsku nastavumistovani nastavupati nastavupravu nastavurl \
+ nastavusporadani nastavvelikostpapiru nastavverze nastavvsechnapole nastavvycty nastavvyplnovelinky \
+ nastavvyplnoveradky nastavvystup nastavvzhled nastavzahlavi nastavzakladnifont nastavzarovnani \
+ nastavznaceni nastavzuzeni nastrane nejakyradek nekde nivy \
+ nizky nop obrazovka odkaz odkaznadatum odkaznastranu \
+ odkaznatext odsazovani okr opis opissoubor oramovani \
+ oref orez otocit oznacverzi parovastrana pis \
+ placefloat placereferencelist placerule placetextvariable podtrzeni podtrzeno \
+ pol pole polozka polozky popisky porovnejpaletu \
+ porovnejskupinubarev positiontext pozadi pozice poznamka poznamkapodcarou \
+ pref prelozit premistinamrizku prepninazakladnifont preskoc preskrtnuti \
+ preskrtnuto prizpusobivepole prizpusobvzhled program propojeneznaceni propojenydokument \
+ propojenyrejstrik publikace ran ref reset resetznaceni \
+ rimskecislice rozdelplvouciobjekt rozpojeneznaceni roztazene schovejbloky scitani \
+ sedabarva settextcontent settextvariable setupforms setupitemgroup setuppaper \
+ setuprule setupstrut setuptextposition setuptextvariable sloupec slovovpravo \
+ spodek stanovcharakteristickuseznamu stanovcislonadpisu start startbarva startcitace \
+ startfakt startinteraktivnimenu startkomentar startkomponenta startmarginalnilinka startpozadi \
+ startprodukt startprojekt startprostredi starttextovalinka startverze startzhustene \
+ stop stopbarva stopcitace stopfakt stopinteraktivnimenu stopkomentar \
+ stopkomponenta stopmarginalnilinka stoppozadi stopprodukt stopprojekt stopprostredi \
+ stoptextovalinka stopverze stopzhustene strana switchtorawfont sym \
+ symbol synchronizacnilista synchronizovat tab tecky tenkalinka \
+ tenkelinky tex texthlavicky textovalinka textpopisku textvariable \
+ tlacitko tref tvrdemezery typebuffer typstrany ukazbarvu \
+ ukazexterniobrazy ukazmrizku ukaznastaveni ukazpaletu ukazpodpery ukazpole \
+ ukazpostredizakladnihofontu ukazramecek ukazsadusymbolu ukazskupinubarev ukazupravu ukazvytisk \
+ ukazvzhled ukazzakladnifont umistikombinovanyseznam umistilegendu umistiloga umistilokalnipoznamkypodcarou \
+ umistinadsebe umistinamrizku umistipodrovnici umistipoznamkypodcarou umistirejstrik umistirovnici \
+ umistiseznam umistivedlesebe umistizalozky uzijURL uzijbloky uzijexternidokument \
+ uzijexterniobraz uzijexternisoubor uzijexternisoubory uzijexternizvuk uzijkodovani uzijmodul \
+ uzijodkazy uzijprikazy uzijspeciality uzijsymbol verze vl \
+ vlasovalinka vlevo vpravo vradku vsedniden vyberbloky \
+ vyberpapir vyberverzi vyplnenytext vyplnovelinky vyplnovepole vyplnovyradek \
+ vysoky zablokujinterakcnimenu zachovejbloky zadnamezera zadnebilemisto zadnedalsibloky \
+ zadnedalsisoubory zadnehorniadolniradky zadneodsazovani zadnezahlaviaupati zadneznaceni zadnyseznam \
+ zadnytest zalozka zapisdorejstriku zapisdoseznamu zapisdoseznamuodkazu zapismeziseznam \
+ zaramovani zarovnanonastred zarovnanovlevo zarovnanovpravo zasobnikpoli zaznamovepole \
+ zhustene ziskejbuffer ziskejznaceni zlomek znaceni znak \
+ znaky zpracujbloky zpracujstranu zrcadlit zref
diff --git a/context/data/scite/cont-de-scite.properties b/context/data/scite/cont-de-scite.properties
new file mode 100644
index 000000000..b0e05b91a
--- /dev/null
+++ b/context/data/scite/cont-de-scite.properties
@@ -0,0 +1 @@
+keywordclass.macros.context.de=Buchstabe Buchstaben CAP Cap Caps MONAT Roemischezahlen WOCHENTAG WOERTER WORT Woerter Wort amgitterausrichten amgitterneuausrichten appendix aufseite ausfuellfeld ausfuelltext ausschnitt bearbeitebloecke bearbeiteseite behaltebloecke bei benutzekodierung benutzespezielles beschrifteversion beschriftung bestimmekopfnummer bestimmelistencharakeristika bildschirm blanko bookmark bruch buchstabe buchstaben but bypassblocks cap chapter chem completecombinedlist completelistoffloats completelistofsorts completelistofsynonyms completeregister coupledregister crlf datum definebodyfontDEF definebodyfontREF definedfont definefontfeature definefonthandling defineoutput defineschriftsynonym definetype definetypeface definiereabbsymbol definiereabsaetze definiereabschnitt definiereabschnittsblock definierebeschreibung definierebeschreibungen definierebeschriftung definiereblanko definiereblock definiereeinzug definierefarbe definierefarbengruppe definierefeld definierefeldstapel definierefliesstext definierefliesstextumgebung definieregleitobjekt definiereinteraktionsmenue definiereinteraktionsmenue definierekonversion definierelabel definiereliste definierelogo definieren definierenummerierung definiereoverlay definierepalette definierepapierformat definiereprofil definiereprogramme definierepuffer definierereferenz definierereferenzformat definierereferenzliste definiereregister definiereschrift definieresortieren definierestartstop definieresubfeld definieresymbol definieresynonyme definieretabellenvorlage definieretabulator definieretext definieretippen definiereueberschrift definiereumbruch definiereumrahmt definiereumrahmtertext definiereversion definierezusammengestellteliste description doppelseite doppelseitigespapier drehen duennelinie duennerumriss einezeile einziehen emptylines entknuepfebeschriftung enumeration externeabbildung farbe feld feldstapel festesspatium folgeprofil folgeprofilversion folgeversion footnotetext forceblocks format framedtext fussnote gefuelltesrechteck gefuelltezeile gestreckt gitter graufarbe haarlinie hauptsprache heutigesdatum heutigeskopfnummer hintergrund hl hoch holebeschriftung holepuffer imlinken imrechten imumriss in inaktiviereinteraktionsmenue inanderermarginale indentation ininner inmarginalie inouter installieresprache interaktionsbalken interaktionsknopfe inzeile irgendwo its keinebeschriftung keinebloeckemehr keinedateienmehr keinekopfundfusszeilen keineliste keinspatium keinzeilenobenundunten keinzwischenraum kleinerdurchschuss klonierefeld knopf kommentar konvertierezahl kopf kopfnummer kopierefeld korrigierezwischenraum labeling labels labeltext linksbuendig listsymbol loadsorts loadsynonyms mapfontsize mar marginallinie marginaltext mathematik mediaeval monat nachunten name nextsection nichteinziehen nocap nop notiz overbar overbars overstrike overstrikes paragraph part passelayoutan passendfeld placefloat placelistoffloats placelistofsorts placelistofsynonyms placereferencelist platzierebookmarks platziereformel platzierefussnoten platzierelegende platziereliste platzierelogo platzierelokalefussnoten platzierenebeneinander platziereregister platziereregister platziereuntereinander platziereunterformel platzierezusammengestellteliste platzierezusammengestellteliste pos position posten programm publikation punkt ran rechteck rechtecke rechtsbuendig ref referenz register registrierefelder reservefloat resettextcontent roemischezahlen ruecksetzten ruecksetztenbeschriftung schreibezumregister schreibezurliste schreibezurreferenzliste schreibezwischenliste section seeregister seite seitenreferenz seitentyp settext setupfonthandling setupfontsynonym setupforms setupinterlinespace2 setupitemgroup setuplistalternative setuppaper setupstrut showsymbolset sort spalte spatium spiegeln sprache startalignment startbuffer startbuffer startcolumns startcombination startdescription startdocument startenumeration startfarbe startfigure startfloattext startformula startframedtext startgeg starthiding starthintergrund startinteraktionsmenue startitemgroup startkleinerdurchschuss startkommentar startkomponente startlegend startline startlinecorrection startlinenumbering startlines startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginallinie startmarginblock startnamemakeup startnarrower startopposite startoverlay startoverview startparagraph startpositioning startpostponing startprodukt startprofile startprojekt startregister startsymbolset startsynchronization starttable starttables starttabulate starttextlinie starttyping startumgebung startunpacked startversion startzitat stelleabsaetzeein stelleabsatznummerierungein stelleabschnittein stelleabschnittsblockein stelleanordnenein stelleausgabeein stelleausrichtungein stelleausschnittein stellebeschreibungein stellebeschriftungein stellebilderunterschriftein stellebildunterschriftein stellebindestrichein stelleblankoein stelleblockein stelledrehenein stelleduennerumrissein stelleeinziehenein stelleeinzuegein stelleengerein stelleexterneabbildungenein stellefarbeein stellefarbenein stellefeldein stellefelderin stellefliesstextein stellefliesstextumgebungein stelleformelnein stellefussnotendefinitionein stellefussnotenein stellefusszeileein stellefusszeilentextein stellegefuelltesrechteckein stellegefuelltezeileein stellegegenueberplatzierenein stellegleitobjekteein stellegleitobjektein stellehintergruendeein stellehintergrundein stelleinmarginalieein stelleinteraktionein stelleinteraktionsbalkenein stelleinteraktionsbildschirmein stelleinteraktionsmenueein stelleknopfein stellekombinationein stellekommentarein stellekopfzahlein stellekopfzeileein stellekopfzeilentextein stellelabeltextein stellelayoutein stellelegendeein stellelinienbreiteein stellelisteein stellemarginalblockein stellemarginallinieein stellenobenein stellenummerierungein stellepaletteein stellepapierformatein stelleplatziegeteiltegleitobjekt stellepositionierenein stellepostenein stelleprofilein stelleprogrammein stellepublikationein stellepufferein stellerasterein stellerechteckein stellereferenzierenein stellereferenzlisteein stelleregisterein stelleseitennummerein stelleseitennummeriernungein stelleseitenuebergangein stellesortierenein stellespaltenein stellespatiumein stellespracheein stellesymbolsetein stellesynchronisationein stellesynchronisationsbalkenein stellesynonymein stellesystemein stelletabein stelletabellenein stelletabulatorein stelletextein stelletextobenein stelletexttexteein stelletextumrissein stelletextuntenein stelletipein stelletippenein stelletoleranzein stelleueberschriftein stelleueberschriftenein stelleueberschrifttextein stelleumbruchein stelleumrahmtein stelleumrahmtetexteein stelleuntenein stelleunterseitennummerein stelleunterstreichenein stelleurlein stelleversalienein stelleversionein stellezeilenabstandein stellezeilenein stellezeilennumerierungein stellezitierenein stellezusammengestelltelisteein stellezwischenraumein stopalignment stopbuffer stopbuffer stopcolumns stopcombination stopdescription stopdocument stopenumeration stopfarbe stopfigure stopfloattext stopformula stopframedtext stopgeg stophiding stophintergrund stopinteraktionsmenue stopitemgroup stopkleinerdurchschuss stopkommentar stopkomponente stoplegend stopline stoplinecorrection stoplinenumbering stoplines stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginallinie stopmarginblock stopnamemakeup stopnarrower stopopposite stopoverlay stopoverview stopparagraph stoppositioning stoppostponing stopprodukt stopprofile stopprojekt stopsymbolset stopsynchronization stoptable stoptables stoptabulate stoptextlinie stoptyping stopumgebung stopunpacked stopversion stopzitat sub subject subsection subsubject subsubsection subsubsubject sym symbol synchronisationsbalken synchronisieren synonym tab teilegleitobjekt tex textlinie textreferenz tief tiho tip tippedatei tippen tippepuffer title tooltip ueber ueberschrifttext uebersetzten umrahmt underbar underbars usedirectory usetypescript usetypescriptfile verbergebloecke vergleichefarbengruppe vergleichepalette verknuepfebeschriftung verknuepfedokument verknuepfregister version verweis verweisdatum verwendeURL verwendebefehl verwendebloecke verwendeexteresdokument verwendeexterneabbildung verwendeexternedatei verwendeexternedateien verwendeexternestonstueck verwendemodul verwendereferenzen verwendesymbole vl von waehlebloeckeaus waehlepapieraus waehleversionaus wechselezumfliesstext wochentag wortrechts zeigedruck zeigeeinstellungen zeigeexterneabbildungen zeigefarbe zeigefarbengruppe zeigefelder zeigefliesstext zeigefliesstextumgebung zeigegitter zeigelayout zeigepalette zeigerahmen zeigestruts zeigeumbruch zentriert ziffern zitat zitieren zu zurbox zwischenraum \ No newline at end of file
diff --git a/context/data/scite/cont-en-scite.properties b/context/data/scite/cont-en-scite.properties
new file mode 100644
index 000000000..a83042bf6
--- /dev/null
+++ b/context/data/scite/cont-en-scite.properties
@@ -0,0 +1 @@
+keywordclass.macros.context.en=CAP Cap Caps Character Characters MONTH Romannumerals WEEKDAY WORD WORDS Word Words about adaptlayout appendix at atpage background blackrule blackrules blank bookmark but button bypassblocks cap chapter character characters chem clip clonefield color column comment comparecolorgroup comparepalet completecombinedlist completelistoffloats completelistofsorts completelistofsynonyms completeregister convertnumber copyfield correctwhitespace coupledocument coupledregister couplemarking couplepage couplepaper coupleregister crlf currentdate currentheadnumber date decouplemarking define defineblank defineblock definebodyfont definebodyfontDEF definebodyfontREF definebodyfontenvironment definebuffer definecolor definecolorgroup definecombinedlist defineconversion definedescription definedfont defineenumeration definefield definefieldstack definefiguresymbol definefloat definefont definefontfeature definefonthandling definefontsynonym defineframed defineframedtext definehead defineindenting defineinteractionmenu defineinteractionmenu definelabel definelist definelogo definemakeup definemarking defineoutput defineoverlay definepalet definepapersize defineparagraphs defineprofile defineprogram definereference definereferenceformat definereferencelist defineregister definesection definesectionblock definesorting definestartstop definesubfield definesymbol definesynonyms definetabletemplate definetabulate definetext definetype definetypeface definetyping defineversion description determineheadnumber determinelistcharacteristics disableinteractionmenu emptylines enumeration externalfigure field fieldstack fillinfield fillinline fillinrules fillintext fitfield fixedspaces followprofile followprofileversion followversion footnote footnotetext forceblocks fraction framed framedtext from getbuffer getmarking godown goto gotobox graycolor grid hairline head headnumber headtext hideblocks high hl in indentation indenting inframed ininner inleft inline inmargin inothermargin inouter inright installlanguage interactionbar interactionbuttons item items its keepblocks labeling labels labeltext language leftaligned listsymbol loadsorts loadsynonyms logfields lohi low mainlanguage mapfontsize mar marginrule margintext marking markversion mathematics mediaeval midaligned mirror month moveongrid name nextsection nocap noheaderandfooterlines noindenting nolist nomarking nomoreblocks nomorefiles nop nospace note notopandbottomlines nowhitespace numbers overbar overbars overstrike overstrikes packed page pagereference pagetype paragraph part periods placebookmarks placecombinedlist placecombinedlist placefloat placefootnotes placeformula placelegend placelist placelistoffloats placelistofsorts placelistofsynonyms placelocalfootnotes placelogos placeongrid placeontopofeachother placereferencelist placeregister placeregister placesidebyside placesubformula position processblocks processpage program publication quotation quote ran ref reference referral referraldate register reservefloat reset resetmarking resettextcontent rightaligned romannumerals rotate scale screen section seeregister selectblocks selectpaper selectversion settextcontent setupalign setuparranging setupbackground setupbackgrounds setupblackrules setupblank setupblock setupbodyfont setupbodyfontenvironment setupbottom setupbottomtexts setupbuffer setupbuttons setupcapitals setupcaption setupcaptions setupclipping setupcolor setupcolors setupcolumns setupcombinations setupcombinedlist setupcomment setupdescriptions setupenumerations setupexternalfigures setupfield setupfields setupfillinlines setupfillinrules setupfloat setupfloats setupfloatsplitting setupfonthandling setupfontsynonym setupfooter setupfootertexts setupfootnotedefinition setupfootnotes setupforms setupformulae setupframed setupframedtexts setuphead setupheader setupheadertexts setupheadnumber setupheads setupheadtext setuphyphenmark setupindentations setupindenting setupinmargin setupinteraction setupinteractionbar setupinteractionmenu setupinteractionscreen setupinterlinespace setupinterlinespace2 setupitemgroup setupitems setuplabeltext setuplanguage setuplayout setuplegend setuplinenumbering setuplines setuplinewidth setuplist setuplistalternative setupmakeup setupmarginblocks setupmarginrules setupmarking setupnarrower setupnumbering setupoppositeplacing setupoutput setuppagenumber setuppagenumbering setuppagetransitions setuppalet setuppaper setuppapersize setupparagraphnumbering setupparagraphs setuppositioning setupprofiles setupprograms setuppublications setupquote setupreferencelist setupreferencing setupregister setuprotate setupscreens setupsection setupsectionblock setupsorting setupspacing setupstrut setupsubpagenumber setupsymbolset setupsynchronization setupsynchronizationbar setupsynonyms setupsystem setuptab setuptables setuptabulate setuptext setuptextrules setuptexttexts setupthinrules setuptolerance setuptop setuptoptexts setuptype setuptyping setupunderbar setupurl setupversions setupwhitespace showbodyfont showbodyfontenvironment showcolor showcolorgroup showexternalfigures showfields showframe showgrid showlayout showmakeup showpalet showprint showsetups showstruts showsymbolset someline somewhere sort space splitfloat startalignment startbackground startbuffer startbuffer startcolor startcolumns startcombination startcomment startcomponent startdescription startdocument startenumeration startenvironment startfact startfigure startfloattext startformula startframedtext starthiding startinteractionmenu startitemgroup startlegend startline startlinecorrection startlinenumbering startlines startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginblock startmarginrule startnamemakeup startnarrower startopposite startoverlay startoverview startpacked startparagraph startpositioning startpostponing startproduct startprofile startproject startquotation startregister startsymbolset startsynchronization starttable starttables starttabulate starttextrule starttyping startunpacked startversion stopalignment stopbackground stopbuffer stopbuffer stopcolor stopcolumns stopcombination stopcomment stopcomponent stopdescription stopdocument stopenumeration stopenvironment stopfact stopfigure stopfloattext stopformula stopframedtext stophiding stopinteractionmenu stopitemgroup stoplegend stopline stoplinecorrection stoplinenumbering stoplines stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginblock stopmarginrule stopnamemakeup stopnarrower stopopposite stopoverlay stopoverview stoppacked stopparagraph stoppositioning stoppostponing stopproduct stopprofile stopproject stopquotation stopsymbolset stopsynchronization stoptable stoptables stoptabulate stoptextrule stoptyping stopunpacked stopversion stretched sub subject subsection subsubject subsubsection subsubsubject switchtobodyfont sym symbol synchronizationbar synchronize synonym tab tex textreference textrule thinrule thinrules title tooltip translate typ type typebuffer typefile underbar underbars useURL useblocks usecommands usedirectory useencoding useexternaldocument useexternalfigure useexternalfile useexternalfiles useexternalsoundtrack usemodule usereferences usespecials usesymbols usetypescript usetypescriptfile version vl weekday whitespace wordright writebetweenlist writetolist writetoreferencelist writetoregister \ No newline at end of file
diff --git a/context/data/scite/cont-fr-scite.properties b/context/data/scite/cont-fr-scite.properties
new file mode 100644
index 000000000..606be2efa
--- /dev/null
+++ b/context/data/scite/cont-fr-scite.properties
@@ -0,0 +1 @@
+keywordclass.macros.context.fr=CAP Cap Caps Caractere Caracteres Chiffresromains JOURSEMAINE MOIS MOT MOTS Mot Mots a adaptedisposition ajustechamp alaligne alapage aligneadroite aligneagauche aligneaumilieu appendix arriereplan baha barreinteraction barresynchronisation bas bouton boutonsinteraction but cacheblocs cap caractere caracteres champ changepolicecorps chapter chem chiffresromains citation citer clip clonechamp colonne commentaire comparegroupecouleur comparepalette completecombinedlist completelistoffloats completelistofsorts completelistofsynonyms completeregistre composeenalinea concernant convertitnumero copitchamp corrigeespaceblanc couleur couleurgrise coupledocument coupledregister couplemarquage couplepapier coupleregistre crlf dactylographier dans dansautremarge dansdroite dansgauche dansmarge date datecourante daterecommandation de decouplemarquage definebodyfontDEF definebodyfontREF definedfont definefontfeature definefonthandling defineframed defineframedtext definetypeface definit definitbloc definitblocsection definitbuffer definitchamp definitcompoalinea definitconversion definitcouleur definitdactylo definitdemarrestoppe definitdescription definitenumeration definitenvironnementpolicecorps definitetiquette definitflottant definitformatreference definitgroupecouleur definitliste definitlisteimbriquee definitlistereference definitlogo definitmakeup definitmarquage definitmenuinteraction definitmenuinteraction definitnotepdp definitpalette definitparagraphes definitpilechamp definitpolice definitpolicecorps definitprofil definitprogramme definitreference definitregistre definitrevetement definitsection definitsortie definitsouschamp definitsymbole definitsymbolefigure definitsynonymepolice definitsynonymes definittabulation definittaillepapier definittete definittexte definittrametableau definittri definittype definitversion definitvide definitvide demarreciter deplacesurgrille description determinecaracteristiqueliste determinenumerotete echelle ecran ecritdansliste ecritdanslistereference ecritentreliste ecritregistre el element elements emptylines enumeration espace espaceblanc espacesfixes etiquettes etire fichierdactylo figureexterne forceblocs fraction framed framedtext gardeblocs grille groupe haut hl indentation inframed inhibemenuinteraction ininner inouter installelangue joursemaine labeling labeltexte langue langueprincipale ligneh lignenoire ligneregleetexte lignesnoires listesymbole loadsorts loadsynonyms logchamp mapfontsize mar margereglee marquage marquageversion marquepage mathematique mediaeval mois montrecadre montrechamps montrecouleur montredisposition montreedition montreenvironnementpolicecorps montrefiguresexternes montregrille montregroupecouleur montrejeusymboles montremakeup montrepalette montrepolicecorps montrereglages montrestruts motdroit name nextsection nocap nop note notepdp numeros numerotete numerotetecourant obtientmarquage oriente overbar overbars overstrike overstrikes page pagedouble paragraph part pasplusdeblocs pasplusdefichiers periodes pilechamp placecoteacote placeflottant placeformule placelegende placelesunsaudessusdesautres placeliste placelisteinmbriquee placelisteinmbriquee placelistereference placelistoffloats placelistofsorts placelistofsynonyms placelogos placemarquespages placenotespdp placenotespdplocales placeregistre placeregistre placesousformule placesurgrille position prendbuffer programme publication qqpart ran raz razmarquage recommandation ref reference referencepage referencetexte reflete register reglealignement reglealineas reglearrangement reglearriereplan reglearriereplans reglebarreinteraction reglebarresynchronisation reglebloc regleblocmarge regleblocsection regleboutons reglebuffer reglecapitales reglechamp reglechamps regleclipping reglecolonnes reglecombinaisons reglecommentaire reglecompoetroite reglecomposeenalinea reglecouleur reglecouleurs regledactylo regledansmarge regledescriptions regledisposition regleecraninteraction regleecrans regleelements regleencadre regleentete regleenumerations regleenvironnementpolicecorps regleepaisseurligne regleespaceblanc regleespacement regleespacementinterligne reglefiguresexternes regleflottant regleflottants regleformulaires regleformules regleinf regleinteraction regleintitule regleintitules reglejeusymboles reglelabeltexte reglelangue reglelegende reglelignes reglelignesnoires reglelignesreglestexte regleliste reglelisteimbriquee reglelistereference reglemakeup reglemargereglee reglemarquage reglemarquagehyphenation reglemenuinteraction reglenotepdp reglenumeropage reglenumerotation reglenumerotationligne reglenumerotationpage reglenumerotationparagraphe reglenumerotete regleoriente reglepalette reglepapier regleparagraphes reglepdp regleplacementopposition reglepolicecorps reglepositionnement regleprofils regleprogrammes reglepublications reglereferencage regleregistre regleremplitligne regleremplitlignesreglees reglesection regleseparationflottant reglesortie reglesouslignage reglesousnumeropage reglestrut reglesup reglesynchronisation reglesynonymes reglesysteme regletab regletableaux regletabulation regletaillepapier regletete regletetes regletexte regletextesentete regletextesinf regletextespdp regletextessup regletextestexte regletextetete regletolerance regletraitsfins regletransitionspage regletri regletype regleurl regleversions remplitchamp remplitligne remplitlignesreglees remplittexte reservefloat resettextcontent sansalinea sansespace sansespaceblanc sanslignesenteteetpdp sanslignessupetinf sansliste sansmarquage sauteblocs section seeregister selectionneblocs selectionnepapier selectionneversion separeflottant settext setupfonthandling setupfontsynonym setupframedtexts setupinterlinespace2 setupitemgroup setuplistalternative sort startalignment startarriereplan startbuffer startbuffer startcitation startcolumns startcombination startcommentaire startcomposant startcouleur startdescription startdocument startenumeration startenvironement startfait startfigure startfloattext startformula startframedtext startgroupe starthiding startitemgroup startlegend startligneregleetexte startline startlinecorrection startlinenumbering startlines startlocal startlocalenvironment startlocalfootnotes startmakeup startmargereglee startmarginblock startmenuinteraction startnamemakeup startnarrower startopposite startoverlay startoverview startparagraph startpositioning startpostponing startproduit startprofile startprojet startregister startsymbolset startsynchronization starttable starttables starttabulate starttyping startunpacked startversion stopalignment stoparriereplan stopbuffer stopbuffer stopcitation stopcolumns stopcombination stopcommentaire stopcomposant stopcouleur stopdescription stopdocument stopenumeration stopenvironement stopfait stopfigure stopfloattext stopformula stopframedtext stopgroupe stophiding stopitemgroup stoplegend stopligneregleetexte stopline stoplinecorrection stoplinenumbering stoplines stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmargereglee stopmarginblock stopmenuinteraction stopnamemakeup stopnarrower stopopposite stopoverlay stopoverview stopparagraph stoppositioning stoppostponing stopproduit stopprofile stopprojet stopsymbolset stopsynchronization stoptable stoptables stoptabulate stoptyping stopunpacked stopversion sub subject subsection subsubject subsubsection subsubsubject suggestion suivantprofil suivantversion suivantversionprofil sym symbole synchronise synonym tab tapebuffer tapepage tete tex textemarge textenotepdp textetete title traduire traiteblocs traitepage traitfin traitsfins typ underbar underbars uneligne usedirectory usetypescript usetypescriptfile utiliseURL utiliseblocs utilisecommandes utilisedocumentexterne utiliseencodage utilisefichierexterne utilisefichiersexternes utilisefigureexterne utilisemodule utilisepsiteaudioexterne utilisereferences utilisespecialites utilisesymboles va vaalaboite vaenbas version vide vl \ No newline at end of file
diff --git a/context/data/scite/cont-it-scite.properties b/context/data/scite/cont-it-scite.properties
new file mode 100644
index 000000000..da5df2400
--- /dev/null
+++ b/context/data/scite/cont-it-scite.properties
@@ -0,0 +1 @@
+keywordclass.macros.context.it=CAP Cap Caps GIORNOSETTIMANA Lettera Lettere MESE Numeriromani PAROLA PAROLE Parola Parole accoppiacarta accoppiadocumento accoppiamarcatura accoppiapagina accoppiaregistro adattacampo adattalayout al allineacentro allineadestra allineasinistra ap apagina appendix barrainterazione barrasincronizzazione bastablocchi bastafile cambiaafontdeltesto campi camporiempimento cap capello chapter chim circondato citazione clip clonacampo colonna colore coloregrigio commento completecombinedlist completelistoffloats completelistofsorts completelistofsynonyms completeregister confrontagruppocolori confrontatavolozza convertinumero copiacampo correggispaziobianco coupledregister crlf da daqualcheparte data datadioggi datareferral definebodyfontDEF definebodyfontREF definedfont definefontfeature definefonthandling definetypeface definisci definisciambientefontdeltesto definisciblocco definiscibloccosezione definiscibuffer definiscicampo definiscicapoversi definiscicolore definisciconversione definiscidescrizione definiscidimensionicarta definiscielenco definiscielencocombinato definiscienumerazione definiscietichetta definiscifigurasimbolo definiscifont definiscifontdeltesto definisciformatoriferimento definiscigruppocolori definisciincorniciato definisciiniziatermina definiscilistariferimenti definiscilogo definiscimakeup definiscimarcatura definiscimenuinterazione definiscimenuinterazione definiscimodellotabella definiscioggettomobile definisciordinamento definiscioutput definisciprofilo definisciprogramma definisciregistro definiscirientro definisciriferimento definiscirigovuoto definiscisezione definiscisimbolo definiscisinonimi definiscisinonimofont definiscisottocampo definiscisovrapposizione definiscistackcampi definiscitabulato definiscitavolozza definiscitesta definiscitesto definiscitestoincorniciato definiscitype definiscityping definisciversion description determinacarattersticheelenco determinanumerotesta disabilitamenuinterazione el elaborablocchi elaborapagina elementi elemento emptylines enumeration etichette figuraesterna fondo forzablocchi framedtext frazione giornosettimana griglia hl impaccato impostaallineamento impostaambientefontdeltesto impostaampiezzariga impostabarrainterazione impostabarrasincronizzazione impostablocchimargine impostablocco impostabloccosezione impostabuffer impostacampi impostacampo impostacapoversi impostacaption impostacaptions impostacima impostaclippling impostacolonne impostacolore impostacolori impostacombinazioni impostacommento impostadefinizionenotepdp impostadescrizioni impostadimensionicarta impostaelementi impostaelenco impostaelencocombinato impostaenumerazioni impostafigureesterne impostafondo impostafontdeltesto impostaforms impostaformule impostaincorniciato impostainmargine impostainstestazione impostainterazione impostainterlinea impostalayout impostalegenda impostalineemargine impostalineenere impostalineeriempimento impostalineesottili impostalineetesto impostalingua impostalistariferimenti impostamaiuscole impostamakeup impostamarcatura impostamenuinterazione impostamenzione impostanotepdp impostanumerazione impostanumerazionecapoversi impostanumerazionepagina impostanumerazionerighe impostanumeropagina impostanumerosottopagina impostanumerotesta impostaoggettimobili impostaoggettomobile impostaordinamento impostaoutput impostaparranging impostapdp impostapiustretto impostaposizionamento impostaposizionamentoopposti impostaprofili impostaprogrammi impostapubblicazioni impostapulsanti impostaregistro impostarientri impostarientro impostariferimento impostarighe impostarigheriempimento impostarigovuoto impostarotazione impostaschermi impostaschermointerazione impostasegnosillabazione impostasetsimboli impostasezione impostasfondi impostasfondo impostasincronizzazione impostasinonimi impostasistema impostasottolinea impostaspaziatura impostaspaziobianco impostaspezzamentooggettomobile impostastrut impostatab impostatabelle impostatabulato impostatavolozza impostatesta impostateste impostatesticima impostatestifondo impostatestiincorniciati impostatestiintestazioni impostatestipdp impostatesto impostatestoetichette impostatestointestazioni impostatestotesti impostatolleranza impostatransizionepagina impostatype impostatyping impostaurl impostaversioni in inaltromargine incorniciato indentation indestra ininner inmargine inouter inriga insinistra installalingua intorno labeling lettera lettere lineamargine lineanera lineasottile lineatesto lineenere lineeriempimento lineesottili lingua linguaprincipale listsymbol loadsorts loadsynonyms logcampi mapfontsize mar marcatura marcaversione matematica mediaeval menzione mese mettielenco mettielencocombinato mettielencocombinato mettifiancoafianco mettiformula mettiingriglia mettilegenda mettiloghi mettinotepdp mettinotepdplocali mettiregistro mettiregistro mettisegnalibro mettisottoformula mettiunosullaltro mostraambientefontdeltesto mostracampi mostracolore mostracornice mostrafiguresterne mostrafontdeltesto mostragriglia mostragruppocolori mostraimpostazioni mostralyout mostramakeup mostrasetsimboli mostrastampa mostrastruts mostratavolozza name nascondiblocchi nextsection nienteelenco nientelineecimafondo nientelineintestazionepdp nientemarcatura nienterientro nientespazio nientespaziobianco nocap nop nota notapdp numeri numeriromani numerotesta numerotestacorrente overbar overbars overstrike overstrikes pagina paragraph paroladestra part ped pedap placefloat placelistoffloats placelistofsorts placelistofsynonyms placereferencelist posizione prendibuffer prendimarcatura programma pubblicazione pulsante pulsantinterazione punti qualcheriga ran referral register reimposta reimpostamarcatura reservefloat resettextcontent rientro rif riferimento riferimentopagina riferimentotesto riflessione rigariempimento rigovuoto ruota saltablocchi scala schermo scrividentroelenco scriviinelenco scriviinlistariferimenti scriviinregistro section seeregister segnalibro seguiprofilo seguiversione seguiversioneprofilo selezionablocchi selezionacarta selezionaversione separamarcatura settext setupfonthandling setupfontsynonym setupinterlinespace2 setupitemgroup setuplistalternative setuppaper sfondo sim simbolo sincronizza sort spazifissi spazio spaziobianco spezzaoggettomobile spostaagriglia stackcampi startalignment startambiente startbuffer startbuffer startcitazione startcolore startcolumns startcombination startcommento startcomponenet startdescription startdocument startenumeration startfatto startfigure startfloattext startformula startframedtext starthiding startimpaccato startitemgroup startlegend startline startlineamargine startlineatesto startlinecorrection startlinenumbering startlines startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginblock startmenuinterattivo startnamemakeup startnarrower startopposite startoverlay startoverview startparagraph startpositioning startpostponing startprodotto startprofile startprogetto startregister startsfondo startsymbolset startsynchronization starttable starttables starttabulate starttyping startunpacked startversione stirato stopalignment stopambiente stopbuffer stopbuffer stopcitazione stopcolore stopcolumns stopcombination stopcommento stopcomponenet stopdescription stopdocument stopenumeration stopfatto stopfigure stopfloattext stopformula stopframedtext stophiding stopimpaccato stopitemgroup stoplegend stopline stoplineamargine stoplineatesto stoplinecorrection stoplinenumbering stoplines stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginblock stopmenuinterattivo stopnamemakeup stopnarrower stopopposite stopoverlay stopoverview stopparagraph stoppositioning stoppostponing stopprodotto stopprofile stopprogetto stopsfondo stopsymbolset stopsynchronization stoptable stoptables stoptabulate stoptyping stopunpacked stopversione sub subject subsection subsubject subsubsection subsubsubject synonym tab testa testoetichetta testoinmargine testoinstestazioni testonotapdp testoriempimento tex tieniblocchi tipopagina title tooltip traduci typ type typebuffer typefile underbar underbars usaURL usablocco usacodifica usacolonnasonoraesterna usacomandi usadocumentoesterno usafiguraesterna usafileesterni usafileesterno usamodulo usariferimenti usasimboli usaspecialita usedirectory usetypescript usetypescriptfile vaia vaiabox vaigiu versione vl \ No newline at end of file
diff --git a/context/data/scite/cont-nl-scite.properties b/context/data/scite/cont-nl-scite.properties
new file mode 100644
index 000000000..688c8a7c0
--- /dev/null
+++ b/context/data/scite/cont-nl-scite.properties
@@ -0,0 +1 @@
+keywordclass.macros.context.nl=CAP Cap Caps Letter Letters MAAND Romeins WEEKDAG WOORD WOORDEN Woord Woorden about achtergrond appendix bepaalkopnummer bepaallijstkenmerken blanko blokje blokjes blokkeerinteractiemenu bookmark breuk but button cap chapter chem cijfers citaat citeer clip commentaar completecombinedlist completelistoffloats completelistofsorts completelistofsynonyms converteernummer copieerveld corrigeerwitruimte coupledregister crlf datum definebodyfontDEF definebodyfontREF definedfont definefontfeature definefonthandling definetypeface definieer definieeralineas definieerbeeldmerk definieerblanko definieerblok definieerbuffer definieerconversie definieerfiguursymbool definieerfont definieerfontsynoniem definieerinteractiemenu definieerinteractiemenu definieerkadertekst definieerkleur definieerkleurgroep definieerkop definieerkorps definieerkorpsomgeving definieerlijst definieermarkering definieeromlijnd definieeropmaak definieeroverlay definieerpalet definieerpapierformaat definieerplaatsblok definieerprofiel definieerprogramma definieerreferentie definieerreferentieformaat definieerreferentielijst definieerregister definieersamengesteldelijst definieersectie definieersectieblok definieersorteren definieerstartstop definieersubveld definieersymbool definieersynoniemen definieertabelvorm definieertabulatie definieertekst definieertype definieertypen definieeruitvoer definieerveld definieerveldstapel definieerversie description doordefinieren doorlabelen doornummeren doorspringen dunnelijn dunnelijnen eenregel enumeration ergens externfiguur forceerblokken framedtext gebruikURL gebruikblokken gebruikcommandos gebruikexterndocument gebruikexternefile gebruikexternefiles gebruikexternfiguur gebruikexterngeluidsfragment gebruikmodule gebruikreferenties gebruikspecials gebruiksymbolen gebruiktypescript gebruiktypescriptfile geenblokkenmeer geenbovenenonderregels geenfilesmeer geenhoofdenvoetregels geenlijst geenmarkering geenspatie geenwitruimte grijskleur haalbuffer haalmarkering haarlijn handhaafblokken hl hoofdtaal hoog huidigedatum huidigekopnummer in inanderemarge inbinnen inbuiten indentation inlijnd inlinker inmarge inrechter inregel inspringen installeertaal interactiebalk interactiebuttons invullijnen invulregel invultekst invulveld items its kantlijn kenmerk kenmerkdatum kleur kloonveld kolom kop kopnummer koppeldocument koppelmarkering koppelpagina koppelpapier koppelregister koptekst laag labeling labels labeltekst laho legeregels letter letters lijstsymbool loadsorts loadsynonyms maand mapfontsize mar margetekst markeer markeerversie mediaeval naar naarbox name nextsection nietinspringen nocap noot nop omlaag omlijnd ontkoppelmarkering op opelkaar oppagina overbar overbars overstrike overstrikes pagina paginareferentie paragraph part paslayoutaan passeerblokken passendveld plaatsbeeldmerken plaatsbookmarks plaatsformule plaatslegenda plaatslijst plaatslokalevoetnoten plaatsnaastelkaar plaatsonderelkaar plaatsopgrid plaatsplaatsblok plaatsreferentielijst plaatsregister plaatsregister plaatssamengesteldelijst plaatssamengesteldelijst plaatssubformule plaatsvoetnoten placelistoffloats placelistofsorts placelistofsynonyms positioneer programma publicatie punten ran ref referentie regellinks regelmidden regelrechts register registreervelden reservefloat reset resetmarkering resettextcontent romeins rooster roteer schaal scherm schrijfnaarlijst schrijfnaarreferentielijst schrijfnaarregister schrijftussenlijst section seeregister selecteerblokken selecteerpapier selecteerversie setupfonthandling setupfontsynonym setupinterlinespace2 setuplistalternative som soortpagina sort spatie spiegel splitsplaatsblok startachtergrond startalignment startbuffer startbuffer startcitaat startcolumns startcombination startcommentaar startdescription startdocument startenumeration startfigure startfloattext startformula startframedtext startgeg starthiding startinteractiemenu startitemgroup startkantlijn startkleur startlegend startline startlinecorrection startlinenumbering startlines startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginblock startnamemakeup startnarrower startomgeving startonderdeel startopelkaar startopposite startoverlay startoverview startparagraph startpositioning startpostponing startprodukt startprofile startprojekt startregister startsymbolset startsynchronization starttable starttables starttabulate starttekstlijn starttyping startunpacked startversie stelachtergrondenin stelachtergrondin stelalineasin stelarrangerenin stelblankoin stelblokin stelblokjesin stelblokkopjein stelblokkopjesin stelbovenin stelboventekstenin stelbufferin stelbuttonsin stelciterenin stelclipin stelcombinatiesin stelcommentaarin steldoordefinierenin steldoornummerenin steldoorspringenin steldunnelijnenin stelexternefigurenin stelformulesin stelformulierenin stelhoofdin stelhoofdtekstenin stelinmargein stelinspringenin stelinteractiebalkin stelinteractiein stelinteractiemenuin stelinteractieschermin stelinterliniein stelinvullijnenin stelinvulregelsin stelitemgroepin stelitemsin stelkadertekstenin stelkantlijnin stelkapitalenin stelkleurenin stelkleurin stelkolommenin stelkopin stelkopnummerin stelkoppeltekenin stelkoppenin stelkoptekstin stelkorpsin stelkorpsomgevingin stellabeltekstin stellayoutin stellegendain stellijndiktein stellijstin stelmargeblokkenin stelmarkeringin stelnaastplaatsenin stelnummerenin stelomlijndin stelonderin stelonderstrepenin stelondertekstenin stelopmaakin stelpaginanummerin stelpaginanummeringin stelpaginaovergangenin stelpaletin stelpapierformaatin stelpapierin stelparagraafnummerenin stelplaatsblokin stelplaatsblokkenin stelplaatsbloksplitsenin stelpositionerenin stelprofielenin stelprogrammasin stelpublicatiesin stelrastersin stelreferentielijstin stelrefererenin stelregelnummerenin stelregelsin stelregisterin stelroterenin stelsamengesteldelijstin stelsectieblokin stelsectiein stelsmallerin stelsorterenin stelspatieringin stelstrutin stelsubpaginanummerin stelsymboolsetin stelsynchronisatiebalkin stelsynchronisatiein stelsynoniemenin stelsysteemin steltaalin steltabellenin steltabin steltabulatiein steltekstin steltekstinhoudin steltekstlijnenin stelteksttekstenin steltolerantiein steltypein steltypenin steluitlijnenin steluitvoerin stelurlin stelveldenin stelveldin stelversiesin stelvoetin stelvoetnootdefinitiein stelvoetnotenin stelvoettekstenin stelwitruimtein stopachtergrond stopalignment stopbuffer stopbuffer stopcitaat stopcolumns stopcombination stopcommentaar stopdescription stopdocument stopenumeration stopfigure stopfloattext stopformula stopframedtext stopgeg stophiding stopinteractiemenu stopitemgroup stopkantlijn stopkleur stoplegend stopline stoplinecorrection stoplinenumbering stoplines stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginblock stopnamemakeup stopnarrower stopomgeving stoponderdeel stopopelkaar stopopposite stopoverlay stopoverview stopparagraph stoppositioning stoppostponing stopprodukt stopprofile stopprojekt stopsymbolset stopsynchronization stoptable stoptables stoptabulate stoptekstlijn stoptyping stopunpacked stopversie sub subject subsection subsubject subsubsection subsubsubject suggestie switchnaarkorps sym symbool synchronisatiebalk synchroniseer synonym taal tab tekstlijn tekstreferentie tex title toonexternefiguren toongrid tooninstellingen toonkader toonkleur toonkleurgroep toonkorps toonkorpsomgeving toonlayout toonopmaak toonpalet toonprint toonstruts toonsymboolset toonvelden typ type typebuffer typefile uit uitgerekt underbar underbars usecodering usedirectory vastespaties veld veldstapel verbergblokken vergelijkkleurgroep vergelijkpalet verplaatsopgrid versie vertaal verwerkblokken verwerkpagina vl voetnoot voetnoottekst volgprofiel volgprofielversie volgversie volledigregister weekdag wiskunde witruimte woordrechts \ No newline at end of file
diff --git a/context/data/scite/cont-pe-scite.properties b/context/data/scite/cont-pe-scite.properties
new file mode 100644
index 000000000..a17695725
--- /dev/null
+++ b/context/data/scite/cont-pe-scite.properties
@@ -0,0 +1 @@
+keywordclass.macros.context.pe=CAP Cap Caps Character Characters MONTH Romannumerals WEEKDAY WORD WORDS Word Words appendix cap chapter chem completecombinedlist completelistoffloats completelistofsorts completelistofsynonyms coupledregister crlf definebodyfontDEF definebodyfontREF definedfont definefontfeature definefonthandling definetypeface description enumeration framedtext indentation its labeling loadsorts loadsynonyms mapfontsize mediaeval name nextsection nocap overbar overbars overstrike overstrikes paragraph part placelistoffloats placelistofsorts placelistofsynonyms ran register reservefloat resettextcontent section seeregister setupcapitals setupfonthandling setupfontsynonym setupinterlinespace2 setuplistalternative setupurl sort startalignment startbuffer startbuffer startcolumns startcombination startdescription startdocument startenumeration startfigure startfloattext startformula startframedtext starthiding startitemgroup startlegend startline startlinecorrection startlinenumbering startlines startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginblock startnamemakeup startnarrower startopposite startoverlay startoverview startparagraph startpositioning startpostponing startprofile startregister startsymbolset startsynchronization starttable starttables starttabulate starttyping startunpacked startتوضیح startتولید startحقیقت startخط‌حاشیه startخط‌متن startرنگ startفشرده startمحیط startمنوی‌پانل startمولفه startنسخه startنقل‌قول startپروژه startپس‌زمینه stopalignment stopbuffer stopbuffer stopcolumns stopcombination stopdescription stopdocument stopenumeration stopfigure stopfloattext stopformula stopframedtext stophiding stopitemgroup stoplegend stopline stoplinecorrection stoplinenumbering stoplines stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginblock stopnamemakeup stopnarrower stopopposite stopoverlay stopoverview stopparagraph stoppositioning stoppostponing stopprofile stopsymbolset stopsynchronization stoptable stoptables stoptabulate stoptyping stopunpacked stopتوضیح stopتولید stopحقیقت stopخط‌حاشیه stopخط‌متن stopرنگ stopفشرده stopمحیط stopمنوی‌پانل stopمولفه stopنسخه stopنقل‌قول stopپروژه stopپس‌زمینه sub subject subsection subsubject subsubsection subsubsubject synonym title tooltip typ underbar underbars useURL usedirectory آیتم آیتمها آینه اجباربلوکها از ازکارانداختن‌منوی‌پانل استفاده‌بلوکها استفاده‌دستخط‌تایپ استفاده‌رمزینه استفاده‌شکل‌خارجی استفاده‌فرمانها استفاده‌قطعه‌موزیک‌خارجی استفاده‌مدول استفاده‌مرجعها استفاده‌نمادها استفاده‌نوشتارخارجی استفاده‌ویژگیها استفاده‌پرونده‌خارجی استفاده‌پرونده‌دستخط‌تایپ استفاده‌پرونده‌های‌خارجی اعدادلاتین اما انتخاب‌برگ انتخاب‌بلوکها انتخاب‌نسخه انتقال‌به‌توری بارگذاری‌آرایش بارگذاری‌آیتمها بارگذاری‌ارجاع بارگذاری‌اندازه‌برگ بارگذاری‌باریکتر بارگذاری‌بافر بارگذاری‌بالا بارگذاری‌بخش بارگذاری‌بردباری بارگذاری‌برنامه‌ها بارگذاری‌برگ بارگذاری‌بست بارگذاری‌بلوک بارگذاری‌بلوکهای‌حاشیه بارگذاری‌بلوک‌بخش بارگذاری‌تایپ بارگذاری‌تایپ‌کردن بارگذاری‌تب بارگذاری‌ترتیب بارگذاری‌ترتیب بارگذاری‌ترکیب‌ها بارگذاری‌تطابق بارگذاری‌تعریف‌پانوشت بارگذاری‌تنظیم بارگذاری‌ته‌برگ بارگذاری‌تورفتگی بارگذاری‌تورفتگیها بارگذاری‌توضیح بارگذاری‌ثبت بارگذاری‌جدولها بارگذاری‌جدول‌بندی بارگذاری‌خالی بارگذاری‌خروجی بارگذاری‌خطها بارگذاری‌خطهای‌حاشیه بارگذاری‌خطهای‌سیاه بارگذاری‌خطهای‌متن بارگذاری‌خطها‌ی‌نازک بارگذاری‌درج‌درخطها بارگذاری‌درج‌مخالف بارگذاری‌درون‌حاشیه بارگذاری‌دوران بارگذاری‌دکمه‌ها بارگذاری‌راهنما بارگذاری‌رنگ بارگذاری‌رنگها بارگذاری‌زبان بارگذاری‌ستونها بارگذاری‌سر بارگذاری‌سربرگ بارگذاری‌سرها بارگذاری‌سیستم بارگذاری‌شرح بارگذاری‌شرح بارگذاری‌شرحها بارگذاری‌شماره‌زیرصفحه بارگذاری‌شماره‌سر بارگذاری‌شماره‌صفحه بارگذاری‌شماره‌گذاری بارگذاری‌شماره‌گذاریها بارگذاری‌شماره‌گذاری‌صفحه بارگذاری‌شماره‌گذاری‌پاراگراف بارگذاری‌شماره‌‌گذاری‌خط بارگذاری‌شناور بارگذاری‌شناورها بارگذاری‌شکافتن‌شناورها بارگذاری‌شکلهای‌خارجی بارگذاری‌طرح بارگذاری‌طرح‌بندی بارگذاری‌عرض‌خط بارگذاری‌فاصله‌بین‌خط بارگذاری‌فرمولها بارگذاری‌فضای‌سفید بارگذاری‌فضا‌گذاری بارگذاری‌قالبی بارگذاری‌قلم‌متن بارگذاری‌لوح بارگذاری‌لیست بارگذاری‌لیست‌ترکیبی بارگذاری‌لیست‌مرجع بارگذاری‌مترادفها بارگذاری‌متن بارگذاری‌متنهای‌بالا بارگذاری‌متن‌سر بارگذاری‌متن‌سربرگ بارگذاری‌متن‌قالبی بارگذاری‌متن‌متنها بارگذاری‌متن‌پانوشت بارگذاری‌متن‌پایین بارگذاری‌مجموعه‌نماد بارگذاری‌محیط‌قلم‌متن بارگذاری‌منوی‌پانل بارگذاری‌مکان‌گذاری بارگذاری‌میدان بارگذاری‌میدانها بارگذاری‌میله‌تطابق بارگذاری‌میله‌زیر بارگذاری‌میله‌پانل بارگذاری‌نسخه‌ها بارگذاری‌نشانه‌شکستن بارگذاری‌نشانه‌گذاری بارگذاری‌نشرها بارگذاری‌نقل بارگذاری‌پاراگرافها بارگذاری‌پانل بارگذاری‌پانوشتها بارگذاری‌پایین بارگذاری‌پرده‌ها بارگذاری‌پرده‌پانل بارگذاری‌پروفایلها بارگذاری‌پرکردن‌خطها بارگذاری‌پس‌زمینه بارگذاری‌پس‌زمینه‌ها بارگذاری‌چیدن بارگذاری‌گذارصفحه بارگذاری‌گروه‌آیتم بازنشانی بازنشانی‌نشانه‌گذاری باگذاری‌متن‌برچسب بدون‌بلوکهای‌بیشتر بدون‌تورفتگی بدون‌خط‌بالاوپایین بدون‌خط‌سروته‌برگ بدون‌فایلهای‌بیشتر بدون‌فضا بدون‌فضای‌سفید بدون‌لیست بدون‌نشانه‌گذاری برنامه بروبه بروبه‌جعبه بروپایین برچسبها بلند بلوکهای‌پردازش بلوکها‌پنهان بنویس‌بین‌لیست بنویس‌درثبت بنویس‌درلیست‌مرجع بنویس‌در‌لیست تاریخ تاریخ‌جاری تاریخ‌رجوع تایپ تایپ‌بافر تایپ‌پرونده تب ترجمه تطابق تعریف تعریف‌آرایش تعریف‌آرم تعریف‌الگوی‌جدول تعریف‌اندازه‌برگ تعریف‌بافر تعریف‌بخش تعریف‌برنامه تعریف‌برچسب تعریف‌بلوک تعریف‌بلوک‌بخش تعریف‌تایپ تعریف‌تایپ‌کردن تعریف‌تبدیل تعریف‌ترتیب تعریف‌توده‌میدان تعریف‌تورفتگی تعریف‌ثبت تعریف‌جدول‌بندی تعریف‌خالی تعریف‌خروجی تعریف‌رنگ تعریف‌زیرمیدان تعریف‌سر تعریف‌شرح تعریف‌شروع‌پایان تعریف‌شماره‌بندی تعریف‌شمایل‌مرجع تعریف‌شناور تعریف‌قالبی تعریف‌قلم تعریف‌قلم‌متن تعریف‌لوح تعریف‌لیست تعریف‌لیست‌ترکیبی تعریف‌لیست‌مرجع تعریف‌مترادفها تعریف‌مترادف‌قلم تعریف‌متن تعریف‌متن‌قالبی تعریف‌محیط‌قلم‌بدنه تعریف‌مرجع تعریف‌منوی‌پانل تعریف‌منوی‌پانل تعریف‌میدان تعریف‌نسخه تعریف‌نشانه‌گذاری تعریف‌نماد تعریف‌نمادشکل تعریف‌پاراگرافها تعریف‌پروفایل تعریف‌پوشش تعریف‌گروه‌رنگ تعیین‌شماره‌سر تعیین‌محتوای‌متن تعیین‌مشخصات‌لیست تغییربه‌قلم‌بدنه تنظیم‌راست تنظیم‌طرح‌بندی تنظیم‌وسط تورفتگی توری توضیح تک ثبت‌زوج ثبت‌کامل جداسازی‌نشانه‌گذاری حاش حرف حرفها حفظ‌بلوکها خالی خطهای‌سیاه خطهای‌نازک خطها‌خالی خط‌حاشیه خط‌سیاه خط‌متن خط‌مو خط‌نازک خ‌ا خ‌ع در درج‌آرمها درج‌ثبت درج‌ثبت درج‌درخط درج‌درخطها درج‌درمتن درج‌درمیدان درج‌در‌بالای‌یکدیگر درج‌در‌توری درج‌راهنما درج‌زیرفرمول درج‌شناور درج‌فرمول درج‌لیست درج‌لیست‌مختلط درج‌لیست‌مختلط درج‌لیست‌مرجع درج‌پانوشتها درج‌پانوشتهای‌موضعی درج‌چوب‌خط درج‌کنار‌به‌کنار درحاشیه درحاشیه‌دیگر درخارجی درخط درداخلی درراست درصفحه درقالبی درمورد درون درچپ دریافت‌بافر دریافت‌نشانه دوران دکمه دکمه‌پانل رج رجوع رنگ رنگ‌خاکستری روزهفته ریاضی زبان زبان‌اصلی ستون سر شماره‌سر شماره‌سرجاری شماره‌مبدل شماره‌ها شکافتن‌شناور شکل‌خارجی صفحه صفحه‌زوج صفحه‌پردازش عبوربلوکها فشرده فضا فضاهای‌ثابت فضای‌سفید فضای‌سفیدصحیح قالبی لوح‌مقایسه ماه متن‌برچسب متن‌حاشیه متن‌سر متن‌پانوشت مرجع مرجع‌صفحه مرجع‌متن مقایسه‌گروه‌رنگ مقیاس منفی مکان میدان میدانهای‌گزارش میدان‌شبیه‌سازی میدان‌پشته میدان‌کپی میله‌تطابق میله‌پانل نسخه نسخه‌نشانه نشانه‌گذاری نشانه‌گذاری‌زوج نشر نصب‌زبان نقطه‌ها نقل نقل‌قول نم نماد نمادلیست نمایش‌آرایش نمایش‌بارگذاریها نمایش‌بستها نمایش‌توری نمایش‌رنگ نمایش‌شکلهای‌خارجی نمایش‌طرح‌بندی نمایش‌قالب نمایش‌قلم‌بدنه نمایش‌لوح نمایش‌مجموعه‌علامت نمایش‌محیط‌قلم‌بدنه نمایش‌میدانها نمایش‌چاپ نمایش‌گروه‌رنگ نوشتارزوج نوع‌صفحه پابا پانوشت پایین پرده پرکردن‌میدان پس‌زمینه پیروی‌نسخه پیروی‌نسخه‌پروفایل پیروی‌پروفایل چوبخط چپ‌چین کاغذزوج کسر کشیده کلمه‌راست گیره یادداشت یک‌جا یک‌خط \ No newline at end of file
diff --git a/context/data/scite/cont-ro-scite.properties b/context/data/scite/cont-ro-scite.properties
new file mode 100644
index 000000000..47fd2b9c3
--- /dev/null
+++ b/context/data/scite/cont-ro-scite.properties
@@ -0,0 +1 @@
+keywordclass.macros.context.ro=CAP CUVANT CUVINTE Cap Caps Cuvant Cuvinte LUNA Litera Litere Numereromane ZIDINSAPTAMANA adapteazaaspect adubuffer adumarcaje afiseazaaspect afiseazacampuri afiseazaculoare afiseazafiguriexterne afiseazafonttext afiseazagrid afiseazagrupculoare afiseazamakeup afiseazamediufonttext afiseazapaleta afiseazarama afiseazasetari afiseazasetsimboluri afiseazastruts afiseazatiparire aliniat aliniatcentru aliniatdreapta aliniatstanga appendix ascundeblocuri barainteractiune barasincronizare blanc but butoaneinteractiune buton camp campumplere cap chapter chem citat clip cloneazacamp coloana comentariu comparagrupculoare comparapaleta completecombinedlist completelistoffloats completelistofsorts completelistofsynonyms completeregister convertestenumar copiazacamp corecteazaspatiualb coupledregister crlf culoare culoaregri cupleazadocument cupleazamarcaje cupleazaregistru cuvantdreapta data datacurenta datareferit decupleazamarcaje definebodyfontDEF definebodyfontREF definedfont definefontfeature definefonthandling defineste definestealiat definesteantet definesteblanc definestebloc definesteblocsectiune definestebuffer definestecamp definesteconversie definesteculoare definestedescriere definestedimensiunehartie definesteenumerare definesteeticheta definestefloat definestefont definestefonttext definesteformatreferinte definestegrupculori definesteinconjurare definestelista definestelistacombinata definestelistareferinte definestelogo definestemakeup definestemarcaje definestemediulfonttext definestemeniuinteractiune definestemeniuinteractiune definesteoutput definesteoverlay definestepaleta definesteparagraf definesteprofil definesteprogram definestereferinte definesteregistru definestesablontabel definestesectiune definestesimbol definestesimbolfigura definestesinonim definestesinonimfont definestesortare definestestartstop definestestivacampuri definestesubcamp definestetabulatori definestetext definestetexteinconjurate definestetextinconjurat definestetyping definesteversiune definetype definetypeface description despre determinacaracteristicilelistei determinanumartitlu dezactiveazameniuinteractiune din dute dutebox ecran el element element emptylines enumeration etichete faraaliniat farafisiere faraliniiantetsisubsol faraliniisussijos faralista faramarcaje faraspatiu faraspatiualb figuraexterna firdepar folosesteURL folosestebloc folosestecodificarea folosestecomenzi folosestedocumentextern folosestefiguraexterna folosestefisiereexterne folosestefisierextern folosestemodul folosestemuzicaexterna folosestereferinte folosestesimboluri folosestespeciale footnotetext forteazablocuri fractie framed framedtext fundal gatablocuri grid hartiedubla hl impachetat impartefloat in inalt inaltamargine indentation indreapta inframed ininner injos inlinie inouter instalarelimba instanga intins jos jossus la labeling lapagina limba limbaprincipala liniemargine linieneagra liniesubtire linieumplere liniinegre liniisubtiri listsymbol litera litere loadsorts loadsynonyms logcampuri luna mapfontsize mar marcaje marcheazaversiune marginal matematica mediaeval minicitat mutapegrid name nextsection nocap nop nota notasubsol numartitlu numartitlucurent numere numereromane olinie overbar overbars overstrike overstrikes pagina paginadubla paragraph part pastreazablocuri placefloat placelistoffloats placelistofsorts placelistofsynonyms placereferencelist plaseazapegrid plaseazasemnecarte potrivestecamp pozitie proceseazabloc proceseazapagina program publicatie puncte punedeasuprafiecareia punefatainfata puneformula punelegenda punelista punelistacombinata punelistacombinata punelogouri punenotesubsol punenotesubsollocale puneregistru puneregistru punesubformula ran ref referinta referintapagina referintatext referit reflexie register reservefloat reset reseteazamarcaje resettextcontent riglatext rigleumplere roteste saripesteblocuri scala scriebuffer scrieinlista scrieinlistareferinte scrieinregistru scrieintreliste section seeregister selecteazablocuri selecteazahartie selecteazaversiune semncarte setarebarasincronizare setarelimba setareoutput setarepozitie setaresincronizare seteazaaliniat seteazaaliniate seteazaalinierea seteazaantet seteazaaranjareapag seteazaaspect seteazabarainteractiune seteazablanc seteazabloc seteazablocsectiune seteazablocurimarginale seteazabuffer seteazabutoane seteazacamp seteazacampuri seteazaclipping seteazacoloane seteazacombinari seteazacomentariu seteazaculoare seteazaculori seteazadefinireanotasubsol seteazadescriere seteazadimensiunihartie seteazaecrane seteazaecraninteractiune seteazaelemente seteazaenumerare seteazafiguriexterne seteazafloat seteazafloats seteazafonttext seteazaformulare seteazaformule seteazafundal seteazafundaluri seteazagrosimelinie seteazaimpartireafloat seteazainconjurat seteazaingust seteazainteractiunea seteazajos seteazalegenda seteazalegenda seteazalegendele seteazaliniesilabe seteazaliniesubtire seteazalinii seteazaliniimargine seteazaliniinegre seteazaliniiumplere seteazalista seteazalistacombinata seteazalistareferinte seteazamajuscule seteazamakeup seteazamarcaje seteazamarginal seteazamediulfonttext seteazameniuinteractiune seteazaminicitat seteazanotasubsol seteazanumarpagina seteazanumarsubpagina seteazanumartitlu seteazanumerotare seteazanumerotarelinii seteazanumerotarepagina seteazanumerotareparagrafe seteazapaleta seteazaparagrafe seteazaplasareaopozita seteazaprofile seteazaprograme seteazapublicatii seteazareferinte seteazaregistru seteazarigletext seteazarigleumplere seteazarotare seteazasectiune seteazasimbol seteazasinonime seteazasistem seteazasortare seteazaspatiu seteazaspatiualb seteazaspatiuinterliniar seteazastrut seteazasublinie seteazasubsol seteazasus seteazatab seteazatabele seteazatabulatori seteazatext seteazatexteantet seteazatextejos seteazatextesubsol seteazatextesus seteazatextetext seteazatexteticheta seteazatexttitlu seteazatitlu seteazatitluri seteazatoleranta seteazatranzitiepagina seteazatype seteazatyping seteazaurl seteazaversiuni settextcontent setupfonthandling setupfontsynonym setupinterlinespace2 setupitemgroup setuplistalternative setuppaper sim simbol sincronizeaza sort spatiifixate spatiu spatiualb startalignment startbuffer startbuffer startcitat startcolumns startcombination startcomentariu startcomponenta startculoare startdescription startdocument startenumeration startfact startfigure startfloattext startformula startframedtext startfundal starthiding startimpachetat startitemgroup startlegend startline startlinecorrection startlinenumbering startlines startliniemargine startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginblock startmediu startmeniuinteractiune startnamemakeup startnarrower startopposite startoverlay startoverview startparagraph startpositioning startpostponing startprodus startprofile startproiect startregister startriglatext startsymbolset startsynchronization starttable starttables starttabulate starttyping startunpacked startversiune stivacampuri stopalignment stopbuffer stopbuffer stopcitat stopcolumns stopcombination stopcomentariu stopcomponenta stopculoare stopdescription stopdocument stopenumeration stopfact stopfigure stopfloattext stopformula stopframedtext stopfundal stophiding stopimpachetat stopitemgroup stoplegend stopline stoplinecorrection stoplinenumbering stoplines stopliniemargine stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginblock stopmediu stopmeniuinteractiune stopnamemakeup stopnarrower stopopposite stopoverlay stopoverview stopparagraph stoppositioning stoppostponing stopprodus stopprofile stopproiect stopriglatext stopsymbolset stopsynchronization stoptable stoptables stoptabulate stoptyping stopunpacked stopversiune sub subject subsection subsubject subsubsection subsubsubject synonym tab tex texteticheta textmarginal texttitlu textumplere tippagina title titlu tooltip traduce trecilafonttext typ type typefile underbar underbars undeva urmeazaprofil urmeazaversiune urmeazaversiuneprofil usedirectory usetypescript usetypescriptfile versiune vl zidinsaptamana \ No newline at end of file
diff --git a/context/data/scite/cont-xx-scite.properties b/context/data/scite/cont-xx-scite.properties
new file mode 100644
index 000000000..395062b7a
--- /dev/null
+++ b/context/data/scite/cont-xx-scite.properties
@@ -0,0 +1,178 @@
+# low level (visible) support macros, english only
+
+keywordclass.macros.context.undocumented.support=\
+ doif doifelse doifnot \
+ doifnothing doifsomething doifelsenothing \
+ doifvalue doifnotvalue doifelsevalue \
+ doifdefined doifundefined doifundefinedelse doifdefinedelse \
+ doifinset doifinsetelse doifnotinsetelse \
+ doifcommon doifnotcommon doifcommonelse \
+ doifnextcharelse \
+ doiffieldelse \
+ ifdefined ifundefined ifconditional \
+ setstrut setfontstrut strut begstrut endstrut strutdepth strutheight showstruts verticalstrut \
+ newcounter increment decrement doglobal \
+ expanded protect unprotect unprotected unexpanded \
+ digits \
+ snaptogrid \
+ hpos vpos \
+ readfile \
+ donothing \
+ doiftextelse doiftext \
+ forgetall setlocalhsize localhsize \
+ dogotopar dowithnextbox dowithnextboxcontent nextbox \
+ tbox bbox sbox struttedbox \
+ definemeasure definehspace hspace dontleavehmode \
+ convertargument convertcommand \
+ appendtoks prependtoks to at and \
+ scratchcounter scratchbox scratchdimen scratchskip \
+ zeropoint zerocount zerodimen \
+ empty emptytoks plusone plustwo \
+ setvalue setxvalue setevalue setgvalue letvalue letgvalue globalletvalue getvalue \
+ beforesplitstring aftersplitstring splitstring \
+ processcommalist processcommacommand commalistelement \
+ processaction processallactionsinset processfirstactioninset \
+ iftrialtypesetting \
+ startbaselinecorrection stopbaselinecorrection \
+ startnointerference stopnointerference \
+ dorecurse dostepwiserecurse doloop exitloop \
+ doifnotflagged doifflagged setflag
+
+# xml specific commands, english only
+
+keywordclass.macros.context.undocumented.xml=\
+ defineXMLsave defineXMLgsave defineXMLenvironment defineXMLargument \
+ defineXMLignore defineXMLcommand defineXMLgrouped defineXMLpickup defineXMLnested \
+ defineXMLstore defineXMLenvironmentsave defineXMLprocess defineXMLsingular \
+ saveXMLelement defineXMLgstore saveXMLasdata gsaveXMLasdata defineXMLsavecontent \
+ doifXMLdataelse doifXMLdata saveXMLdata processXMLelement startXMLdata stopXMLdata \
+ XMLflush flushXMLelement XMLerase \
+ XMLpar XMLop doifXMLparelse doifXMLop \
+ defXMLstring \
+ processXMLbuffer useXMLfilter \
+ countXMLchildren \
+ startXMLignore stopXMLignore startXMLmapping stopXMLmapping \
+ processXMLfile processXMLfilegrouped
+
+# metafun specific commands, english only
+
+keywordclass.macros.context.undocumented.metafun=\
+ startMPgraphic stopMPgraphic includeMPgraphic useMPlibrary setupMPvariables \
+ startMPenvironment stopMPenvironment startMPinclusions stopMPinclusions \
+ MPcolor MPvar MPx MPy MPw MPh MPd MPp \
+ starttypescript stoptypescript usetypescript loadmapfile \
+ startMPdrawing stopMPdrawing MPdrawingdonetrue getMPdrawing resetMPdrawing \
+ startuseMPgraphic stopuseMPgraphic startusableMPgraphic stopusableMPgraphic useMPgraphic \
+ startuniqueMPpagegraphic stopuniqueMPpagegraphic uniqueMPpagegraphic \
+ startreusableMPgraphic stopreusableMPgraphic reuseMPgraphic \
+ startuniqueMPgraphic stopuniqueMPgraphic uniqueMPgraphic
+
+# modules
+
+keywordclass.macros.context.undocumented.modules=\
+ setupFLOWcharts setupFLOWshapes setupFLOWlines \
+ startFLOWchart stopFLOWchart FLOWchart includeFLOWchart startFLOWcell stopFLOWcell
+
+# english only commands
+
+keywordclass.macros.context.undocumented.common=\
+ start stop \
+ ConTeXt \
+ environment component product project \
+ starttextdata stoptextdata \
+ definedfont definefontsynonym setupfontsynonym \
+ vfilll hfilll \
+ startmode startnotmode stopmode stopnotmode doifmode doifnotmode doifmodeelse enablemode disablemode \
+ resetlayer definelayer placelayer flushlayer tightlayer setuplayer setlayer setlayerframed \
+ definelayerpreset \
+ overlayfigure overlaybutton \
+ startsetups stopsetups startlocalsetups stoplocalsetups setups \
+ setvariables setevariables setgvariables setxvariables getvariable \
+ loadmapfile definetypeface usetypescript usetypescriptfile \
+ useJSscripts startJSscripts stopJSscripts startJSpreamble stopJSpreamble startJScode stopJScode \
+ showfont showaccents showcharacters \
+ showlayoutcomponents showgridsnapping showgridboxes \
+ startTEXpage stopTEXpage startMPpage stopMPpage \
+ bTABLE eTABLE bTR eTR bTD eTD bTH eTH setupTABLE \
+ bTABLEhead eTABLEhead bTABLEnext eTABLEnext bTABLEfoot eTABLEfoot bTABLEbody eTABLEbody \
+ NC NR VL HL AR SR FR MR LR EQ
+
+# dutch commands (nl)
+
+keywordclass.macros.context.undocumented.main.nl=\
+ starttekst stoptekst startstandaardopmaak stopstandaardopmaak \
+ definieerlayout \
+ definieerplaats \
+ omgeving onderdeel projekt produkt \
+ startopsomming stopopsomming stelopsommingin definieeritemgroep \
+ stelnummeringin
+
+# english commands (en)
+
+keywordclass.macros.context.undocumented.main.en=\
+ starttext stoptext startstandardmakeup stopstandardmakeup \
+ placefigure definelayout setupencoding \
+ defineframedcontent startframedcontent stopframedcontent \
+ getfiguredimensionsonly defineexternalfigure \
+ definemainfield \
+ includemenu \
+ starthanging stophanging \
+ setupattachments \
+ definepagebreak \
+ startitemize stopitemize \
+ startfrontmatter stopfrontmatter startbackmatter stopbackmatter \
+ startbodymatter stopbodymatter startappendices stopappendices \
+ definetextbackground setuptextbackground starttextbackground stoptextbackground \
+ definepushbutton definepushsymbol \
+ setcollector definecollector flushcollector
+
+# german commands (de)
+
+keywordclass.macros.context.undocumented.main.de=\
+
+# czech commands (cz)
+
+keywordclass.macros.context.undocumented.main.cz=\
+
+# italian commands (it)
+
+keywordclass.macros.context.undocumented.main.it=\
+
+# romanian commands (ro)
+
+keywordclass.macros.context.undocumented.main.ro=\
+
+# common undocumented macros
+
+keywordclass.macros.context.undocumented.base=\
+ $(keywordclass.macros.context.undocumented.support) \
+ $(keywordclass.macros.context.undocumented.xml) \
+ $(keywordclass.macros.context.undocumented.metafun) \
+ $(keywordclass.macros.context.undocumented.modules) \
+ $(keywordclass.macros.context.undocumented.common)
+
+# language specific undocumented macros
+
+keywordclass.macros.context.undocumented.nl=\
+ $(keywordclass.macros.context.undocumented.base) \
+ $(keywordclass.macros.context.undocumented.main.nl)
+
+keywordclass.macros.context.undocumented.en=\
+ $(keywordclass.macros.context.undocumented.base) \
+ $(keywordclass.macros.context.undocumented.main.en)
+
+keywordclass.macros.context.undocumented.de=\
+ $(keywordclass.macros.context.undocumented.base) \
+ $(keywordclass.macros.context.undocumented.main.de)
+
+keywordclass.macros.context.undocumented.cz=\
+ $(keywordclass.macros.context.undocumented.base) \
+ $(keywordclass.macros.context.undocumented.main.cz)
+
+keywordclass.macros.context.undocumented.it=\
+ $(keywordclass.macros.context.undocumented.base) \
+ $(keywordclass.macros.context.undocumented.main.it)
+
+keywordclass.macros.context.undocumented.ro=\
+ $(keywordclass.macros.context.undocumented.base) \
+ $(keywordclass.macros.context.undocumented.main.ro) \ No newline at end of file
diff --git a/context/data/scite/context.properties b/context/data/scite/context.properties
new file mode 100644
index 000000000..13fa079c0
--- /dev/null
+++ b/context/data/scite/context.properties
@@ -0,0 +1,559 @@
+# 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)
+
+# Just UTF-8
+
+code.page=65001
+output.code.page=65001
+
+textwrapper.margin=4
+textwrapper.length=68
+
+# ConTeXt: suffixes (really needed)
+
+file.patterns.tex=
+file.patterns.latex=
+file.patterns.context=*.tex;*.tui;*.tuo;*.sty;*.mkii;*.mkiv;
+
+# ConTeXt : keywords (if not yet loaded already)
+
+import cont-cz-scite
+import cont-de-scite
+import cont-en-scite
+import cont-nl-scite
+import cont-ro-scite
+import cont-xx-scite
+import metafun-scite
+import latex-scite
+
+# Example : patterns
+
+file.patterns.xml=
+file.patterns.example=*.xml;*.xsl;*.xsd;*.fo;*.exa;*.rlb;*.rlg;*.rlv;*.rng;*.xfdf;*.xslt;*.dtd;*.lmx;*.ctx
+
+filter.example=eXaMpLe|$(file.patterns.example)|
+
+lexer.$(file.patterns.example)=xml
+
+# Lua : patterns
+
+file.patterns.lua=*.lua;*.luc;*.cld;*.tuc;*.luj
+
+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)"
+
+# Commands: some scripts
+
+if PLAT_WIN
+ name.context.console=cmd
+ name.context.console=$(ComSpec)
+ name.context.gsview=gsview32.exe
+ name.context.acrobat=
+ name.texexec.flag.pdfopen=--autopdf
+
+# consoles: rxvt,konsole | acrobat: acroread,xpdfopen
+#
+# name.texexec.flag.pdfopen=--autopdf --xpdf
+
+if PLAT_GTK
+ name.context.console=rxvt
+ name.context.gsview=gv
+ name.context.acrobat=acroread
+ name.texexec.flag.pdfopen=--autopdf
+
+name.metafun.console=$(name.context.console)
+name.example.console=$(name.context.console)
+
+if PLAT_WIN
+ name.context.mtxrun=mtxrun --autogenerate
+
+if PLAT_GTK
+ name.context.mtxrun=mtxrun --autogenerate
+
+name.context.concheck=$(name.context.mtxrun) --script check
+name.context.texexec=$(name.context.mtxrun) --script context $(name.texexec.flag.pdfopen)
+name.context.texshow=$(name.context.mtxrun) texshow
+name.context.purge=$(name.context.mtxrun) ctxtools --purge --all
+name.context.update=$(name.context.mtxrun) texshow --update --force
+name.context.showcase=$(name.context.mtxrun) --launch showcase.pdf
+
+name.context.backend=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.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 scite-ctx
+
+# hard coded compile / build / go
+
+command.compile.$(file.patterns.context)=$(name.context.concheck) $(FileNameExt)
+command.compile.$(file.patterns.metafun)=
+command.compile.$(file.patterns.example)=$(name.example.xmlcheck) $(FileNameExt)
+command.compile.*.fo=$(name.example.xmlcheck) $(FileNameExt)
+
+#command.compile.subsystem.$(file.patterns.context)=1
+#command.compile.subsystem.$(file.patterns.metafun)=1
+#command.compile.subsystem.$(file.patterns.example)=1
+
+command.build.$(file.patterns.context)=$(name.context.texexec) --$(name.context.backend) $(FileNameExt)
+command.build.$(file.patterns.metafun)=$(name.metafun.mptopdf) $(FileNameExt)
+command.build.$(file.patterns.example)=$(name.context.texexec) --$(name.context.backend) --xml $(FileNameExt)
+command.build.*.fo=$(name.context.texexec) --$(name.context.backend) $(name.texexec.flag.pdfopen) --xml --use=foxet $(FileNameExt)
+
+command.build.subsystem.$(file.patterns.context)=1
+command.build.subsystem.$(file.patterns.metafun)=1
+command.build.subsystem.$(file.patterns.example)=1
+command.build.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.concheck) $(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.texexec) --$(name.context.backend) $(FileNameExt)
+command.1.$(file.patterns.metafun)=$(name.context.texexec) --$(name.context.backend) --mptex $(FileNameExt)
+command.1.$(file.patterns.example)=$(name.context.texexec) --$(name.context.backend) --xml $(FileNameExt)
+
+command.1.subsystem.$(file.patterns.context)=1
+command.1.subsystem.$(file.patterns.metafun)=1
+command.1.subsystem.$(file.patterns.example)=1
+
+# 2 : pdf viewing
+
+command.name.2.$(file.patterns.context)=View PDF File
+command.name.2.$(file.patterns.metafun)=
+command.name.2.$(file.patterns.example)=View PDF File
+
+command.2.$(file.patterns.context)=$(name.context.gsview) $(FileName).pdf
+command.2.$(file.patterns.metafun)=
+command.2.$(file.patterns.example)=$(name.context.gsview) $(FileName).pdf
+
+command.subsystem.2.$(file.patterns.context)=2
+command.subsystem.2.$(file.patterns.metafun)=2
+command.subsystem.2.$(file.patterns.example)=2
+
+# 2 : postscript
+
+# command.name.2.$(file.patterns.context)=View PS File
+# command.name.2.$(file.patterns.metafun)=View PS File (1)
+# command.name.2.$(file.patterns.example)=View PS File
+
+# command.2.$(file.patterns.context)=$(name.context.gsview) $(FileName).ps
+# command.2.$(file.patterns.metafun)=$(name.context.gsview) $(FileName).1
+# command.2.$(file.patterns.example)=$(name.context.gsview) $(FileName).ps
+
+# 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
+
+# 5 : example framework applications
+
+#~ command.5=$(name.context.examplap)
+#~ command.5.$(file.patterns.context)=$(name.context.examplap)
+#~ command.5.$(file.patterns.metafun)=$(name.context.examplap)
+#~ command.5.$(file.patterns.example)=$(name.context.examplap)
+
+#~ command.name.5=Start Interfaces
+#~ command.name.5.$(file.patterns.context)=Start Interfaces
+#~ command.name.5.$(file.patterns.metafun)=Start Interfaces
+#~ command.name.5.$(file.patterns.example)=Start Interfaces
+
+# 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.texexec) --$(name.context.backend) --list --result=$(FileName) $(FileNameExt)
+command.7.$(file.patterns.context)=$(name.context.texexec) --$(name.context.backend) --list --result=$(FileName) $(FileNameExt)
+command.7.$(file.patterns.metafun)=$(name.context.texexec) --$(name.context.backend) --list --result=$(FileName) $(FileNameExt)
+command.7.$(file.patterns.example)=$(name.context.texexec) --$(name.context.backend) --list --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
+
+# 8 : reserved
+
+command.name.8.$(file.patterns.context)=
+command.name.8.$(file.patterns.metafun)=
+command.name.8.$(file.patterns.example)=
+command.8.$(file.patterns.context)=
+command.8.$(file.patterns.metafun)=
+command.8.$(file.patterns.example)=
+
+# 9 : reserved
+
+command.name.9=
+command.name.9.$(file.patterns.context)=
+command.name.9.$(file.patterns.metafun)=
+command.name.9.$(file.patterns.example)=
+command.9.$(file.patterns.context)=
+command.9.$(file.patterns.metafun)=
+command.9.$(file.patterns.example)=
+
+# 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.texexec) --arrange --$(name.context.backend) $(FileNameExt)
+command.10.$(file.patterns.metafun)=$(name.context.texexec) --$(name.context.backend) --mptex $(FileNameExt)
+command.10.$(file.patterns.example)=$(name.context.texexec) --arrange --$(name.context.backend) --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.texexec) --make --all --pdftex
+command.11.$(file.patterns.metafun)=$(name.context.texexec) --make --all
+command.11.$(file.patterns.example)=$(name.context.texexec) --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.texexec) --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.texexec) --make --all --xetex
+command.13.subsystem.$(file.patterns.context)=1
+
+# 14: update
+
+command.name.14=Update ConTeXt
+command.name.14.$(file.patterns.context)=Update ConTeXt
+command.name.14.$(file.patterns.metafun)=Update ConTeXt
+command.name.14.$(file.patterns.example)=Update ConTeXt
+
+command.14=$(name.context.update)
+command.14.$(file.patterns.context)=$(name.context.update)
+command.14.$(file.patterns.metafun)=$(name.context.update)
+command.14.$(file.patterns.example)=$(name.context.update)
+
+# 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_COMPILE|\
+Ctrl+F12|IDM_BUILD|\
+Shift+F12|IDM_GO|\
+Alt+F12|IDM_STOPEXECUTE|\
+
+# Editor: fonts (16.5/11.5)
+
+# install: fonts/truetype/hoekwater/lm/LMTypewriter10-Regular.ttf
+
+if PLAT_WIN
+ font.monospace=font:LMTypewriter10-Regular,size:14
+ font.errorfont=font:LMTypewriter10-Regular,size:12
+
+if PLAT_GTK
+ font.monospace=font:!lm mono 10 regular,size:14
+ font.errorfont=font:!lm mono 10 regular,size:12
+
+#~ if PLAT_WIN
+ #~ font.monospace=font:Lucida Console,size:12
+ #~ font.monospace=font:Lucida Sans Unicode,size:12
+ #~ font.monospace=font:OpenSymbol,size:17
+
+font.base=$(font.monospace)
+#~ font.small=$(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)
+
+# Editor: colors
+
+color.back.linepanel=back:#A7A7A7
+color.back.textpanel=back:#CFCFCF
+color.back.logpanel=back:#EFEFEF
+color.back.selection=#F7F7F7
+
+color.fore.red=fore:#7F0000
+color.fore.green=fore:#007F00
+color.fore.blue=fore:#00007F
+color.fore.cyan=fore:#007F7F
+color.fore.magenta=fore:#7F007F
+color.fore.yellow=fore:#7F7F00
+
+# 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)
+
+source.files=$(file.patterns.context);$(file.patterns.metafun);$(file.patterns.example);*.pl;*.rb
+
+# 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:LMTypewriter10,size:10
+ print.footer.style=font:LMTypewriter10,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)
+
+# Default
+style.errorlist.0=fore:#000000
+# python Error
+style.errorlist.1=$(color.fore.red)
+# gcc Error
+style.errorlist.2=$(color.fore.red)
+# Microsoft Error
+style.errorlist.3=$(color.fore.red)
+# command or return status
+style.errorlist.4=$(color.fore.green)
+# Borland error and warning messages
+style.errorlist.5=$(color.fore.red)
+# perl error and warning messages
+style.errorlist.6=$(color.fore.red)
+# .NET tracebacks
+style.errorlist.7=$(color.fore.red)
+# Lua error and warning messages
+style.errorlist.8=$(color.fore.red)
+# ctags
+style.errorlist.9=$(color.fore.red)
+# diff changed !
+style.errorlist.10=$(color.fore.green)
+# diff addition +
+style.errorlist.11=$(color.fore.blue)
+# diff deletion -
+style.errorlist.12=$(color.fore.cyan)
+# diff message ---
+style.errorlist.13=$(color.fore.red)
+# PHP error
+style.errorlist.14=$(color.fore.red)
+# Essential Lahey Fortran 90 error
+style.errorlist.15=$(color.fore.red)
+# Intel Fortran Compiler error
+style.errorlist.16=$(color.fore.red)
+
+# Context: end of file
diff --git a/context/data/scite/cscite.rme b/context/data/scite/cscite.rme
new file mode 100644
index 000000000..f084100c9
--- /dev/null
+++ b/context/data/scite/cscite.rme
@@ -0,0 +1,50 @@
+Files:
+
+cont-nl-scite.properties : keywords for the dutch user interface
+cont-en-scite.properties : keywords for the english user interface
+cont-de-scite.properties : keywords for the german user interface
+cont-cz-scite.properties : keywords for the czech user interface
+cont-it-scite.properties : keywords for the italian user interface
+cont-ro-scite.properties : keywords for the romanian user interface
+cont-xx-scite.properties : additional keywords
+metafun-scite.properties : keywords for the metafun collection
+
+context.properties : a configuration suitable for context
+
+
+Method 1:
+
+Copy the property files to the path where your local "SciTEUser.properties"
+file lives. Add the following entries to "SciTEUser.properties":
+
+import cont-nl-scite
+import cont-en-scite
+import cont-de-scite
+import cont-cz-scite
+import cont-it-scite
+import cont-ro-scite
+import cont-xx-scite
+import metafun-scite
+
+import context
+
+If you want latex syntax higlighting as well, you should also import the file
+"latex-scite.properties" (no suffix needed).
+
+
+Method 2:
+
+Copy the property files to the path where your local "SciTEGlobal.properties"
+file lives.
+
+Copy the files "context.properties to the path where "SciTEUser.properties"
+lives. Add the following entries to "SciTEUser.properties":
+
+import context
+
+
+Info:
+
+Hans Hagen
+PRAGMA ADE, Hasselt NL
+http://www.pragma-ade.com \ No newline at end of file
diff --git a/context/data/scite/latex-scite.properties b/context/data/scite/latex-scite.properties
new file mode 100644
index 000000000..15e3579a7
--- /dev/null
+++ b/context/data/scite/latex-scite.properties
@@ -0,0 +1,2 @@
+keywordclass.macros.latex.all=\
+ begin end documentstyle documentclass \ No newline at end of file
diff --git a/context/data/scite/metafun-scite.properties b/context/data/scite/metafun-scite.properties
new file mode 100644
index 000000000..55b7ae607
--- /dev/null
+++ b/context/data/scite/metafun-scite.properties
@@ -0,0 +1,19 @@
+keywordclass.metafun.all=\
+ unitcircle fulldiamond unitdiamond \
+ halfcircle quartercircle \
+ llcircle lrcircle urcircle ulcircle \
+ tcircle bcircle lcircle rcircle \
+ lltriangle lrtriangle urtriangle ultriangle \
+ smoothed cornered superellipsed randomized squeezed \
+ punked curved unspiked simplified blownup stretched \
+ enlarged leftenlarged topenlarged rightenlarged bottomenlarged \
+ llenlarged lrenlarged urenlarged ulenlarged \
+ llmoved lrmoved urmoved ulmoved \
+ boundingbox innerboundingbox outerboundingbox \
+ bottomboundary leftboundary topboundary rightboundary \
+ xsized ysized xysized \
+ cmyk transparent withshade spotcolor \
+ drawfill undrawfill \
+ inverted uncolored softened grayed \
+ textext graphictext \
+ loadfigure externalfigure \ No newline at end of file
diff --git a/context/data/scite/scite-ctx.lua b/context/data/scite/scite-ctx.lua
new file mode 100644
index 000000000..8e6b6ebab
--- /dev/null
+++ b/context/data/scite/scite-ctx.lua
@@ -0,0 +1,838 @@
+-- version : 1.0.0 - 07/2005 (2008: lua 5.1)
+-- author : Hans Hagen - PRAGMA ADE - www.pragma-ade.com
+-- copyright : public domain or whatever suits
+-- remark : part of the context distribution, my first lua code
+
+-- todo: name space for local functions
+
+-- loading: scite-ctx.properties
+
+-- # environment variable
+-- #
+-- # CTXSPELLPATH=t:/spell
+-- #
+-- # auto language detection
+-- #
+-- # % version =1.0 language=uk
+-- # <?xml version='1.0' language='uk' ?>
+
+-- ext.lua.startup.script=$(SciteDefaultHome)/scite-ctx.lua
+--
+-- # extension.$(file.patterns.context)=scite-ctx.lua
+-- # extension.$(file.patterns.example)=scite-ctx.lua
+--
+-- # ext.lua.reset=1
+-- # ext.lua.auto.reload=1
+-- # ext.lua.startup.script=t:/lua/scite-ctx.lua
+--
+-- ctx.menulist.default=\
+-- wrap=wrap_text|\
+-- unwrap=unwrap_text|\
+-- sort=sort_text|\
+-- document=document_text|\
+-- quote=quote_text|\
+-- compound=compound_text|\
+-- check=check_text
+--
+-- ctx.spellcheck.language=auto
+-- ctx.spellcheck.wordsize=4
+-- ctx.spellcheck.wordpath=ENV(CTXSPELLPATH)
+--
+-- ctx.spellcheck.wordfile.all=spell-uk.txt,spell-nl.txt
+--
+-- ctx.spellcheck.wordfile.uk=spell-uk.txt
+-- ctx.spellcheck.wordfile.nl=spell-nl.txt
+-- ctx.spellcheck.wordsize.uk=4
+-- ctx.spellcheck.wordsize.nl=4
+--
+-- command.name.21.*=CTX Action List
+-- command.subsystem.21.*=3
+-- command.21.*=show_menu $(ctx.menulist.default)
+-- command.groupundo.21.*=yes
+-- command.shortcut.21.*=Shift+F11
+--
+-- command.name.22.*=CTX Check Text
+-- command.subsystem.22.*=3
+-- command.22.*=check_text
+-- command.groupundo.22.*=yes
+-- command.shortcut.22.*=Ctrl+L
+--
+-- command.name.23.*=CTX Wrap Text
+-- command.subsystem.23.*=3
+-- command.23.*=wrap_text
+-- command.groupundo.23.*=yes
+-- command.shortcut.23.*=Ctrl+M
+--
+-- # command.21.*=check_text
+-- # command.21.*=dofile e:\context\lua\scite-ctx.lua
+
+-- generic functions
+
+props = props or { } -- setmetatable(props,{ __index = function(k,v) props[k] = "unknown" return "unknown" end } )
+
+local byte, lower, upper, gsub, sub, find, rep, match, gmatch = string.byte, string.lower, string.upper, string.gsub, string.sub, string.find, string.rep, string.match, string.gmatch
+local sort, concat = table.sort, table.concat
+
+local crlf = "\n"
+
+function traceln(str)
+ trace(str .. crlf)
+ io.flush()
+end
+
+function string:grab(delimiter)
+ local list = {}
+ for snippet in self:gmatch(delimiter) do
+ list[#list+1] = snippet
+ end
+ return list
+end
+
+function string:expand()
+ return (self:gsub("ENV%((%w+)%)", os.envvar))
+end
+
+function string:strip()
+ return (self:gsub("^%s*(.-)%s*$", "%1"))
+end
+
+function table.alphasort(list,i)
+ if i and i > 0 then
+ local function alphacmp(a,b)
+ return lower(gsub(sub(a,i),'0',' ')) < lower(gsub(sub(b,i),'0',' '))
+ end
+ sort(list,alphacmp)
+ else
+ local function alphacmp(a,b)
+ return lower(a) < lower(b)
+ end
+ sort(list,alphacmp)
+ end
+end
+
+function io.exists(filename)
+ local ok, result, message = pcall(io.open,filename)
+ if result then
+ io.close(result)
+ return true
+ else
+ return false
+ end
+end
+
+function os.envvar(str)
+ local s = os.getenv(str)
+ if s ~= '' then
+ return s
+ end
+ s = os.getenv(upper(str))
+ if s ~= '' then
+ return s
+ end
+ s = os.getenv(lower(str))
+ if s ~= '' then
+ return s
+ end
+end
+
+-- support functions, maybe editor namespace
+
+-- function column_of_position(position)
+-- local line = editor:LineFromPosition(position)
+-- local oldposition = editor.CurrentPos
+-- local column = 0
+-- editor:GotoPos(position)
+-- while editor.CurrentPos ~= 0 and line == editor:LineFromPosition(editor.CurrentPos) do
+-- editor:CharLeft()
+-- column = column + 1
+-- end
+-- editor:GotoPos(oldposition)
+-- if line > 0 then
+-- return column -1
+-- else
+-- return column
+-- end
+-- end
+
+-- function line_of_position(position)
+-- return editor:LineFromPosition(position)
+-- end
+
+function extend_to_start()
+ local selectionstart = editor.SelectionStart
+ local selectionend = editor.SelectionEnd
+ local line = editor:LineFromPosition(selectionstart)
+ if line > 0 then
+ while line == editor:LineFromPosition(selectionstart-1) do
+ selectionstart = selectionstart - 1
+ editor:SetSel(selectionstart,selectionend)
+ end
+ else
+ selectionstart = 0
+ end
+ editor:SetSel(selectionstart,selectionend)
+ return selectionstart
+end
+
+function extend_to_end() -- editor:LineEndExtend() does not work
+ local selectionstart = editor.SelectionStart
+ local selectionend = editor.SelectionEnd
+ local line = editor:LineFromPosition(selectionend)
+ while line == editor:LineFromPosition(selectionend+1) do
+ selectionend = selectionend + 1
+ editor:SetSel(selectionstart,selectionend)
+ end
+ editor:SetSel(selectionstart,selectionend)
+ return selectionend
+end
+
+function getfiletype()
+ local firstline = editor:GetLine(0)
+ if editor.Lexer == SCLEX_TEX then
+ return 'tex'
+ elseif editor.Lexer == SCLEX_XML then
+ return 'xml'
+ elseif find(firstline,"^%%") then
+ return 'tex'
+ elseif find(firstline,"^<%?xml") then
+ return 'xml'
+ else
+ return 'unknown'
+ end
+end
+
+-- inspired by LuaExt's scite_Files
+
+function get_dir_list(mask)
+ local f
+ if props['PLAT_GTK'] and props['PLAT_GTK'] ~= "" then
+ f = io.popen('ls -1 ' .. mask)
+ else
+ mask = gsub(mask,'/','\\')
+ local tmpfile = 'scite-ctx.tmp'
+ local cmd = 'dir /b "' .. mask .. '" > ' .. tmpfile
+ os.execute(cmd)
+ f = io.open(tmpfile)
+ end
+ local files = {}
+ if not f then -- path check added
+ return files
+ end
+ for line in f:lines() do
+ files[#files+1] = line
+ end
+ f:close()
+ return files
+end
+
+-- banner
+
+do
+
+ print("loading scite-ctx.lua definition file\n")
+ print("- see scite-ctx.properties for configuring info\n")
+ print("- ctx.spellcheck.wordpath set to " .. props['ctx.spellcheck.wordpath'])
+ if find(lower(props['ctx.spellcheck.wordpath']),"ctxspellpath") then
+ if os.getenv('ctxspellpath') then
+ print("- ctxspellpath set to " .. os.getenv('CTXSPELLPATH'))
+ else
+ print("- 'ctxspellpath is not set")
+ end
+ print("- ctx.spellcheck.wordpath expands to " .. string.expand(props['ctx.spellcheck.wordpath']))
+ end
+ print("\n- ctx.wraptext.length is set to " .. props['ctx.wraptext.length'])
+ if props['ctx.helpinfo'] ~= '' then
+ print("\n- key bindings:\n")
+ print((gsub(string.strip(props['ctx.helpinfo']),"%s*\|%s*","\n")))
+ end
+ print("\n- recognized first lines:\n")
+ print("xml <?xml version='1.0' language='nl'")
+ print("tex % language=nl")
+
+end
+
+-- text functions
+
+-- written while listening to Talk Talk
+
+local magicstring = rep("<ctx-crlf/>", 2)
+
+function wrap_text()
+
+ -- We always go to the end of a line, so in fact some of
+ -- the variables set next are not needed.
+
+ local length = props["ctx.wraptext.length"]
+
+ if length == '' then length = 80 else length = tonumber(length) end
+
+ local startposition = editor.SelectionStart
+ local endposition = editor.SelectionEnd
+
+ if startposition == endposition then return end
+
+ editor:LineEndExtend()
+
+ startposition = editor.SelectionStart
+ endposition = editor.SelectionEnd
+
+ -- local startline = line_of_position(startposition)
+ -- local endline = line_of_position(endposition)
+ -- local startcolumn = column_of_position(startposition)
+ -- local endcolumn = column_of_position(endposition)
+ --
+ -- editor:SetSel(startposition,endposition)
+
+ local startline = props['SelectionStartLine']
+ local endline = props['SelectionEndLine']
+ local startcolumn = props['SelectionStartColumn'] - 1
+ local endcolumn = props['SelectionEndColumn'] - 1
+
+ local replacement = { }
+ local templine = ''
+ local indentation = rep(' ',startcolumn)
+ local selection = editor:GetSelText()
+
+ selection = gsub(selection,"[\n\r][\n\r]","\n")
+ selection = gsub(selection,"\n\n+",' ' .. magicstring .. ' ')
+ selection = gsub(selection,"^%s",'')
+
+ for snippet in gmatch(selection,"%S+") do
+ if snippet == magicstring then
+ replacement[#replacement+1] = templine
+ replacement[#replacement+1] = ""
+ templine = ''
+ elseif #templine + #snippet > length then
+ replacement[#replacement+1] = templine
+ templine = indentation .. snippet
+ elseif #templine == 0 then
+ templine = indentation .. snippet
+ else
+ templine = templine .. ' ' .. snippet
+ end
+ end
+
+ replacement[#replacement+1] = templine
+ replacement[1] = gsub(replacement[1],"^%s+",'')
+
+ if endcolumn == 0 then
+ replacement[#replacement+1] = ""
+ end
+
+ editor:ReplaceSel(concat(replacement,"\n"))
+
+end
+
+function unwrap_text()
+
+ local startposition = editor.SelectionStart
+ local endposition = editor.SelectionEnd
+
+ if startposition == endposition then return end
+
+ editor:HomeExtend()
+ editor:LineEndExtend()
+
+ startposition = editor.SelectionStart
+ endposition = editor.SelectionEnd
+
+ local magicstring = rep("<multiplelines/>", 2)
+ local selection = gsub(editor:GetSelText(),"[\n\r][\n\r]+", ' ' .. magicstring .. ' ')
+ local replacement = ''
+
+ for snippet in gmatch(selection,"%S+") do
+ if snippet == magicstring then
+ replacement = replacement .. "\n"
+ else
+ replacement = replacement .. snippet .. "\n"
+ end
+ end
+
+ if endcolumn == 0 then replacement = replacement .. "\n" end
+
+ editor:ReplaceSel(replacement)
+
+end
+
+function sort_text()
+
+ local startposition = editor.SelectionStart
+ local endposition = editor.SelectionEnd
+
+ if startposition == endposition then return end
+
+ -- local startcolumn = column_of_position(startposition)
+ -- local endcolumn = column_of_position(endposition)
+ --
+ -- editor:SetSel(startposition,endposition)
+
+ local startline = props['SelectionStartLine']
+ local endline = props['SelectionEndLine']
+ local startcolumn = props['SelectionStartColumn'] - 1
+ local endcolumn = props['SelectionEndColumn'] - 1
+
+ startposition = extend_to_start()
+ endposition = extend_to_end()
+
+ local selection = gsub(editor:GetSelText(), "%s*$", '')
+
+ list = string.grab(selection,"[^\n\r]+")
+ table.alphasort(list, startcolumn)
+ local replacement = concat(list, "\n")
+
+ editor:GotoPos(startposition)
+ editor:SetSel(startposition,endposition)
+
+ if endcolumn == 0 then replacement = replacement .. "\n" end
+
+ editor:ReplaceSel(replacement)
+
+end
+
+function uncomment_xml()
+
+ local startposition = editor.SelectionStart
+ local endposition = editor.SelectionEnd
+
+ if startposition == endposition then return end
+
+ local startposition = editor.SelectionStart
+ local endposition = editor.SelectionEnd
+
+ local selection = gsub(editor:GetSelText(), "%<%!%-%-.-%-%-%>", '')
+
+ editor:GotoPos(startposition)
+ editor:SetSel(startposition,endposition)
+
+ editor:ReplaceSel(selection)
+ editor:GotoPos(startposition)
+
+end
+
+function document_text()
+
+ local startposition = editor.SelectionStart
+ local endposition = editor.SelectionEnd
+
+ if startposition == endposition then return end
+
+ startposition = extend_to_start()
+ endposition = extend_to_end()
+
+ editor:SetSel(startposition,endposition)
+
+ local filetype = getfiletype()
+
+ local replacement = ''
+ for i = editor:LineFromPosition(startposition), editor:LineFromPosition(endposition) do
+ local str = editor:GetLine(i)
+ if filetype == 'xml' then
+ if find(str,"^<%!%-%- .* %-%->%s*$") then
+ replacement = replacement .. gsub(str,"^<%!%-%- (.*) %-%->(%s*)$","%1\n")
+ elseif find(str,"%S") then
+ replacement = replacement .. '<!-- ' .. gsub(str,"(%s*)$",'') .. " -->\n"
+ else
+ replacement = replacement .. str
+ end
+ else
+ if find(str,"^%%D%s+$") then
+ replacement = replacement .. "\n"
+ elseif find(str,"^%%D ") then
+ replacement = replacement .. gsub(str,"^%%D ",'')
+ else
+ replacement = replacement .. '%D ' .. str
+ end
+ end
+ end
+
+ editor:ReplaceSel(gsub(replacement,"[\n\r]$",''))
+
+end
+
+function quote_text()
+
+ local filetype, leftquotation, rightquotation = getfiletype(), '', ''
+
+ if filetype == 'xml' then
+ leftquotation, rightquotation = "<quotation>", "</quotation>"
+ leftquote, rightquote = "<quotation>", "</quote>"
+ else
+ leftquotation, rightquotation = "\\quotation {", "}"
+ leftquote, rightquote = "\\quote {", "}"
+ end
+
+ local replacement = editor:GetSelText()
+ replacement = gsub(replacement,"\`\`(.-)\'\'", leftquotation .. "%1" .. rightquotation)
+ replacement = gsub(replacement,"\"(.-)\"", leftquotation .. "%1" .. rightquotation)
+ replacement = gsub(replacement,"\`(.-)\'", leftquote .. "%1" .. rightquote )
+ replacement = gsub(replacement,"\'(.-)\'", leftquote .. "%1" .. rightquote )
+ editor:ReplaceSel(replacement)
+
+end
+
+function compound_text()
+
+ local filetype = getfiletype()
+
+ if filetype == 'xml' then
+ editor:ReplaceSel(gsub(editor:GetSelText(),"(>[^<%-][^<%-]+)([-\/])(%w%w+)","%1<compound token='%2'/>%3"))
+ else
+ editor:ReplaceSel(gsub(editor:GetSelText(),"([^\|])([-\/]+)([^\|])","%1|%2|%3"))
+ end
+
+end
+
+-- written while listening to Alanis Morissette's acoustic
+-- Jagged Little Pill and Tori Amos' Beekeeper after
+-- reinstalling on my good old ATH-7
+
+local language = props["ctx.spellcheck.language"]
+local wordsize = props["ctx.spellcheck.wordsize"]
+local wordpath = props["ctx.spellcheck.wordpath"]
+
+if language == '' then language = 'uk' end
+if wordsize == '' then wordsize = 4 else wordsize = tonumber(wordsize) end
+
+local wordfile = ""
+local wordlist = {}
+local worddone = 0
+
+-- we use wordlist as a hash so that we can add entries without the
+-- need to sort and also use a fast (built in) search
+
+-- function kpsewhich_file(filename,filetype,progname)
+-- local progflag, typeflag = '', ''
+-- local tempname = os.tmpname()
+-- if progname then
+-- progflag = " --progname=" .. progname .. " "
+-- end
+-- if filetype then
+-- typeflag = " --format=" .. filetype .. " "
+-- end
+-- local command = "kpsewhich" .. progflag .. typeflag .. " " .. filename .. " > " .. tempname
+-- os.execute(command)
+-- for line in io.lines(tempname) do
+-- return gsub(line, "\s*$", '')
+-- end
+-- end
+
+function check_text()
+
+ local dlanguage = props["ctx.spellcheck.language"]
+ local dwordsize = props["ctx.spellcheck.wordsize"]
+ local dwordpath = props["ctx.spellcheck.wordpath"]
+
+ if dlanguage ~= '' then dlanguage = tostring(language) end
+ if dwordsize ~= '' then dwordsize = tonumber(wordsize) end
+
+ local firstline, skipfirst = editor:GetLine(0), false
+ local filetype, wordskip, wordgood = getfiletype(), '', ''
+
+ if filetype == 'tex' then
+ wordskip = "\\"
+ elseif filetype == 'xml' then
+ wordskip = "<"
+ wordgood = ">"
+ end
+
+ if props["ctx.spellcheck.language"] == 'auto' then
+ if filetype == 'tex' then
+ -- % version =1.0 language=uk
+ firstline = gsub(firstline,"^%%%s*",'')
+ firstline = gsub(firstline,"%s*$",'')
+ for key, val in gmatch(firstline,"(%w+)=(%w+)") do
+ if key == "language" then
+ language = val
+ traceln("auto document language " .. "'" .. language .. "' (tex)")
+ end
+ end
+ skipfirst = true
+ elseif filetype == 'xml' then
+ -- <?xml version='1.0' language='uk' ?>
+ firstline = gsub(firstline,"^%<%?xml%s*", '')
+ firstline = gsub(firstline,"%s*%?%>%s*$", '')
+ for key, val in gmatch(firstline,"(%w+)=[\"\'](.-)[\"\']") do
+ if key == "language" then
+ language = val
+ traceln("auto document language " .. "'" .. language .. "' (xml)")
+ end
+ end
+ skipfirst = true
+ end
+ end
+
+ local fname = props["ctx.spellcheck.wordfile." .. language]
+ local fsize = props["ctx.spellcheck.wordsize." .. language]
+
+ if fsize ~= '' then wordsize = tonumber(fsize) end
+
+ if fname ~= '' and fname ~= wordfile then
+ wordfile, worddone, wordlist = fname, 0, {}
+ for filename in gmatch(wordfile,"[^%,]+") do
+ if wordpath ~= '' then
+ filename = string.expand(wordpath) .. '/' .. filename
+ end
+ if io.exists(filename) then
+ traceln("loading " .. filename)
+ for line in io.lines(filename) do
+ if not find(line,"^[\%\#\-]") then
+ str = gsub(line,"%s*$", '')
+ rawset(wordlist,str,true)
+ worddone = worddone + 1
+ end
+ end
+ else
+ traceln("unknown file '" .. filename .."'")
+ end
+ end
+ traceln(worddone .. " words loaded")
+ end
+
+ reset_text()
+
+ if worddone == 0 then
+ traceln("no (valid) language or wordfile specified")
+ else
+ traceln("start checking")
+ if wordskip ~= '' then
+ traceln("ignoring " .. wordskip .. "..." .. wordgood)
+ end
+ local i, j, lastpos, startpos, endpos, snippet, len, first = 0, 0, -1, 0, 0, '', 0, 0
+ local ok, skip, ch = false, false, ''
+ if skipfirst then first = #firstline end
+ for k = first, editor.TextLength do
+ ch = editor:textrange(k,k+1)
+ if wordgood ~= '' and ch == wordgood then
+ skip = false
+ elseif ch == wordskip then
+ skip = true
+ end
+ if find(ch,"%w") and not find(ch,"%d") then
+ if not skip then
+ if ok then
+ endpos = k
+ else
+ startpos = k
+ endpos = k
+ ok = true
+ end
+ end
+ elseif ok and not skip then
+ len = endpos - startpos + 1
+ if len >= wordsize then
+ snippet = editor:textrange(startpos,endpos+1)
+ i = i + 1
+ if wordlist[snippet] or wordlist[lower(snippet)] then
+ j = j + 1
+ else
+ editor:StartStyling(startpos,INDICS_MASK)
+ editor:SetStyling(len,INDIC2_MASK) -- INDIC0_MASK+2
+ end
+ end
+ ok = false
+ elseif wordgood == '' then
+ skip = (ch == wordskip)
+ end
+ end
+ traceln(i .. " words checked, " .. (i-j) .. " errors")
+ end
+
+end
+
+function reset_text()
+ editor:StartStyling(0,INDICS_MASK)
+ editor:SetStyling(editor.TextLength,INDIC_PLAIN)
+end
+
+-- menu
+
+local menuactions = {}
+local menufunctions = {}
+
+function UserListShow(menutrigger, menulist)
+ local menuentries = {}
+ local list = string.grab(menulist,"[^%|]+")
+ menuactions = {}
+ for i=1, #list do
+ if list[i] ~= '' then
+ for key, val in gmatch(list[i],"%s*(.+)=(.+)%s*") do
+ menuentries[#menuentries+1] = key
+ menuactions[key] = val
+ end
+ end
+ end
+ local menustring = concat(menuentries,'|')
+ if menustring == "" then
+ traceln("There are no templates defined for this file type.")
+ else
+ editor.AutoCSeparator = byte('|')
+ editor:UserListShow(menutrigger,menustring)
+ editor.AutoCSeparator = byte(' ')
+ end
+end
+
+function OnUserListSelection(trigger,choice)
+ if menufunctions[trigger] and menuactions[choice] then
+ return menufunctions[trigger](menuactions[choice])
+ else
+ return false
+ end
+end
+
+-- main menu
+
+local menutrigger = 12
+
+function show_menu(menulist)
+ UserListShow(menutrigger, menulist)
+end
+
+function process_menu(action)
+ if not find(action,"%(%)$") then
+ assert(loadstring(action .. "()"))()
+ else
+ assert(loadstring(action))()
+ end
+end
+
+menufunctions[12] = process_menu
+
+-- templates
+
+local templatetrigger = 13
+
+local ctx_template_paths = { "./ctx-templates", "../ctx-templates", "../../ctx-templates" }
+local ctx_auto_templates = false
+local ctx_template_list = ""
+
+local ctx_path_list = {}
+local ctx_path_done = {}
+local ctx_path_name = {}
+
+function ctx_list_loaded(path)
+ return ctx_path_list[path] and #ctx_path_list[path] > 0
+end
+
+function insert_template(templatelist)
+ if props["ctx.template.scan"] == "yes" then
+ local path = props["FileDir"]
+ local rescan = props["ctx.template.rescan"] == "yes"
+ local suffix = props["ctx.template.suffix." .. props["FileExt"]] -- alas, no suffix expansion here
+ local current = path .. "+" .. props["FileExt"]
+ if rescan then
+ print("re-scanning enabled")
+ end
+ ctx_template_list = ""
+ if not ctx_path_done[path] or rescan then
+ local pattern = "*.*"
+ for i, pathname in ipairs(ctx_template_paths) do
+ print("scanning " .. gsub(path,"\\","/") .. "/" .. pathname)
+ ctx_path_name[path] = pathname
+ ctx_path_list[path] = get_dir_list(pathname .. "/" .. pattern)
+ if ctx_list_loaded(path) then
+ print("finished locating template files")
+ break
+ end
+ end
+ if ctx_list_loaded(path) then
+ print(#ctx_path_list[path] .. " template files found")
+ else
+ print("no template files found")
+ end
+ end
+ if ctx_list_loaded(path) then
+ ctx_template_list = ""
+ local pattern = "%." .. suffix .. "$"
+ local n = 0
+ for j, filename in ipairs(ctx_path_list[path]) do
+ if find(filename,pattern) then
+ n = n + 1
+ local menuname = gsub(filename,"%..-$","")
+ if ctx_template_list ~= "" then
+ ctx_template_list = ctx_template_list .. "|"
+ end
+ ctx_template_list = ctx_template_list .. menuname .. "=" .. ctx_path_name[path] .. "/" .. filename
+ end
+ end
+ if not ctx_path_done[path] then
+ print(n .. " suitable template files found")
+ end
+ end
+ ctx_path_done[path] = true
+ if ctx_template_list == "" then
+ ctx_auto_templates = false
+ else
+ ctx_auto_templates = true
+ templatelist = ctx_template_list
+ end
+ else
+ ctx_auto_templates = false
+ end
+ if templatelist ~= "" then
+ UserListShow(templatetrigger, templatelist)
+ end
+end
+
+
+-- ctx.template.[whatever].[filetype]
+-- ctx.template.[whatever].data.[filetype]
+-- ctx.template.[whatever].file.[filetype]
+-- ctx.template.[whatever].list.[filetype]
+
+function process_template_one(action)
+ local text = nil
+ if ctx_auto_templates then
+ local f = io.open(action,"r")
+ if f then
+ text = gsub(f:read("*all"),"\n$","")
+ f:close()
+ else
+ print("unable to auto load template file " .. text)
+ text = nil
+ end
+ end
+ if not text or text == "" then
+ text = props["ctx.template." .. action .. ".file"]
+ if not text or text == "" then
+ text = props["ctx.template." .. action .. ".data"]
+ if not text or text == "" then
+ text = props["ctx.template." .. action]
+ end
+ else
+ local f = io.open(text,"r")
+ if f then
+ text = gsub(f:read("*all"),"\n$","")
+ f:close()
+ else
+ print("unable to load template file " .. text)
+ text = nil
+ end
+ end
+ end
+ if text then
+ text = gsub(text,"\\n","\n")
+ local pos = find(text,"%?")
+ text = gsub(text,"%?","")
+ editor:insert(editor.CurrentPos,text)
+ if pos then
+ editor.CurrentPos = editor.CurrentPos + pos - 1
+ editor.SelectionStart = editor.CurrentPos
+ editor.SelectionEnd = editor.CurrentPos
+ editor:GotoPos(editor.CurrentPos)
+ end
+ end
+end
+
+menufunctions[13] = process_template_one
+menufunctions[14] = process_template_two
+
+-- command.name.26.*=Open Logfile
+-- command.subsystem.26.*=3
+-- command.26.*=open_log
+-- command.save.before.26.*=2
+-- command.groupundo.26.*=yes
+-- command.shortcut.26.*=Ctrl+E
+
+function open_log()
+ scite.Open(props['FileName'] .. ".log")
+end
diff --git a/context/data/scite/scite-ctx.properties b/context/data/scite/scite-ctx.properties
new file mode 100644
index 000000000..f23508aca
--- /dev/null
+++ b/context/data/scite/scite-ctx.properties
@@ -0,0 +1,155 @@
+# author
+#
+# Hans Hagen - PRAGMA ADE - www.pragma-ade.com
+#
+# environment variable
+#
+# CTXSPELLPATH=t:/spell
+#
+# auto language detection
+#
+# % version =1.0 language=uk
+# <?xml version='1.0' language='uk' ?>
+
+ext.lua.auto.reload=1
+#~ ext.lua.startup.script=$(SciteDefaultHome)/scite-ctx.lua
+ext.lua.startup.script=$(SciteUserHome)/scite-ctx.lua
+
+#~ extension.$(file.patterns.context)=scite-ctx.lua
+#~ extension.$(file.patterns.example)=scite-ctx.lua
+
+#~ ext.lua.reset=1
+#~ ext.lua.auto.reload=1
+#~ ext.lua.startup.script=t:/lua/scite-ctx.lua
+
+ctx.menulist.default=\
+ wrap=wrap_text|\
+ unwrap=unwrap_text|\
+ sort=sort_text|\
+ check=check_text|\
+ reset=reset_text
+
+ctx.menulist.context=\
+ wrap=wrap_text|\
+ unwrap=unwrap_text|\
+ sort=sort_text|\
+ document=document_text|\
+ quote=quote_text|\
+ compound=compound_text|\
+ check=check_text|\
+ reset=reset_text
+
+ctx.menulist.example=\
+ wrap=wrap_text|\
+ unwrap=unwrap_text|\
+ sort=sort_text|\
+ uncomment=uncomment_xml|\
+ document=document_text|\
+ quote=quote_text|\
+ compound=compound_text|\
+ check=check_text|\
+ reset=reset_text
+
+ctx.wraptext.length=65
+
+ctx.spellcheck.language=auto
+ctx.spellcheck.wordsize=4
+ctx.spellcheck.wordpath=ENV(CTXSPELLPATH)
+
+ctx.spellcheck.wordfile.all=spell-uk.txt,spell-nl.txt
+
+ctx.spellcheck.wordfile.uk=spell-uk.txt
+ctx.spellcheck.wordfile.nl=spell-nl.txt
+ctx.spellcheck.wordsize.uk=4
+ctx.spellcheck.wordsize.nl=4
+
+ctx.helpinfo=\
+ Shift + F11 pop up menu with ctx options|\
+ |\
+ Ctrl + B check spelling|\
+ Ctrl + M wrap text (auto indent)|\
+ Ctrl + R reset spelling results|\
+ Ctrl + I insert template|\
+ Ctrl + E open log file
+
+command.name.21.$(file.patterns.context)=CTX Action List
+command.subsystem.21.$(file.patterns.context)=3
+command.21.$(file.patterns.context)=show_menu $(ctx.menulist.context)
+command.groupundo.21.$(file.patterns.context)=yes
+command.save.before.21.$(file.patterns.context)=2
+command.shortcut.21.$(file.patterns.context)=Shift+F11
+
+command.name.21.$(file.patterns.example)=CTX Action List
+command.subsystem.21.$(file.patterns.example)=3
+command.21.$(file.patterns.example)=show_menu $(ctx.menulist.example)
+command.groupundo.21.$(file.patterns.example)=yes
+command.save.before.21.$(file.patterns.example)=2
+command.shortcut.21.$(file.patterns.example)=Shift+F11
+
+#~ command.name.21.*=CTX Action List
+#~ command.subsystem.21.*=3
+#~ command.21.*=show_menu $(ctx.menulist.default)
+#~ command.groupundo.21.*=yes
+#~ command.save.before.21.*=2
+#~ command.shortcut.21.*=Shift+F11
+
+command.name.22.*=CTX Check Text
+command.subsystem.22.*=3
+command.22.*=check_text
+command.groupundo.22.*=yes
+command.save.before.22.*=2
+command.shortcut.22.*=Ctrl+B
+
+command.name.23.*=CTX Wrap Text
+command.subsystem.23.*=3
+command.23.*=wrap_text
+command.groupundo.23.*=yes
+command.save.before.23.*=2
+command.shortcut.23.*=Ctrl+M
+
+command.name.24.*=CTX Reset Text
+command.subsystem.24.*=3
+command.24.*=reset_text
+command.groupundo.24.*=yes
+command.save.before.24.*=2
+command.shortcut.24.*=Ctrl+R
+
+command.name.25.*=CTX Template
+command.subsystem.25.*=3
+command.save.before.25.*=2
+command.groupundo.25.*=yes
+command.shortcut.25.*=Ctrl+I
+
+# command.25.$(file.patterns.context)=insert_template $(ctx.template.list.context)
+# command.25.$(file.patterns.example)=insert_template $(ctx.template.list.example)
+#
+# ctx.template.list.example=\
+# foo=mathadore.foo|\
+# bar=mathadore.bar
+#
+# ctx.template.mathadore.foo.file=./ctx-templates/foo.xml
+# ctx.template.mathadore.bar.data=bar bar bar
+#
+# paths: ./ctx-templates, ../ctx-templates, ../../ctx-templates
+
+command.name.26.*=Open Logfile
+command.subsystem.26.*=3
+command.26.*=open_log
+command.save.before.26.*=2
+command.groupundo.26.*=yes
+command.shortcut.26.*=Ctrl+E
+
+import scite-ctx-context
+import scite-ctx-example
+
+ctx.template.scan=yes
+ctx.template.rescan=no
+
+ctx.template.suffix.tex=tex
+ctx.template.suffix.xml=xml
+
+command.name.27.*=XML Uncomment
+command.subsystem.27.*=3
+command.27.*=uncomment_xml
+command.save.before.27.*=2
+command.groupundo.27.*=yes
diff --git a/context/data/scite/scite-ctx.readme b/context/data/scite/scite-ctx.readme
new file mode 100644
index 000000000..c5f5977a6
--- /dev/null
+++ b/context/data/scite/scite-ctx.readme
@@ -0,0 +1,19 @@
+installation:
+
+-- download scite and install it (take the normal scite, not one that ships with ruby)
+-- copy the texmf-context\context\data\scite\*.properties to c:\users\<youraccount>
+-- copy the texmf-context\context\data\scite\*.lua to the place where scite has its own support files (wscite)
+-- add the line "import context" to your user properties file (entry under menu Options)
+
+running context:
+
+-- add texmf-mswin\bin to your path
+
+or
+
+-- start scite from a cmd that also calls setuptex
+
+spellchecking:
+
+-- create a path for spell files and put spell files there (these are files with just words)
+-- set the environment variable CTXSPELLPATH to this path
diff --git a/context/data/texfont/type-buy.dat b/context/data/texfont/type-buy.dat
new file mode 100644
index 000000000..a65d2e806
--- /dev/null
+++ b/context/data/texfont/type-buy.dat
@@ -0,0 +1,146 @@
+# itc officina
+
+--en=? --ve=itc --co=officina --re
+--en=? --ve=itc --co=officina --so=itc/officina --ma --in
+
+--en=? --ve=itc --co=officina --so=itc/officina --ca=* --pattern=ovbk_*
+--en=? --ve=itc --co=officina --so=itc/officina --sl=* --pattern=ovbk_*
+--en=? --ve=itc --co=officina --so=itc/officina --sl=* --pattern=ovb_*
+
+--en=? --ve=itc --co=officina --so=itc/officina --ca=* --pattern=owbk_*
+--en=? --ve=itc --co=officina --so=itc/officina --sl=* --pattern=owbk_*
+--en=? --ve=itc --co=officina --so=itc/officina --sl=* --pattern=owb_*
+
+# bh lucida
+
+--en=? --ve=bh --co=lucida --re
+--en=? --ve=bh --co=lucida --so=bh/lucida --ma --in --expert
+
+# fontfont meta
+
+--en=? --ve=fontfont --co=meta --re
+--en=? --ve=fontfont --co=meta --so=fontfont/meta-1 --ma --in --expert
+--en=? --ve=fontfont --co=meta --so=fontfont/meta-2 --ma --in --expert
+
+--en=? --ve=fontfont --co=meta --so=fontfont/meta-1 --sl=* --pattern=mtbk_*
+--en=? --ve=fontfont --co=meta --so=fontfont/meta-1 --sl=* --pattern=mtbd_*
+
+# lucas sun
+
+--en=? --ve=lucas --co=sun --re
+--en=? --ve=lucas --co=sun --so=lucas/sun --ma --in
+
+# lucas antiqua
+
+--en=? --ve=lucas --co=antiqua --re
+--en=? --ve=lucas --co=antiqua --so=lucas/antiqua --ma --in
+
+# lucas thesans
+
+--en=? --ve=lucas --co=thesans --re
+--en=? --ve=lucas --co=thesans --so=lucas/thesans --ma --in
+--en=? --ve=lucas --co=thesans --so=lucas/thesans --ma --in --expert
+
+# creative arcadia
+
+--en=? --ve=creative --co=arcadia --re
+--en=? --ve=creative --co=arcadia --so=creative/arcadia --ma --in
+
+# creative industria
+
+--en=? --ve=creative --co=industria --re
+--en=? --ve=creative --co=industria --so=creative/industria --ma --in
+
+# creative insignia
+
+--en=? --ve=creative --co=insignia --re
+--en=? --ve=creative --co=insignia --so=creative/insignia --ma --in
+
+# fontfont din
+
+--en=? --ve=fontfont --co=din --re
+--en=? --ve=fontfont --co=din --so=fontfont/din --ma --in
+
+# adobe myriad
+
+--en=? --so=adobe/myriad --weight=400 --width=600 MyriadMM
+--en=? --so=adobe/myriad --weight=700 --width=600 MyriadMM
+--en=? --so=adobe/myriad --weight=400 --width=600 MyriadMM-It
+--en=? --so=adobe/myriad --weight=700 --width=600 MyriadMM-It
+
+--en=? --ve=adobe --co=myriad --so=adobe/myriad --ma --in --pattern=MyriadMM-we*
+--en=? --ve=adobe --co=myriad --so=adobe/myriad --ma --in --pattern=MyriadMM-It-we*
+
+--en=? --ve=adobe --co=myriad --so=adobe/myriad --sl=* --pattern=MyriadMM-we*
+--en=? --ve=adobe --co=myriad --so=adobe/myriad --ca=* --pattern=MyriadMM-we*
+
+# adobe frutiger
+
+--en=? --ve=adobe --co=frutiger --re
+--en=? --ve=adobe --co=frutiger --so=adobe/frutiger --ma --in
+
+# itc mendoza
+
+--en=? --ve=itc --co=mendoza --re
+--en=? --ve=itc --co=mendoza --so=itc/mendoza --ma --in
+
+# linotype univers
+
+--en=? --ve=linotype --co=univers --re
+--en=? --ve=linotype --co=univers --so=linotype/univers --ma --in
+
+# linotype linoletter
+
+--en=? --ve=linotype --co=linoletter --re
+--en=? --ve=linotype --co=linoletter --so=linotype/linoletter --ma --in
+
+# adobe utopia
+#
+# --en=? --ve=adobe --co=utopia --re
+# --en=? --ve=adobe --co=utopia --so=adobe/utopia --ma --in
+
+# itc kabel
+
+--en=? --ve=itc --co=kabel --re
+--en=? --ve=itc --co=kabel --so=itc/kabel --ma --in
+
+# monotype sabon
+
+--en=? --ve=monotype --co=sabon --re
+--en=? --ve=monotype --co=sabon --so=monotype/sabon --ma --in
+
+# linotype industria
+
+--en=? --ve=linotype --co=industria --re
+--en=? --ve=linotype --co=industria --so=linotype/industria --ma --in
+
+# itc stone
+
+--en=? --ve=itc --co=stone --re
+--en=? --ve=itc --co=stone --so=itc/stone --ma --in
+
+# itc bauhaus
+
+--en=? --ve=itc --co=bauhaus --re
+--en=? --ve=itc --co=bauhaus --so=itc/bauhaus --ma --in
+--en=? --ve=itc --co=bauhaus --so=itc/bauhaus --sl=* --pattern=bh*
+
+# ef swift
+
+--en=? --ve=ef --co=swift --re
+--en=? --ve=ef --co=swift --so=ef/swift --ma --in --pattern=sw*
+
+# linotype optima-nova
+
+--en=? --ve=linotype --co=optima-nova --re
+--en=? --ve=linotype --co=optima-nova --so=linotype/optima-nova --ma --in
+
+# linotype palatino-nova
+
+--en=? --ve=linotype --co=palatino-nova --re
+--en=? --ve=linotype --co=palatino-nova --so=linotype/palatino-nova --ma --in
+
+# linotype syntax
+
+--en=? --ve=linotype --co=syntax --re
+--en=? --ve=linotype --co=syntax --so=linotype/syntax --ma --in
diff --git a/context/data/texfont/type-fsf.dat b/context/data/texfont/type-fsf.dat
new file mode 100644
index 000000000..c303bdcd8
--- /dev/null
+++ b/context/data/texfont/type-fsf.dat
@@ -0,0 +1,25 @@
+# Please use the originals instead ! ! ! ! !
+
+# fontsite opus
+
+--en=? --ve=fontsite --co=opus --re
+--en=? --ve=fontsite --co=opus --so=fsf/all --ma --in --pattern=opus*
+
+--en=? --ve=fontsite --co=opus --so=fsf/all --sl=* --pattern=opusrg_*
+--en=? --ve=fontsite --co=opus --so=fsf/all --sl=* --pattern=opusb_*
+
+# fontsite typewriter
+
+--en=? --ve=fontsite --co=typewriter --re
+--en=? --ve=fontsite --co=typewriter --so=fsf/all --ma --in --pattern=type*
+
+--en=? --ve=fontsite --co=typewriter --so=fsf/all --sl=* --pattern=typerg_*
+--en=? --ve=fontsite --co=typewriter --so=fsf/all --sl=* --pattern=typeb_*
+
+# fontsite garamond
+
+--en=? --ve=fontsite --co=garamond --re
+--en=? --ve=fontsite --co=garamond --so=fsf/all --ma --in --pattern=gara*
+
+--en=? --ve=fontsite --co=garamond --so=fsf/all --sl=* --pattern=garamond*
+--en=? --ve=fontsite --co=garamond --so=fsf/all --sl=* --pattern=garab_*
diff --git a/context/data/texfont/type-ghz.dat b/context/data/texfont/type-ghz.dat
new file mode 100644
index 000000000..37ce5d6f9
--- /dev/null
+++ b/context/data/texfont/type-ghz.dat
@@ -0,0 +1,78 @@
+# Gudrun and Hermann Zapf Collection
+
+# linotype alcuin
+
+# linotype aldus
+
+# linotype ams-euler
+
+# linotype ariadne
+
+# linotype aurelia
+
+# linotype carmina
+
+# linotype colombine
+
+# linotype diotima
+
+# linotype edison
+
+# linotype itc-zapf-book
+
+# linotype itc-zapf-chancery
+
+# linotype itc-zapf-dingbats
+
+# linotype itc-zapf-international-lt
+
+# linotype kompakt
+
+# linotype zapfino
+
+--en=? --ve=linotype --co=zapfino --re
+--en=? --ve=linotype --co=zapfino --so=ghz/linotype-zapfino --ma --in
+
+# linotype marconi
+
+# linotype medici-script
+
+# linotype melior
+
+--en=? --ve=linotype --co=melior --re
+--en=? --ve=linotype --co=melior --so=ghz/melior --ma --in
+
+# linotype noris
+
+# linotype optima
+
+--en=? --ve=linotype --co=optima --re
+--en=? --ve=linotype --co=optima --so=ghz/optima --ma --in
+
+# linotype optima-nova
+
+--en=? --ve=linotype --co=optima-nova --re
+--en=? --ve=linotype --co=optima-nova --so=linotype/optima-nova --ma --in
+
+# linotype orion
+
+# linotype palatino
+
+--en=? --ve=linotype --co=palatino --re
+--en=? --ve=linotype --co=palatino --so=ghz/palatino --ma --in
+
+# linotype saphir
+
+# linotype shakespeare
+
+# linotype sistina
+
+# linotype smaragd
+
+# linotype vario
+
+# linotype venture-script
+
+# linotype zapf-essentials-lt
+
+# linotype zapf-renaissance-antiqua
diff --git a/context/data/texfont/type-tmf.dat b/context/data/texfont/type-tmf.dat
new file mode 100644
index 000000000..a226e9362
--- /dev/null
+++ b/context/data/texfont/type-tmf.dat
@@ -0,0 +1,75 @@
+# You can process this file as follows, using texfont.pl:
+#
+# texfont --encoding=ec --batch texfont.dat
+#
+# where 'ec' can be replaced by 'texnansi', '8r' or otherwise.
+#
+# The TEXMFTE and TEXMFGW paths are used by gwtex.
+
+
+# public antp
+
+--en=? --ve=public --co=antp --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+
+# no longer needed, public antt
+#
+# --en=? --ve=public --co=antt --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+
+# urw helvetica
+
+--en=? --ve=urw --co=helvetica --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+
+# urw courier
+
+--en=? --ve=urw --co=courier --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+
+# urw zapfchan
+
+--en=? --ve=urw --co=zapfchan --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+
+# urw times
+
+--en=? --ve=urw --co=times --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=times --so=auto --ca=* utmr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=times --so=auto --sl=* utmr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=times --so=auto --sl=* utmb8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+
+# urw palatino
+
+--en=? --ve=urw --co=palatino --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=palatino --so=auto --ca=* uplr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=palatino --so=auto --sl=* uplr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=palatino --so=auto --sl=* uplb8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+
+# adobe utopia
+
+--en=? --ve=adobe --co=utopia --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=adobe --co=utopia --so=auto --ca=* putr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=adobe --co=utopia --so=auto --sl=* putr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=adobe --co=utopia --so=auto --sl=* putb8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+
+--en=? --ve=adobe --co=utopia --so=auto --ro=TEXMFMAIN,TEXMFEXTRA,TEXMFTE,TEXMFGW
+--en=? --ve=adobe --co=utopia --so=auto --ca=* putr8a --ro=TEXMFMAIN,TEXMFEXTRA,TEXMFTE,TEXMFGW
+--en=? --ve=adobe --co=utopia --so=auto --sl=* putr8a --ro=TEXMFMAIN,TEXMFEXTRA,TEXMFTE,TEXMFGW
+--en=? --ve=adobe --co=utopia --so=auto --sl=* putb8a --ro=TEXMFMAIN,TEXMFEXTRA,TEXMFTE,TEXMFGW
+
+# bitstream charter
+
+--en=? --ve=bitstrea --co=charter --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=bitstrea --co=charter --so=auto --ca=* bchr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=bitstrea --co=charter --so=auto --sl=* bchr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=bitstrea --co=charter --so=auto --sl=* bchb8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+
+# uwr bookman
+
+--en=? --ve=urw --co=bookman --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=bookman --so=auto --ca=* ubkl8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=bookman --so=auto --sl=* ubkl8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=bookman --so=auto --sl=* ubkd8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+
+# uwr schoolbook
+
+--en=? --ve=urw --co=ncntrsbk --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=ncntrsbk --so=auto --ca=* uncr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=ncntrsbk --so=auto --sl=* uncr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=ncntrsbk --so=auto --sl=* uncb8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
diff --git a/context/data/textadept/context.lua b/context/data/textadept/context.lua
new file mode 100644
index 000000000..f386eb87d
--- /dev/null
+++ b/context/data/textadept/context.lua
@@ -0,0 +1,710 @@
+--[[
+ Preliminary ConTeXT lexer
+
+ % ConTeXt
+ tex context
+ mkii context
+ mkiv context
+
+ experiment dd 2009/10/28 .. todo:
+
+ -- figure out if tabs instead of splits are possible
+ -- locate an option to enter name in file dialogue (like windows permits)
+ -- nesting of lua somehow does not re-lex while typing (backtrack till begin_...)
+ -- find trick to overload latex lexer (mime_types, metatype trickery)
+ -- convert scite lua scripts to textadept
+ -- check linux and osx versions
+ -- figure out why loading a file fails (lfs too)
+
+ so, this is just an experiment
+
+]]--
+
+local textadept = _G.textadept
+
+module(..., package.seeall)
+
+local context = context
+local lua = require 'lua'
+
+local P, R, S, V = lpeg.P, lpeg.R, lpeg.S, lpeg.V
+
+--~ local some_words = { "starttext", "stoptext", "writestatus" }
+
+local some_words = {
+ "CAP",
+ "Cap",
+ "Caps",
+ "Character",
+ "Characters",
+ "MONTH",
+ "Romannumerals",
+ "WEEKDAY",
+ "WORD",
+ "WORDS",
+ "Word",
+ "Words",
+ "about",
+ "adaptlayout",
+ "adding",
+ "appendix",
+ "arg",
+ "at",
+ "atpage",
+ "background",
+ "blackrule",
+ "blackrules",
+ "blank",
+ "bookmark",
+ "but",
+ "button",
+ "bypassblocks",
+ "cap",
+ "chapter",
+ "character",
+ "characters",
+ "chem",
+ "clip",
+ "clonefield",
+ "color",
+ "column",
+ "comment",
+ "comparecolorgroup",
+ "comparepalet",
+ "completecombinedlist",
+ "completelistoffloats",
+ "completelistofsorts",
+ "completelistofsynonyms",
+ "completeregister",
+ "convertnumber",
+ "copyfield",
+ "correctwhitespace",
+ "coupledocument",
+ "coupledregister",
+ "couplemarking",
+ "couplepage",
+ "couplepaper",
+ "coupleregister",
+ "crlf",
+ "currentdate",
+ "currentheadnumber",
+ "date",
+ "decouplemarking",
+ "define",
+ "defineblank",
+ "defineblock",
+ "definebodyfont",
+ "definebodyfontenvironment",
+ "definebuffer",
+ "definecolor",
+ "definecolorgroup",
+ "definecombinedlist",
+ "defineconversion",
+ "definedescription",
+ "defineenumeration",
+ "definefield",
+ "definefieldstack",
+ "definefiguresymbol",
+ "definefloat",
+ "definefont",
+ "defineframed",
+ "defineframedtext",
+ "definehead",
+ "defineindenting",
+ "defineinteractionmenu",
+ "defineinteractionmenu",
+ "definelabel",
+ "definelist",
+ "definelogo",
+ "definemakeup",
+ "definemarking",
+ "defineoutput",
+ "defineoverlay",
+ "definepalet",
+ "definepapersize",
+ "defineparagraphs",
+ "defineprofile",
+ "defineprogram",
+ "definerawfont",
+ "definereference",
+ "definereferenceformat",
+ "definereferencelist",
+ "defineregister",
+ "definerule",
+ "definesection",
+ "definesectionblock",
+ "definesorting",
+ "definestartstop",
+ "definesubfield",
+ "definesymbol",
+ "definesynonyms",
+ "definetabletemplate",
+ "definetabulate",
+ "definetext",
+ "definetextposition",
+ "definetextvariable",
+ "definetype",
+ "definetyping",
+ "defineversion",
+ "description",
+ "determineheadnumber",
+ "determinelistcharacteristics",
+ "disableinteractionmenu",
+ "donttest",
+ "emptylines",
+ "enumeration",
+ "externalfigure",
+ "field",
+ "fieldstack",
+ "fillinfield",
+ "fillinline",
+ "fillinrules",
+ "fillintext",
+ "fitfield",
+ "fixedspaces",
+ "followprofile",
+ "followprofileversion",
+ "followversion",
+ "footnote",
+ "footnotetext",
+ "forceblocks",
+ "fraction",
+ "framed",
+ "framedtext",
+ "from",
+ "getbuffer",
+ "getmarking",
+ "godown",
+ "goto",
+ "gotobox",
+ "graycolor",
+ "grid",
+ "hairline",
+ "head",
+ "headnumber",
+ "headtext",
+ "hideblocks",
+ "high",
+ "hl",
+ "in",
+ "indentation",
+ "indenting",
+ "inframed",
+ "ininner",
+ "inleft",
+ "inline",
+ "inmargin",
+ "inothermargin",
+ "inouter",
+ "inright",
+ "installlanguage",
+ "interactionbar",
+ "interactionbuttons",
+ "item",
+ "items",
+ "its",
+ "keepblocks",
+ "labeling",
+ "labels",
+ "labeltext",
+ "language",
+ "leftaligned",
+ "listsymbol",
+ "loadsorts",
+ "loadsynonyms",
+ "logfields",
+ "lohi",
+ "low",
+ "mainlanguage",
+ "mar",
+ "marginrule",
+ "margintext",
+ "marking",
+ "markversion",
+ "mathematics",
+ "mediaeval",
+ "midaligned",
+ "mirror",
+ "month",
+ "moveongrid",
+ "name",
+ "nextsection",
+ "nocap",
+ "noheaderandfooterlines",
+ "noindenting",
+ "nolist",
+ "nomarking",
+ "nomoreblocks",
+ "nomorefiles",
+ "nop",
+ "nospace",
+ "note",
+ "notopandbottomlines",
+ "nowhitespace",
+ "numbers",
+ "overbar",
+ "overbars",
+ "overstrike",
+ "overstrikes",
+ "packed",
+ "page",
+ "pagereference",
+ "pagetype",
+ "paragraph",
+ "part",
+ "periods",
+ "placebookmarks",
+ "placecombinedlist",
+ "placecombinedlist",
+ "placefloat",
+ "placefootnotes",
+ "placeformula",
+ "placelegend",
+ "placelist",
+ "placelistoffloats",
+ "placelistofsorts",
+ "placelistofsynonyms",
+ "placelocalfootnotes",
+ "placelogos",
+ "placeongrid",
+ "placeontopofeachother",
+ "placereferencelist",
+ "placeregister",
+ "placeregister",
+ "placerule",
+ "placesidebyside",
+ "placesubformula",
+ "placetextvariable",
+ "position",
+ "positiontext",
+ "processblocks",
+ "processpage",
+ "program",
+ "publication",
+ "quotation",
+ "quote",
+ "ran",
+ "ref",
+ "reference",
+ "referral",
+ "referraldate",
+ "register",
+ "reservefloat",
+ "reset",
+ "resetmarking",
+ "resettextcontent",
+ "rightaligned",
+ "romannumerals",
+ "rotate",
+ "scale",
+ "screen",
+ "section",
+ "seeregister",
+ "selectblocks",
+ "selectpaper",
+ "selectversion",
+ "settextcontent",
+ "settextvariable",
+ "setupalign",
+ "setuparranging",
+ "setupbackground",
+ "setupbackgrounds",
+ "setupblackrules",
+ "setupblank",
+ "setupblock",
+ "setupbodyfont",
+ "setupbodyfontenvironment",
+ "setupbottom",
+ "setupbottomtexts",
+ "setupbuffer",
+ "setupbuttons",
+ "setupcapitals",
+ "setupcaption",
+ "setupcaptions",
+ "setupclipping",
+ "setupcolor",
+ "setupcolors",
+ "setupcolumns",
+ "setupcombinations",
+ "setupcombinedlist",
+ "setupcomment",
+ "setupdescriptions",
+ "setupenumerations",
+ "setupexternalfigures",
+ "setupfield",
+ "setupfields",
+ "setupfillinlines",
+ "setupfillinrules",
+ "setupfloat",
+ "setupfloats",
+ "setupfloatsplitting",
+ "setupfooter",
+ "setupfootertexts",
+ "setupfootnotedefinition",
+ "setupfootnotes",
+ "setupforms",
+ "setupformulae",
+ "setupframed",
+ "setupframedtexts",
+ "setuphead",
+ "setupheader",
+ "setupheadertexts",
+ "setupheadnumber",
+ "setupheads",
+ "setupheadtext",
+ "setuphyphenmark",
+ "setupindentations",
+ "setupindenting",
+ "setupinmargin",
+ "setupinteraction",
+ "setupinteractionbar",
+ "setupinteractionscreen",
+ "setupinterlinespace",
+ "setupinterlinespace",
+ "setupitemgroup",
+ "setupitems",
+ "setuplabeltext",
+ "setuplanguage",
+ "setuplayout",
+ "setuplegend",
+ "setuplinenumbering",
+ "setuplines",
+ "setuplinewidth",
+ "setuplist",
+ "setuplistalternative",
+ "setupmakeup",
+ "setupmarginblocks",
+ "setupmarginrules",
+ "setupmarking",
+ "setupnarrower",
+ "setupnumbering",
+ "setupoppositeplacing",
+ "setupoutput",
+ "setuppagenumber",
+ "setuppagenumbering",
+ "setuppagetransitions",
+ "setuppalet",
+ "setuppaper",
+ "setuppapersize",
+ "setupparagraphnumbering",
+ "setupparagraphs",
+ "setuppositioning",
+ "setupprofiles",
+ "setupprograms",
+ "setuppublications",
+ "setupquote",
+ "setupreferencelist",
+ "setupreferencing",
+ "setupregister",
+ "setuprotate",
+ "setuprule",
+ "setupscreens",
+ "setupsection",
+ "setupsectionblock",
+ "setupsorting",
+ "setupspacing",
+ "setupstrut",
+ "setupsubpagenumber",
+ "setupsymbolset",
+ "setupsynchronization",
+ "setupsynchronizationbar",
+ "setupsynonyms",
+ "setupsystem",
+ "setuptab",
+ "setuptables",
+ "setuptabulate",
+ "setuptext",
+ "setuptextposition",
+ "setuptextrules",
+ "setuptexttexts",
+ "setuptextvariable",
+ "setupthinrules",
+ "setuptolerance",
+ "setuptop",
+ "setuptoptexts",
+ "setuptype",
+ "setuptyping",
+ "setupunderbar",
+ "setupurl",
+ "setupversions",
+ "setupwhitespace",
+ "showbodyfont",
+ "showbodyfontenvironment",
+ "showcolor",
+ "showcolorgroup",
+ "showexternalfigures",
+ "showfields",
+ "showframe",
+ "showgrid",
+ "showlayout",
+ "showmakeup",
+ "showpalet",
+ "showprint",
+ "showsetups",
+ "showstruts",
+ "showsymbolset",
+ "someline",
+ "somewhere",
+ "sort",
+ "space",
+ "splitfloat",
+ "startalignment",
+ "startbackground",
+ "startbuffer",
+ "startcolor",
+ "startcolumns",
+ "startcombination",
+ "startcomment",
+ "startcomponent",
+ "startdescription",
+ "startdocument",
+ "startenumeration",
+ "startenvironment",
+ "startfact",
+ "startfigure",
+ "startfloattext",
+ "startformula",
+ "startframedtext",
+ "starthiding",
+ "startinteractionmenu",
+ "startitemgroup",
+ "startlegend",
+ "startline",
+ "startlinecorrection",
+ "startlinenumbering",
+ "startlines",
+ "startlocal",
+ "startlocalenvironment",
+ "startlocalfootnotes",
+ "startmakeup",
+ "startmarginblock",
+ "startmarginrule",
+ "startnamemakeup",
+ "startnarrower",
+ "startopposite",
+ "startoverlay",
+ "startoverview",
+ "startpacked",
+ "startparagraph",
+ "startpositioning",
+ "startpostponing",
+ "startproduct",
+ "startprofile",
+ "startproject",
+ "startquotation",
+ "startregister",
+ "startsymbolset",
+ "startsynchronization",
+ "starttable",
+ "starttables",
+ "starttabulate",
+ "starttextrule",
+ "starttyping",
+ "startunpacked",
+ "startversion",
+ "stopalignment",
+ "stopbackground",
+ "stopbuffer",
+ "stopcolor",
+ "stopcolumns",
+ "stopcombination",
+ "stopcomment",
+ "stopcomponent",
+ "stopdescription",
+ "stopdocument",
+ "stopenumeration",
+ "stopenvironment",
+ "stopfact",
+ "stopfigure",
+ "stopfloattext",
+ "stopformula",
+ "stopframedtext",
+ "stophiding",
+ "stopinteractionmenu",
+ "stopitemgroup",
+ "stoplegend",
+ "stopline",
+ "stoplinecorrection",
+ "stoplinenumbering",
+ "stoplines",
+ "stoplocal",
+ "stoplocalenvironment",
+ "stoplocalfootnotes",
+ "stopmakeup",
+ "stopmarginblock",
+ "stopmarginrule",
+ "stopnamemakeup",
+ "stopnarrower",
+ "stopopposite",
+ "stopoverlay",
+ "stopoverview",
+ "stoppacked",
+ "stopparagraph",
+ "stoppositioning",
+ "stoppostponing",
+ "stopproduct",
+ "stopprofile",
+ "stopproject",
+ "stopquotation",
+ "stopsymbolset",
+ "stopsynchronization",
+ "stoptable",
+ "stoptables",
+ "stoptabulate",
+ "stoptextrule",
+ "stoptyping",
+ "stopunpacked",
+ "stopversion",
+ "stretched",
+ "sub",
+ "subject",
+ "subsection",
+ "subsubject",
+ "subsubsection",
+ "subsubsubject",
+ "switchtobodyfont",
+ "switchtorawfont",
+ "sym",
+ "symbol",
+ "synchronizationbar",
+ "synchronize",
+ "synonym",
+ "tab",
+ "tex",
+ "textreference",
+ "textrule",
+ "textvariable",
+ "thinrule",
+ "thinrules",
+ "title",
+ "tooltip",
+ "translate",
+ "typ",
+ "type",
+ "typebuffer",
+ "typefile",
+ "underbar",
+ "underbars",
+ "useURL",
+ "useblocks",
+ "usecommands",
+ "usedirectory",
+ "useencoding",
+ "useexternaldocument",
+ "useexternalfigure",
+ "useexternalfile",
+ "useexternalfiles",
+ "useexternalsoundtrack",
+ "usemodule",
+ "usereferences",
+ "usespecials",
+ "usesymbols",
+ "version",
+ "vl",
+ "weekday",
+ "whitespace",
+ "wordright",
+ "writebetweenlist",
+ "writetolist",
+ "writetoreferencelist",
+ "writetoregister",
+}
+
+local tex_word_match = word_match(word_list(some_words))
+
+--~ local function tex_preamble_match()
+--~ return P(function(input, index)
+--~ if index < 10 then
+--~ local s, e, word = input:find('^(.+)[\n\r]',index)
+--~ if word then
+--~ local interface = word:match("interface=(..)")
+--~ if interface then
+--~ local name = "c:/data/develop/context/lua/textadept/cont-" .. interface .. "-scite.lua"
+--~ --~ local f = io.open(name,"rb") -- fails
+--~ if f then
+--~ local data = f:read("*all")
+--~ data = data and loadstring(data)
+--~ data = data and data()
+--~ if data and type(data) == "table" then
+--~ some_words = word_list(data)
+--~ context.LoadTokens()
+--~ -- InitLexer(context)
+--~ end
+--~ f:close()
+--~ end
+--~ end
+--~ end
+--~ end
+--~ return false
+--~ end)
+--~ end
+
+local spacing = token('whitespace', S(" \n\r\t\f")^1)
+--~ local preamble = token('preamble', P('%') * tex_preamble_match())
+local comment = token('comment', P('%') * (1-S("\n\r"))^0)
+local keyword = token('keyword', P('\\') * tex_word_match)
+local command = token('command', P('\\') * ((R("az","AZ")+S("@!?"))^1 + P(1)))
+local grouping = token('grouping', S("{$}"))
+local specials = token('specials', S("#()[]<>=\""))
+local extras = token('extras', S("`~%^&_-+/\'|"))
+
+-- LexByLine = true
+
+local startluacode = token("grouping", P("\\startluacode"))
+local stopluacode = token("grouping", P("\\stopluacode"))
+--~ local startctxlua = token("grouping", P("\\ctxlua") * spacing^0 * P("{"))
+--~ local stopctxlua = token("grouping", P("}"))
+
+--~ local startMPcode = token("grouping", P("\\startMPcode"))
+--~ local stopMPcode = token("grouping", P("\\stopMPcode"))
+--~ local startuseMPgraphic = token("grouping", P("\\startuseMPgraphic"))
+--~ local stopuseMPgraphic = token("grouping", P("\\stopuseMPgraphic"))
+--~ local startreusableMPgraphic = token("grouping", P("\\startreusableMPgraphic"))
+--~ local stopreusableMPgraphic = token("grouping", P("\\stopreusableMPgraphic"))
+--~ local startuniqueMPgraphic = token("grouping", P("\\startuniqueMPgraphic"))
+--~ local stopuniqueMPgraphic = token("grouping", P("\\stopuniqueMPgraphic"))
+
+function LoadTokens()
+
+ lua.LoadTokens()
+
+ add_token(context, 'whitespace', spacing)
+--~ add_token(context, 'preamble', preamble)
+ add_token(context, 'comment', comment)
+ add_token(context, 'keyword', keyword)
+ add_token(context, 'command', command)
+ add_token(context, 'grouping', grouping)
+ add_token(context, 'specials', specials)
+ add_token(context, 'extras', extras)
+ add_token(context, 'any_char', any_char)
+
+ lua.TokenPatterns.any_char = token('default', 1 - stopluacode)
+
+ make_embeddable(lua, context, startluacode, stopluacode)
+-- make_embeddable(lua, context, startctxlua, stopctxlua) -- no multiple embeddables unless more complex anychar
+ embed_language(context, lua)
+
+-- metapost.LoadTokens()
+-- metapost.TokenPatterns.any_char = token('any_char', 1 - stopMPcode - stopuseMPgraphic - stopreusableMPgraphic - stopuniqueMPgraphic)
+-- make_embeddable(metapost, context, startMPcode, stopMPcode )
+-- make_embeddable(metapost, context, startuseMPgraphic, stopuseMPgraphic )
+-- make_embeddable(metapost, context, startreusableMPgraphic, stopreusableMPgraphic)
+-- make_embeddable(metapost, context, startuniqueMPgraphic, stopuniqueMPgraphic )
+end
+
+local bold = true
+local italic = true
+
+function LoadStyles()
+ add_style('preamble', style_nothing .. { fore = colors.yellow, bold = bold })
+ add_style('comment', style_nothing .. { fore = colors.yellow, bold = bold })
+ add_style('keyword', style_nothing .. { fore = colors.green, bold = bold, italic = italic })
+ add_style('command', style_nothing .. { fore = colors.green, bold = bold })
+ add_style('grouping', style_nothing .. { fore = colors.red, bold = bold })
+ add_style('specials', style_nothing .. { fore = colors.blue, bold = bold })
+ add_style('extras', style_nothing .. { fore = colors.yellow, bold = bold })
+end
+
+--~ textadept.mime_types.extensions["tex"] = context
+--~ textadept.mime_types.extensions["mkii"] = context
+--~ textadept.mime_types.extensions["mkiv"] = context
diff --git a/context/data/texworks/TUG/TeXworks.ini b/context/data/texworks/TUG/TeXworks.ini
new file mode 100644
index 000000000..8c0a4a43d
--- /dev/null
+++ b/context/data/texworks/TUG/TeXworks.ini
@@ -0,0 +1,18 @@
+[General]
+launchOption=1
+locale=en
+syntaxColoring=ConTeXt TeX
+autoIndent=None
+wrapLines=false
+tabWidth=32
+font="Lucida Console,10,-1,5,50,0,0,0,0,0"
+language=None
+scaleOption=1
+previewScale=200
+magnifierSize=2
+circularMagnifier=true
+defaultEngine=ConTeXt MkIV
+binaryPaths=
+autoHideConsole=false
+openDialogDir=
+recentFileList=
diff --git a/context/data/texworks/completion/tw-context.txt b/context/data/texworks/completion/tw-context.txt
new file mode 100644
index 000000000..59f52c870
--- /dev/null
+++ b/context/data/texworks/completion/tw-context.txt
@@ -0,0 +1 @@
+%%!TEX encoding = UTF-8 Unicode
diff --git a/context/data/texworks/configuration/auto-indent-patterns.txt b/context/data/texworks/configuration/auto-indent-patterns.txt
new file mode 100644
index 000000000..e0e331dac
--- /dev/null
+++ b/context/data/texworks/configuration/auto-indent-patterns.txt
@@ -0,0 +1,14 @@
+# TeXworks: Patterns for auto-indent modes
+
+# Each entry consists of two fields:
+# "name" <regex>
+
+# "name" is a name for the mode, which will appear in the Auto-Indent submenu.
+# This is enclosed in "double quotes", and followed by whitespace to separate it from <regex>.
+
+# <regex> is the regular expression; if this matches the start of the current line when <return>
+# is pressed, then the new line will be given the same prefix. The regex is not quoted.
+# (Using ^ at the start of the pattern is not strictly necessary, but improves efficiency.)
+
+# "Whitespace only" ^\s+
+# "TeX comments" ^(\s+|\s*%+\s*)
diff --git a/context/data/texworks/configuration/delimiter-pairs.txt b/context/data/texworks/configuration/delimiter-pairs.txt
new file mode 100644
index 000000000..1ee56dcd6
--- /dev/null
+++ b/context/data/texworks/configuration/delimiter-pairs.txt
@@ -0,0 +1,12 @@
+# TeXworks: Paired delimiters for matching/balancing
+
+# Each line gives a pair opening and closing delimiters (a single Unicode character each),
+# separated by whitespace.
+
+( )
+[ ]
+{ }
+« »
+‹ ›
+“ ”
+‘ ’
diff --git a/context/data/texworks/configuration/smart-quotes-modes.txt b/context/data/texworks/configuration/smart-quotes-modes.txt
new file mode 100644
index 000000000..9f7f95d69
--- /dev/null
+++ b/context/data/texworks/configuration/smart-quotes-modes.txt
@@ -0,0 +1,21 @@
+# TeXworks: "Smart Quotes" modes
+
+# Each mode has a label (in [square brackets]), followed by lines specifying the
+# behavior for each quote keystroke. These lines have three fields:
+#
+# <keystroke> <open-form> <close-form>
+#
+# separated by whitespace.
+
+# [TeX ligatures]
+# ' ` '
+# " `` ''
+#
+
+[TeX commands]
+' \quote{ }
+" \quotation{ }
+
+# [Unicode characters]
+# ' ‘ ’
+# " “ ”
diff --git a/context/data/texworks/configuration/syntax-patterns.txt b/context/data/texworks/configuration/syntax-patterns.txt
new file mode 100644
index 000000000..687fae887
--- /dev/null
+++ b/context/data/texworks/configuration/syntax-patterns.txt
@@ -0,0 +1,42 @@
+# TeXworks: Patterns for syntax coloring
+
+# Each entry consists of three whitespace-separated fields:
+# <color> <spell?> <regex>
+
+# <color> is a color name from the list defined in the SVG standard;
+# see http://www.w3.org/TR/SVG/types.html#ColorKeywords
+
+# <spell> is a flag controlling whether this style is subject to spell-checking;
+# "Y" or "y" for yes, "N" (or anything else, actually) for no.
+
+# <regex> is the regular expression to match.
+
+# Note that order of rules may be important if several rules could match at the same position;
+# this is why the generic "control sequence" rule comes AFTER the specific \begin/\end one.
+
+[ConTeXt TeX]
+
+darkred N [\$\{\}]
+
+darkblue N [\<\>\"\'\[\]\=\#]
+goldenrod N [\~\`\%\^\&\-\+\|]
+darkgreen N \\(?:[\w\@\?\!]+|.)
+darkgray N %.*
+
+[ConTeXt XML]
+
+# todo: attributes
+
+darkred N \<\?xml.*\?\>
+darkblue N \<\!\-\-.*\-\-\>
+darkblue N [\"\']
+goldenrod N \<\?.*\?\>
+darkgreen N \<\/*[a-zA-Z\_\-]*\:*[a-zA-Z\_\-]+
+darkgreen N \/\>
+darkgreen N \>
+darkred N \&[a-zA-Z\_\-]+\;
+
+# other possibilities to be added....
+# [BibTeX]
+# [Metapost]
+# etc
diff --git a/context/data/texworks/configuration/tag-patterns.txt b/context/data/texworks/configuration/tag-patterns.txt
new file mode 100644
index 000000000..7e3837da2
--- /dev/null
+++ b/context/data/texworks/configuration/tag-patterns.txt
@@ -0,0 +1,33 @@
+# TeXworks: Patterns for tag recognition
+
+# Each entry consists of two whitespace-separated fields:
+# <level> <regex>
+
+# <level> is the position in the document structure hierarchy, with 1 being the top level.
+# <regex> is the regular expression to match.
+
+# If there is a (capture group) in the regex, this is the fragment that will be used
+# as the actual tag text; if there is no group, the entire match will be used.
+
+# Patterns for ConTeXt sectioning commands:
+
+1 ^\s*\\part\s*(?:\[[^]]*\]\s*)?\{([^}]*)\}
+2 ^\s*\\chapter\s*(?:\[[^]]*\]\s*)?\{([^}]*)\}
+2 ^\s*\\title\s*(?:\[[^]]*\]\s*)?\{([^}]*)\}
+3 ^\s*\\section\s*(?:\[[^]]*\]\s*)?\{([^}]*)\}
+3 ^\s*\\subject\s*(?:\[[^]]*\]\s*)?\{([^}]*)\}
+4 ^\s*\\subsection\s*(?:\[[^]]*\]\s*)?\{([^}]*)\}
+4 ^\s*\\subsubject\s*(?:\[[^]]*\]\s*)?\{([^}]*)\}
+5 ^\s*\\subsubsection\s*(?:\[[^]]*\]\s*)?\{([^}]*)\}
+5 ^\s*\\subsubsubject\s*(?:\[[^]]*\]\s*)?\{([^}]*)\}
+6 ^\s*\\subsubsubsection\s*(?:\[[^]]*\]\s*)?\{([^}]*)\}
+6 ^\s*\\subsubsubsubject\s*(?:\[[^]]*\]\s*)?\{([^}]*)\}
+6 ^\s*\\subsubsubsubsection\s*(?:\[[^]]*\]\s*)?\{([^}]*)\}
+6 ^\s*\\subsubsubsubsubject\s*(?:\[[^]]*\]\s*)?\{([^}]*)\}
+
+# Tags with level = 0 are special bookmarks that are separate from the hierarchy
+# and collected in a separate flat list.
+0 ^\s*\\environment\s+([\S]+)
+0 ^\s*\\component\s+([\S]+)
+0 ^\s*\\project\s+([\S]+)
+0 ^\s*\\product\s+([\S]+)
diff --git a/context/data/texworks/configuration/texworks-config.txt b/context/data/texworks/configuration/texworks-config.txt
new file mode 100644
index 000000000..b925b2801
--- /dev/null
+++ b/context/data/texworks/configuration/texworks-config.txt
@@ -0,0 +1,22 @@
+# TeXworks: Miscellaneous configuration options that don't show up in the Preferences
+
+# Template commands to insert for files dragged into the editor window
+# Note that %1 represents the filename; #RET# represents a newline
+
+include-text: \include{%1}#RET#
+
+include-postscript: \includegraphics[]{%1}#RET#
+include-pdf: \includegraphics[]{%1}#RET#
+include-image: \includegraphics[]{%1}#RET#
+
+# Patterns for the Remove Aux Files command; entries are cumulative
+# (any occurrence of $jobname will be replaced by the root file name)
+
+cleanup-patterns: *.aux
+cleanup-patterns: $jobname.blg $jobname.brf $jobname.ccs $jobname.ent $jobname.fff
+cleanup-patterns: $jobname.glo $jobname.idx $jobname.idv $jobname.ilg $jobname.ind $jobname.ioa
+cleanup-patterns: $jobname.lg $jobname.lof $jobname.log $jobname.lot
+cleanup-patterns: $jobname.mte $jobname.mlf $jobname.out $jobname.pdfsync
+cleanup-patterns: $jobname.toc $jobname.ttt $jobname.wrm $jobname.xref
+cleanup-patterns: $jobname.4ct $jobname.4tc
+
diff --git a/context/data/texworks/configuration/tools.ini b/context/data/texworks/configuration/tools.ini
new file mode 100644
index 000000000..73071028b
--- /dev/null
+++ b/context/data/texworks/configuration/tools.ini
@@ -0,0 +1,35 @@
+[001]
+name=ConTeXt MkIV
+program=mtxrun
+arguments=--autogenerate, --script, context, $fullname
+showPdf=true
+
+[002]
+name=ConTeXt MkIV Check
+program=mtxrun
+arguments=--autogenerate, --script, check, $fullname
+showPdf=false
+
+[003]
+name=ConTeXt MkIV Purge
+program=mtxrun
+arguments=--autogenerate, --script, context, --purgeall
+showPdf=false
+
+[004]
+name=ConTeXt MkIV Server
+program=cmd.exe
+arguments=/c, start, mtxrun, --autogenerate, --script, server, --auto
+showPdf=false
+
+[005]
+name=ConTeXt MkIV Update
+program=mtxrun
+arguments=--autogenerate, --script, update, --force, --make
+showPdf=false
+
+[006]
+name=ConTeXt MkIV Make
+program=mtxrun
+arguments=--autogenerate, --script, context, --generate, --make
+showPdf=false
diff --git a/context/data/texworks/texworks-context.rme b/context/data/texworks/texworks-context.rme
new file mode 100644
index 000000000..7019cb78e
--- /dev/null
+++ b/context/data/texworks/texworks-context.rme
@@ -0,0 +1,2 @@
+This is just a placeholder. We need to make sure that we end
+up here in case of multiple texworks ini files.
diff --git a/context/data/texworks/texworks-setup.ini b/context/data/texworks/texworks-setup.ini
new file mode 100644
index 000000000..6357e775b
--- /dev/null
+++ b/context/data/texworks/texworks-setup.ini
@@ -0,0 +1,2 @@
+inipath=.
+libpath=.