簡體   English   中英

為什么我的插入符號跳來跳去?

[英]Why does my caret jump around?

我正在將RSyntaxTextArea與自定義TokenMaker一起使用。 從突出顯示按預期運行的意義上來說,TokerMaker似乎運行良好。 例如,在“ class Fibonacci”行中,由於class是保留關鍵字,因此class高亮顯示為藍色,由於是標識符,Fibonacci是簡單黑色。

但是,無論使用鼠標還是鍵盤,插入符號導航都無法正常工作。 例如:當我使用右箭頭移動插入符號時
從“ clas | s斐波那契”到“ class |斐波那契”(其中|表示插入號)
然后改為轉到“ Fibon | acci類”

為什么插入符號會這樣跳來跳去?

PS:My TokenMaker為此行生成以下對addToken的調用:

addToken(text, 0, 4, TokenTypes.RESERVED_WORD, 0);
addToken(text, 5, 5, TokenTypes.WHITESPACE, 0);
addToken(text, 6, 14, TokenTypes.IDENTIFIER, 0);
addNullToken();

我發現了問題,我對addToken的調用的第四個參數不正確。 計算第四個參數的正確方法如下:

override def getTokenList(text: Segment, initialTokenType: Int, startOffset: Int): Token = {
    //some code that defines start, end and tokenType
    val documentOffset = start - text.offset + startOffset;
    addToken(text, start, end, tokenType, documentOffset);
}

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM