aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/Path.ml
diff options
context:
space:
mode:
authorEstevan Castilho <tevo@riajuu.net>2026-09-24 02:17:01 +0000
committerEstevan Castilho <tevo@riajuu.net>2026-09-24 02:17:01 +0000
commit5a1088413468f171886d39339a8de96697af64c5 (patch)
tree0aca7b8ff9e5a1c8e0a907102f31408689fd0a0f /lib/kernel/Path.ml
parent2d7c5b7c6696f39028ab07064ff75548d71ee5cf (diff)
downloadRNT-5a1088413468f171886d39339a8de96697af64c5.tar.gz
RNT-5a1088413468f171886d39339a8de96697af64c5.zip
Multigroup registration stub
Diffstat (limited to 'lib/kernel/Path.ml')
-rw-r--r--lib/kernel/Path.ml5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/kernel/Path.ml b/lib/kernel/Path.ml
index 25ce09a..b83c9b2 100644
--- a/lib/kernel/Path.ml
+++ b/lib/kernel/Path.ml
@@ -23,13 +23,16 @@ let walking f g handle path =
| x::xs ->
let open Utilities.Result in
let open Protocols in
- let* dir = Handle.require Directory.from handle in
+ let* dir =
+ Handle.require Directory.from handle
+ |> Result.map_error Concepts.Condition.(complement ("before-segment" |=| Concepts.Value.String x)) in
let* elem = Directory.find dir x in
match elem with
| None -> Error (Error.path_not_found path)
| Some elem -> f x handle (fun () -> walk elem xs)
in
walk handle path
+ |> Result.map_error Concepts.Condition.(complement ("path" |=| Concepts.Value.String (to_string path)))
let lookup = walking (fun _ _ f -> f ()) Result.ok