Skip to content

Commit f5b07e9

Browse files
committed
Fix inconsistent unescaping
1 parent bc77222 commit f5b07e9

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

src/main/kotlin/io/aesy/regex101/OpenRegex101Intention.kt

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import com.intellij.codeInsight.intention.impl.QuickEditAction
44
import com.intellij.ide.BrowserUtil
55
import com.intellij.ide.plugins.PluginManagerCore
66
import com.intellij.lang.Language
7+
import com.intellij.lang.injection.InjectedLanguageManager
78
import com.intellij.openapi.editor.Editor
89
import com.intellij.openapi.project.Project
910
import com.intellij.openapi.util.Iconable
10-
import com.intellij.openapi.util.text.StringUtil
1111
import com.intellij.psi.PsiElement
1212
import com.intellij.psi.PsiFile
1313
import org.intellij.lang.regexp.RegExpLanguage
@@ -36,8 +36,10 @@ class OpenRegex101Intention : QuickEditAction(), Iconable {
3636
return
3737
}
3838

39+
val injectedLanguageManager = InjectedLanguageManager.getInstance(project)
40+
val text = injectedLanguageManager.getUnescapedText(element)
3941
val flavor = element.language.toFlavor()
40-
val regex = urlEncode(getText(element))
42+
val regex = urlEncode(text)
4143
val url = "$domain/?regex=$regex&flavor=$flavor"
4244

4345
if (PluginManagerCore.isUnitTestMode) {
@@ -51,14 +53,9 @@ class OpenRegex101Intention : QuickEditAction(), Iconable {
5153
return getRangePair(file, editor)?.first ?: file
5254
}
5355

54-
private fun getText(element: PsiElement): String = when (element.language.id) {
55-
"RegExp", "XsdRegExp" -> StringUtil.unescapeBackSlashes(element.text)
56-
else -> element.text
57-
}
58-
5956
private fun urlEncode(text: String): String = URLEncoder.encode(text, Charsets.UTF_8.name())
6057

61-
private fun Language.toFlavor(): String = when (this.id) {
58+
private fun Language.toFlavor(): String = when (id) {
6259
"JSRegexp", "JSUnicodeRegexp" -> "javascript"
6360
"PythonRegExp", "PythonVerboseRegExp" -> "python"
6461
"GoRegExp" -> "golang"

0 commit comments

Comments
 (0)