mirror of
https://github.com/estruyf/vscode-front-matter.git
synced 2026-06-20 10:05:07 +02:00
29 lines
814 B
TypeScript
29 lines
814 B
TypeScript
import { useState, useEffect } from 'react';
|
|
import { FrameworkDetectors } from '../../constants/FrameworkDetectors';
|
|
import { PanelSettings } from '../../models';
|
|
|
|
export default function useStartCommand(settings?: PanelSettings) {
|
|
const [startCommand, setStartCommand] = useState<string | null>(null);
|
|
|
|
useEffect(() => {
|
|
if (settings?.commands?.start) {
|
|
setStartCommand(settings?.commands?.start);
|
|
return;
|
|
}
|
|
|
|
let command: string = '';
|
|
if (settings?.framework) {
|
|
const framework = FrameworkDetectors.find((f) => f.framework.name === settings.framework);
|
|
if (framework?.commands?.start) {
|
|
command = framework.commands.start;
|
|
}
|
|
}
|
|
|
|
setStartCommand(command);
|
|
}, [settings?.framework, settings?.commands?.start]);
|
|
|
|
return {
|
|
startCommand
|
|
};
|
|
}
|