fix: only running on kcl files and fmt

This commit is contained in:
Kevin
2025-06-20 12:46:09 -05:00
parent 185c666b40
commit 8dfeab78ea
3 changed files with 25 additions and 14 deletions

View File

@ -50,13 +50,13 @@ export const ProjectExplorer = ({
createFolderPressed,
refreshExplorerPressed,
collapsePressed,
onRowClicked
onRowClicked,
}: {
project: Project
createFilePressed: number
createFolderPressed: number
refreshExplorerPressed: number
collapsePressed: number,
collapsePressed: number
onRowClicked: (row: FileExplorerEntry, domIndex: number) => void
}) => {
// cache the state of opened rows to allow nested rows to be opened if a parent one is closed

View File

@ -24,13 +24,16 @@ import { FileExplorerHeaderActions } from '@src/components/Explorer/FileExplorer
import { parentPathRelativeToProject, PATHS } from '@src/lib/paths'
import type { IndexLoaderData } from '@src/lib/types'
import { useRouteLoaderData } from 'react-router-dom'
import { addPlaceHoldersForNewFileAndFolder, FileExplorerEntry } from '@src/components/Explorer/utils'
import {
addPlaceHoldersForNewFileAndFolder,
FileExplorerEntry,
} from '@src/components/Explorer/utils'
import { ProjectExplorer } from '@src/components/Explorer/ProjectExplorer'
import { useFolders } from '@src/machines/systemIO/hooks'
import { useState, useEffect } from 'react'
import type { Project } from '@src/lib/project'
import { SystemIOMachineEvents } from '@src/machines/systemIO/utils'
import { ONBOARDING_PROJECT_NAME } from '@src/lib/constants'
import { FILE_EXT, ONBOARDING_PROJECT_NAME } from '@src/lib/constants'
export type SidebarType =
| 'code'
@ -173,19 +176,23 @@ export const sidebarPanes: SidebarPane[] = [
useState<number>(0)
const [collapsePressed, setCollapsedPressed] = useState<number>(0)
const onRowClicked = (entry: FileExplorerEntry, domIndex: number) => {
const applicationProjectDirectory = settings.app.projectDirectory.current
const requestedFileName = parentPathRelativeToProject(entry.path, applicationProjectDirectory)
if (loaderData?.project?.name && entry.children == null) {
systemIOActor.send({
const applicationProjectDirectory =
settings.app.projectDirectory.current
const requestedFileName = parentPathRelativeToProject(
entry.path,
applicationProjectDirectory
)
// Only open the file if it is a kcl file.
if (loaderData?.project?.name && entry.children == null && entry.path.endsWith(FILE_EXT)) {
systemIOActor.send({
type: SystemIOMachineEvents.navigateToFile,
data: {
requestedProjectName:
loaderData?.project?.name,
requestedFileName: requestedFileName,
requestedProjectName: loaderData?.project?.name,
requestedFileName: requestedFileName,
},
})
}
}
return (

View File

@ -193,9 +193,13 @@ export function getProjectDirectoryFromKCLFilePath(
return ''
}
export function parentPathRelativeToProject (absoluteFilePath: string, applicationProjectDirectory: string) : string {
export function parentPathRelativeToProject(
absoluteFilePath: string,
applicationProjectDirectory: string
): string {
const replacedPath = absoluteFilePath.replace(applicationProjectDirectory, '')
const [iAmABlankString, projectDirectory, ...rest] = desktopSafePathSplit(replacedPath)
const [iAmABlankString, projectDirectory, ...rest] =
desktopSafePathSplit(replacedPath)
if (iAmABlankString === '') {
return desktopSafePathJoin(rest)
}