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.waitForTimeout(300)
|
||||
|
||||
await expect(page).toHaveScreenshot({
|
||||
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,
|
||||
} from '@codemirror/lint'
|
||||
|
||||
const updateOutsideEditorAnnotation = Annotation.define<null>()
|
||||
export const updateOutsideEditorEvent = updateOutsideEditorAnnotation.of(null)
|
||||
const updateOutsideEditorAnnotation = Annotation.define<boolean>()
|
||||
export const updateOutsideEditorEvent = updateOutsideEditorAnnotation.of(true)
|
||||
|
||||
const modelingMachineAnnotation = Annotation.define<null>()
|
||||
export const modelingMachineEvent = modelingMachineAnnotation.of(null)
|
||||
const modelingMachineAnnotation = Annotation.define<boolean>()
|
||||
export const modelingMachineEvent = modelingMachineAnnotation.of(true)
|
||||
|
||||
const setDiagnosticsAnnotation = Annotation.define<null>()
|
||||
export const setDiagnosticsEvent = setDiagnosticsAnnotation.of(null)
|
||||
const setDiagnosticsAnnotation = Annotation.define<boolean>()
|
||||
export const setDiagnosticsEvent = setDiagnosticsAnnotation.of(true)
|
||||
|
||||
function diagnosticIsEqual(d1: Diagnostic, d2: Diagnostic): boolean {
|
||||
return d1.from === d2.from && d1.to === d2.to && d1.message === d2.message
|
||||
@ -123,7 +123,11 @@ export default class EditorManager {
|
||||
|
||||
this._editorView.dispatch({
|
||||
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 { editorManager } from 'lib/singletons'
|
||||
|
||||
const copilotPluginAnnotation = Annotation.define<null>()
|
||||
export const copilotPluginEvent = copilotPluginAnnotation.of(null)
|
||||
const copilotPluginAnnotation = Annotation.define<boolean>()
|
||||
export const copilotPluginEvent = copilotPluginAnnotation.of(true)
|
||||
|
||||
const rejectSuggestionAnnotation = Annotation.define<null>()
|
||||
export const rejectSuggestionCommand = rejectSuggestionAnnotation.of(null)
|
||||
const rejectSuggestionAnnotation = Annotation.define<boolean>()
|
||||
export const rejectSuggestionCommand = rejectSuggestionAnnotation.of(true)
|
||||
|
||||
// Effects to tell StateEffect what to do with GhostText
|
||||
const addSuggestion = StateEffect.define<Suggestion>()
|
||||
@ -229,7 +229,7 @@ export class CompletionRequester implements PluginValue {
|
||||
isRelevant = true
|
||||
} else if (tr.isUserEvent('move')) {
|
||||
isRelevant = true
|
||||
} else if (tr.annotation(copilotPluginEvent.type) !== undefined) {
|
||||
} else if (tr.annotation(copilotPluginEvent.type)) {
|
||||
isRelevant = true
|
||||
}
|
||||
}
|
||||
@ -457,6 +457,7 @@ export class CompletionRequester implements PluginValue {
|
||||
effects: clearSuggestion.of(null),
|
||||
annotations: [
|
||||
rejectSuggestionCommand,
|
||||
copilotPluginEvent,
|
||||
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 { UpdateUnitsResponse } from 'wasm-lib/kcl/bindings/UpdateUnitsResponse'
|
||||
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
|
||||
|
||||
@ -45,11 +48,10 @@ export class KclPlugin implements PluginValue {
|
||||
editorManager.setEditorView(viewUpdate.view)
|
||||
|
||||
let isUserSelect = false
|
||||
let isRelevant = false
|
||||
let isRelevant = viewUpdate.docChanged
|
||||
for (const tr of viewUpdate.transactions) {
|
||||
if (tr.isUserEvent('select')) {
|
||||
isUserSelect = true
|
||||
break
|
||||
} else if (tr.isUserEvent('input')) {
|
||||
isRelevant = true
|
||||
} else if (tr.isUserEvent('delete')) {
|
||||
@ -63,6 +65,21 @@ export class KclPlugin implements PluginValue {
|
||||
} else if (tr.annotation(lspFormatCodeEvent.type)) {
|
||||
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
|
||||
|
@ -11,8 +11,8 @@ import { KeyBinding } from '@codemirror/view'
|
||||
|
||||
const PERSIST_CODE_KEY = 'persistCode'
|
||||
|
||||
const codeManagerUpdateAnnotation = Annotation.define<null>()
|
||||
export const codeManagerUpdateEvent = codeManagerUpdateAnnotation.of(null)
|
||||
const codeManagerUpdateAnnotation = Annotation.define<boolean>()
|
||||
export const codeManagerUpdateEvent = codeManagerUpdateAnnotation.of(true)
|
||||
|
||||
export default class CodeManager {
|
||||
private _code: string = bracket
|
||||
|
@ -231,7 +231,6 @@ impl Backend {
|
||||
|> line([0, scale], %)
|
||||
|> line([scale, 0], %)
|
||||
|> line([0, -scale], %)
|
||||
|
||||
return sg
|
||||
}
|
||||
const part001 = cube([0,0], 20)
|
||||
|
Reference in New Issue
Block a user