Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › compiler/ › Maker/ › Watch/ › FsEvents.zig › init
init
FsEvents.init
pub fn init (cwd_path : []const u8 ) error
File
Code
pub fn init (cwd_path : []const u8 ) error { OpenFrameworkFailed , MissingCoreServicesSymbol , SystemResources }!FsEvents {
var core_services = std .DynLib .open ("/System/Library/Frameworks/CoreServices.framework/CoreServices" ) catch
return error .OpenFrameworkFailed ;
errdefer core_services .close ();
var resolved_symbols : ResolvedSymbols = undefined ;
const info = @typeInfo (ResolvedSymbols ).@"struct" ;
inline for (info .field_names , info .field_types ) |f_name , f_type | {
@field (resolved_symbols , f_name ) = core_services .lookup (f_type , f_name ) orelse return error .MissingCoreServicesSymbol ;
}
return .{
.core_services = core_services ,
.resolved_symbols = resolved_symbols ,
.paths_arena = .{},
.watch_roots = &.{},
.watch_paths = .empty ,
.waiting_semaphore = dispatch .semaphore_create (0 ) orelse return error .SystemResources ,
.dispatch_queue = dispatch .queue_create ("zig-watch" , .SERIAL ()) orelse return error .SystemResources ,
// to notice any changes which happened during said work.
.since_event = resolved_symbols .FSEventsGetCurrentEventId (),
.cwd_path = cwd_path ,
};
}