2017-01-26 8 views
1

Есть ли способ получить позицию курсора (а не строку и столбец) в редакторе Ace.Как получить позицию курсора (не строку или столбец) в редакторе Ace?

Например, если содержимое Ace редактора являются следующие:

Hello 
World 

И курсор был после того, как «Wo» в «Мир». Позиция или индекс будет 7 или 8 (если вы считаете новую строку).

Есть ли способ получить позицию?

ответ

2

Ace вызывает {row, column} позицию объектов и количество символов после индекса начала документа.
Вы можете преобразовать позицию в индекс с помощью метода editor.session.doc.positionToIndexhttps://github.com/ajaxorg/ace/blob/v1.2.6/lib/ace/document.js#L678, но обратите внимание, что этот метод не очень быстрый, так как он должен перебирать весь документ, поэтому используйте его и indexToPosition как можно экономнее.