Groovy DSL с поддержкой IDE для завершения

Я нуждаюсь в DSL, который имеет некоторую известную структуру и многие известные только во время выполнения.

например:

test "name goes here"{
  description : """ description """
  create user {
    id : 1
    fn : """ x """
    ln : """ y """
  }
  assert user.name == "x"
  delete user { 
    id = 1
  }
  user1 = GET user (1)
  assert user1 == null
}

в приведенном фрагменте ключевые слова test, create, GET, delete и т.д. известны во время разработки DSL/tooling. Но когда пользователь вызывает помощник по содержимому после create, Я хочу загрузить некоторые файлы схемы (скорее, я бы скачал схему в качестве первого шага моей обработки и кэшировать схему) и предложить сущности, среди которых пользователь является одной из сущностей. И когда пользователь вызывает помощник по содержимому для свойств, я снова смотрю в определение сущности и предлагаю fn, ln и т.д., как возможные записи там.

Это выполнимо с Groovy и GDSL? благодарю вас

0 ответов

Другие вопросы по тегам