-- Licensed to Julian Hyde under one or more contributor license
-- agreements.  See the NOTICE file distributed with this work
-- for additional information regarding copyright ownership.
-- Julian Hyde licenses this file to you under the Apache
-- License, Version 2.0 (the "License"); you may not use this
-- file except in compliance with the License.  You may obtain a
-- copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing,
-- software distributed under the License is distributed on an
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
-- either express or implied.  See the License for the specific
-- language governing permissions and limitations under the
-- License.
--
-- Morel language configuration for Linux 'highlight' command.
-- To install, copy this file to /usr/share/highlight/langDefs/morel.lang.
-- Example use:
--   highlight --src-lang=morel -s rdark -o x.html x.sml
-- (Assumes input file x.sml, generates output files x.html and highlight.css.)

Description="Morel"

Keywords={
  { Id=1,
    List={"abstraction", "abstype", "and", "andalso", "as", "before", "case",
        "datatype", "else", "end", "eqtype", "exception", "do", "fn", "fun", "functor",
        "handle", "if", "in", "include", "infix", "infixr", "let", "local", "nonfix",
        "of", "op", "open", "orelse", "overload", "raise", "rec", "sharing", "sig",
        "signature", "struct", "structure", "then", "type", "val", "where", "while",
        "with", "withtype", "o", "true", "false", "", "Bool", "String", "Int", "Real",
        "Word", "Char", "StringCvt", "Word8", "List", "ListPair", "Vector", "TextIO",
        "BinIO", "div", "mod",
        "compute", "desc", "elem", "except", "exists", "from", "group", "intersect",
        "notelem", "notExists", "order", "union", "yield"},
  },
  { Id=2,
    List={"bool", "string", "int", "real", "word"},
  },
  { Id=4,
    Regex=[[(\w+)\s*\(]],
  },
}

Strings={
  Delimiter=[["]],
}

IgnoreCase=false

Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-|\'|\.]]
