editor: sort code block languages by recently used (#10144)

This commit is contained in:
Abdullah Atta
2026-07-30 08:57:38 +05:00
committed by GitHub
parent 10a08d5719
commit f7c755f2d6

View File

@@ -236,8 +236,27 @@ type LanguageSelectorProps = {
onClose: () => void;
};
function LanguageSelector(props: LanguageSelectorProps) {
const { onLanguageSelected, selectedLanguage, onClose } = props;
const [languages, setLanguages] = useState(Languages);
const { selectedLanguage, onClose } = props;
const recentlyUsed =
config.get<Record<string, number>>("recentlyUsedCodeBlockLanguages", {}) ??
{};
const [languages, setLanguages] = useState(() =>
[...Languages].sort((a, b) => {
const aCount = recentlyUsed[a.filename] || 0;
const bCount = recentlyUsed[b.filename] || 0;
if (aCount !== bCount) return bCount - aCount;
return 0;
})
);
const onLanguageSelected = (language: string) => {
props.onLanguageSelected(language);
config.set("recentlyUsedCodeBlockLanguages", {
...recentlyUsed,
[language]: Date.now()
});
};
return (
<Popup onClose={onClose}>