*deprecated.txt*       Nvim


                             NVIM REFERENCE MANUAL


Nvim                                                             *deprecated*

The items listed below are deprecated: they will be removed in the future.
They should not be used in new scripts, and old scripts should be updated.

==============================================================================
Deprecated features

DEPRECATED IN 0.10 *deprecated-0.10*

• Configuring |diagnostic-signs| using |:sign-define| or |sign_define()|. Use
  the "signs" key of |vim.diagnostic.config()| instead.

• Checkhealth functions:
  - *health#report_error* *vim.health.report_error()*	Use |vim.health.error()| instead.
  - *health#report_info* *vim.health.report_info()*	Use |vim.health.info()| instead.
  - *health#report_ok* *vim.health.report_ok()*		Use |vim.health.ok()| instead.
  - *health#report_start* *vim.health.report_start()*	Use |vim.health.start()| instead.
  - *health#report_warn* *vim.health.report_warn()*	Use |vim.health.warn()| instead.

• |API| functions:
  - *nvim_buf_get_option()*	Use |nvim_get_option_value()| instead.
  - *nvim_buf_set_option()*	Use |nvim_set_option_value()| instead.
  - *nvim_call_atomic()*		Use |nvim_exec_lua()| instead.
  - *nvim_get_option()*		Use |nvim_get_option_value()| instead.
  - *nvim_set_option()*		Use |nvim_set_option_value()| instead.
  - *nvim_win_get_option()*	Use |nvim_get_option_value()| instead.
  - *nvim_win_set_option()*	Use |nvim_set_option_value()| instead.

• vim.diagnostic functions:
  - *vim.diagnostic.disable()*		Use |vim.diagnostic.enable()|
  - *vim.diagnostic.is_disabled()*	Use |vim.diagnostic.is_enabled()|
  - Legacy signature: `vim.diagnostic.enable(buf:number, namespace:number)`

• vim.lsp functions:
  - *vim.lsp.util.get_progress_messages()*	Use |vim.lsp.status()| instead.
  - *vim.lsp.get_active_clients()*		Use |vim.lsp.get_clients()| instead.
  - *vim.lsp.for_each_buffer_client()*		Use |vim.lsp.get_clients()| instead.
  - *vim.lsp.util.trim_empty_lines()*		Use |vim.split()| with `trimempty` instead.
  - *vim.lsp.util.try_trim_markdown_code_blocks()*
  - *vim.lsp.util.set_lines()*
  - *vim.lsp.util.extract_completion_items()*
  - *vim.lsp.util.parse_snippet()*
  - *vim.lsp.util.text_document_completion_list_to_complete_items()*
  - *vim.lsp.util.lookup_section()*		Use |vim.tbl_get()| instead: >
						local keys = vim.split(section, '.', { plain = true })
						local  vim.tbl_get(table, unpack(keys))

• *vim.loop*				Use |vim.uv| instead.

• vim.treesitter functions:
  - *LanguageTree:for_each_child()*		Use |LanguageTree:children()| (non-recursive) instead.

• The "term_background" UI option |ui-ext-options| is deprecated and no longer
  populated. Background color detection is now performed in Lua by the Nvim
  core, not the TUI.

• Lua stdlib:
  - *vim.tbl_add_reverse_lookup()*
  - *vim.tbl_flatten()*			Use |Iter:flatten()| instead.
  - *vim.tbl_islist()*			Use |vim.islist()| instead.

DEPRECATED IN 0.9 *deprecated-0.9*

• vim.treesitter functions
  - *vim.treesitter.language.require_language()*	Use |vim.treesitter.language.add()| instead.
  - *vim.treesitter.get_node_at_pos()*			Use |vim.treesitter.get_node()| instead.
  - *vim.treesitter.get_node_at_cursor()*		Use |vim.treesitter.get_node()|
							and |TSNode:type()| instead.

• |API| functions:
  - *nvim_get_hl_by_name()*		Use |nvim_get_hl()| instead.
  - *nvim_get_hl_by_id()*		Use |nvim_get_hl()| instead.

• The following top level Treesitter functions have been moved:
  - *vim.treesitter.inspect_language()*    -> |vim.treesitter.language.inspect()|
  - *vim.treesitter.get_query_files()*     -> |vim.treesitter.query.get_files()|
  - *vim.treesitter.set_query()*           -> |vim.treesitter.query.set()|
  - *vim.treesitter.query.set_query()*     -> |vim.treesitter.query.set()|
  - *vim.treesitter.get_query()*           -> |vim.treesitter.query.get()|
  - *vim.treesitter.query.get_query()*     -> |vim.treesitter.query.get()|
  - *vim.treesitter.parse_query()*         -> |vim.treesitter.query.parse()|
  - *vim.treesitter.query.parse_query()*   -> |vim.treesitter.query.parse()|
  - *vim.treesitter.add_predicate()*       -> |vim.treesitter.query.add_predicate()|
  - *vim.treesitter.add_directive()*       -> |vim.treesitter.query.add_directive()|
  - *vim.treesitter.list_predicates()*     -> |vim.treesitter.query.list_predicates()|
  - *vim.treesitter.list_directives()*     -> |vim.treesitter.query.list_directives()|
  - *vim.treesitter.query.get_range()*     -> |vim.treesitter.get_range()|
  - *vim.treesitter.query.get_node_text()* -> |vim.treesitter.get_node_text()|

