Skip to content

Commit ceb567c

Browse files
committed
feat(cli): Dashing all cli options
1 parent 2e43726 commit ceb567c

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/SDK/Language/CLI.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Appwrite\SDK\Language;
44

5+
use Twig\TwigFilter;
56
use Twig\TwigFunction;
67

78
class CLI extends Node
@@ -364,6 +365,14 @@ public function getParamExample(array $param): string
364365
return $output;
365366
}
366367

368+
public function getFilters(): array
369+
{
370+
return array_merge(parent::getFilters(),[
371+
new TwigFilter('cli_kebab', function ($value) {
372+
return strtolower(preg_replace('/(?<!^)([A-Z][a-z]|(?<=[a-z])[^a-z]|(?<=[A-Z])[0-9_])/', '-$1', $value));
373+
})
374+
]);
375+
}
367376
/**
368377
* Language specific filters.
369378
* @return array

templates/cli/lib/commands/command.js.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ const {{ service.name | caseLower }}{{ method.name | caseUcfirst }} = async ({
9090
{% autoescape false %}
9191
.description(`{{ method.description | replace({'`':'\''}) | replace({'\n':' '}) | replace({'\n \n':' '}) }}`)
9292
{% for parameter in method.parameters.all %}
93-
.{% if parameter.required and not parameter.nullable %}requiredOption{% else %}option{% endif %}(`--{{ parameter.name | escapeKeyword }} {% if parameter.array.type|length > 0 %}[{% else %}<{% endif %}{{ parameter.name | escapeKeyword }}{% if parameter.array.type|length > 0 %}...{% endif %}{% if parameter.array.type|length > 0 %}]{% else %}>{% endif %}`, `{{ parameter.description | replace({'`':'\''}) | replace({'\n':' '}) | replace({'\n \n':' '}) }}`{% if parameter | typeName == 'boolean' %}, parseBool{% elseif parameter | typeName == 'number' %}, parseInteger{% endif %})
93+
.{% if parameter.required and not parameter.nullable %}requiredOption{% else %}option{% endif %}(`--{{ parameter.name | escapeKeyword | cli_kebab }} {% if parameter.array.type|length > 0 %}[{% else %}<{% endif %}{{ parameter.name | escapeKeyword | cli_kebab }}{% if parameter.array.type|length > 0 %}...{% endif %}{% if parameter.array.type|length > 0 %}]{% else %}>{% endif %}`, `{{ parameter.description | replace({'`':'\''}) | replace({'\n':' '}) | replace({'\n \n':' '}) }}`{% if parameter | typeName == 'boolean' %}, parseBool{% elseif parameter | typeName == 'number' %}, parseInteger{% endif %})
9494
{% endfor %}
9595
{% if method.type == 'location' %}
9696
.requiredOption(`--destination <path>`, `output file path.`)

0 commit comments

Comments
 (0)