Почему расширение RASCAL IDE для Eclipse не работает? - PullRequest
0 голосов
/ 19 января 2020

Я пытался использовать этот пример документации RASCAL: http://tutor.rascal-mpl.org/Rascal/Libraries/util/IDE/Menus/Menus.html# / Rascal / Библиотеки / util / IDE / IDE. html

После регистрации языка и annotator ничего не происходит.

Моя цель - создать этот пример для регистрации некоторых пунктов меню для java файлов, которые могут запустить визуализацию RASCAL или отчет.

Любая помощь приветствуется.

Шаги для воспроизведения:

  1. Запустить консоль Rascal в Eclipse
  2. type import util::IDE;
  3. type import ParseTree;
  4. type m1 = popup(menu("MyMenu", [action("Example item", void (Tree t, loc s) { println("<t> @ <s>");})]));
  5. тип registerContributions("abc",{m1});

Я ожидаю появления нового пункта меню «MyMenu» в Eclipse IDE при открытии файла * .ab c. Я не знаю, где это должно появиться, в документации не указано, где должен отображаться пункт меню.

rascal>import util::IDE;
ok
rascal>import ParseTree;
ok
rascal>m1 = popup(menu("MyMenu", [action("Example item", void (Tree t, loc s) { println("<t> @ <s>");})]));
Contribution: popup(menu(
    "MyMenu",
    [action("Example item",function(|prompt:///|(50,45,<1,50>,<1,95>)))]))
rascal>registerContributions("abc",{m1});
ok
rascal>registerContributions("rsc",{m1});

1 Ответ

0 голосов
/ 19 января 2020

Чтобы добавить пункт меню в редактор, который не создан самим Rascal, но уже существует в eclipse, например, редактор Java, вы можете использовать registerNonRascalContributions. См. http://tutor.rascal-mpl.org/Rascal/Libraries/util/IDE/IDE.html# / Rascal / Библиотеки / util / IDE / registerNonRascalContributions / registerNonRascalContributions. html

Вам нужен "идентификатор редактора" для стандартного Java плагина редактора, который является org.eclipse.ui.JavaEditor Я верю.

...