Quick links: help overview · quick reference · user manual toc · reference manual toc
Go to keyword (shortcut: k)
Site search (shortcut: s)
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.


- 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.

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

  - 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: 
	call jobstart(['foo'], { 'env': { 'NVIM_LISTEN_ADDRESS': v:servername  } })

- 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.

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

- 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.

- hl-VertSplit  	Use hl-WinSeparator instead.

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.

- 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.

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

- ]f [f    		Same as "gf".

- 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-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.

- 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')`


Quick links: help overview · quick reference · user manual toc · reference manual toc