Функция EditorAPI.getSelection
Функция EditorAPI.getSelection() предоставляет доступ к выделенному фрагменту документа. Выделенный фрагмент может представлять собой диапазон текстового документа (Range), встроенный объект (MediaObject), диапазон ячеек (CellRange) или несколько диапазонов ячеек (CellRanges).
В открытом документе может быть выделен только один фрагмент.
Пример
local selection = EditorAPI.getSelection()
if selection:isInstanceOf(DocumentAPI.Range) then
print(selection:extractText())
end
if selection:isInstanceOf(DocumentAPI.MediaObject) then
print(selection:getFrame())
end
if selection:isInstanceOf(DocumentAPI.CellRange) then
print(selection:getAddress(DocumentAPI.CellRangeAddressSettings()))
end
if selection:isInstanceOf(DocumentAPI.CellRanges) then
for cellRange in selection:enumerate() do
print(cellRange:getAddress(DocumentAPI.CellRangeAddressSettings()))
end
end
Если в текстовом документе отсутствует выделенный фрагмент, то функция EditorAPI.getSelection() возвращает пустой диапазон (Range), который соответствует текущей позиции курсора.
Вставка текста в позицию курсора
local range = EditorAPI.getSelection()
range:getBegin():insertText("MyText")