fix error
This commit is contained in:
@@ -194,7 +194,7 @@ function Level() {
|
|||||||
|
|
||||||
|
|
||||||
<EditorContext.Provider value={editorConnection}>
|
<EditorContext.Provider value={editorConnection}>
|
||||||
{editorConnection ? <Main key={`${worldId}/${levelId}`}/> : null}
|
{editorConnection && <Main key={`${worldId}/${levelId}`}/>}
|
||||||
</EditorContext.Provider>
|
</EditorContext.Provider>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
@@ -280,7 +280,7 @@ function useLevelEditor(worldId: string, levelId: number, codeviewRef, initialCo
|
|||||||
setInfoProvider(infoProvider)
|
setInfoProvider(infoProvider)
|
||||||
setInfoviewApi(infoviewApi)
|
setInfoviewApi(infoviewApi)
|
||||||
|
|
||||||
return () => { editor.setModel(null); infoProvider.dispose(); editor.dispose() }
|
return () => { infoProvider.dispose(); editor.dispose() }
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const {leanClient, leanClientStarted} = useLeanClient()
|
const {leanClient, leanClientStarted} = useLeanClient()
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ const InfoDisplayContent = React.memo((props: InfoDisplayContentProps) => {
|
|||||||
{' '}to see information.
|
{' '}to see information.
|
||||||
</span> :
|
</span> :
|
||||||
<div>Loading goal...</div>)}
|
<div>Loading goal...</div>)}
|
||||||
<AllMessages uri={pos.uri} />
|
<AllMessages />
|
||||||
<LocationsContext.Provider value={locs}>
|
<LocationsContext.Provider value={locs}>
|
||||||
<div className="goals-section">
|
<div className="goals-section">
|
||||||
<div className="goals-section-title">Other Goals</div>
|
<div className="goals-section-title">Other Goals</div>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { Location, DocumentUri, Diagnostic, DiagnosticSeverity, PublishDiagnosti
|
|||||||
|
|
||||||
import { LeanDiagnostic, RpcErrorCode } from '@leanprover/infoview-api';
|
import { LeanDiagnostic, RpcErrorCode } from '@leanprover/infoview-api';
|
||||||
|
|
||||||
import { basename, escapeHtml, usePausableState, useEvent, addUniqueKeys, DocumentPosition, useServerNotificationState } from '../../../../node_modules/lean4-infoview/src/infoview/util';
|
import { basename, escapeHtml, usePausableState, useEvent, addUniqueKeys, DocumentPosition, useServerNotificationState, useEventResult } from '../../../../node_modules/lean4-infoview/src/infoview/util';
|
||||||
import { ConfigContext, EditorContext, LspDiagnosticsContext, VersionContext } from '../../../../node_modules/lean4-infoview/src/infoview/contexts';
|
import { ConfigContext, EditorContext, LspDiagnosticsContext, VersionContext } from '../../../../node_modules/lean4-infoview/src/infoview/contexts';
|
||||||
import { Details } from '../../../../node_modules/lean4-infoview/src/infoview/collapsing';
|
import { Details } from '../../../../node_modules/lean4-infoview/src/infoview/collapsing';
|
||||||
import { InteractiveMessage } from '../../../../node_modules/lean4-infoview/src/infoview/traceExplorer';
|
import { InteractiveMessage } from '../../../../node_modules/lean4-infoview/src/infoview/traceExplorer';
|
||||||
@@ -89,13 +89,15 @@ function lazy<T>(f: () => T): () => T {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Displays all messages for the specified file. Can be paused. */
|
/** Displays all messages for the specified file. Can be paused. */
|
||||||
export function AllMessages({uri: uri0}: { uri: DocumentUri }) {
|
export function AllMessages() {
|
||||||
const ec = React.useContext(EditorContext);
|
const ec = React.useContext(EditorContext);
|
||||||
const sv = React.useContext(VersionContext);
|
const sv = React.useContext(VersionContext);
|
||||||
const rs0 = useRpcSessionAtPos({ uri: uri0, line: 0, character: 0 });
|
const curPos: DocumentPosition | undefined =
|
||||||
|
useEventResult(ec.events.changedCursorLocation, loc => loc ? { uri: loc.uri, ...loc.range.start } : undefined)
|
||||||
|
const rs0 = useRpcSessionAtPos({ uri: curPos.uri, line: 0, character: 0 });
|
||||||
const dc = React.useContext(LspDiagnosticsContext);
|
const dc = React.useContext(LspDiagnosticsContext);
|
||||||
const config = React.useContext(ConfigContext);
|
const config = React.useContext(ConfigContext);
|
||||||
const diags0 = dc.get(uri0) || [];
|
const diags0 = dc.get(curPos.uri) || [];
|
||||||
|
|
||||||
const iDiags0 = React.useMemo(() => lazy(async () => {
|
const iDiags0 = React.useMemo(() => lazy(async () => {
|
||||||
try {
|
try {
|
||||||
@@ -114,8 +116,8 @@ export function AllMessages({uri: uri0}: { uri: DocumentUri }) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return diags0.map(d => ({ ...(d as LeanDiagnostic), message: { text: d.message } }));
|
return diags0.map(d => ({ ...(d as LeanDiagnostic), message: { text: d.message } }));
|
||||||
}), [sv, rs0, uri0, diags0]);
|
}), [sv, rs0, curPos.uri, diags0]);
|
||||||
const [{ isPaused, setPaused }, [uri, rs, diags, iDiags], _] = usePausableState(false, [uri0, rs0, diags0, iDiags0]);
|
const [{ isPaused, setPaused }, [uri, rs, diags, iDiags], _] = usePausableState(false, [curPos.uri, rs0, diags0, iDiags0]);
|
||||||
|
|
||||||
// Fetch interactive diagnostics when we're entering the paused state
|
// Fetch interactive diagnostics when we're entering the paused state
|
||||||
// (if they haven't already been fetched before)
|
// (if they haven't already been fetched before)
|
||||||
@@ -140,7 +142,7 @@ export function AllMessages({uri: uri0}: { uri: DocumentUri }) {
|
|||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
</summary> */}
|
</summary> */}
|
||||||
<AllMessagesBody uri={uri} key={uri} messages={iDiags} />
|
<AllMessagesBody uri={curPos.uri} key={curPos.uri} messages={iDiags0} />
|
||||||
{/* </Details> */}
|
{/* </Details> */}
|
||||||
</RpcContext.Provider>
|
</RpcContext.Provider>
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user