123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382 |
- # B language keywords
- # by Gyorgy Rotter
- #
- # For the proper syntax highlight the order of the keywords are
- # important. This is why the related keywords are not listed in a block.
- # To create semantic relationship between the keywords I used groups.
- # Some keywords are in a group (the name of the group is
- # indicated in a commented line above the keyword definition)
- #
- # With the one-liner for example we could replace
- # the color of the keywords which are the members of the
- # "Sequences" group from "yellow" to "red"...
- #
- # echo Sequences yellow red | xargs -l bash -c 'sed -z "s/\(# $0\n[^\n]*\)$1/\1$2/g" b.syntax'
- # ^ ^ ^
- # | | |
- # | | -- new_color
- # | -- actual_color
- # -- groupname
- #
- #
- # Usable groups:
- # Relations, Sequences, Logical, Arithmetic, Sets, Substitutions
- #
- # Usable colors:
- # described in the Syntax file
- #
- context default
- keyword whole ABSTRACT_CONSTANTS yellow
- keyword whole ABSTRACT_VARIABLES yellow
- keyword whole CONCRETE_CONSTANTS yellow
- keyword whole CONCRETE_VARIABLES yellow
- keyword whole LOCAL_OPERATIONS yellow
- keyword whole IMPLEMENTATION yellow
- keyword whole INITIALISATION yellow
- keyword whole CONSTRAINTS yellow
- keyword whole DEFINITIONS yellow
- keyword whole ASSERTIONS yellow
- keyword whole OPERATIONS yellow
- keyword whole PROPERTIES yellow
- keyword whole REFINEMENT yellow
- keyword whole CONSTANTS yellow
- keyword whole INVARIANT yellow
- keyword whole sequences yellow
- keyword whole VARIABLES yellow
- keyword whole Cardinal yellow
- # Relations
- keyword whole closure1 white
- keyword whole INCLUDES yellow
- # Arithmetic
- keyword whole NATURAL1 yellow
- keyword whole PROMOTES yellow
- keyword whole Boolean yellow
- keyword whole EXTENDS yellow
- keyword whole IMPORTS yellow
- # Arithmetic
- keyword whole INTEGER yellow
- keyword whole iterate yellow
- keyword whole MACHINE yellow
- # Arithmetic
- keyword whole NATURAL yellow
- keyword whole postfix yellow
- keyword whole REFINES yellow
- keyword whole subtree yellow
- keyword whole VARIANT yellow
- keyword whole ASSERT yellow
- keyword whole CHOICE yellow
- # Relations
- keyword whole closure white
- keyword whole EITHER yellow
- keyword whole father yellow
- keyword whole MAXINT yellow
- keyword whole MININT yellow
- keyword whole mirror yellow
- keyword whole modulo yellow
- keyword whole prefix yellow
- keyword whole SELECT yellow
- keyword whole STRING yellow
- keyword whole struct yellow
- keyword whole VALUES yellow
- keyword whole arity yellow
- keyword whole BEGIN yellow
- keyword whole btree yellow
- keyword whole const yellow
- keyword whole ELSIF yellow
- keyword whole FALSE yellow
- keyword whole first yellow
- keyword whole front yellow
- keyword whole infix yellow
- # Sets
- keyword whole INTER yellow
- keyword whole inter yellow
- keyword whole iseq1 yellow
- keyword whole right yellow
- # Arithmetic
- keyword whole SIGMA yellow
- keyword whole sizet yellow
- # Sets
- keyword whole UNION yellow
- keyword whole union yellow
- keyword whole WHERE yellow
- keyword whole WHILE yellow
- keyword whole bool yellow
- keyword whole BOOL yellow
- keyword whole card yellow
- keyword whole CASE yellow
- keyword whole conc yellow
- keyword whole ELSE yellow
- # Sets
- keyword whole FIN1 yellow
- keyword whole iseq yellow
- keyword whole last yellow
- keyword whole left yellow
- keyword whole NAT1 yellow
- # Sets
- keyword whole POW1 yellow
- keyword whole perm yellow
- keyword whole pred yellow
- keyword whole prj1 yellow
- keyword whole prj2 yellow
- keyword whole rank yellow
- keyword whole SEES yellow
- keyword whole seq1 yellow
- keyword whole SETS yellow
- keyword whole size yellow
- keyword whole skip yellow
- keyword whole sons yellow
- keyword whole succ yellow
- keyword whole tail yellow
- keyword whole THEN yellow
- keyword whole tree yellow
- keyword whole TRUE yellow
- keyword whole USES yellow
- keyword whole WHEN yellow
- keyword whole ANY yellow
- keyword whole bin yellow
- keyword whole dom yellow
- keyword whole END yellow
- # Sets
- keyword whole FIN yellow
- keyword whole fnc yellow
- keyword whole INT yellow
- keyword whole LET yellow
- keyword whole max yellow
- keyword whole min yellow
- keyword whole mod yellow
- keyword whole NAT yellow
- # Logical
- keyword whole not cyan
- # Sets
- keyword whole POW yellow
- keyword whole PRE yellow
- keyword whole ran yellow
- keyword whole rec yellow
- keyword whole rel yellow
- keyword whole rev yellow
- keyword whole seq yellow
- keyword whole Set yellow
- keyword whole son yellow
- keyword whole top yellow
- keyword whole VAR yellow
- keyword whole BE yellow
- keyword whole DO yellow
- keyword whole id yellow
- keyword whole IF yellow
- keyword whole IN yellow
- keyword whole OF yellow
- keyword whole OR yellow
- # Logical
- keyword whole or cyan
- # Arithmetic
- keyword whole PI yellow
- # prevents - keyword from interfering with comment
- keyword /\* green
- keyword \*/ green
- keyword // green
- keyword <-- yellow
- keyword := yellow
- # Relations
- keyword \+->> white
- # Relations
- keyword -->> white
- # Sets
- keyword /<<: yellow
- # Sequences
- keyword /|\\ magenta
- # Relations
- keyword >->> white
- # Relations
- keyword >\+> white
- # Arithmetic
- keyword \*\* yellow
- # Relations
- keyword \+-> white
- # Sequences
- keyword \\|/ magenta
- # Relations
- keyword --> white
- # Sets
- keyword /<: yellow
- # Sets
- keyword /\\ yellow
- # Relations
- keyword <-> white
- # Sets
- keyword <<: yellow
- # Relations
- keyword <<| white
- # Logical
- keyword <=> cyan
- # Relations
- keyword <\+ white
- # Relations
- keyword >-> white
- # Sets
- keyword \\/ yellow
- # Relations
- keyword |-> white
- # Relations
- keyword |>> white
- keyword != yellow
- # Sequences
- keyword -> magenta
- # Sets
- keyword /: yellow
- # Logical
- keyword /= cyan
- # Substitutions
- keyword :: yellow
- # Sequences
- keyword <- magenta
- # Sets
- keyword <: yellow
- # Arithmetic
- keyword <= yellow
- # Relations
- keyword <| white
- keyword == yellow
- # Logical
- keyword => cyan
- # Relations
- keyword >< white
- # Arithmetic
- keyword >= yellow
- # Arithmetic
- keyword \* yellow
- # Arithmetic
- keyword \+ yellow
- # Sets
- keyword {} yellow
- # Relations
- keyword |> white
- # Logical
- keyword ! cyan
- # Logical
- keyword # cyan
- # Relations
- keyword % white
- # Logical
- keyword & cyan
- keyword ( yellow
- keyword ) yellow
- keyword , yellow
- # Arithmetic
- keyword - yellow
- # Arithmetic
- keyword / yellow
- # Sets
- keyword : yellow
- keyword ; yellow
- # Arithmetic
- keyword < yellow
- # Logical
- keyword = cyan
- # Arithmetic
- keyword > yellow
- keyword ? yellow
- keyword [ yellow
- keyword ] yellow
- # Sequences
- keyword ^ magenta
- keyword { yellow
- keyword } yellow
- keyword | yellow
- # Relations
- keyword ~ white
- context exclusive /\* \*/ green
- spellcheck
- context exclusive // \n green
- spellcheck
- context " " brightgreen
|