Skip to content

Main content

Long Option Assignment Joiner

Format one literal long-option argv token under a restricted ASCII option-name grammar; returns one argument, not shell quoting.

Loading tool…

Description

Format one literal long-option argv token under a restricted ASCII option-name grammar; returns one argument, not shell quoting.

An argv vector already consists of literal argument strings. Shell quoting and tokenization happen before this representation; joining argv elements with spaces does not reconstruct a safe command string. Option aliases, duplicates, arity and dependencies are application policies that these tools take explicitly.

Format one literal long-option argv token under a restricted ASCII option-name grammar; returns one argument, not shell quoting.

When to use this tool

Use this tool to format one literal long-option argv token under a restricted ASCII option-name grammar; returns one argument, not shell quoting.

How to use the tool and how it works

  1. Enter name, value, assigned using the input definitions below.
  2. Run the operation. Resolve malformed-input errors before interpreting the result.
  3. Read result.argument. Interpret signs, units, ordering and null values using the rules below.

Validate the restricted ASCII long-option name. Return --name plus =value only when assigned is true; otherwise omit both equals and value.1

Input fieldMeaning and unitsAccepted input
nameRestricted ASCII long-option name without the two leading hyphens.Text, at most 8,192 UTF-16 code units; the stated grammar and narrower limits also apply.
valueLiteral attached value; it may be empty and may contain additional equals signs.Text, at most 8,192 UTF-16 code units; the stated grammar and narrower limits also apply.
assignedWhether to append equals and the value, distinguishing a bare flag from an empty assignment.Boolean true or false.
Output fieldInterpretation
resultObject containing the fields below.
result.argumentOne formatted literal long-option argv element.
json
{
  "input": {
    "name": "name",
    "value": "a=b",
    "assigned": true
  },
  "output": {
    "result": {
      "argument": "--name=a=b"
    }
  }
}

Limitations and assumptions

  • The returned argument is one literal argv element, not a shell-escaped command fragment.
  • Inputs are literal tokens or explicit records. The restricted long-name grammar is [A-Za-z0-9][A-Za-z0-9-]* where required. No universal option syntax, shell semantics or process execution is inferred.
  • Every declared top-level input is required and unknown fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
  • Numeric outputs must be finite and within the absolute safe-integer magnitude; exact larger integers use decimal text. Source positions are zero-based UTF-16 offsets and span ends are exclusive unless a different convention is explicitly stated.

Alternative or Complementary methods

Use the application’s option schema to choose arity, aliases and conflict policy. Pass a literal argv vector to the intended process interface; shell command construction requires separate quoting rules.

References

  1. Tool behavior and example: Long Option Assignment Joiner — tool.io

Similar or alternative tools

  • Long Option Assignment Splitter

    Split one strict ASCII --long-name[=value] argv token at the first equals; no shell parsing or implicit next-token consumption.

  • Option Alias Canonicalizer

    Canonicalize supplied option names through explicit aliases, retaining each chain and cycle evidence; no argv parsing or unknown option rejection.