Skip to main content

core.doc

local doc = require "core.doc"

__index

(field) __index: core.object

abs_filename

(field) abs_filename: any

binary

(field) binary: boolean

cache

(field) cache: table

clean_change_id

(field) clean_change_id: integer

clean_lines

(field) clean_lines: table

convert

(field) convert: boolean

crlf

(field) crlf: boolean

encoding

(field) encoding: string

filename

(field) filename: any

highlighter

(field) highlighter: unknown

last_selection

(field) last_selection: number

lines

(field) lines: table

new_file

(field) new_file: any

overwrite

(field) overwrite: boolean

redo_stack

(field) redo_stack: table

selections

(field) selections: table

super

(field) super: core.object

syntax

(field) syntax: table|unknown

undo_stack

(field) undo_stack: table

__call

(method) core.object:__call(...any)
-> core.object

Metamethod to allow using the object call as a constructor.


__tostring

(method) core.object:__tostring()
-> string

Metamethod to get a string representation of an object.


add_selection

(method) core.doc:add_selection(line1: any, col1: any, line2: any, col2: any, swap: any)

clean

(method) core.doc:clean()

clear_cache

(method) core.doc:clear_cache(l: any, n: any)

delete_to

(method) core.doc:delete_to(...any)

delete_to_cursor

(method) core.doc:delete_to_cursor(idx: any, ...any)

extend

(method) core.object:extend()
-> core.object

extends

(method) core.object:extends(T: any)
-> boolean

Check if the object inherits from the given type.


get_change_id

(method) core.doc:get_change_id()
-> integer

get_char

(method) core.doc:get_char(line: any, col: any)
-> string

get_indent_info

(method) core.doc:get_indent_info()
-> "hard"|"soft"
2. number
3. boolean

get_indent_string

(method) core.doc:get_indent_string()
-> string

get_line_indent

(method) core.doc:get_line_indent(line: any, rnd_up: any)
-> unknown
2. string
3. integer|nil

returns the size of the original indent, and the indent in your config format, rounded either up or down


get_name

(method) core.doc:get_name()
-> unknown

get_non_word_chars

(method) core.doc:get_non_word_chars(symbol: boolean)
-> string

Get a string of characters not belonging to a word taking into account current subsyntax.

Note: when setting symbol param to true the characters property symbol_non_word_chars will be searched, if false non_word_chars. In both cases will fallback to config.non_word_chars when not found.

@param symbol — Indicates if non word characters are for a symbol


get_selection

(method) core.doc:get_selection(sort: any)
-> integer
2. integer
3. integer
4. integer
5. boolean

Cursor section. Cursor indices are only valid during a get_selections() call. Cursors will always be iterated in order from top to bottom. Through normal operation curors can never swap positions; only merge or split, or change their position in cursor order.


get_selection_idx

(method) core.doc:get_selection_idx(idx: integer, sort?: boolean)
-> integer
2. integer
3. integer
4. integer
5. boolean?

Get the selection specified by idx

@param idx — the index of the selection to retrieve

@param sort — whether to sort the selection returned

@return — line1, col1, line2, col2, was the selection sorted


get_selection_text

(method) core.doc:get_selection_text(limit: any)
-> string

get_selections

(method) core.doc:get_selections(sort_intra: any, idx_reverse: any)
-> function
2. table
3. number

If idx_reverse is true, it'll reverse iterate. If nil, or false, regular iterate. If a number, runs for exactly that iteration.


get_symbol_pattern

(method) core.doc:get_symbol_pattern()
-> string

Get the lua pattern used to match symbols taking into account current subsyntax.


get_text

(method) core.doc:get_text(line1: any, col1: any, line2: any, col2: any)
-> string

get_utf8_line

(method) core.doc:get_utf8_line(idx: integer)
-> string

Always returns a valid utf8 line even if the file contains binary data.


has_any_selection

(method) core.doc:has_any_selection()
-> boolean

has_selection

(method) core.doc:has_selection()
-> boolean

ime_text_editing

(method) core.doc:ime_text_editing(text: any, start: any, length: any, idx: any)

indent_text

(method) core.doc:indent_text(unindent: any, line1: any, col1: any, line2: any, col2: any)
-> unknown
2. integer|unknown
3. unknown
4. integer|unknown

un/indents text; behaviour varies based on selection and un/indent.

  • if there's a selection, it will stay static around the text for both indenting and unindenting.
  • if you are in the beginning whitespace of a line, and are indenting, the cursor will insert the exactly appropriate amount of spaces, and jump the cursor to the beginning of first non whitespace characters
  • if you are not in the beginning whitespace of a line, and you indent, it inserts the appropriate whitespace, as if you typed them normally.
  • if you are unindenting, the cursor will jump to the start of the line, and remove the appropriate amount of spaces (or a tab).

insert

(method) core.doc:insert(line: any, col: any, text: any)

is

(method) core.object:is(T: any)
-> boolean

Check if the object is strictly of the given type.


is_class_of

(method) core.object:is_class_of(T: any)
-> boolean

Check if the parameter is strictly of the object type.


is_dirty

(method) core.doc:is_dirty()
-> boolean

is_extended_by

(method) core.object:is_extended_by(T: any)
-> boolean

Check if the parameter inherits from the object.


load

(method) core.doc:load(filename: any)

merge_cursors

(method) core.doc:merge_cursors(idx: any)

move_to

(method) core.doc:move_to(...any)

move_to_cursor

(method) core.doc:move_to_cursor(idx: any, ...any)

new

(method) core.doc:new(filename: any, abs_filename: any, new_file: any)

on_close

(method) core.doc:on_close()

For plugins to get notified when a document is closed


on_text_change

(method) core.doc:on_text_change(type: any)

For plugins to add custom actions of document change


position_offset

(method) core.doc:position_offset(line: any, col: any, ...any)

raw_insert

(method) core.doc:raw_insert(line: any, col: any, text: any, undo_stack: any, time: any)

raw_remove

(method) core.doc:raw_remove(line1: any, col1: any, line2: any, col2: any, undo_stack: any, time: any)

redo

(method) core.doc:redo()

reload

(method) core.doc:reload()

remove

(method) core.doc:remove(line1: any, col1: any, line2: any, col2: any)

remove_selection

(method) core.doc:remove_selection(idx: any)

replace

(method) core.doc:replace(fn: any)
-> table

replace_cursor

(method) core.doc:replace_cursor(idx: any, line1: any, col1: any, line2: any, col2: any, fn: any)
-> unknown

reset

(method) core.doc:reset()

reset_syntax

(method) core.doc:reset_syntax()

sanitize_position

(method) core.doc:sanitize_position(line: any, col: any)
-> integer
2. number

sanitize_selection

(method) core.doc:sanitize_selection()

save

(method) core.doc:save(filename: any, abs_filename: any)

select_to

(method) core.doc:select_to(...any)

select_to_cursor

(method) core.doc:select_to_cursor(idx: any, ...any)

set_filename

(method) core.doc:set_filename(filename: any, abs_filename: any)

set_selection

(method) core.doc:set_selection(line1: any, col1: any, line2: any, col2: any, swap: any)

set_selections

(method) core.doc:set_selections(idx: any, line1: any, col1: any, line2: any, col2: any, swap: any, rm: any)

text_input

(method) core.doc:text_input(text: any, idx: any)

undo

(method) core.doc:undo()