From 89c8bf640f17a35c4a825440866c54ee842928d9 Mon Sep 17 00:00:00 2001 From: Jamie Tanna Date: Tue, 21 Apr 2026 13:34:10 +0100 Subject: [PATCH 1/2] docs(mise): render sorted table of short-names for tools As a way to improve the rendering of the large list of tools that we support for mise-en-place, we can render them as a table. This allows us to sort them by tool name, as well as make it clearer which source the tool is from. As part of future changes, we'll introduce more information and sources of the table, so rendering them as a table will be more readable. Co-authored-by: Claude Sonnet 4.6 --- tools/docs/manager-mise-supported-plugins.ts | 34 ++++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/tools/docs/manager-mise-supported-plugins.ts b/tools/docs/manager-mise-supported-plugins.ts index 2da8746be94..80584871512 100644 --- a/tools/docs/manager-mise-supported-plugins.ts +++ b/tools/docs/manager-mise-supported-plugins.ts @@ -5,16 +5,30 @@ import { import { readFile, updateFile } from '../utils/index.ts'; import { replaceContent } from './utils.ts'; -function generateMiseTooling(): string { - return Object.entries(miseTooling) - .map(([name, { misePluginUrl }]) => `- [${name} (mise)](${misePluginUrl})`) - .join('\n'); -} +function generateCombinedTooling(): string { + let content = ` + | Name | Source | + | ---- | ------ | + `; + + const allTools = [ + ...Object.entries(miseTooling).map(([name, { misePluginUrl }]) => ({ + name, + url: misePluginUrl, + source: 'mise', + })), + ...Object.entries(asdfTooling).map(([name, { asdfPluginUrl }]) => ({ + name, + url: asdfPluginUrl, + source: 'asdf', + })), + ].sort((a, b) => a.name.localeCompare(b.name)); + + for (const { name, url, source } of allTools) { + content += `| [${name}](${url}) | ${source} |\n`; + } -function generateAsdfTooling(): string { - return Object.entries(asdfTooling) - .map(([name, { asdfPluginUrl }]) => `- [${name} (asdf)](${asdfPluginUrl})`) - .join('\n'); + return content; } export async function generateManagerMiseSupportedPlugins( @@ -23,7 +37,7 @@ export async function generateManagerMiseSupportedPlugins( const indexFileName = `${dist}/modules/manager/mise/index.md`; let indexContent = await readFile(indexFileName); // Combine the output of both mise and asdf tooling generation - const combinedTooling = `${generateMiseTooling()}\n${generateAsdfTooling()}`; + const combinedTooling = generateCombinedTooling(); indexContent = replaceContent(indexContent, combinedTooling); await updateFile(indexFileName, indexContent); } From 47cc374f154f6ecfc7a998050e2bd36056f603a3 Mon Sep 17 00:00:00 2001 From: Jamie Tanna Date: Tue, 21 Apr 2026 13:38:37 +0100 Subject: [PATCH 2/2] docs(mise): wrap tool names in code tags As they're generally a command. --- tools/docs/manager-mise-supported-plugins.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/docs/manager-mise-supported-plugins.ts b/tools/docs/manager-mise-supported-plugins.ts index 80584871512..c486295a4d3 100644 --- a/tools/docs/manager-mise-supported-plugins.ts +++ b/tools/docs/manager-mise-supported-plugins.ts @@ -25,7 +25,7 @@ function generateCombinedTooling(): string { ].sort((a, b) => a.name.localeCompare(b.name)); for (const { name, url, source } of allTools) { - content += `| [${name}](${url}) | ${source} |\n`; + content += `| [\`${name}\`](${url}) | ${source} |\n`; } return content;