Uniformize Drush commands of devel_generate
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3073850. -->
Reported by: [davidferlay](https://www.drupal.org/user/3349938)
>>>
<h3 id="summary-context">Context</h3>
<ul>
<li>Devel has some nice drush commands to generate content : <a href="https://www.drupal.org/docs/8/modules/devel/new-drush-commands">https://www.drupal.org/docs/8/modules/devel/new-drush-commands</a></li>
</ul>
<h3 id="summary-current-result">Current result</h3>
<ul>
<li><code>drush generate-content</code> and <code>drush generate-terms</code> have different syntax and options although no reason for it</li>
<ul>
<li>drush devel-generate-content $COUNT --types=$BUNDLE // takes multiple bundles</li>
<li>drush devel-generate-terms $BUNDLE $COUNT // **doesn't take multiple bundles**</li>
</ul>
<li>Most likely other commands are different in their way too</li>
</ul>
<table data-sourcepos="6:1-19:40" dir="auto">
<thead>
<tr data-sourcepos="6:1-6:109">
<th data-sourcepos="6:2-6:23">generate-content</th>
<th data-sourcepos="6:25-6:44">generate-terms</th>
<th data-sourcepos="6:46-6:65">generate-menus</th>
<th data-sourcepos="6:67-6:86">generate-users</th>
<th data-sourcepos="6:88-6:108">generate-vocabs</th>
</tr>
</thead>
<tbody>
<tr data-sourcepos="8:1-8:27">
<td data-sourcepos="8:2-8:14"><em>Arguments:</em></td>
<td data-sourcepos="8:16-8:17"></td>
<td data-sourcepos="8:19-8:20"></td>
<td data-sourcepos="8:22-8:23"></td>
<td data-sourcepos="8:25-8:26"></td>
</tr>
<tr data-sourcepos="9:1-9:58">
<td data-sourcepos="9:1-9:6"><code>num</code></td>
<td data-sourcepos="9:8-9:23"><code>machine_name</code></td>
<td data-sourcepos="9:25-9:40"><code>number_menus</code></td>
<td data-sourcepos="9:42-9:48"><code>num</code></td>
<td data-sourcepos="9:50-9:56"><code>num</code></td>
</tr>
<tr data-sourcepos="10:1-10:48">
<td data-sourcepos="10:1-10:15"><code>max_comments</code></td>
<td data-sourcepos="10:17-10:23"><code>num</code></td>
<td data-sourcepos="10:25-10:40"><code>number_links</code></td>
<td data-sourcepos="10:42-10:43"></td>
<td data-sourcepos="10:45-10:46"></td>
</tr>
<tr data-sourcepos="11:1-11:27">
<td data-sourcepos="11:2-11:3"></td>
<td data-sourcepos="11:5-11:6"></td>
<td data-sourcepos="11:8-11:20"><code>max_depth</code></td>
<td data-sourcepos="11:22-11:23"></td>
<td data-sourcepos="11:25-11:26"></td>
</tr>
<tr data-sourcepos="12:1-12:27">
<td data-sourcepos="12:2-12:3"></td>
<td data-sourcepos="12:5-12:6"></td>
<td data-sourcepos="12:8-12:20"><code>max_width</code></td>
<td data-sourcepos="12:22-12:23"></td>
<td data-sourcepos="12:25-12:26"></td>
</tr>
<tr data-sourcepos="13:1-13:25">
<td data-sourcepos="13:2-13:12"><em>Options:</em></td>
<td data-sourcepos="13:14-13:15"></td>
<td data-sourcepos="13:17-13:18"></td>
<td data-sourcepos="13:20-13:21"></td>
<td data-sourcepos="13:23-13:24"></td>
</tr>
<tr data-sourcepos="14:1-14:64">
<td data-sourcepos="14:1-14:14"><code>--feedback</code></td>
<td data-sourcepos="14:16-14:29"><code>--feedback</code></td>
<td data-sourcepos="14:31-14:40"><code>--kill</code></td>
<td data-sourcepos="14:42-14:51"><code>--kill</code></td>
<td data-sourcepos="14:53-14:62"><code>--kill</code></td>
</tr>
<tr data-sourcepos="15:1-15:54">
<td data-sourcepos="15:1-15:8"><code>--kill</code></td>
<td data-sourcepos="15:10-15:19"><code>--kill</code></td>
<td data-sourcepos="15:21-15:30"><code>--pipe</code></td>
<td data-sourcepos="15:32-15:41"><code>--pass</code></td>
<td data-sourcepos="15:43-15:52"><code>--pipe</code></td>
</tr>
<tr data-sourcepos="16:1-16:88">
<td data-sourcepos="16:1-16:14"><code>--languages</code></td>
<td data-sourcepos="16:16-16:30"><code>--languages</code></td>
<td data-sourcepos="16:32-16:33"></td>
<td data-sourcepos="16:35-16:45"><code>--roles</code></td>
<td data-sourcepos="16:47-16:48"></td>
</tr>
<tr data-sourcepos="17:1-17:45">
<td data-sourcepos="17:1-17:15"><code>--skip-fields</code></td>
<td data-sourcepos="17:17-17:33"><code>--skip-fields</code></td>
<td data-sourcepos="17:35-17:36"></td>
<td data-sourcepos="17:38-17:39"></td>
<td data-sourcepos="17:41-17:42"></td>
</tr>
<tr data-sourcepos="18:1-18:38">
<td data-sourcepos="18:1-18:16"><code>--translations</code></td>
<td data-sourcepos="18:18-18:27"><code>--pipe</code></td>
<td data-sourcepos="18:29-18:30"></td>
<td data-sourcepos="18:32-18:33"></td>
<td data-sourcepos="18:35-18:36"></td>
</tr>
<tr data-sourcepos="19:1-19:40">
<td data-sourcepos="19:1-19:10"><code>--types</code></td>
<td data-sourcepos="19:12-19:29"><code>--translations</code></td>
<td data-sourcepos="19:31-19:32"></td>
<td data-sourcepos="19:34-19:35"></td>
<td data-sourcepos="19:37-19:38"></td>
</tr>
</tbody>
</table>
<p><img src="https://www.drupal.org/files/issues/2019-08-09/image.png" width="600" height="900" alt="diff between drush commands syntax"> <img src="https://www.drupal.org/files/issues/2019-08-09/image2.png" width="600" height="900" alt="diff between drush commands options"></p>
<h3 id="summary-expected-result">Expected result</h3>
<p><code>drush generate-content</code> should be taken as base for syntax, argument, options because most likely it's the most used and most complete of generate commands. These commands should be able to takes multiples bundles as --types options</p>
<table data-sourcepos="23:1-28:45" dir="auto">
<thead>
<tr data-sourcepos="23:1-23:109">
<th data-sourcepos="23:2-23:23">generate-content</th>
<th data-sourcepos="23:25-23:44">generate-terms</th>
<th data-sourcepos="23:46-23:65">generate-menus</th>
<th data-sourcepos="23:67-23:86">generate-users</th>
<th data-sourcepos="23:88-23:108">generate-vocabs</th>
</tr>
</thead>
<tbody>
<tr data-sourcepos="25:1-25:27">
<td data-sourcepos="25:2-25:14"><em>Arguments:</em></td>
<td data-sourcepos="25:16-25:17"></td>
<td data-sourcepos="25:19-25:20"></td>
<td data-sourcepos="25:22-25:23"></td>
<td data-sourcepos="25:25-25:26"></td>
</tr>
<tr data-sourcepos="26:1-26:37">
<td data-sourcepos="26:2-26:7">None</td>
<td data-sourcepos="26:9-26:14">Remove <code>machine_name</code></td>
<td data-sourcepos="26:16-26:22">None</td>
<td data-sourcepos="26:24-26:29">None</td>
<td data-sourcepos="26:31-26:36">None</td>
</tr>
<tr data-sourcepos="27:1-27:25">
<td data-sourcepos="27:2-27:12"><em>Options:</em></td>
<td data-sourcepos="27:14-27:15"></td>
<td data-sourcepos="27:17-27:18"></td>
<td data-sourcepos="27:20-27:21"></td>
<td data-sourcepos="27:23-27:24"></td>
</tr>
<tr data-sourcepos="28:1-28:45">
<td data-sourcepos="28:2-28:7">Rename <code>--types</code> to <code>--bundles</code></td>
<td data-sourcepos="28:9-28:23">Add <code>--bundles</code><br> set defaul value for <code>--kill</code> = FALSE
</td>
<td data-sourcepos="28:25-28:30">None</td>
<td data-sourcepos="28:32-28:37">None</td>
<td data-sourcepos="28:39-28:44">None</td>
</tr>
</tbody>
</table>
<p>BTW update messages to more clean and readable.</p>
issue