Change so that new KCL files respect the length unit setting

This commit is contained in:
Jonathan Tran
2025-03-12 20:31:43 -04:00
parent 494d8bdf4c
commit e94bdeb2ce
3 changed files with 57 additions and 5 deletions

View File

@ -34,7 +34,8 @@ import { settingsActor, useSettings } from 'machines/appMachine'
import { createRouteCommands } from 'lib/commandBarConfigs/routeCommandConfig'
import { useToken } from 'machines/appMachine'
import { createNamedViewsCommand } from 'lib/commandBarConfigs/namedViewsConfig'
import { reportRejection } from 'lib/trap'
import { err, reportRejection } from 'lib/trap'
import { newKclFile } from 'lang/project'
type MachineContext<T extends AnyStateMachine> = {
state: StateFrom<T>
@ -248,7 +249,12 @@ export const FileMachineProvider = ({
createdPath
)
} else {
await window.electron.writeFile(createdPath, input.content ?? '')
const codeToWrite = newKclFile(
input.content ?? '',
settings.modeling.defaultUnit.current
)
if (err(codeToWrite)) return Promise.reject(codeToWrite)
await window.electron.writeFile(createdPath, codeToWrite)
}
}
@ -277,7 +283,12 @@ export const FileMachineProvider = ({
})
createdName = name
createdPath = path
await window.electron.writeFile(createdPath, input.content ?? '')
const codeToWrite = newKclFile(
input.content ?? '',
settings.modeling.defaultUnit.current
)
if (err(codeToWrite)) return Promise.reject(codeToWrite)
await window.electron.writeFile(createdPath, codeToWrite)
}
return {

View File

@ -32,6 +32,8 @@ import {
} from 'lib/constants'
import { codeManager, kclManager } from 'lib/singletons'
import { Project } from 'lib/project'
import { newKclFile } from 'lang/project'
import { err } from 'lib/trap'
type MachineContext<T extends AnyStateMachine> = {
state?: StateFrom<T>
@ -120,7 +122,13 @@ const ProjectsContextWeb = ({ children }: { children: React.ReactNode }) => {
createFile: fromPromise(async ({ input }) => {
// Browser version doesn't navigate, just overwrites the current file
clearImportSearchParams()
codeManager.updateCodeStateEditor(input.code || '')
const codeToWrite = newKclFile(
input.code ?? '',
settings.modeling.defaultUnit.current
)
if (err(codeToWrite)) return Promise.reject(codeToWrite)
codeManager.updateCodeStateEditor(codeToWrite)
await codeManager.writeToFile()
await kclManager.executeCode(true)
@ -412,7 +420,12 @@ const ProjectsContextDesktop = ({
})
fileName = name
await window.electron.writeFile(path, input.code || '')
const codeToWrite = newKclFile(
input.code ?? '',
settings.modeling.defaultUnit.current
)
if (err(codeToWrite)) return Promise.reject(codeToWrite)
await window.electron.writeFile(path, codeToWrite)
return {
message,