tiny.smg.command.context
Defined in command.
API (1)
Actions
Public operations.
Source
Source: tools/smg/src/command/context.zig
zig
const std = @import("std");const smg = @import("../root.zig");const context = smg.context;const cli_options = smg.cli.options;const cli_output = smg.cli.output;const cli_resolve = smg.cli.resolve;const cli_session = smg.command.session;const cli_validation = smg.cli.validation;pub fn run(allocator: std.mem.Allocator, phases: std.mem.Allocator, args: []const []const u8, limits: smg.Limits, boundary: cli_session.PhaseBoundary) !u8 { if (cli_options.hasFlag(args, "--inspect")) return smg.command.inspection.run(allocator, args); if (try cli_validation.rejectMissingOptionValues(allocator, args, &.{ "--tokens", "--format" })) return 2; if (try cli_validation.rejectUnexpectedOptionsPlain(allocator, "context", "[OPTIONS] NAME", args, &.{ "--tokens", "--format", "--with-source" })) return 2; if (try cli_validation.rejectInvalidChoiceOption(allocator, "context", "[OPTIONS] NAME", args, "--format", &.{ "text", "json" })) return 2; if (try cli_validation.rejectInvalidIntegerOption(allocator, "context", "[OPTIONS] NAME", args, "--tokens")) return 2; const pos = try cli_options.positional(allocator, args); if (pos.len == 0) { try cli_output.writeClickUsageError(allocator, "context", "[OPTIONS] NAME", "Missing argument 'NAME'."); return 2; } if (pos.len > 1) { try cli_output.writeClickUsageError(allocator, "context", "[OPTIONS] NAME", try cli_validation.unexpectedArgumentMessage(allocator, pos[1..])); return 2; } _ = phases; const root = try smg.storage.requireRoot(allocator); try cli_session.noteGraphAge(allocator, root); var opened = try smg.storage.store.openRead(allocator, root, limits.storage); defer opened.close(); const name = try cli_resolve.storedNode( allocator, root, &opened.reader, pos[0], limits.suggestions, ); const result = try context.buildFromReader( allocator, &opened.reader, root, name, cli_options.signedOptionValue(args, "--tokens", 4000), cli_options.hasFlag(args, "--with-source"), limits.context, ); boundary.seal(); defer boundary.beginTeardown(); if (std.mem.eql(u8, cli_options.flagValue(args, "--format") orelse "", "json")) return try cli_output.writeOut(try context.toJson(allocator, result)); return try cli_output.writeOut(try context.toText(allocator, result));}Source: tools/smg/src/command/root.zig:9
zig
pub const context = @import("context.zig");Audit
| Definitions | 2 |
|---|---|
| Public names | 2 |
| Members | 0 |
| Version | 26.7.0 |
| Revision | daab053ee433 |