[kotlin] extract function: suggest numeric name in case of conflict

- also validate name, chosen from lookup

^KTIJ-30166 fixed

GitOrigin-RevId: d346cd614784718cf8850ff7b074114154539575
This commit is contained in:
Anna Kozlova
2024-06-06 09:56:57 +02:00
committed by intellij-monorepo-bot
parent 852975f29c
commit 6c2c2db190
6 changed files with 35 additions and 3 deletions

View File

@@ -149,9 +149,15 @@ data class ExtractMethodTemplateBuilder(
return editorOffsets.all { it in templateRange }
}
private fun setTemplateValidator(templateState: TemplateState, validator: (TextRange) -> Boolean){
private fun setTemplateValidator(templateState: TemplateState, validator: (TextRange) -> Boolean) {
setupValidatorForAction(IdeActions.ACTION_EDITOR_NEXT_TEMPLATE_VARIABLE, templateState, validator)
setupValidatorForAction(IdeActions.ACTION_CHOOSE_LOOKUP_ITEM, templateState, validator)
}
private fun setupValidatorForAction(actionName: String,
templateState: TemplateState,
validator: (TextRange) -> Boolean) {
val manager = EditorActionManager.getInstance()
val actionName = IdeActions.ACTION_EDITOR_NEXT_TEMPLATE_VARIABLE
val defaultHandler = manager.getActionHandler(actionName)
Disposer.register(templateState) { manager.setActionHandler(actionName, defaultHandler) }
manager.setActionHandler(actionName, object : EditorActionHandler() {