-- Language definition generated by lang2to3

Description="Clojure"

Identifiers=[[ [a-zA-Z_][\w\-\/]* ]]

Keywords={
  { Id=1,
    List={"def", "defn", "defmacro", "fn", "defstruct", "defmulti", "defmethod", "remove-method"},
  },
  { Id=2,
    List={"for", "loop", "recur", "dotimes", "doseq"},
  },
  { Id=3,
    List={"case", "caselet", "check", "if", "let", "when", "whenlet", "unless"},
  },
  { Id=4,
    List={"first", "rest", "cons", "ffirst", "frest", "rrest", "second", "every?", "not-every?", "some", "not-any?", "concat", "map", "mapcat", "reducefilter", "take", "take-nth", "take-while", "drop", "nthrest", "drop-while", "reverse", "cycle", "interleave", "split-at", "split-with", "repeat", "replicate", "iterate", "range", "into", "distinct", "sort", "sort-by", "zipmap", "fnseq", "lazy-cons", "lazy-cat", "when-first"},
  },
}

Strings={
  Delimiter=[["]],
  Interpolation=[[ %s ]],
}

Comments={
  { Block=false,
    Delimiter= { [[;]] },
  },
  { Block=true,
    Nested=false,
    Delimiter= { [[\;\|]],[[\|\;]],}
  }
}

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

--FIXME no default escchar param: regex(\\\d{3}|\\x[[:xdigit:]]{2}|\\[ntvbrfa\\\?'"])