diff --git a/src/lib/string.ts b/src/lib/string.ts index 8a1c72c1..83648ed1 100644 --- a/src/lib/string.ts +++ b/src/lib/string.ts @@ -16,6 +16,11 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -export const appendS: (obj: any[] | number, str: string) => string = (obj: any[] | number, str: string) => Array.isArray(obj) ? appendS(obj.length, str) : `${obj} ${str}${obj != 1 ? 's' : ''}`; +export const appendS: (obj: any[] | number, str: string) => string = (obj: any[] | number, str: string) => + Array.isArray(obj) ? appendS(obj.length, str) : `${obj} ${str}${obj != 1 ? 's' : ''}`; -export const capitalize: (s: string) => string = (s: string) => `${(s[0] ?? "").toUpperCase() + (s ?? "").substring(1)}`; \ No newline at end of file +export const appendIf: (s: string, condition: (s: string) => boolean, append: string) => string = (s: string, condition: (s: string) => boolean, append: string) => + s + (condition(s) ? append : ''); + +export const capitalize: (s: string) => string = (s: string) => + `${(s[0] ?? "").toUpperCase() + (s ?? "").substring(1)}`; \ No newline at end of file diff --git a/src/menu/align.ts b/src/menu/align.ts index 548dbc8f..22ddbdb7 100644 --- a/src/menu/align.ts +++ b/src/menu/align.ts @@ -51,7 +51,7 @@ export const show: (ui: UI) => void = (ui: UI) => { // manual separator(), quickPickItem({ label: prop.items!.enum![9], - description: "Manual position", + description: `(${get("backgroundAlignmentValue", ui)})`, ui, handle: (item: CommandQuickPickItem) => { const currentValue: string = get("backgroundAlignmentValue", ui); @@ -75,7 +75,7 @@ export const show: (ui: UI) => void = (ui: UI) => { } }); } - }) + }, current) ], { title: title("Alignment", ui), matchOnDescription: true, diff --git a/src/menu/menu.ts b/src/menu/menu.ts index a15453b0..d36e47ba 100644 --- a/src/menu/menu.ts +++ b/src/menu/menu.ts @@ -23,7 +23,7 @@ import { pkg } from "../extension/package"; import { UI, configuration, get } from "../extension/config"; import { count } from "../lib/glob"; -import { capitalize, appendS } from "../lib/string"; +import { appendS, appendIf, capitalize } from "../lib/string"; import { CommandQuickPickItem, quickPickItem, separator, showQuickPick } from "../lib/vscode" import { show as fileMenu } from "./file"; @@ -134,7 +134,7 @@ export const open: (ui: UI) => void = (ui: UI) => separator(), quickPickItem({ label: "$(arrow-both) Alignment", - description: `${get("backgroundAlignment", ui)}`, + description: `${appendIf(get("backgroundAlignment", ui), s => s === "Manual", ` (${get("backgroundAlignmentValue", ui)})`)}`, detail: "Background image alignment", ui, handle: () => alignMenu(ui) @@ -162,7 +162,7 @@ export const open: (ui: UI) => void = (ui: UI) => }), quickPickItem({ label: "$(screen-full) Size", - description: `${get("backgroundSize", ui)}`, + description: `${appendIf(get("backgroundSize", ui), s => s === "Manual", ` (${get("backgroundSizeValue", ui)})`)}`, detail: "Background image size", ui, handle: () => sizeMenu(ui) diff --git a/src/menu/size.ts b/src/menu/size.ts index dd93c3ce..6bd91af5 100644 --- a/src/menu/size.ts +++ b/src/menu/size.ts @@ -40,7 +40,7 @@ export const show: (ui: UI) => void = (ui: UI) => { quickPickItem({ label: prop.items!.enum![2], description: prop.items!.enumDescriptions![2], handle, ui }, current), separator(), // manual - quickPickItem({ label: prop.items!.enum![3], description: prop.items!.enumDescriptions![3], ui: ui, handle: (item: CommandQuickPickItem) => { + quickPickItem({ label: prop.items!.enum![3], description: `(${get("backgroundSizeValue", ui)})`, ui: ui, handle: (item: CommandQuickPickItem) => { const currentValue: string = get("backgroundSizeValue", ui); showInputBox({ title: title("Size", ui),