• Lua stdlib:
  - *nvim_exec()*				Use |nvim_exec2()| instead.
  - *vim.pretty_print()*			Use |vim.print()| instead.

DEPRECATED IN 0.8 OR EARLIER

API
- *nvim_buf_clear_highlight()*	Use |nvim_buf_clear_namespace()| instead.
- *nvim_buf_set_virtual_text()*	Use |nvim_buf_set_extmark()| instead.
- *nvim_command_output()*	Use |nvim_exec2()| instead.
- *nvim_execute_lua()*		Use |nvim_exec_lua()| instead.
- *nvim_get_option_info()*	Use |nvim_get_option_info2()| instead.

COMMANDS
- *:rv* *:rviminfo*		Deprecated alias to |:rshada| command.
- *:wv* *:wviminfo*		Deprecated alias to |:wshada| command.

ENVIRONMENT VARIABLES
- *$NVIM_LISTEN_ADDRESS*
  - Deprecated way to:
    - set the server name (use |--listen| or |serverstart()| instead)
    - get the server name (use |v:servername| instead)
    - detect a parent Nvim (use |$NVIM| instead)
  - Ignored if --listen is given.
  - Unset by |terminal| and |jobstart()| unless explicitly given by the "env"
    option. Example: >vim
	call jobstart(['foo'], { 'env': { 'NVIM_LISTEN_ADDRESS': v:servername  } })
<

EVENTS
- *BufCreate*		Use |BufAdd| instead.
- *EncodingChanged*	Never fired; 'encoding' is always "utf-8".
- *FileEncoding*	Never fired; equivalent to |EncodingChanged|.
- *GUIEnter*		Never fired; use |UIEnter| instead.
- *GUIFailed*		Never fired.

KEYCODES
- *<MouseDown>*		Use <ScrollWheelUp> instead.
- *<MouseUp>*		Use <ScrollWheelDown> instead.

FUNCTIONS
- *buffer_exists()*	Obsolete name for |bufexists()|.
- *buffer_name()*	Obsolete name for |bufname()|.
- *buffer_number()*	Obsolete name for |bufnr()|.
- *file_readable()*	Obsolete name for |filereadable()|.
- *highlight_exists()*	Obsolete name for |hlexists()|.
- *highlightID()*	Obsolete name for |hlID()|.
- *inputdialog()*	Use |input()| instead.
- *jobclose()*		Obsolete name for |chanclose()|
- *jobsend()*		Obsolete name for |chansend()|
- *last_buffer_nr()*	Obsolete name for bufnr("$").
- *rpcstop()*		Use |jobstop()| instead to stop any job, or
			`chanclose(id, "rpc")` to close RPC communication
			without stopping the job. Use chanclose(id) to close
			any socket.

HIGHLIGHTS
- *hl-VertSplit*	Use |hl-WinSeparator| instead.

LSP DIAGNOSTICS
For each of the functions below, use the corresponding function in
|vim.diagnostic| instead (unless otherwise noted). For example, use
|vim.diagnostic.get()| instead of |vim.lsp.diagnostic.get()|.

- *vim.lsp.diagnostic.clear()*		Use |vim.diagnostic.hide()| instead.
- *vim.lsp.diagnostic.disable()*          Use |vim.diagnostic.enable()| instead.
- *vim.lsp.diagnostic.display()*	Use |vim.diagnostic.show()| instead.
- *vim.lsp.diagnostic.enable()*
- *vim.lsp.diagnostic.get()*
- *vim.lsp.diagnostic.get_all()*	Use |vim.diagnostic.get()| instead.
- *vim.lsp.diagnostic.get_count()*	Use |vim.diagnostic.count()| instead.
- *vim.lsp.diagnostic.get_line_diagnostics()* Use |vim.diagnostic.get()| instead.
- *vim.lsp.diagnostic.get_next()*
- *vim.lsp.diagnostic.get_next_pos()*
- *vim.lsp.diagnostic.get_prev()*
- *vim.lsp.diagnostic.get_prev_pos()*
- *vim.lsp.diagnostic.get_virtual_text_chunks_for_line()* No replacement. Use
  options provided by |vim.diagnostic.config()| to customize virtual text.
