Я довольно долго копался, пытаясь найти рабочий пример для реализации SignatureHelpProvider
в машинописном тексте для пользовательского языка программирования, используемого внутри моей компании.
В свое время я пока есть минимально рабочий пример, который предоставляет «Подсказки по параметрам» (другое название результата SignatureHelpProvider) для таких методов, как:
ADD(1, 2)
- все работает несколько хорошо для базовых c глубинных методов *. 1007 *
However, things are getting very complex and difficult to manage for things like:
ADD(1, ADD(1, SUBTRACT(100, 5)))
etc
In doing some research, someone suggested that building an AST is the right approach for managing this type of project. However, I have not been able to find any complete examples online for implementing SignatureHelpProvider
with a custom programming language.
Does anyone know of a good resource / example to use for implementing SignatureHelpProvider
in a custom programming language?
Have reviewed the online docs extensively, and poured over VS Code's internal implementation, no dice so far. (https://github.com/Microsoft/monaco-typescript/blob/master/src/languageFeatures.ts#L369 и https://microsoft.github.io/monaco-editor/api/interfaces/monaco.languages.signaturehelpprovider.html#providesignaturehelp)