fix when you comment out it should re-execute (#2975)
* fix when you comment out it should re-execute Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * copilot being a little shit Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * turn copilot off Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * fix for realisesi Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * remove footguns Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
This commit is contained in:
@ -435,6 +435,8 @@ test('Draft segments should look right', async ({ page, context }) => {
|
|||||||
|
|
||||||
await page.mouse.move(startXPx + PUR * 30, 500 - PUR * 20, { steps: 10 })
|
await page.mouse.move(startXPx + PUR * 30, 500 - PUR * 20, { steps: 10 })
|
||||||
|
|
||||||
|
await page.waitForTimeout(300)
|
||||||
|
|
||||||
await expect(page).toHaveScreenshot({
|
await expect(page).toHaveScreenshot({
|
||||||
maxDiffPixels: 100,
|
maxDiffPixels: 100,
|
||||||
})
|
})
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 36 KiB |
Binary file not shown.
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
Binary file not shown.
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
@ -12,14 +12,14 @@ import {
|
|||||||
setDiagnosticsEffect,
|
setDiagnosticsEffect,
|
||||||
} from '@codemirror/lint'
|
} from '@codemirror/lint'
|
||||||
|
|
||||||
const updateOutsideEditorAnnotation = Annotation.define<null>()
|
const updateOutsideEditorAnnotation = Annotation.define<boolean>()
|
||||||
export const updateOutsideEditorEvent = updateOutsideEditorAnnotation.of(null)
|
export const updateOutsideEditorEvent = updateOutsideEditorAnnotation.of(true)
|
||||||
|
|
||||||
const modelingMachineAnnotation = Annotation.define<null>()
|
const modelingMachineAnnotation = Annotation.define<boolean>()
|
||||||
export const modelingMachineEvent = modelingMachineAnnotation.of(null)
|
export const modelingMachineEvent = modelingMachineAnnotation.of(true)
|
||||||
|
|
||||||
const setDiagnosticsAnnotation = Annotation.define<null>()
|
const setDiagnosticsAnnotation = Annotation.define<boolean>()
|
||||||
export const setDiagnosticsEvent = setDiagnosticsAnnotation.of(null)
|
export const setDiagnosticsEvent = setDiagnosticsAnnotation.of(true)
|
||||||
|
|
||||||
function diagnosticIsEqual(d1: Diagnostic, d2: Diagnostic): boolean {
|
function diagnosticIsEqual(d1: Diagnostic, d2: Diagnostic): boolean {
|
||||||
return d1.from === d2.from && d1.to === d2.to && d1.message === d2.message
|
return d1.from === d2.from && d1.to === d2.to && d1.message === d2.message
|
||||||
@ -123,7 +123,11 @@ export default class EditorManager {
|
|||||||
|
|
||||||
this._editorView.dispatch({
|
this._editorView.dispatch({
|
||||||
effects: [setDiagnosticsEffect.of(diagnostics)],
|
effects: [setDiagnosticsEffect.of(diagnostics)],
|
||||||
annotations: [setDiagnosticsEvent, Transaction.addToHistory.of(false)],
|
annotations: [
|
||||||
|
setDiagnosticsEvent,
|
||||||
|
updateOutsideEditorEvent,
|
||||||
|
Transaction.addToHistory.of(false),
|
||||||
|
],
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,11 +37,11 @@ import { CopilotAcceptCompletionParams } from 'wasm-lib/kcl/bindings/CopilotAcce
|
|||||||
import { CopilotRejectCompletionParams } from 'wasm-lib/kcl/bindings/CopilotRejectCompletionParams'
|
import { CopilotRejectCompletionParams } from 'wasm-lib/kcl/bindings/CopilotRejectCompletionParams'
|
||||||
import { editorManager } from 'lib/singletons'
|
import { editorManager } from 'lib/singletons'
|
||||||
|
|
||||||
const copilotPluginAnnotation = Annotation.define<null>()
|
const copilotPluginAnnotation = Annotation.define<boolean>()
|
||||||
export const copilotPluginEvent = copilotPluginAnnotation.of(null)
|
export const copilotPluginEvent = copilotPluginAnnotation.of(true)
|
||||||
|
|
||||||
const rejectSuggestionAnnotation = Annotation.define<null>()
|
const rejectSuggestionAnnotation = Annotation.define<boolean>()
|
||||||
export const rejectSuggestionCommand = rejectSuggestionAnnotation.of(null)
|
export const rejectSuggestionCommand = rejectSuggestionAnnotation.of(true)
|
||||||
|
|
||||||
// Effects to tell StateEffect what to do with GhostText
|
// Effects to tell StateEffect what to do with GhostText
|
||||||
const addSuggestion = StateEffect.define<Suggestion>()
|
const addSuggestion = StateEffect.define<Suggestion>()
|
||||||
@ -229,7 +229,7 @@ export class CompletionRequester implements PluginValue {
|
|||||||
isRelevant = true
|
isRelevant = true
|
||||||
} else if (tr.isUserEvent('move')) {
|
} else if (tr.isUserEvent('move')) {
|
||||||
isRelevant = true
|
isRelevant = true
|
||||||
} else if (tr.annotation(copilotPluginEvent.type) !== undefined) {
|
} else if (tr.annotation(copilotPluginEvent.type)) {
|
||||||
isRelevant = true
|
isRelevant = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -457,6 +457,7 @@ export class CompletionRequester implements PluginValue {
|
|||||||
effects: clearSuggestion.of(null),
|
effects: clearSuggestion.of(null),
|
||||||
annotations: [
|
annotations: [
|
||||||
rejectSuggestionCommand,
|
rejectSuggestionCommand,
|
||||||
|
copilotPluginEvent,
|
||||||
Transaction.addToHistory.of(false),
|
Transaction.addToHistory.of(false),
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
@ -12,6 +12,9 @@ import { UpdateUnitsParams } from 'wasm-lib/kcl/bindings/UpdateUnitsParams'
|
|||||||
import { UpdateCanExecuteParams } from 'wasm-lib/kcl/bindings/UpdateCanExecuteParams'
|
import { UpdateCanExecuteParams } from 'wasm-lib/kcl/bindings/UpdateCanExecuteParams'
|
||||||
import { UpdateUnitsResponse } from 'wasm-lib/kcl/bindings/UpdateUnitsResponse'
|
import { UpdateUnitsResponse } from 'wasm-lib/kcl/bindings/UpdateUnitsResponse'
|
||||||
import { UpdateCanExecuteResponse } from 'wasm-lib/kcl/bindings/UpdateCanExecuteResponse'
|
import { UpdateCanExecuteResponse } from 'wasm-lib/kcl/bindings/UpdateCanExecuteResponse'
|
||||||
|
import { codeManagerUpdateEvent } from 'lang/codeManager'
|
||||||
|
import { copilotPluginEvent } from '../copilot'
|
||||||
|
import { updateOutsideEditorEvent } from 'editor/manager'
|
||||||
|
|
||||||
const changesDelay = 600
|
const changesDelay = 600
|
||||||
|
|
||||||
@ -45,11 +48,10 @@ export class KclPlugin implements PluginValue {
|
|||||||
editorManager.setEditorView(viewUpdate.view)
|
editorManager.setEditorView(viewUpdate.view)
|
||||||
|
|
||||||
let isUserSelect = false
|
let isUserSelect = false
|
||||||
let isRelevant = false
|
let isRelevant = viewUpdate.docChanged
|
||||||
for (const tr of viewUpdate.transactions) {
|
for (const tr of viewUpdate.transactions) {
|
||||||
if (tr.isUserEvent('select')) {
|
if (tr.isUserEvent('select')) {
|
||||||
isUserSelect = true
|
isUserSelect = true
|
||||||
break
|
|
||||||
} else if (tr.isUserEvent('input')) {
|
} else if (tr.isUserEvent('input')) {
|
||||||
isRelevant = true
|
isRelevant = true
|
||||||
} else if (tr.isUserEvent('delete')) {
|
} else if (tr.isUserEvent('delete')) {
|
||||||
@ -63,6 +65,21 @@ export class KclPlugin implements PluginValue {
|
|||||||
} else if (tr.annotation(lspFormatCodeEvent.type)) {
|
} else if (tr.annotation(lspFormatCodeEvent.type)) {
|
||||||
isRelevant = true
|
isRelevant = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Don't make this an else.
|
||||||
|
if (tr.annotation(codeManagerUpdateEvent.type)) {
|
||||||
|
// We want to ignore when we are forcing the editor to update.
|
||||||
|
isRelevant = false
|
||||||
|
break
|
||||||
|
} else if (tr.annotation(copilotPluginEvent.type)) {
|
||||||
|
// We want to ignore when copilot is doing stuff.
|
||||||
|
isRelevant = false
|
||||||
|
break
|
||||||
|
} else if (tr.annotation(updateOutsideEditorEvent.type)) {
|
||||||
|
// We want to ignore other events outside the editor.
|
||||||
|
isRelevant = false
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we have a user select event, we want to update what parts are
|
// If we have a user select event, we want to update what parts are
|
||||||
|
@ -11,8 +11,8 @@ import { KeyBinding } from '@codemirror/view'
|
|||||||
|
|
||||||
const PERSIST_CODE_KEY = 'persistCode'
|
const PERSIST_CODE_KEY = 'persistCode'
|
||||||
|
|
||||||
const codeManagerUpdateAnnotation = Annotation.define<null>()
|
const codeManagerUpdateAnnotation = Annotation.define<boolean>()
|
||||||
export const codeManagerUpdateEvent = codeManagerUpdateAnnotation.of(null)
|
export const codeManagerUpdateEvent = codeManagerUpdateAnnotation.of(true)
|
||||||
|
|
||||||
export default class CodeManager {
|
export default class CodeManager {
|
||||||
private _code: string = bracket
|
private _code: string = bracket
|
||||||
|
@ -231,7 +231,6 @@ impl Backend {
|
|||||||
|> line([0, scale], %)
|
|> line([0, scale], %)
|
||||||
|> line([scale, 0], %)
|
|> line([scale, 0], %)
|
||||||
|> line([0, -scale], %)
|
|> line([0, -scale], %)
|
||||||
|
|
||||||
return sg
|
return sg
|
||||||
}
|
}
|
||||||
const part001 = cube([0,0], 20)
|
const part001 = cube([0,0], 20)
|
||||||
|
Reference in New Issue
Block a user