Blame builtin/builtin_FilePattern.ml
|
Packit |
bd2e5d |
(* File patterns *)
|
|
Packit |
bd2e5d |
(* type *)
|
|
Packit |
bd2e5d |
type filePattern = {
|
|
Packit |
bd2e5d |
typename : string;
|
|
Packit |
bd2e5d |
extensions : string list;
|
|
Packit |
bd2e5d |
mactypes : string list
|
|
Packit |
bd2e5d |
}
|
|
Packit |
bd2e5d |
(* /type *)
|
|
Packit |
bd2e5d |
|
|
Packit |
bd2e5d |
let cCAMLtoTKfilePattern fp =
|
|
Packit |
bd2e5d |
let typename = TkQuote (TkToken fp.typename) in
|
|
Packit |
bd2e5d |
let extensions =
|
|
Packit |
bd2e5d |
TkQuote (TkTokenList (List.map (fun x -> TkToken x) fp.extensions)) in
|
|
Packit |
bd2e5d |
let mactypes =
|
|
Packit |
bd2e5d |
match fp.mactypes with
|
|
Packit |
bd2e5d |
| [] -> []
|
|
Packit |
bd2e5d |
| [s] -> [TkToken s]
|
|
Packit |
bd2e5d |
| _ -> [TkQuote (TkTokenList (List.map (fun x -> TkToken x) fp.mactypes))]
|
|
Packit |
bd2e5d |
in
|
|
Packit |
bd2e5d |
TkQuote (TkTokenList (typename :: extensions :: mactypes))
|