- *vim.lsp.diagnostic.goto_next()*
- *vim.lsp.diagnostic.goto_prev()*
- *vim.lsp.diagnostic.redraw()*		Use |vim.diagnostic.show()| instead.
- *vim.lsp.diagnostic.reset()*
- *vim.lsp.diagnostic.save()*		Use |vim.diagnostic.set()| instead.
- *vim.lsp.diagnostic.set_loclist()*	Use |vim.diagnostic.setloclist()| instead.
- *vim.lsp.diagnostic.set_qflist()*	Use |vim.diagnostic.setqflist()| instead.
- *vim.lsp.diagnostic.show_line_diagnostics()* Use |vim.diagnostic.open_float()| instead.
- *vim.lsp.diagnostic.show_position_diagnostics()* Use |vim.diagnostic.open_float()| instead.

The following are deprecated without replacement. These functions are moved
internally and are no longer exposed as part of the API. Instead, use
|vim.diagnostic.config()| and |vim.diagnostic.show()|.

- *vim.lsp.diagnostic.set_signs()*
- *vim.lsp.diagnostic.set_underline()*
- *vim.lsp.diagnostic.set_virtual_text()*

Configuring |diagnostic-signs| with |:sign-define| or |sign_define()| is no
longer supported. Use the "signs" key of |vim.diagnostic.config()| instead.

LSP FUNCTIONS
- *vim.lsp.buf.server_ready()*
  Use |LspAttach| instead, depending on your use-case. "Server ready" is not
  part of the LSP spec, so the Nvim LSP client cannot meaningfully implement
  it. "Ready" is ambiguous because:
  - Language servers may finish analyzing the workspace, but edits can always
    re-trigger analysis/builds.
  - Language servers can serve some requests even while processing changes.
- *vim.lsp.buf.range_code_action()*		Use |vim.lsp.buf.code_action()| with
						the `range` parameter.
- *vim.lsp.util.diagnostics_to_items()*		Use |vim.diagnostic.toqflist()| instead.
- *vim.lsp.util.set_qflist()*			Use |setqflist()| instead.
- *vim.lsp.util.set_loclist()*			Use |setloclist()| instead.
- *vim.lsp.buf_get_clients()*			Use |vim.lsp.get_clients()| with
						{buffer=bufnr} instead.
- *vim.lsp.buf.formatting()*			Use |vim.lsp.buf.format()| with
						{async=true} instead.
- *vim.lsp.buf.formatting_sync()*		Use |vim.lsp.buf.format()| with
						{async=false} instead.
- *vim.lsp.buf.range_formatting()*		Use |vim.lsp.formatexpr()|
						or |vim.lsp.buf.format()| instead.

LUA
- vim.register_keystroke_callback()	Use |vim.on_key()| instead.

NORMAL COMMANDS
- *]f* *[f*		Same as "gf".

OPTIONS
- *cpo-<* *:menu-<special>* *:menu-special* *:map-<special>* *:map-special*
  `<>` notation is always enabled.
- *'fe'*		'fenc'+'enc' before Vim 6.0; no longer used.
- *'highlight'* *'hl'*	Names of builtin |highlight-groups| cannot be changed.
- *'langnoremap'*	Deprecated alias to 'nolangremap'.
- 'sessionoptions'	Flags "unix", "slash" are ignored and always enabled.
- *'vi'*
- 'viewoptions'		Flags "unix", "slash" are ignored and always enabled.
- *'viminfo'*		Deprecated alias to 'shada' option.
- *'viminfofile'*	Deprecated alias to 'shadafile' option.
- *'paste'* *'nopaste'*	Just Paste It.™  The 'paste' option is obsolete:
			|paste| is handled automatically when you paste text
			using your terminal's or GUI's paste feature
			(CTRL-SHIFT-v, CMD-v (macOS), middle-click, …).
			Enables "paste mode":
			  - Disables mappings in Insert, Cmdline mode.
			  - Disables abbreviations.
			  - Resets 'autoindent' 'expandtab' 'revins' 'ruler'
			    'showmatch' 'smartindent' 'smarttab' 'softtabstop'
			    'textwidth' 'wrapmargin'.
			  - Treats 'formatoptions' as empty.
			  - Disables the effect of these options:
			    - 'cindent'
			    - 'indentexpr'
			    - 'lisp'

UI EXTENSIONS
- *ui-wildmenu*		Use |ui-cmdline| with |ui-popupmenu| instead. Enabled
			by the `ext_wildmenu` |ui-option|. Emits these events:
			- `["wildmenu_show", items]`
			- `["wildmenu_select", selected]`
			- `["wildmenu_hide"]`
- *term_background*	Unused. The terminal background color is now detected
			by the Nvim core directly instead of the TUI.

VARIABLES
- *b:terminal_job_pid*	Use `jobpid(&channel)` instead.
- *b:terminal_job_id*	Use `&channel` instead. To access in non-current buffer:
			- Lua: `vim.bo[bufnr].channel`
			- Vimscript: `getbufvar(bufnr, '&channel')`


 vim:noet:tw=78:ts=8:ft=help:norl:
