From 4d9e1ba7d7f64cdb725b2d7f7ca5bd5ff8db49f1 Mon Sep 17 00:00:00 2001 From: Alexander Bentkamp Date: Thu, 24 Nov 2022 15:52:44 +0100 Subject: [PATCH] infoview --- client/src/components/Level.tsx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/client/src/components/Level.tsx b/client/src/components/Level.tsx index 9ccbc9f..51a652e 100644 --- a/client/src/components/Level.tsx +++ b/client/src/components/Level.tsx @@ -12,6 +12,10 @@ import InputZone from './InputZone'; import Message from './Message'; import TacticState from './TacticState'; import { LeanClient } from 'lean4web/client/src/editor/leanclient'; +import { AbbreviationProvider } from 'lean4web/client/src/editor/abbreviation/AbbreviationProvider'; +import { AbbreviationRewriter } from 'lean4web/client/src/editor/abbreviation/rewriter/AbbreviationRewriter'; +import { InfoProvider } from 'lean4web/client/src/editor/infoview'; +import { renderInfoview } from '@leanprover/infoview' import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js' interface LevelProps { @@ -33,6 +37,7 @@ function Level({ leanClient, nbLevels, level, setCurLevel, setLevelTitle, setFin const [lastTactic, setLastTactic] = useState("") const [errors, setErrors] = useState([]) const codeviewRef = useRef(null) + const infoviewRef = useRef(null) const [message, setMessage] = useState("") const [messageOpen, setMessageOpen] = useState(false) @@ -74,12 +79,13 @@ function Level({ leanClient, nbLevels, level, setCurLevel, setLevelTitle, setFin theme: 'vs-code-theme-converted' }) // setEditor(editor) - // new AbbreviationRewriter(new AbbreviationProvider(), model, editor) + new AbbreviationRewriter(new AbbreviationProvider(), model, editor) - - // const infoProvider = new InfoProvider(leanClient) - // const div: HTMLElement = infoviewRef.current! - // const infoviewApi = renderInfoview(infoProvider.getApi(), div) + const infoProvider = new InfoProvider(leanClient) + const div: HTMLElement = infoviewRef.current! + const infoviewApi = renderInfoview(infoProvider.getApi(), div) + infoviewApi.serverRestarted(leanClient.initializeResult) + infoProvider.openPreview(editor, infoviewApi) // setInfoProvider(infoProvider) // setInfoviewApi(infoviewApi) @@ -138,6 +144,7 @@ function Level({ leanClient, nbLevels, level, setCurLevel, setLevelTitle, setFin +