From 2e6999f20bf8cfc8e4a395d2720d7d7359f025bf Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Thu, 10 Sep 2026 14:42:09 +0800 Subject: [PATCH] chore: make declarations private if they don't need to be public This change is 99% s/pub// + a handful of dead code removal. --- src/Base64Writer.zig | 2 +- src/Config.zig | 10 +- src/Inbox.zig | 2 +- src/Metrics.zig | 4 +- src/Notification.zig | 2 +- src/SemanticTree.zig | 2 +- src/Sighandler.zig | 2 +- src/agent/Agent.zig | 6 +- src/agent/Terminal.zig | 12 +- src/agent/auth/auth.zig | 4 +- src/agent/js_highlight.zig | 6 +- src/agent/settings.zig | 2 +- src/browser/CustomElementReactions.zig | 4 +- src/browser/EventManager.zig | 6 +- src/browser/EventManagerBase.zig | 6 +- src/browser/Factory.zig | 4 +- src/browser/Frame.zig | 18 +- src/browser/Mime.zig | 8 +- src/browser/RenderTree.zig | 6 +- src/browser/Runner.zig | 2 +- src/browser/ScriptManager.zig | 4 +- src/browser/ScriptManagerBase.zig | 6 +- src/browser/Session.zig | 2 +- src/browser/StyleManager.zig | 2 +- src/browser/URL.zig | 4 +- src/browser/color.zig | 6 +- src/browser/css/Parser.zig | 8 +- src/browser/forms.zig | 6 +- src/browser/frame/observers.zig | 2 +- src/browser/frame/user_input.zig | 2 +- src/browser/interactive.zig | 6 +- src/browser/js/Caller.zig | 2 +- src/browser/js/Context.zig | 12 +- src/browser/js/Env.zig | 23 +-- src/browser/js/Inspector.zig | 2 +- src/browser/js/Isolate.zig | 4 - src/browser/js/Local.zig | 22 +-- src/browser/js/Module.zig | 4 - src/browser/js/RegExp.zig | 2 +- src/browser/js/Script.zig | 2 +- src/browser/js/Snapshot.zig | 2 +- src/browser/js/String.zig | 13 -- src/browser/js/bridge.zig | 2 +- src/browser/parser/Parser.zig | 2 +- src/browser/parser/html5ever.zig | 12 +- src/browser/pdf.zig | 4 +- src/browser/screenshot.zig | 10 +- src/browser/structured_data.zig | 6 +- src/browser/tools.zig | 22 +-- src/browser/webapi/AbortController.zig | 2 +- src/browser/webapi/AbortSignal.zig | 14 +- src/browser/webapi/Blob.zig | 6 +- src/browser/webapi/BroadcastChannel.zig | 8 +- src/browser/webapi/CData.zig | 12 +- src/browser/webapi/CSS.zig | 8 - src/browser/webapi/Console.zig | 2 +- src/browser/webapi/Crypto.zig | 6 +- .../webapi/CustomElementDefinition.zig | 4 - src/browser/webapi/DOMException.zig | 6 +- src/browser/webapi/DOMImplementation.zig | 8 +- src/browser/webapi/DOMMatrix.zig | 54 +++--- src/browser/webapi/DOMMatrixReadOnly.zig | 48 ++--- src/browser/webapi/DOMNodeIterator.zig | 14 +- src/browser/webapi/DOMPoint.zig | 14 +- src/browser/webapi/DOMPointReadOnly.zig | 12 +- src/browser/webapi/DOMRect.zig | 10 +- src/browser/webapi/DOMRectReadOnly.zig | 10 +- src/browser/webapi/DOMTreeWalker.zig | 14 +- src/browser/webapi/DataTransfer.zig | 18 +- src/browser/webapi/DataTransferItem.zig | 4 +- .../webapi/DedicatedWorkerGlobalScope.zig | 8 +- src/browser/webapi/Document.zig | 78 ++++---- src/browser/webapi/DocumentFragment.zig | 6 +- src/browser/webapi/Event.zig | 34 ++-- src/browser/webapi/EventTarget.zig | 2 +- src/browser/webapi/File.zig | 2 +- src/browser/webapi/FileReader.zig | 38 ++-- src/browser/webapi/FileReaderSync.zig | 8 +- src/browser/webapi/HTMLDocument.zig | 26 +-- src/browser/webapi/History.zig | 6 +- src/browser/webapi/IdleDeadline.zig | 2 +- src/browser/webapi/IntersectionObserver.zig | 14 +- src/browser/webapi/Location.zig | 12 +- src/browser/webapi/MessageChannel.zig | 4 +- src/browser/webapi/MessagePort.zig | 8 +- src/browser/webapi/ModelContext.zig | 2 +- src/browser/webapi/MutationObserver.zig | 16 +- src/browser/webapi/Navigator.zig | 26 +-- src/browser/webapi/NavigatorUAData.zig | 8 +- src/browser/webapi/NodeFilter.zig | 26 +-- src/browser/webapi/Performance.zig | 82 ++++----- src/browser/webapi/PerformanceObserver.zig | 10 +- src/browser/webapi/QuotaExceededError.zig | 4 +- src/browser/webapi/Range.zig | 32 ++-- src/browser/webapi/ResizeObserver.zig | 14 +- src/browser/webapi/Screen.zig | 2 +- src/browser/webapi/Selection.zig | 36 ++-- src/browser/webapi/ShadowRoot.zig | 16 +- src/browser/webapi/SharedWorker.zig | 4 +- .../webapi/SharedWorkerGlobalScope.zig | 4 +- src/browser/webapi/StaticRange.zig | 2 +- src/browser/webapi/StorageManager.zig | 2 +- src/browser/webapi/TaskController.zig | 2 +- src/browser/webapi/TaskSignal.zig | 6 +- src/browser/webapi/Timers.zig | 2 +- src/browser/webapi/URL.zig | 28 +-- src/browser/webapi/URLPattern.zig | 16 +- src/browser/webapi/VisualViewport.zig | 4 +- src/browser/webapi/WebDriver.zig | 6 +- src/browser/webapi/Window.zig | 166 +++++++++--------- src/browser/webapi/Worker.zig | 12 +- src/browser/webapi/WorkerGlobalScope.zig | 40 ++--- src/browser/webapi/WorkerNavigator.zig | 28 +-- src/browser/webapi/XMLSerializer.zig | 2 +- src/browser/webapi/XPathEvaluator.zig | 4 +- src/browser/webapi/XPathResult.zig | 22 +-- src/browser/webapi/animation/Animation.zig | 16 +- src/browser/webapi/canvas/CanvasGradient.zig | 2 +- src/browser/webapi/canvas/CanvasPattern.zig | 2 +- .../canvas/CanvasRenderingContext2D.zig | 64 +++---- src/browser/webapi/canvas/OffscreenCanvas.zig | 10 +- .../OffscreenCanvasRenderingContext2D.zig | 60 +++---- src/browser/webapi/canvas/TextMetrics.zig | 6 +- .../webapi/canvas/WebGLRenderingContext.zig | 16 +- src/browser/webapi/canvas/context2d.zig | 2 +- src/browser/webapi/cdata/Text.zig | 4 +- .../HTMLFormControlsCollection.zig | 4 +- .../collections/HTMLOptionsCollection.zig | 2 +- src/browser/webapi/collections/NodeList.zig | 2 +- src/browser/webapi/collections/iterator.zig | 2 - src/browser/webapi/collections/node_live.zig | 17 +- src/browser/webapi/crypto/AES.zig | 2 +- src/browser/webapi/crypto/algorithm.zig | 7 +- src/browser/webapi/css/CSSRule.zig | 4 +- .../webapi/css/CSSStyleDeclaration.zig | 6 +- src/browser/webapi/css/CSSStyleProperties.zig | 4 +- src/browser/webapi/css/CSSStyleRule.zig | 2 +- src/browser/webapi/css/CSSStyleSheet.zig | 12 +- src/browser/webapi/css/FontFace.zig | 4 +- src/browser/webapi/css/MediaQueryList.zig | 6 +- src/browser/webapi/element/Attribute.zig | 6 +- src/browser/webapi/element/Svg.zig | 2 +- src/browser/webapi/element/html/Anchor.zig | 22 +-- src/browser/webapi/element/html/Area.zig | 20 +-- src/browser/webapi/element/html/Audio.zig | 4 - src/browser/webapi/element/html/Body.zig | 24 +-- src/browser/webapi/element/html/Button.zig | 36 ++-- src/browser/webapi/element/html/Canvas.zig | 6 +- src/browser/webapi/element/html/Dialog.zig | 2 +- src/browser/webapi/element/html/Embed.zig | 2 +- src/browser/webapi/element/html/Font.zig | 4 +- src/browser/webapi/element/html/Form.zig | 17 +- src/browser/webapi/element/html/FrameSet.zig | 24 +-- src/browser/webapi/element/html/IFrame.zig | 10 +- src/browser/webapi/element/html/Image.zig | 14 +- src/browser/webapi/element/html/Input.zig | 82 ++++----- src/browser/webapi/element/html/Link.zig | 6 +- src/browser/webapi/element/html/Media.zig | 36 ++-- src/browser/webapi/element/html/Meta.zig | 16 +- src/browser/webapi/element/html/Meter.zig | 2 +- src/browser/webapi/element/html/OL.zig | 2 +- src/browser/webapi/element/html/Option.zig | 12 +- src/browser/webapi/element/html/Output.zig | 4 +- src/browser/webapi/element/html/Progress.zig | 2 +- src/browser/webapi/element/html/Quote.zig | 4 +- src/browser/webapi/element/html/Script.zig | 6 +- src/browser/webapi/element/html/Select.zig | 16 +- src/browser/webapi/element/html/Slot.zig | 2 +- src/browser/webapi/element/html/Source.zig | 2 +- src/browser/webapi/element/html/Style.zig | 2 +- src/browser/webapi/element/html/Table.zig | 4 +- src/browser/webapi/element/html/TableRow.zig | 2 +- .../webapi/element/html/TableSection.zig | 2 +- src/browser/webapi/element/html/Template.zig | 4 +- src/browser/webapi/element/html/TextArea.zig | 26 ++- .../webapi/element/html/ValidityState.zig | 20 +-- src/browser/webapi/element/html/Video.zig | 12 +- src/browser/webapi/element/reflection.zig | 4 +- src/browser/webapi/element/svg/Geometry.zig | 6 +- src/browser/webapi/element/svg/Graphics.zig | 12 +- src/browser/webapi/element/svg/Polygon.zig | 2 +- src/browser/webapi/element/svg/Polyline.zig | 2 +- src/browser/webapi/element/svg/Svg.zig | 18 +- .../webapi/element/svg/TextContent.zig | 6 +- src/browser/webapi/encoding/TextDecoder.zig | 6 +- .../webapi/encoding/TextDecoderStream.zig | 4 +- src/browser/webapi/event/CloseEvent.zig | 6 +- src/browser/webapi/event/CompositionEvent.zig | 2 +- .../webapi/event/CookieChangeEvent.zig | 4 +- src/browser/webapi/event/CustomEvent.zig | 2 +- .../webapi/event/DeviceMotionEvent.zig | 8 +- .../webapi/event/DeviceOrientationEvent.zig | 8 +- src/browser/webapi/event/DragEvent.zig | 4 +- src/browser/webapi/event/ErrorEvent.zig | 10 +- src/browser/webapi/event/FocusEvent.zig | 4 +- src/browser/webapi/event/FormDataEvent.zig | 2 +- src/browser/webapi/event/GamepadEvent.zig | 2 +- src/browser/webapi/event/HashChangeEvent.zig | 4 +- src/browser/webapi/event/InputEvent.zig | 8 +- src/browser/webapi/event/KeyboardEvent.zig | 14 +- src/browser/webapi/event/MessageEvent.zig | 6 +- src/browser/webapi/event/MouseEvent.zig | 37 ++-- .../NavigationCurrentEntryChangeEvent.zig | 4 +- .../webapi/event/PageTransitionEvent.zig | 2 +- src/browser/webapi/event/PointerEvent.zig | 22 +-- src/browser/webapi/event/PopStateEvent.zig | 2 +- src/browser/webapi/event/ProgressEvent.zig | 6 +- .../webapi/event/PromiseRejectionEvent.zig | 4 +- src/browser/webapi/event/StorageEvent.zig | 6 +- src/browser/webapi/event/SubmitEvent.zig | 2 +- .../webapi/event/TaskPriorityChangeEvent.zig | 2 +- src/browser/webapi/event/TextEvent.zig | 4 +- src/browser/webapi/event/ToggleEvent.zig | 6 +- src/browser/webapi/event/TouchEvent.zig | 8 +- src/browser/webapi/event/UIEvent.zig | 8 +- src/browser/webapi/event/WheelEvent.zig | 16 +- src/browser/webapi/media/MediaError.zig | 2 +- src/browser/webapi/media/TextTrackCue.zig | 20 +-- src/browser/webapi/media/VTTCue.zig | 36 ++-- src/browser/webapi/navigation/Navigation.zig | 20 +-- .../navigation/NavigationActivation.zig | 4 +- .../navigation/NavigationHistoryEntry.zig | 6 +- src/browser/webapi/net/EventSource.zig | 18 +- src/browser/webapi/net/FormData.zig | 6 +- src/browser/webapi/net/Headers.zig | 2 +- src/browser/webapi/net/Request.zig | 12 +- src/browser/webapi/net/Response.zig | 14 +- src/browser/webapi/net/WebSocket.zig | 28 +-- src/browser/webapi/net/XMLHttpRequest.zig | 34 ++-- .../webapi/net/XMLHttpRequestEventTarget.zig | 28 +-- src/browser/webapi/net/body_init.zig | 2 +- src/browser/webapi/storage/Cookie.zig | 6 +- src/browser/webapi/storage/CookieStore.zig | 4 +- src/browser/webapi/storage/idb/Engine.zig | 14 +- src/browser/webapi/storage/idb/IDBCursor.zig | 8 +- .../webapi/storage/idb/IDBDatabase.zig | 10 +- src/browser/webapi/storage/idb/IDBFactory.zig | 2 +- src/browser/webapi/storage/idb/IDBIndex.zig | 16 +- .../webapi/storage/idb/IDBKeyRange.zig | 16 +- .../webapi/storage/idb/IDBObjectStore.zig | 18 +- .../webapi/storage/idb/IDBOpenDBRequest.zig | 8 +- src/browser/webapi/storage/idb/IDBRecord.zig | 2 +- src/browser/webapi/storage/idb/IDBRequest.zig | 20 +-- .../webapi/storage/idb/IDBTransaction.zig | 20 +-- .../storage/idb/IDBVersionChangeEvent.zig | 4 +- src/browser/webapi/storage/idb/Key.zig | 10 +- src/browser/webapi/storage/storage.zig | 2 +- .../streams/ByteLengthQueuingStrategy.zig | 2 +- .../webapi/streams/CountQueuingStrategy.zig | 2 +- src/browser/webapi/streams/ReadableStream.zig | 6 +- .../webapi/streams/TransformStream.zig | 2 +- src/browser/webapi/streams/WritableStream.zig | 2 +- src/browser/webapi/svg/Angle.zig | 14 +- .../webapi/svg/AnimatedEnumeration.zig | 4 +- src/browser/webapi/svg/AnimatedLength.zig | 2 +- src/browser/webapi/svg/AnimatedNumber.zig | 4 +- .../svg/AnimatedPreserveAspectRatio.zig | 2 +- src/browser/webapi/svg/AnimatedString.zig | 4 +- .../webapi/svg/AnimatedTransformList.zig | 4 +- src/browser/webapi/svg/Length.zig | 14 +- src/browser/webapi/svg/PathData.zig | 8 +- .../webapi/svg/PreserveAspectRatio.zig | 8 +- src/browser/webapi/svg/Transform.zig | 18 +- src/browser/webapi/svg/TransformList.zig | 2 +- src/browser/webapi/svg/reflected_list.zig | 2 +- src/browser/xpath/Evaluator.zig | 4 +- src/cli.zig | 12 +- src/datetime.zig | 8 +- src/lightpanda.zig | 2 +- src/log.zig | 6 +- src/mcp/Transport.zig | 2 +- src/mcp/protocol.zig | 20 +-- src/mcp/resources.zig | 2 +- src/network/HttpClient.zig | 32 ++-- src/network/IpFilter.zig | 8 +- src/network/Robots.zig | 8 +- src/network/SingleFlight.zig | 2 +- src/network/adblock/NetworkFilter.zig | 4 +- src/network/adblock/Parser.zig | 2 +- src/network/cache/Cache.zig | 2 +- src/network/cache/SqliteCache.zig | 2 +- src/network/header_parser.zig | 8 +- src/network/http.zig | 11 +- src/script/Runtime.zig | 6 +- src/script/Schema.zig | 8 +- src/server/Driver.zig | 2 +- src/server/WS.zig | 6 +- src/server/bidi/BiDi.zig | 2 +- src/server/bidi/remote_value.zig | 8 +- src/server/bidi/testing.zig | 4 +- src/server/cdp/AXNode.zig | 2 +- src/server/cdp/CDP.zig | 60 +++---- src/server/cdp/domains/storage.zig | 6 +- src/server/http.zig | 2 +- src/slab.zig | 6 +- src/storage/sqlite/Sqlite.zig | 6 +- src/string.zig | 10 +- src/sys/libcrypto.zig | 34 ++-- src/sys/libcurl.zig | 68 ++++--- src/sys/net.zig | 4 +- src/sys/url.zig | 2 +- src/test_runner.zig | 4 +- src/testing.zig | 26 +-- 303 files changed, 1561 insertions(+), 1766 deletions(-) diff --git a/src/Base64Writer.zig b/src/Base64Writer.zig index a3bf6e476..9bb4bfad9 100644 --- a/src/Base64Writer.zig +++ b/src/Base64Writer.zig @@ -31,7 +31,7 @@ pending_len: u2 = 0, pending: [3]u8 = undefined, codec: *const std.base64.Base64Encoder, -pub const Codec = enum { +const Codec = enum { standard, standard_no_pad, url_safe, diff --git a/src/Config.zig b/src/Config.zig index c70374468..fc37bcbae 100644 --- a/src/Config.zig +++ b/src/Config.zig @@ -245,7 +245,7 @@ pub const LoadResources = packed struct(u4) { stylesheet: bool = false, }; -pub const ExperimentalFeatures = packed struct(u1) { +const ExperimentalFeatures = packed struct(u1) { cors: bool = false, }; @@ -486,7 +486,7 @@ const Commands = cli.Builder(.{ } }, }); -pub const RunMode = Commands.Enum; +const RunMode = Commands.Enum; pub const Mode = Commands.Union; pub const Agent = @FieldType(Mode, "agent"); @@ -621,7 +621,7 @@ pub fn httpHeaders(self: *const Config) []const HttpHeader { }; } -pub fn proxyBearerToken(self: *const Config) ?[:0]const u8 { +fn proxyBearerToken(self: *const Config) ?[:0]const u8 { return switch (self.mode) { inline .serve, .fetch, .mcp, .agent => |opts| opts.proxy_bearer_token, else => null, @@ -715,7 +715,7 @@ fn stderrIsTty() bool { return stderr_tty_cached; } -pub fn userAgentSuffix(self: *const Config) ?[]const u8 { +fn userAgentSuffix(self: *const Config) ?[]const u8 { return switch (self.mode) { inline .serve, .fetch, .mcp, .agent => |opts| opts.user_agent_suffix, else => null, @@ -986,7 +986,7 @@ pub const HttpHeaders = struct { // The neutral default: some bot-protection frontends (e.g. Akamai on // canada.ca) RST the HTTP/2 stream when a client sends Accept-Encoding // without Accept-Language. - pub const default_locale: [:0]const u8 = "en-US"; + const default_locale: [:0]const u8 = "en-US"; // Document-navigation Accept value Chrome sends. pub const navigation_accept: [:0]const u8 = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; diff --git a/src/Inbox.zig b/src/Inbox.zig index 353e7585d..94c589eae 100644 --- a/src/Inbox.zig +++ b/src/Inbox.zig @@ -118,7 +118,7 @@ pub const Message = struct { payload: Payload, node: DoublyLinkedList.Node = .{}, - pub const Payload = union(enum) { + const Payload = union(enum) { // A CDP text/binary frame, parsed on the Network thread. `raw` // is the original JSON bytes (owned). `arena` holds any // auxiliary allocations from parseFromSliceLeaky (typically diff --git a/src/Metrics.zig b/src/Metrics.zig index 66c7c6d69..f469e3640 100644 --- a/src/Metrics.zig +++ b/src/Metrics.zig @@ -210,7 +210,7 @@ fn GaugeEnum(comptime label: []const u8, comptime T: type) type { values: std.enums.EnumArray(T, Gauge) = .initFill(.{}), pub const Tag = T; - pub const label_name = label; + const label_name = label; const Self = @This(); @@ -241,7 +241,7 @@ fn CounterEnum(comptime label: []const u8, comptime T: type) type { counts: std.enums.EnumArray(T, Counter) = .initFill(.{}), pub const Tag = T; - pub const label_name = label; + const label_name = label; const Self = @This(); diff --git a/src/Notification.zig b/src/Notification.zig index b7021dc2c..ab43e73ab 100644 --- a/src/Notification.zig +++ b/src/Notification.zig @@ -253,7 +253,7 @@ pub const RequestDone = struct { }; pub const RequestFail = struct { - pub const BlockedReason = enum { + const BlockedReason = enum { inspector, }; diff --git a/src/SemanticTree.zig b/src/SemanticTree.zig index 685b84ffa..69a1a902d 100644 --- a/src/SemanticTree.zig +++ b/src/SemanticTree.zig @@ -548,7 +548,7 @@ const TextVisitor = struct { } }; -pub const NodeDetails = struct { +const NodeDetails = struct { backendNodeId: NodeRegistry.Id, tag_name: []const u8, role: []const u8, diff --git a/src/Sighandler.zig b/src/Sighandler.zig index 8b6bacdce..c6638efbe 100644 --- a/src/Sighandler.zig +++ b/src/Sighandler.zig @@ -43,7 +43,7 @@ listeners: std.ArrayList(Listener) = .empty, /// listeners fire, the process never dies from signals — `/quit` exits. no_hard_exit: bool = false, -pub const Listener = struct { +const Listener = struct { args: []const u8, start: *const fn (context: *const anyopaque) void, }; diff --git a/src/agent/Agent.zig b/src/agent/Agent.zig index 04919cc08..9c059a54d 100644 --- a/src/agent/Agent.zig +++ b/src/agent/Agent.zig @@ -47,7 +47,7 @@ const Agent = @This(); /// Raised by init/listModels after they've printed a user-facing message to /// stderr; callers should exit non-zero without logging more. -pub const UserError = error{ +const UserError = error{ MissingApiKey, MissingProvider, ConflictingFlags, @@ -409,7 +409,7 @@ fn globalTools() []const ProviderTool { /// streaming/HTTP probe and any code polling `Session.isCancelled`, then asks /// V8 to bail out of whatever JS is running. Both hooks are thread-safe /// (`Env.terminate` takes a mutex); no terminal touches from this context. -pub fn requestCancel(self: *Agent) void { +fn requestCancel(self: *Agent) void { self.cancel_requested.store(true, .release); self.http_interrupt.fire(); { @@ -499,7 +499,7 @@ fn streamHook(self: *Agent) ?zenai.provider.Client.TextDeltaHook { /// One agent turn: the prompt sent to the model, plus optional context — a /// recorder comment to write before the turn, file attachments to bundle into /// the first user message, and a display label used in error output. -pub const TurnInput = struct { +const TurnInput = struct { prompt: []const u8, record_comment: ?[]const u8 = null, capture_for_save: bool = false, diff --git a/src/agent/Terminal.zig b/src/agent/Terminal.zig index fef9cbec3..e07a89b55 100644 --- a/src/agent/Terminal.zig +++ b/src/agent/Terminal.zig @@ -54,7 +54,7 @@ assist: prompt_assist.State, /// used on the styled (REPL tty) path, hence the placeholder. md_stream: md_term.Stream = .{ .show_table_placeholder = true }, -pub const CompletionSource = prompt_assist.CompletionSource; +const CompletionSource = prompt_assist.CompletionSource; pub const HistoryPaths = prompt_assist.HistoryPaths; /// Wires the isocline completer, hinter, and highlighter to `self.assist`. @@ -366,11 +366,6 @@ pub fn printInfo(self: *Terminal, comptime fmt: []const u8, args: anytype) void std.debug.print(fmt ++ "\n", args); } -pub fn printDimmed(self: *Terminal, comptime fmt: []const u8, args: anytype) void { - if (!self.isRepl() and !self.verbosity.atLeast(.medium)) return; - std.debug.print(ansi.dim ++ fmt ++ ansi.reset ++ "\n", args); -} - /// REPL startup banner line: plain labels, dimmed values. pub fn printSessionBanner(self: *Terminal, model: []const u8, effort: []const u8, stream_enabled: bool) void { if (!self.isRepl()) return; @@ -381,11 +376,6 @@ pub fn printSessionBanner(self: *Terminal, model: []const u8, effort: []const u8 }); } -pub fn printItalic(self: *Terminal, comptime fmt: []const u8, args: anytype) void { - if (!self.isRepl() and !self.verbosity.atLeast(.medium)) return; - std.debug.print(ansi.italic ++ fmt ++ ansi.reset ++ "\n", args); -} - fn helpLessThan(_: void, a: SlashCommand.Help, b: SlashCommand.Help) bool { return std.mem.lessThan(u8, a.name, b.name); } diff --git a/src/agent/auth/auth.zig b/src/agent/auth/auth.zig index cb64147a7..074a4ad50 100644 --- a/src/agent/auth/auth.zig +++ b/src/agent/auth/auth.zig @@ -160,14 +160,14 @@ fn storeDelete(allocator: std.mem.Allocator, id: []const u8) !void { } /// Load the stored token for `id`, or null when absent/unreadable/no data dir. -pub fn storeLoad(allocator: std.mem.Allocator, id: []const u8) !?TokenSet { +fn storeLoad(allocator: std.mem.Allocator, id: []const u8) !?TokenSet { var da: std.heap.ArenaAllocator = .init(allocator); defer da.deinit(); const dir = dataDir(da.allocator()) orelse return null; return storeLoadAt(allocator, dir, id); } -pub fn storeSave(allocator: std.mem.Allocator, id: []const u8, tokens: TokenSet) !void { +fn storeSave(allocator: std.mem.Allocator, id: []const u8, tokens: TokenSet) !void { var arena: std.heap.ArenaAllocator = .init(allocator); defer arena.deinit(); const a = arena.allocator(); diff --git a/src/agent/js_highlight.zig b/src/agent/js_highlight.zig index 5188b35e1..41272cfac 100644 --- a/src/agent/js_highlight.zig +++ b/src/agent/js_highlight.zig @@ -25,11 +25,11 @@ pub const Kind = enum { comment, string, variable, interpolation, number, keywor /// block comments and template literals outlive a line boundary. pub const State = enum { normal, block_comment, template }; -pub const StringSpan = struct { end: usize, closed: bool }; +const StringSpan = struct { end: usize, closed: bool }; /// Scan the quoted run opening at `text[start]`. Escapes are not honored — /// good enough for coloring, not parsing. -pub fn scanString(text: []const u8, start: usize) StringSpan { +fn scanString(text: []const u8, start: usize) StringSpan { if (start >= text.len) return .{ .end = start, .closed = false }; const close = std.mem.indexOfScalarPos(u8, text, start + 1, text[start]) orelse return .{ .end = text.len, .closed = false }; @@ -45,7 +45,7 @@ fn dollarRefEnd(text: []const u8, start: usize, end: usize) usize { return i; } -pub const DollarRef = struct { start: usize, end: usize, kind: Kind }; +const DollarRef = struct { start: usize, end: usize, kind: Kind }; /// Next `$name` (`.variable`) ref at or after `from` within `text[..end]`, /// or null; bare `$`s are skipped. `interpolation` additionally recognizes diff --git a/src/agent/settings.zig b/src/agent/settings.zig index bea91c4f7..4962ef9cb 100644 --- a/src/agent/settings.zig +++ b/src/agent/settings.zig @@ -378,7 +378,7 @@ pub fn resolveSearchEngine(remembered: ?Remembered) lp.tools.SearchEngine { return .auto; } -pub const ReconciledModel = union(enum) { +const ReconciledModel = union(enum) { /// Owned by the allocator passed to reconcileModel. use: []u8, abort, diff --git a/src/browser/CustomElementReactions.zig b/src/browser/CustomElementReactions.zig index b1a7b4b91..60878a47d 100644 --- a/src/browser/CustomElementReactions.zig +++ b/src/browser/CustomElementReactions.zig @@ -150,13 +150,13 @@ pub const Reaction = union(enum) { adopted: Adopted, attribute_changed: AttributeChanged, - pub const Adopted = struct { + const Adopted = struct { element: *Element, old_document: *Document, new_document: *Document, }; - pub const AttributeChanged = struct { + const AttributeChanged = struct { element: *Element, name: String, old_value: ?String, diff --git a/src/browser/EventManager.zig b/src/browser/EventManager.zig index 1049a5102..75a283918 100644 --- a/src/browser/EventManager.zig +++ b/src/browser/EventManager.zig @@ -39,7 +39,7 @@ const Allocator = std.mem.Allocator; // Re-export types from EventManagerBase for API compatibility pub const RegisterOptions = EventManagerBase.RegisterOptions; pub const Callback = EventManagerBase.Callback; -pub const Listener = EventManagerBase.Listener; +const Listener = EventManagerBase.Listener; pub const EventManager = @This(); @@ -73,7 +73,7 @@ pub fn remove(self: *EventManager, target: *EventTarget, typ: []const u8, callba } // Re-export DispatchError from base -pub const DispatchError = EventManagerBase.DispatchError; +const DispatchError = EventManagerBase.DispatchError; pub fn dispatch(self: *EventManager, target: *EventTarget, event: *Event) DispatchError!void { event.acquireRef(); @@ -574,7 +574,7 @@ const AdjustedTargets = struct { } }; -pub const EventPath = struct { +const EventPath = struct { len: usize, // Whether a shadow root sits on the path, i.e. whether an invocation can // see a target other than the one the event was dispatched at. diff --git a/src/browser/EventManagerBase.zig b/src/browser/EventManagerBase.zig index e55a2ec5e..c648f9821 100644 --- a/src/browser/EventManagerBase.zig +++ b/src/browser/EventManagerBase.zig @@ -190,7 +190,7 @@ pub fn removeListener(self: *EventManagerBase, list: *std.DoublyLinkedList, list } /// Check if there are any listeners registered for a target/type combination. -pub fn hasListeners(self: *EventManagerBase, target: *EventTarget, typ: []const u8) bool { +fn hasListeners(self: *EventManagerBase, target: *EventTarget, typ: []const u8) bool { return self.lookup.get(.{ .event_target = @intFromPtr(target), .type_string = .wrap(typ), @@ -540,14 +540,14 @@ pub const Function = union(enum) { string: String, object: js.Object.Global, - pub fn eqlFunction(self: Function, func: js.Function) bool { + fn eqlFunction(self: Function, func: js.Function) bool { return switch (self) { .value => |v| v.isEqual(func), else => false, }; } - pub fn eqlObject(self: Function, obj: js.Object) bool { + fn eqlObject(self: Function, obj: js.Object) bool { return switch (self) { .object => |o| return o.isEqual(obj), else => false, diff --git a/src/browser/Factory.zig b/src/browser/Factory.zig index 424ae7ee3..b81f859f5 100644 --- a/src/browser/Factory.zig +++ b/src/browser/Factory.zig @@ -338,7 +338,7 @@ pub fn cdataNode(self: *Factory, cd: Node.CData, leaf: anytype) !*Node.CData { // The full type list for a leaf. Walks the Proto chain. // For example CData.Text -> [_]type{EventTarget, Node, CData, Text}). -pub fn prototypeTypes(comptime Leaf: type) []const type { +fn prototypeTypes(comptime Leaf: type) []const type { comptime { var types: []const type = &.{Leaf}; var T = Leaf; @@ -581,7 +581,7 @@ fn destroyChain( } } -pub fn createT(self: *Factory, comptime T: type) !*T { +fn createT(self: *Factory, comptime T: type) !*T { const allocator = self._slab.allocator(); return try allocator.create(T); } diff --git a/src/browser/Frame.zig b/src/browser/Frame.zig index 41acc3d86..1dc1aed2b 100644 --- a/src/browser/Frame.zig +++ b/src/browser/Frame.zig @@ -363,7 +363,7 @@ _http_headers: std.ArrayList(HttpHeader) = .empty, _referrer: ?[]const u8 = null, referrer_policy: referrer.Policy = .default, -pub const HttpHeader = struct { +const HttpHeader = struct { name: []const u8, value: []const u8, }; @@ -1214,7 +1214,7 @@ pub fn documentIsLoaded(self: *Frame) void { }; } -pub fn _documentIsLoaded(self: *Frame) !void { +fn _documentIsLoaded(self: *Frame) !void { try self.dispatchReadyStateChange(); const event = try Event.initTrusted(.wrap("DOMContentLoaded"), .{ .bubbles = true }, self._page); @@ -1247,7 +1247,7 @@ pub fn scriptsCompletedLoading(self: *Frame) void { self.pendingLoadCompleted(); } -pub fn iframeCompletedLoading(self: *Frame, iframe: *IFrame, delays_load: bool) void { +fn iframeCompletedLoading(self: *Frame, iframe: *IFrame, delays_load: bool) void { // When parsing HTML, fire any load event for an iframe on the next tick. const parsing_html = switch (self._parse_state) { .html => true, @@ -2818,7 +2818,7 @@ pub fn insertAllChildrenBefore(self: *Frame, fragment: *Node, parent: *Node, ref return self.moveAllChildren(fragment, parent, ref_node, .records); } -pub const MoveChildrenNotify = enum { records, silent_parent }; +const MoveChildrenNotify = enum { records, silent_parent }; // Moves every child of `source` into `parent` (before `ref_node`, or // appended). Per the DOM insert algorithm for fragments, observers get one @@ -2910,7 +2910,7 @@ const InsertNodeOpts = struct { pub fn insertNodeRelative(self: *Frame, parent: *Node, child: *Node, relative: InsertNodeRelative, opts: InsertNodeOpts) !void { return self._insertNodeRelative(false, parent, child, relative, opts); } -pub fn _insertNodeRelative(self: *Frame, comptime from_parser: bool, parent: *Node, child: *Node, relative: InsertNodeRelative, opts: InsertNodeOpts) !void { +fn _insertNodeRelative(self: *Frame, comptime from_parser: bool, parent: *Node, child: *Node, relative: InsertNodeRelative, opts: InsertNodeOpts) !void { // caller should have made sure this was the case lp.assert(child._parent == null, "Frame.insertNodeRelative parent", .{}); @@ -3179,7 +3179,7 @@ pub fn updateRangesForSplitText(self: *Frame, target: *Node, new_node: *Node, of /// Update all live ranges after a node insertion. /// Per DOM spec insert algorithm step 6: only applies when inserting before a /// non-null reference node. -pub fn updateRangesForNodeInsertion(self: *Frame, parent: *Node, child_index: u32) void { +fn updateRangesForNodeInsertion(self: *Frame, parent: *Node, child_index: u32) void { var it: ?*std.DoublyLinkedList.Node = self._live_ranges.first; while (it) |link| : (it = link.next) { const ar: *AbstractRange = @fieldParentPtr("_range_link", link); @@ -3189,7 +3189,7 @@ pub fn updateRangesForNodeInsertion(self: *Frame, parent: *Node, child_index: u3 /// Update all live ranges after a node removal. /// Per DOM spec remove algorithm steps 4-7. -pub fn updateRangesForNodeRemoval(self: *Frame, parent: *Node, child: *Node, child_index: u32) void { +fn updateRangesForNodeRemoval(self: *Frame, parent: *Node, child: *Node, child_index: u32) void { var it: ?*std.DoublyLinkedList.Node = self._live_ranges.first; while (it) |link| : (it = link.next) { const ar: *AbstractRange = @fieldParentPtr("_range_link", link); @@ -3416,7 +3416,7 @@ const IdleNotification = union(enum) { } }; -pub const NavigateReason = enum { +const NavigateReason = enum { anchor, address_bar, form, @@ -3485,7 +3485,7 @@ pub const QueuedNavigation = struct { navigation_type: NavigationType, }; -pub const TargetFrame = union(enum) { +const TargetFrame = union(enum) { frame: *Frame, blank, }; diff --git a/src/browser/Mime.zig b/src/browser/Mime.zig index bab257c44..9ca9ae385 100644 --- a/src/browser/Mime.zig +++ b/src/browser/Mime.zig @@ -37,7 +37,7 @@ pub const unknown = Mime{ .content_type = .{ .unknown = {} } }; /// The fallback for a Content-Type that fails to parse. pub const octet_stream = Mime{ .content_type = .{ .application_octet_stream = {} } }; -pub const ContentTypeEnum = enum { +const ContentTypeEnum = enum { text_xml, text_html, text_javascript, @@ -56,7 +56,7 @@ pub const ContentTypeEnum = enum { other_xml, }; -pub const ContentType = union(ContentTypeEnum) { +const ContentType = union(ContentTypeEnum) { text_xml: void, text_html: void, text_javascript: void, @@ -116,7 +116,7 @@ pub const ContentTypeIterator = struct { return .{ .rest = rest, .essence = essence }; } - pub const Parameter = struct { + const Parameter = struct { key: []const u8, /// `value` can be an empty string (""). value: []const u8, @@ -161,7 +161,7 @@ pub const ContentTypeIterator = struct { }; /// Returns the null-terminated charset value. -pub fn charsetStringZ(mime: *const Mime) [:0]const u8 { +fn charsetStringZ(mime: *const Mime) [:0]const u8 { return mime.charset[0..mime.charset_len :0]; } diff --git a/src/browser/RenderTree.zig b/src/browser/RenderTree.zig index d9f2981b8..1d1a859ba 100644 --- a/src/browser/RenderTree.zig +++ b/src/browser/RenderTree.zig @@ -48,7 +48,7 @@ pub const Child = struct { }; /// The rendering children of one parent, in tree order. -pub const Children = struct { +const Children = struct { boxed: bool, yielded: bool = false, next_node: ?*Node, @@ -104,7 +104,7 @@ pub fn slotted(self: *const RenderTree, slot: *Slot) Slotted { }; } -pub const ClassifyOpts = struct { +const ClassifyOpts = struct { boxed: bool = false, // Reached through a 's assignment: the element's own `slot` // attribute then no longer excludes it. @@ -216,7 +216,7 @@ pub fn isStandaloneAnchor(el: *Element, frame: *Frame) bool { return true; } -pub const ContentInfo = struct { +const ContentInfo = struct { has_visible: bool, has_block: bool, }; diff --git a/src/browser/Runner.zig b/src/browser/Runner.zig index 6f3fbff38..72428f453 100644 --- a/src/browser/Runner.zig +++ b/src/browser/Runner.zig @@ -185,7 +185,7 @@ fn _wait(self: *Runner, comptime is_cdp: bool, timeout_ms: u32, conditions: []Wa } } -pub const TickResult = union(enum) { +const TickResult = union(enum) { done, ok: u32, }; diff --git a/src/browser/ScriptManager.zig b/src/browser/ScriptManager.zig index 524460f40..3f3e71400 100644 --- a/src/browser/ScriptManager.zig +++ b/src/browser/ScriptManager.zig @@ -35,7 +35,7 @@ const ScriptManager = @This(); // Re-exports so Frame / Context callers don't need to import Base directly. pub const Script = ScriptManagerBase.Script; -pub const ModuleSource = ScriptManagerBase.ModuleSource; +const ModuleSource = ScriptManagerBase.ModuleSource; base: ScriptManagerBase, frame: *Frame, @@ -82,7 +82,7 @@ fn freePreloads(self: *ScriptManager) void { // Frame wrapper uses this to fire documentIsLoaded and scriptsCompletedLoading // once Base has finished processing its ready / defer queues. -pub fn tailHook(base: *ScriptManagerBase) void { +fn tailHook(base: *ScriptManagerBase) void { const self: *ScriptManager = @fieldParentPtr("base", base); const frame = self.frame; diff --git a/src/browser/ScriptManagerBase.zig b/src/browser/ScriptManagerBase.zig index b9bded983..436c89632 100644 --- a/src/browser/ScriptManagerBase.zig +++ b/src/browser/ScriptManagerBase.zig @@ -993,11 +993,11 @@ pub const Script = struct { } }; -pub const ImportAsync = struct { +const ImportAsync = struct { data: *anyopaque, callback: ImportAsync.Callback, - pub const Callback = *const fn (ptr: *anyopaque, result: anyerror!ModuleSource) void; + const Callback = *const fn (ptr: *anyopaque, result: anyerror!ModuleSource) void; }; pub const ModuleSource = struct { @@ -1016,7 +1016,7 @@ pub const ModuleSource = struct { } }; -pub const ImportedModule = struct { +const ImportedModule = struct { waiters: u16 = 1, // Created by a hint and not yet claimed by a real // import. While set, the single waiter slot belongs to the hint, which diff --git a/src/browser/Session.zig b/src/browser/Session.zig index f41529ef1..8dcbc96dd 100644 --- a/src/browser/Session.zig +++ b/src/browser/Session.zig @@ -131,7 +131,7 @@ pub const DownloadBehavior = enum { deny, }; -pub const CancelHook = struct { +const CancelHook = struct { context: *anyopaque, check: *const fn (*anyopaque) bool, }; diff --git a/src/browser/StyleManager.zig b/src/browser/StyleManager.zig index 751a454c9..a3bee8b45 100644 --- a/src/browser/StyleManager.zig +++ b/src/browser/StyleManager.zig @@ -657,7 +657,7 @@ fn rebuildIfDirty(self: *StyleManager) !void { /// Own-element cascade result, resolved for every property at once so one /// entry serves any probe. -pub const Props = packed struct(u8) { +const Props = packed struct(u8) { // Author value (inline or sheet). Without `author_display` it's the UA // fallback: .none when matchesUaDisplayNoneRule, else .other. display: Display = .other, diff --git a/src/browser/URL.zig b/src/browser/URL.zig index f59984493..a94f9db4e 100644 --- a/src/browser/URL.zig +++ b/src/browser/URL.zig @@ -22,7 +22,7 @@ const U = @import("../sys/url.zig"); const Allocator = std.mem.Allocator; -pub const ResolveOptions = struct { +const ResolveOptions = struct { /// null = don't encode, "UTF-8" = standard percent encoding, /// other charset = encode query string using that charset with NCR fallback. encoding: ?[]const u8 = null, @@ -380,7 +380,7 @@ pub fn eqlDocument(first: [:0]const u8, second: [:0]const u8) bool { } // Helper function to build a URL from components -pub fn buildUrl( +fn buildUrl( allocator: Allocator, protocol: []const u8, host: []const u8, diff --git a/src/browser/color.zig b/src/browser/color.zig index 91514db77..ae9906234 100644 --- a/src/browser/color.zig +++ b/src/browser/color.zig @@ -19,7 +19,7 @@ const std = @import("std"); const Io = std.Io; -pub fn isHexColor(value: []const u8) bool { +fn isHexColor(value: []const u8) bool { if (value.len == 0) { return false; } @@ -287,12 +287,12 @@ pub const RGBA = packed struct(u32) { } /// Returns true if `Color` is opaque. - pub inline fn isOpaque(self: *const RGBA) bool { + inline fn isOpaque(self: *const RGBA) bool { return self.a == std.math.maxInt(u8); } /// Returns the normalized alpha value. - pub inline fn normalizedAlpha(self: *const RGBA) f32 { + inline fn normalizedAlpha(self: *const RGBA) f32 { return @as(f32, @floatFromInt(self.a)) / 255; } }; diff --git a/src/browser/css/Parser.zig b/src/browser/css/Parser.zig index a403aba38..7e9ec41a8 100644 --- a/src/browser/css/Parser.zig +++ b/src/browser/css/Parser.zig @@ -66,7 +66,7 @@ pub fn parseDeclarationsList(input: []const u8) DeclarationsIterator { return DeclarationsIterator.init(input); } -pub const DeclarationsIterator = struct { +const DeclarationsIterator = struct { input: []const u8, stream: TokenStream, @@ -294,7 +294,7 @@ fn isBang(token: Tokenizer.Token) bool { }; } -pub const StyleRule = struct { +const StyleRule = struct { selector: []const u8, block: []const u8, }; @@ -308,7 +308,7 @@ pub const StyleRule = struct { /// `cssRules` after `insertRule` -- if the rule is missing they fall back to /// per-render `