Repository: shader-slang/slang
File: source/core/slang-command-options.h (C/C++)

Code before:
        const char* description,
        UserValue userValue = kInvalidUserValue);
    /// Use an already known category. It's an error if the category isn't found
    void setCategory(const char* name);

    /// A hyperlink specified as plain C strings, for use when defining options
    struct InputLink
    {
        const char* text;
        const char* url;
    };

    void add(
        const char* name,
        const char* usage,
        const char* description,
        UserValue userValue = kInvalidUserValue,
        const char* displayName = nullptr);
    void add(
        const char* name,
        const char* usage,
        const char* description,
        const InputLink* links,
        Count linkCount,
        UserValue userValue = kInvalidUserValue,
        const char* displayName = nullptr);
    void add(
        const UnownedStringSlice* names,
        Count namesCount,
        const char* usage,
        const char* description,
        UserValue userValue = kInvalidUserValue,
        Flags flags = 0);
    void add(
        const UnownedStringSlice* names,
        Count namesCount,
        const char* usage,
        const char* description,
        const InputLink* links,
        Count linkCount,
        UserValue userValue = kInvalidUserValue,
        Flags flags = 0);

    void addValue(const UnownedStringSlice& name, UserValue userValue = kInvalidUserValue);
    void addValue(
        const UnownedStringSlice& name,
        const UnownedStringSlice& description,
        UserValue userValue = kInvalidUserValue);
    void addValue(
        const char* name,
        const char* description,

Review comment (bug):
I don't see where this new function is used except one use case where it takes nullptr for `links`, and 0 value for linkCount.
Do we need this function?

Code after:
        const char* description,
        UserValue userValue = kInvalidUserValue);
    /// Use an already known category. It's an error if the category isn't found
    void setCategory(const char* name);

    /// A hyperlink specified as plain C strings, for use when defining options
    struct InputLink
    {
        const char* text;
        const char* url;
    };

    void add(
        const char* name,
        const char* usage,
        const char* description,
        UserValue userValue = kInvalidUserValue,
        const char* displayName = nullptr);
    void add(
        const char* name,
        const char* usage,
        const char* description,
        UserValue userValue,
        const char* displayName,
        const InputLink* links,
        Count linkCount);
    void add(
        const UnownedStringSlice* names,
        Count namesCount,
        const char* usage,
        const char* description,
        UserValue userValue = kInvalidUserValue,
        Flags flags = 0);

    void addValue(const UnownedStringSlice& name, UserValue userValue = kInvalidUserValue);
    void addValue(
        const UnownedStringSlice& name,
        const UnownedStringSlice& description,
        UserValue userValue = kInvalidUserValue);
    void addValue(
        const char* name,
        const char* description,
        UserValue userValue = kInvalidUserValue);
    void addValue(const char* name, UserValue userValue = kInvalidUserValue);
    void addValue(
        const UnownedStringSlice* names,
        Count namesCount,
        UserValue userValue = kInvalidUserValue);

    /// Add values (without UserValue association)
    void addValues(const ValuePair* pairs, Count pairsCount);