src/org/jetbrains/r/refactoring/rename/RenameUtil.kt (21 lines of code) (raw):

/* * Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. */ package org.jetbrains.r.refactoring.rename import com.intellij.openapi.util.TextRange import com.intellij.psi.PsiElement import com.intellij.psi.PsiNamedElement import com.intellij.psi.PsiReference object RenameUtil { fun acceptReference(reference: PsiReference, elementToRename: PsiNamedElement?): Boolean { val refElement = reference.element as? PsiNamedElement ?: return false return refElement.name == elementToRename?.name } fun fixTextRange(range: TextRange, reference: PsiReference): TextRange { return fixTextRange(range, reference.element) } fun fixTextRange(range: TextRange, reference: PsiElement): TextRange { val text = reference.text if (text.startsWith('`') && text.endsWith('`')) { return range.shiftRight(1).grown(-2) } return range } }