func SetBufferText(buffer Buffer, startRow, startCol, endRow, endCol int, replacement [][]byte) {
	name(nvim_buf_set_text)
}
SetBufferText sets or replaces a range in the buffer.

This is recommended over SetBufferLines when only modifying parts of a
line, as extmarks will be preserved on non-modified parts of the touched
lines.

Indexing is zero-based and end-exclusive.

To insert text at a given index, set startRow and endRow args ranges to the same index.

To delete a range, set replacement arg to an array containing an empty string, or simply an empty array.

Prefer SetBufferLines when adding or deleting entire lines only.
package main
func Exec(src string, output bool) (out string) {
	name(nvim_exec)
}
func Command(cmd string) {
	name(nvim_command)
}
func HLByID(id int, rgb bool) (highlight HLAttrs) {
	name(nvim_get_hl_by_id)
	returnPtr()
}
func HLIDByName(name string) (highlightID int) {
	name(nvim_get_hl_id_by_name)
}
func HLByName(name string, rgb bool) (highlight HLAttrs) {
	name(nvim_get_hl_by_name)
	returnPtr()
}
func SetHighlight(nsID int, name string, val *HLAttrs) {
	name(nvim_set_hl)
}
func SetHighlightNameSpace(nsID int) {
	name(nvim__set_hl_ns)
}
func FeedKeys(keys, mode string, escapeCSI bool) {
	name(nvim_feedkeys)
}
func Input(keys string) (written int) {
	name(nvim_input)
}
func InputMouse(button, action, modifier string, grid, row, col int) {
	name(nvim_input_mouse)
}
func ReplaceTermcodes(str string, fromPart, doLT, special bool) (input string) {
	name(nvim_replace_termcodes)
}
func CommandOutput(cmd string) (out string) {
	name(nvim_command_output)
	deprecatedSince(7)
}
func Eval(expr string) (result interface{}) {
	name(nvim_eval)
}
func StringWidth(s string) (width int) {
	name(nvim_strwidth)
}
func RuntimePaths() (paths []string) {
	name(nvim_list_runtime_paths)
}
func RuntimeFiles(name string, all bool) (files []string) {
	name(nvim_get_runtime_file)
}
func SetCurrentDirectory(dir string) {
	name(nvim_set_current_dir)
}
func CurrentLine() (line []byte) {
	name(nvim_get_current_line)
}
func SetCurrentLine(line []byte) {
	name(nvim_set_current_line)
}
func DeleteCurrentLine() {
	name(nvim_del_current_line)
}
func Var(name string) (value interface{}) {
	name(nvim_get_var)
}
func SetVar(name string, value interface{}) {
	name(nvim_set_var)
}
func DeleteVar(name string) {
	name(nvim_del_var)
}
func VVar(name string) (value interface{}) {
	name(nvim_get_vvar)
}
func SetVVar(name string, value interface{}) {
	name(nvim_set_vvar)
}
func Option(name string) (option interface{}) {
	name(nvim_get_option)
}
func AllOptionsInfo() (opinfo OptionInfo) {
	name(nvim_get_all_options_info)
	returnPtr()
}
func OptionInfo(name string) (opinfo OptionInfo) {
	name(nvim_get_option_info)
	returnPtr()
}
func SetOption(name string, value interface{}) {
	name(nvim_set_option)
}
func Echo(chunks []TextChunk, history bool, opts map[string]interface{}) {
	name(nvim_echo)
}
func WriteOut(str string) {
	name(nvim_out_write)
}
func WriteErr(str string) {
	name(nvim_err_write)
}
func WritelnErr(str string) {
	name(nvim_err_writeln)
}
func Buffers() (buffers []Buffer) {
	name(nvim_list_bufs)
}
func CurrentBuffer() (buffer Buffer) {
	name(nvim_get_current_buf)
}
func SetCurrentBuffer(buffer Buffer) {
	name(nvim_set_current_buf)
}
func Windows() (windows []Window) {
	name(nvim_list_wins)
}
func CurrentWindow() (window Window) {
	name(nvim_get_current_win)
}
func SetCurrentWindow(window Window) {
	name(nvim_set_current_win)
}
func CreateBuffer(listed, scratch bool) (buffer Buffer) {
	name(nvim_create_buf)
}
func OpenTerm(buffer Buffer, opts map[string]interface{}) (channel int) {
	name(nvim_open_term)
}
func OpenWindow(buffer Buffer, enter bool, config *WindowConfig) (window Window) {
	name(nvim_open_win)
}
func Tabpages() (tabpages []Tabpage) {
	name(nvim_list_tabpages)
}
func CurrentTabpage() (tabpage Tabpage) {
	name(nvim_get_current_tabpage)
}
func SetCurrentTabpage(tabpage Tabpage) {
	name(nvim_set_current_tabpage)
}
func CreateNamespace(name string) (nsID int) {
	name(nvim_create_namespace)
}
func Namespaces() (namespaces map[string]int) {
	name(nvim_get_namespaces)
}
func Paste(data string, crlf bool, phase int) (state bool) {
	name(nvim_paste)
}
func Put(lines []string, typ string, after, follow bool) {
	name(nvim_put)
}
func Subscribe(event string) {
	name(nvim_subscribe)
}
func Unsubscribe(event string) {
	name(nvim_unsubscribe)
}
func ColorByName(name string) (color int) {
	name(nvim_get_color_by_name)
}
func ColorMap() (colorMap map[string]int) {
	name(nvim_get_color_map)
}
func Context(opts map[string][]string) (contexts map[string]interface{}) {
	name(nvim_get_context)
}
func LoadContext(dict map[string]interface{}) (contextMap interface{}) {
	name(nvim_load_context)
}
func Mode() (mode Mode) {
	name(nvim_get_mode)
	returnPtr()
}
func KeyMap(mode string) (maps []*Mapping) {
	name(nvim_get_keymap)
}
func SetKeyMap(mode, lhs, rhs string, opts map[string]bool) {
	name(nvim_set_keymap)
}
func DeleteKeyMap(mode, lhs string) {
	name(nvim_del_keymap)
}
func Commands(opts map[string]interface{}) (commands map[string]*Command) {
	name(nvim_get_commands)
}
func APIInfo() (apiInfo []interface{}) {
	name(nvim_get_api_info)
}
func SetClientInfo(name string, version *ClientVersion, typ string, methods map[string]*ClientMethod, attributes ClientAttributes) {
	name(nvim_set_client_info)
}
func ChannelInfo(channelID int) (channel Channel) {
	name(nvim_get_chan_info)
	returnPtr()
}
func Channels() (channels []*Channel) {
	name(nvim_list_chans)
}
func ParseExpression(expr, flags string, highlight bool) (expression map[string]interface{}) {
	name(nvim_parse_expression)
}
func UIs() (uis []*UI) {
	name(nvim_list_uis)
}
func ProcChildren(pid int) (processes []*Process) {
	name(nvim_get_proc_children)
}
func Proc(pid int) (process Process) {
	name(nvim_get_proc)
}
func SelectPopupmenuItem(item int, insert, finish bool, opts map[string]interface{}) {
	name(nvim_select_popupmenu_item)
}
func BufferLineCount(buffer Buffer) (count int) {
	name(nvim_buf_line_count)
}
func AttachBuffer(buffer Buffer, sendBuffer bool, opts map[string]interface{}) (attached bool) {
	name(nvim_buf_attach)
}
func DetachBuffer(buffer Buffer) (detached bool) {
	name(nvim_buf_detach)
}
func BufferLines(buffer Buffer, start, end int, strictIndexing bool) (lines [][]byte) {
	name(nvim_buf_get_lines)
}
func SetBufferLines(buffer Buffer, start, end int, strictIndexing bool, replacement [][]byte) {
	name(nvim_buf_set_lines)
}