kotlin是否幫助構建以下dsl?使用kotlin進行內容輔助的動態dsl
test 'test_01' {
description " test that a user by name tom is present
author : xyz
GET /userstore/users/user(name=tom) {
verify(/first-name == 'Tom')
}
}
在該DSL
,以下是靜態部分
測試,描述,作者,GET,驗證
但是,表達
/userstore/users/user(name = tom)
將被動態支持。意思是,應用程序知道可以通過'/'分隔語法導航的各種域模型。 IDE(Intellij)在我調用它時應該爲我提供內容幫助。例如,如果我鍵入 '/' 並調用CA獲取後,它應該給我下面的選項
- userstore
- 書店
- 建築 等
事實是,我在開發時不知道這些條目。我可以編寫可以返回這些條目的代碼。我需要編輯調用我的代碼並獲取內容幫助候選人。
而且,如果表達式由無效標記形成,我需要構建標記錯誤。因此,我需要編輯器繼續檢查我的代碼,並且在返回的候選列表中找不到令牌時,應在編輯器中標記錯誤。
謝謝。你的回答幫助我進一步。 – user19937
所以,你在暗示的是:調整語法朝向宿主語言(kotlin/Groovy),並且擴展編輯器內容僅用於語法位(例如,路徑表達式)的內容。 – user19937
是的,你可以做到這一點。 – yole