This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
|
|
@ -0,0 +1,20 @@
|
|||
open Ppxlib
|
||||
|
||||
let expand ~ctxt env_var =
|
||||
let loc = Expansion_context.Extension.extension_point_loc ctxt in
|
||||
match Sys.getenv env_var with
|
||||
| value -> Ast_builder.Default.estring ~loc value
|
||||
| exception Not_found ->
|
||||
let ext =
|
||||
Location.error_extensionf ~loc "The environement variable %s is unbound"
|
||||
env_var
|
||||
in
|
||||
Ast_builder.Default.pexp_extension ~loc ext
|
||||
|
||||
let my_extension =
|
||||
Extension.V3.declare "get_env" Extension.Context.expression
|
||||
Ast_pattern.(single_expr_payload (estring __))
|
||||
expand
|
||||
|
||||
let rule = Ppxlib.Context_free.Rule.extension my_extension
|
||||
let () = Driver.register_transformation ~rules:[ rule ] "get_env"
|
||||
Loading…
Add table
Add a link
Reference in a new issue