From 2f740cec5dc995924282452bcde3e70184d10f0c Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Mon, 24 Aug 2026 17:21:19 -0400 Subject: [PATCH] fix(tui): highlight shell script files (#44772) --- packages/tui/src/util/filetype.ts | 8 ++++---- packages/tui/test/util/filetype.test.ts | 7 +++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/tui/src/util/filetype.ts b/packages/tui/src/util/filetype.ts index e52b0effedd..0b83378f8a1 100644 --- a/packages/tui/src/util/filetype.ts +++ b/packages/tui/src/util/filetype.ts @@ -89,10 +89,10 @@ export const LANGUAGE_EXTENSIONS: Record = { ".sass": "sass", ".scala": "scala", ".shader": "shaderlab", - ".sh": "shellscript", - ".bash": "shellscript", - ".zsh": "shellscript", - ".ksh": "shellscript", + ".sh": "bash", + ".bash": "bash", + ".zsh": "bash", + ".ksh": "bash", ".sql": "sql", ".svelte": "svelte", ".swift": "swift", diff --git a/packages/tui/test/util/filetype.test.ts b/packages/tui/test/util/filetype.test.ts index bf441817b91..20eec7c7ebd 100644 --- a/packages/tui/test/util/filetype.test.ts +++ b/packages/tui/test/util/filetype.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "bun:test" +import parsers from "../../src/parsers-config" import { filetype } from "../../src/util/filetype" describe("util.filetype", () => { @@ -9,6 +10,12 @@ describe("util.filetype", () => { expect(filetype("README.unknown")).toBeUndefined() }) + test("maps shell filenames to the registered bash parser", () => { + const languages = ["script.sh", "script.bash", "script.zsh", "script.ksh"].map(filetype) + expect(languages).toEqual(["bash", "bash", "bash", "bash"]) + expect(parsers.parsers.some((parser) => languages.every((language) => language === parser.filetype))).toBe(true) + }) + test("uses none for missing filenames", () => { expect(filetype()).toBe("none") expect(filetype("")).toBe("none")