KotlinQuoteHandler: J2K
This commit is contained in:
@@ -14,54 +14,45 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.jetbrains.kotlin.idea.editor;
|
package org.jetbrains.kotlin.idea.editor
|
||||||
|
|
||||||
import com.intellij.codeInsight.editorActions.QuoteHandler;
|
import com.intellij.codeInsight.editorActions.QuoteHandler
|
||||||
import com.intellij.openapi.editor.Editor;
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.editor.highlighter.HighlighterIterator;
|
import com.intellij.openapi.editor.highlighter.HighlighterIterator
|
||||||
import com.intellij.psi.tree.IElementType;
|
import com.intellij.psi.tree.IElementType
|
||||||
import org.jetbrains.kotlin.lexer.JetTokens;
|
import org.jetbrains.kotlin.lexer.JetTokens
|
||||||
|
|
||||||
public class KotlinQuoteHandler implements QuoteHandler {
|
public class KotlinQuoteHandler : QuoteHandler {
|
||||||
@Override
|
override fun isClosingQuote(iterator: HighlighterIterator, offset: Int): Boolean {
|
||||||
public boolean isClosingQuote(HighlighterIterator iterator, int offset) {
|
val tokenType = iterator.getTokenType()
|
||||||
IElementType tokenType = iterator.getTokenType();
|
|
||||||
|
|
||||||
if (tokenType == JetTokens.CHARACTER_LITERAL) {
|
if (tokenType == JetTokens.CHARACTER_LITERAL) {
|
||||||
int start = iterator.getStart();
|
val start = iterator.getStart()
|
||||||
int end = iterator.getEnd();
|
val end = iterator.getEnd()
|
||||||
return end - start >= 1 && offset == end - 1;
|
return end - start >= 1 && offset == end - 1
|
||||||
}
|
}
|
||||||
else if (tokenType == JetTokens.CLOSING_QUOTE) {
|
else if (tokenType == JetTokens.CLOSING_QUOTE) {
|
||||||
return true;
|
return true
|
||||||
}
|
}
|
||||||
return false;
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
override fun isOpeningQuote(iterator: HighlighterIterator, offset: Int): Boolean {
|
||||||
public boolean isOpeningQuote(HighlighterIterator iterator, int offset) {
|
val tokenType = iterator.getTokenType()
|
||||||
IElementType tokenType = iterator.getTokenType();
|
|
||||||
|
|
||||||
if (tokenType == JetTokens.OPEN_QUOTE) {
|
if (tokenType == JetTokens.OPEN_QUOTE) {
|
||||||
int start = iterator.getStart();
|
val start = iterator.getStart()
|
||||||
return offset == start;
|
return offset == start
|
||||||
}
|
}
|
||||||
return false;
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
override fun hasNonClosedLiteral(editor: Editor, iterator: HighlighterIterator, offset: Int): Boolean {
|
||||||
public boolean hasNonClosedLiteral(Editor editor, HighlighterIterator iterator, int offset) {
|
return true
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
override fun isInsideLiteral(iterator: HighlighterIterator): Boolean {
|
||||||
public boolean isInsideLiteral(HighlighterIterator iterator) {
|
val tokenType = iterator.getTokenType()
|
||||||
IElementType tokenType = iterator.getTokenType();
|
return tokenType == JetTokens.REGULAR_STRING_PART || tokenType == JetTokens.OPEN_QUOTE || tokenType == JetTokens.CLOSING_QUOTE || tokenType == JetTokens.SHORT_TEMPLATE_ENTRY_START || tokenType == JetTokens.LONG_TEMPLATE_ENTRY_END || tokenType == JetTokens.LONG_TEMPLATE_ENTRY_START
|
||||||
return tokenType == JetTokens.REGULAR_STRING_PART ||
|
|
||||||
tokenType == JetTokens.OPEN_QUOTE ||
|
|
||||||
tokenType == JetTokens.CLOSING_QUOTE ||
|
|
||||||
tokenType == JetTokens.SHORT_TEMPLATE_ENTRY_START ||
|
|
||||||
tokenType == JetTokens.LONG_TEMPLATE_ENTRY_END ||
|
|
||||||
tokenType == JetTokens.LONG_TEMPLATE_ENTRY_START;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user