Я создаю плагин Eclipse для своего DSL, используя Xtext, и мне нужно добавить пункт контекстного меню для моего редактора (что я уже сделал), но мне нужно выяснить, действителен ли код в редакторе, если да -> этот пункт меню должен быть включен, в противном случае отключен. Можно ли как-то проверить, действителен ли весь код, и соответствующим образом обновить состояние этого пункта контекстного меню? Я добавил этот пункт контекстного меню, добавив этот фрагмент в файл plugin.xml в проекте .ui в Xtext.
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:#TextEditorContext?after=additions">
<command commandId="org.first.langu.ui.handler.InterpreterCommand" style="push">
<enabledWhen checkEnabled="true">
<reference definitionId="org.first.langu.Program.XtextEditor.opened"/>
</enabledWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.commands">
<command id="org.first.langu.ui.handler.InterpreterCommand" name="Interpret Code"/>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
class="org.first.langu.ui.ProgramExecutableExtensionFactory:org.first.langu.ui.handler.InterpretCodeHandler"
commandId="org.first.langu.ui.handler.InterpreterCommand"/>
</extension>
В основном мне нужно проверить, действителен ли код в редакторе, а не только что открыт редактор.