Changeset 4175 for trunk/wenv

Show
Ignore:
Timestamp:
03/29/08 18:48:36 (10 months ago)
Author:
pmoura
Message:

Improved support for the "highlight" syntax coloring package (work in progress).

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/wenv/highlight/lgt.lang

    r4134 r4175  
    33# Author: Paulo Moura 
    44#   Mail: pmoura@logtalk.org 
    5 #   Date: 17.03.08 
     5#   Date: 28.03.08 
    66# ------------------------------------------ 
    77# This file is a part of highlight, a free source code converter released under the GPL. 
     
    1818$DESCRIPTION=Logtalk 
    1919 
    20 $KW_RE(kwb)=regex([A-Z_]\w*) 
     20# variables 
     21$KEYWORDS(kwb)=regex([A-Z_]\w*) 
    2122 
    22 $KW_RE(kwa)=regex(^\s*:-\s((ca(?:lls|tegory)|p(?:ublic|r(ot(?:ocol|ected)|ivate))|e(?:ncoding|xports)|in(?:fo|itialization)|alias|d(?:ynamic|iscontiguous)|m(?:eta_predicate|od(?:e|ule)|ultifile)|synchronized|o(?:bject|p)|use(?:s|_module)(?=[(])|(dynamic|synchronized|threaded|end_protocol|end_category|end_object)(?=\.))), 1) 
     23# encapsulation directives 
     24$KEYWORDS(kwa)=regex(^\s*:-\s(category|protocol|object)(?=[(]), 1) 
     25$KEYWORDS(kwa)=regex(^\s+((extend|i(mp(or|lemen)t|nstantiate)|specialize)s)(?=[(]), 1) 
     26$KEYWORDS(kwa)=regex(^\s*:-\s(end_(protocol|category|object))(?=\.), 1) 
    2327 
    24 $KW_RE(kwd)=regex((::|\^\^|<<)) 
     28# entity and predicate directives 
     29$KEYWORDS(kwa)=regex(^\s*:-\s(calls|public|protected|private|encoding|exports|info|initialization|alias|dynamic|discontiguous|meta_predicate|mode|module|multifile|synchronized|op|uses|use_module)(?=[(]), 1) 
     30$KEYWORDS(kwa)=regex(^\s*:-\s(dynamic|synchronized|threaded)(?=\.), 1) 
     31 
     32# event handlers 
     33$KEYWORDS(kwc)=regex((after|before)(?=[(]), 1) 
     34# method execution context 
     35$KEYWORDS(kwc)=regex((parameter|this|se(lf|nder))(?=[(]), 1) 
     36# reflection 
     37$KEYWORDS(kwc)=regex((current_predicate|predicate_property)(?=[(]), 1) 
     38# DCGs 
     39$KEYWORDS(kwc)=regex((expand_term|(goal|term)_expansion|phrase)(?=[(]), 1) 
     40# entity 
     41$KEYWORDS(kwc)=regex(((abolish|c(reate|urrent))_(object|protocol|category))(?=[(]), 1) 
     42$KEYWORDS(kwc)=regex(((object|protocol|category)_property)(?=[(]), 1) 
     43# entity relations 
     44$KEYWORDS(kwc)=regex((complements_object)(?=[(]), 1) 
     45$KEYWORDS(kwc)=regex((extends_(object|protocol|category))(?=[(]), 1) 
     46$KEYWORDS(kwc)=regex((imp(lements_protocol|orts_category))(?=[(]), 1) 
     47$KEYWORDS(kwc)=regex(((instantiat|specializ)es_class)(?=[(]), 1) 
     48# events 
     49$KEYWORDS(kwc)=regex((current_event|(abolish|define)_events)(?=[(]), 1) 
     50# flags 
     51$KEYWORDS(kwc)=regex(((current|set)_logtalk_flag)(?=[(]), 1) 
     52# compiling, loading, and library paths 
     53$KEYWORDS(kwc)=regex((logtalk_(compile|l(ibrary_path|oad)))(?=[(]), 1) 
     54# database 
     55$KEYWORDS(kwc)=regex((clause|retract(all)?)(?=[(]), 1) 
     56$KEYWORDS(kwc)=regex((a(bolish|ssert(a|z)))(?=[(]), 1) 
     57# control 
     58$KEYWORDS(kwc)=regex((ca(?:ll|tch)|throw)(?=[(]), 1) 
     59$KEYWORDS(kwc)=regex((fail|true), 1) 
     60# all solutions 
     61$KEYWORDS(kwc)=regex(((?:bag|set)of|f(?:ind|or)all)(?=[(]), 1) 
     62# multi-threading meta-predicates 
     63$KEYWORDS(kwc)=regex((threaded(_(call|once|ignore|exit|peek|wait|notify))?)(?=[(]), 1) 
     64# term unification 
     65$KEYWORDS(kwc)=regex((unify_with_occurs_check)(?=[(]), 1) 
     66# term creation and decomposition 
     67$KEYWORDS(kwc)=regex((functor|arg|copy_term)(?=[(]), 1) 
     68# evaluable functors 
     69$KEYWORDS(kwc)=regex((rem|mod|abs|sign)(?=[(]), 1) 
     70$KEYWORDS(kwc)=regex((float(_(integer|fractional)_part)?)(?=[(]), 1) 
     71$KEYWORDS(kwc)=regex((floor|truncate|round|ceiling)(?=[(]), 1) 
     72# other arithmetic functors 
     73$KEYWORDS(kwc)=regex((cos|atan|exp|log|s(in|qrt))(?=[(]), 1) 
     74# term testing 
     75$KEYWORDS(kwc)=regex((var|atom(?:ic)?|integer|float|compound|n(?:onvar|umber))(?=[(]), 1) 
     76# stream selection and control 
     77$KEYWORDS(kwc)=regex(((curren|se)t_(in|out)put)(?=[(]), 1) 
     78$KEYWORDS(kwc)=regex((open|close)(?=[(]), 1) 
     79$KEYWORDS(kwc)=regex((flush_output)(?=[(]), 1) 
     80$KEYWORDS(kwc)=regex((flush_output), 1) 
     81$KEYWORDS(kwc)=regex((stream_property|at_end_of_stream|set_stream_position)(?=[(]), 1) 
     82# character and byte input/output 
     83$KEYWORDS(kwc)=regex((nl|(?:get|peek|put)_(?:byte|char|code))(?=[(]), 1) 
     84$KEYWORDS(kwc)=regex((nl), 1) 
     85# term input/output 
     86$KEYWORDS(kwc)=regex((read(_term)?)(?=[(]), 1) 
     87$KEYWORDS(kwc)=regex((write(q|_(canonical|term))?)(?=[(]), 1) 
     88$KEYWORDS(kwc)=regex(((current_)?op)(?=[(]), 1) 
     89$KEYWORDS(kwc)=regex(((current_)?char_conversion)(?=[(]), 1) 
     90# atomic term processing 
     91$KEYWORDS(kwc)=regex((atom_(length|c(hars|o(ncat|des))))(?=[(]), 1) 
     92$KEYWORDS(kwc)=regex((char_code|sub_atom)(?=[(]), 1) 
     93$KEYWORDS(kwc)=regex((number_c(har|ode)s)(?=[(]), 1) 
     94# implementation defined hooks functions 
     95$KEYWORDS(kwc)=regex((se|curren)t_prolog_flag(?=[(]), 1) 
     96$KEYWORDS(kwc)=regex((halt), 1) 
     97$KEYWORDS(kwc)=regex((halt)(?=[(]), 1) 
     98# logic and control 
     99$KEYWORDS(kwc)=regex((once)(?=[(]), 1) 
     100$KEYWORDS(kwc)=regex((repeat), 1) 
     101 
     102# operators 
     103$KEYWORDS(kwd)=regex((::|\^\^|<<)) 
     104$KEYWORDS(kwd)=regex((\\\+|->|=..|;|!|:-)) 
     105$KEYWORDS(kwd)=regex((is|mod|rem|//|[+\-*/])) 
     106$KEYWORDS(kwd)=regex((/\\|\\/|>>)) 
     107$KEYWORDS(kwd)=regex((=|\\=)) 
     108$KEYWORDS(kwd)=regex((<|=<|=:=|=\\=|>|>=)) 
     109$KEYWORDS(kwd)=regex((@<|@=<|==|\\==|@>|@>=)) 
    25110 
    26111$STRINGDELIMITERS=" ' 
    27112 
    28 $KW_LIST(kwc)=regex((0(').|0b[0-1]+|0o[0-7]+|0x\p{XDigit}+|\d+(\.\d+)?([eE]([-+])?\d+)?), 1) 
     113# numbers 
     114$KEYWORDS(kwc)=regex((0(').|0b[0-1]+|0o[0-7]+|0x\p{XDigit}+|\d+(\.\d+)?([eE]([-+])?\d+)?), 1) 
    29115 
    30116$SL_COMMENT=%