Я разработал DSL с xText и недавно добавил расширенное завершение. В редакторе, сгенерированном xText, при вызове завершения с помощью Ctrl-Space обработчик завершения должен выполнить сканирование папки для поиска символов в другом текстовом файле того же DSL. Точка входа:
public class TypesProposalProvider extends AbstractTypesProposalProvider
{
public void completeQualifiedName_Path(
EObject model,
Assignment assignment,
ContentAssistContext context,
ICompletionProposalAcceptor acceptor )
{
super.completeQualifiedName_Path( model, assignment, context, acceptor );
Я использую:
Model root = (Model) context.getRootModel();
Resource rootRc = root.eResource();
чтобы получить контейнер модели emf.ecore.
И теперь, как я могу искать одноуровневые ресурсы, другие файлы в той же папке, с точки зрения ресурса ecore?
С другими ресурсами я вызову Resource.load(), чтобы заполнить базовую модель emf.ecore братьев и сестер.
Надеюсь, вы понимаете мой приблизительный английский (я француз)...