definition for Ada?
# Ada! ada|Ada:\ :pb=(^\d?(procedure|function|package|package body))\d\p:\ :bb=if|case|begin|loop:be=end:\ :cb=–:ce=$:\ :sb=”:se=”:\ :lb=’:le=’:\ :id=_.:\ :oc:\ :kw=abort abs abstract accept access aliased all and array at\ begin body case constant declare delay delta digits do else\ elsif end entry exception exit for function generic goto if in is\ limited loop mod new not null of or others out package pragma\ private procedure protected raise range record rem renames requeue\ return reverse select separate subtype tagged task terminate then\ type until use when while with xor: Note that the above has a problem with attributes, because the “lb” and “le” terms make two-attributes-20-lines-apart look like one “string literal.” Ada 95 keywords are recognized. Here is another definition, which “fixes” this problem (not perfect, but probably better). Only Ada 83 keywords are recognized. # In order to get the ticks to work, we are assuming that there will be # whitespace before a literal (