deprecated.txt 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. *deprecated.txt* Nvim
  2. NVIM REFERENCE MANUAL
  3. Nvim *deprecated*
  4. The items listed below are deprecated: they will be removed in the future.
  5. They should not be used in new scripts, and old scripts should be updated.
  6. ==============================================================================
  7. Deprecated features
  8. ------------------------------------------------------------------------------
  9. DEPRECATED IN 0.11 *deprecated-0.11*
  10. API
  11. • nvim_notify() Use |nvim_echo()| or `nvim_exec_lua("vim.notify(...)", ...)` instead.
  12. • nvim_subscribe() Plugins must maintain their own "multicast" channels list.
  13. • nvim_unsubscribe() Plugins must maintain their own "multicast" channels list.
  14. • nvim_out_write() Use |nvim_echo()|.
  15. • nvim_err_write() Use |nvim_echo()| with `{err=true}`.
  16. • nvim_err_writeln() Use |nvim_echo()| with `{err=true}`.
  17. • nvim_buf_add_highlight() Use |vim.hl.range()| or |nvim_buf_set_extmark()|
  18. DIAGNOSTICS
  19. • *vim.diagnostic.goto_next()* Use |vim.diagnostic.jump()| with `{count=1, float=true}` instead.
  20. • *vim.diagnostic.goto_prev()* Use |vim.diagnostic.jump()| with `{count=-1, float=true}` instead.
  21. • *vim.diagnostic.get_next_pos()* Use the "lnum" and "col" fields from the
  22. return value of |vim.diagnostic.get_next()| instead.
  23. • *vim.diagnostic.get_prev_pos()* Use the "lnum" and "col" fields from the
  24. return value of |vim.diagnostic.get_prev()| instead.
  25. • The "win_id" parameter used by various functions is deprecated in favor of
  26. "winid" |winid|
  27. • |vim.diagnostic.JumpOpts| renamed its "cursor_position" field to "pos".
  28. HIGHLIGHTS
  29. • *TermCursorNC* Unfocused |terminal| windows do not have a cursor.
  30. LSP
  31. • *vim.lsp.util.jump_to_location* Use |vim.lsp.util.show_document()| with
  32. `{focus=true}` instead.
  33. • *vim.lsp.buf.execute_command* Use |Client:exec_cmd()| instead.
  34. • *vim.lsp.buf.completion* Use |vim.lsp.completion.trigger()| instead.
  35. • vim.lsp.buf_request_all The `error` key has been renamed to `err` inside
  36. the result parameter of the handler.
  37. • *vim.lsp.with()* Pass configuration to equivalent
  38. functions in `vim.lsp.buf.*`.
  39. • |vim.lsp.handlers| Does not support client-to-server response handlers. Only
  40. supports server-to-client requests/notification handlers.
  41. • *vim.lsp.handlers.signature_help()* Use |vim.lsp.buf.signature_help()| instead.
  42. • `client.request()` Use |Client:request()| instead.
  43. • `client.request_sync()` Use |Client:request_sync()| instead.
  44. • `client.notify()` Use |Client:notify()| instead.
  45. • `client.cancel_request()` Use |Client:cancel_request()| instead.
  46. • `client.stop()` Use |Client:stop()| instead.
  47. • `client.is_stopped()` Use |Client:is_stopped()| instead.
  48. • `client.supports_method()` Use |Client:supports_method()| instead.
  49. • `client.on_attach()` Use |Client:on_attach()| instead.
  50. • `vim.lsp.start_client()` Use |vim.lsp.start()| instead.
  51. LUA
  52. • vim.region() Use |getregionpos()| instead.
  53. • *vim.highlight* Renamed to |vim.hl|.
  54. • vim.validate(opts: table) Use form 1. See |vim.validate()|.
  55. VIMSCRIPT
  56. • *termopen()* Use |jobstart() with `{term: v:true}`.
  57. ------------------------------------------------------------------------------
  58. DEPRECATED IN 0.10 *deprecated-0.10*
  59. API
  60. • *nvim_buf_get_option()* Use |nvim_get_option_value()| instead.
  61. • *nvim_buf_set_option()* Use |nvim_set_option_value()| instead.
  62. • *nvim_call_atomic()* Use |nvim_exec_lua()| instead.
  63. • *nvim_get_option()* Use |nvim_get_option_value()| instead.
  64. • *nvim_set_option()* Use |nvim_set_option_value()| instead.
  65. • *nvim_win_get_option()* Use |nvim_get_option_value()| instead.
  66. • *nvim_win_set_option()* Use |nvim_set_option_value()| instead.
  67. CHECKHEALTH
  68. • *health#report_error* *vim.health.report_error()* Use |vim.health.error()| instead.
  69. • *health#report_info* *vim.health.report_info()* Use |vim.health.info()| instead.
  70. • *health#report_ok* *vim.health.report_ok()* Use |vim.health.ok()| instead.
  71. • *health#report_start* *vim.health.report_start()* Use |vim.health.start()| instead.
  72. • *health#report_warn* *vim.health.report_warn()* Use |vim.health.warn()| instead.
  73. DIAGNOSTICS
  74. • Configuring |diagnostic-signs| using |:sign-define| or |sign_define()|. Use
  75. the "signs" key of |vim.diagnostic.config()| instead.
  76. • vim.diagnostic functions:
  77. • *vim.diagnostic.disable()* Use |vim.diagnostic.enable()|
  78. • *vim.diagnostic.is_disabled()* Use |vim.diagnostic.is_enabled()|
  79. • Legacy signature: `vim.diagnostic.enable(buf:number, namespace:number)`
  80. LSP
  81. • *vim.lsp.util.get_progress_messages()* Use |vim.lsp.status()| instead.
  82. • *vim.lsp.get_active_clients()* Use |vim.lsp.get_clients()| instead.
  83. • *vim.lsp.for_each_buffer_client()* Use |vim.lsp.get_clients()| instead.
  84. • *vim.lsp.util.trim_empty_lines()* Use |vim.split()| with `trimempty` instead.
  85. • *vim.lsp.util.try_trim_markdown_code_blocks()*
  86. • *vim.lsp.util.set_lines()*
  87. • *vim.lsp.util.extract_completion_items()*
  88. • *vim.lsp.util.parse_snippet()*
  89. • *vim.lsp.util.text_document_completion_list_to_complete_items()*
  90. • *vim.lsp.util.lookup_section()* Use |vim.tbl_get()| instead: >
  91. local keys = vim.split(section, '.', { plain = true })
  92. local vim.tbl_get(table, unpack(keys))
  93. LUA
  94. • *vim.loop* Use |vim.uv| instead.
  95. • *vim.tbl_add_reverse_lookup()*
  96. • *vim.tbl_flatten()* Use |Iter:flatten()| instead.
  97. • *vim.tbl_islist()* Use |vim.islist()| instead.
  98. OPTIONS
  99. • The "term_background" UI option |ui-ext-options| is deprecated and no longer
  100. populated. Background color detection is now performed in Lua by the Nvim
  101. core, not the TUI.
  102. TREESITTER
  103. • *LanguageTree:for_each_child()* Use |LanguageTree:children()| (non-recursive) instead.
  104. ------------------------------------------------------------------------------
  105. DEPRECATED IN 0.9 *deprecated-0.9*
  106. API
  107. • *nvim_get_hl_by_name()* Use |nvim_get_hl()| instead.
  108. • *nvim_get_hl_by_id()* Use |nvim_get_hl()| instead.
  109. TREESITTER
  110. • *vim.treesitter.language.require_language()* Use |vim.treesitter.language.add()| instead.
  111. • *vim.treesitter.get_node_at_pos()* Use |vim.treesitter.get_node()| instead.
  112. • *vim.treesitter.get_node_at_cursor()* Use |vim.treesitter.get_node()|
  113. and |TSNode:type()| instead.
  114. • The following top level Treesitter functions have been moved:
  115. • *vim.treesitter.inspect_language()* -> |vim.treesitter.language.inspect()|
  116. • *vim.treesitter.get_query_files()* -> |vim.treesitter.query.get_files()|
  117. • *vim.treesitter.set_query()* -> |vim.treesitter.query.set()|
  118. • *vim.treesitter.query.set_query()* -> |vim.treesitter.query.set()|
  119. • *vim.treesitter.get_query()* -> |vim.treesitter.query.get()|
  120. • *vim.treesitter.query.get_query()* -> |vim.treesitter.query.get()|
  121. • *vim.treesitter.parse_query()* -> |vim.treesitter.query.parse()|
  122. • *vim.treesitter.query.parse_query()* -> |vim.treesitter.query.parse()|
  123. • *vim.treesitter.add_predicate()* -> |vim.treesitter.query.add_predicate()|
  124. • *vim.treesitter.add_directive()* -> |vim.treesitter.query.add_directive()|
  125. • *vim.treesitter.list_predicates()* -> |vim.treesitter.query.list_predicates()|
  126. • *vim.treesitter.list_directives()* -> |vim.treesitter.query.list_directives()|
  127. • *vim.treesitter.query.get_range()* -> |vim.treesitter.get_range()|
  128. • *vim.treesitter.query.get_node_text()* -> |vim.treesitter.get_node_text()|
  129. LUA
  130. • *nvim_exec()* Use |nvim_exec2()| instead.
  131. • *vim.pretty_print()* Use |vim.print()| instead.
  132. ------------------------------------------------------------------------------
  133. DEPRECATED IN 0.8 OR EARLIER
  134. API
  135. • *nvim_buf_clear_highlight()* Use |nvim_buf_clear_namespace()| instead.
  136. • *nvim_buf_set_virtual_text()* Use |nvim_buf_set_extmark()| instead.
  137. • *nvim_command_output()* Use |nvim_exec2()| instead.
  138. • *nvim_execute_lua()* Use |nvim_exec_lua()| instead.
  139. • *nvim_get_option_info()* Use |nvim_get_option_info2()| instead.
  140. COMMANDS
  141. • *:rv* *:rviminfo* Deprecated alias to |:rshada| command.
  142. • *:wv* *:wviminfo* Deprecated alias to |:wshada| command.
  143. ENVIRONMENT VARIABLES
  144. • *$NVIM_LISTEN_ADDRESS*
  145. • Deprecated way to:
  146. • set the server name (use |--listen| or |serverstart()| instead)
  147. • get the server name (use |v:servername| instead)
  148. • detect a parent Nvim (use |$NVIM| instead)
  149. • Ignored if --listen is given.
  150. • Unset by |terminal| and |jobstart()| unless explicitly given by the "env"
  151. option. Example: >vim
  152. call jobstart(['foo'], { 'env': { 'NVIM_LISTEN_ADDRESS': v:servername } })
  153. <
  154. EVENTS
  155. • *BufCreate* Use |BufAdd| instead.
  156. • *EncodingChanged* Never fired; 'encoding' is always "utf-8".
  157. • *FileEncoding* Never fired; equivalent to |EncodingChanged|.
  158. • *GUIEnter* Never fired; use |UIEnter| instead.
  159. • *GUIFailed* Never fired.
  160. KEYCODES
  161. • *<MouseDown>* Use <ScrollWheelUp> instead.
  162. • *<MouseUp>* Use <ScrollWheelDown> instead.
  163. HIGHLIGHTS
  164. • *hl-VertSplit* Use |hl-WinSeparator| instead.
  165. LSP DIAGNOSTICS
  166. For each of the functions below, use the corresponding function in
  167. |vim.diagnostic| instead (unless otherwise noted). For example, use
  168. |vim.diagnostic.get()| instead of |vim.lsp.diagnostic.get()|.
  169. • *vim.lsp.diagnostic.clear()* Use |vim.diagnostic.hide()| instead.
  170. • *vim.lsp.diagnostic.disable()* Use |vim.diagnostic.enable()| instead.
  171. • *vim.lsp.diagnostic.display()* Use |vim.diagnostic.show()| instead.
  172. • *vim.lsp.diagnostic.enable()*
  173. • *vim.lsp.diagnostic.get()*
  174. • *vim.lsp.diagnostic.get_all()* Use |vim.diagnostic.get()| instead.
  175. • *vim.lsp.diagnostic.get_count()* Use |vim.diagnostic.count()| instead.
  176. • *vim.lsp.diagnostic.get_line_diagnostics()* Use |vim.diagnostic.get()| instead.
  177. • *vim.lsp.diagnostic.get_next()*
  178. • *vim.lsp.diagnostic.get_next_pos()*
  179. • *vim.lsp.diagnostic.get_prev()*
  180. • *vim.lsp.diagnostic.get_prev_pos()*
  181. • *vim.lsp.diagnostic.get_virtual_text_chunks_for_line()* No replacement. Use
  182. options provided by |vim.diagnostic.config()| to customize virtual text.
  183. • *vim.lsp.diagnostic.goto_next()*
  184. • *vim.lsp.diagnostic.goto_prev()*
  185. • *vim.lsp.diagnostic.redraw()* Use |vim.diagnostic.show()| instead.
  186. • *vim.lsp.diagnostic.reset()*
  187. • *vim.lsp.diagnostic.save()* Use |vim.diagnostic.set()| instead.
  188. • *vim.lsp.diagnostic.set_loclist()* Use |vim.diagnostic.setloclist()| instead.
  189. • *vim.lsp.diagnostic.set_qflist()* Use |vim.diagnostic.setqflist()| instead.
  190. • *vim.lsp.diagnostic.show_line_diagnostics()* Use |vim.diagnostic.open_float()| instead.
  191. • *vim.lsp.diagnostic.show_position_diagnostics()* Use |vim.diagnostic.open_float()| instead.
  192. The following are deprecated without replacement. These functions are moved
  193. internally and are no longer exposed as part of the API. Instead, use
  194. |vim.diagnostic.config()| and |vim.diagnostic.show()|.
  195. • *vim.lsp.diagnostic.set_signs()*
  196. • *vim.lsp.diagnostic.set_underline()*
  197. • *vim.lsp.diagnostic.set_virtual_text()*
  198. LSP FUNCTIONS
  199. • *vim.lsp.buf.server_ready()*
  200. Use |LspAttach| instead, depending on your use-case. "Server ready" is not
  201. part of the LSP spec, so the Nvim LSP client cannot meaningfully implement
  202. it. "Ready" is ambiguous because:
  203. • Language servers may finish analyzing the workspace, but edits can always
  204. re-trigger analysis/builds.
  205. • Language servers can serve some requests even while processing changes.
  206. • *vim.lsp.buf.range_code_action()* Use |vim.lsp.buf.code_action()| with
  207. the `range` parameter.
  208. • *vim.lsp.util.diagnostics_to_items()* Use |vim.diagnostic.toqflist()| instead.
  209. • *vim.lsp.util.set_qflist()* Use |setqflist()| instead.
  210. • *vim.lsp.util.set_loclist()* Use |setloclist()| instead.
  211. • *vim.lsp.buf_get_clients()* Use |vim.lsp.get_clients()| with
  212. {buffer=bufnr} instead.
  213. • *vim.lsp.buf.formatting()* Use |vim.lsp.buf.format()| with
  214. {async=true} instead.
  215. • *vim.lsp.buf.formatting_sync()* Use |vim.lsp.buf.format()| with
  216. {async=false} instead.
  217. • *vim.lsp.buf.range_formatting()* Use |vim.lsp.formatexpr()|
  218. or |vim.lsp.buf.format()| instead.
  219. LUA
  220. • vim.register_keystroke_callback() Use |vim.on_key()| instead.
  221. NORMAL COMMANDS
  222. • *]f* *[f* Same as "gf".
  223. OPTIONS
  224. • *cpo-<* *:menu-<special>* *:menu-special* *:map-<special>* *:map-special*
  225. `<>` notation is always enabled.
  226. • *'fe'* 'fenc'+'enc' before Vim 6.0; no longer used.
  227. • *'highlight'* *'hl'* Names of builtin |highlight-groups| cannot be changed.
  228. • *'langnoremap'* Deprecated alias to 'nolangremap'.
  229. • 'sessionoptions' Flags "unix", "slash" are ignored and always enabled.
  230. • *'vi'*
  231. • 'viewoptions' Flags "unix", "slash" are ignored and always enabled.
  232. • *'viminfo'* Deprecated alias to 'shada' option.
  233. • *'viminfofile'* Deprecated alias to 'shadafile' option.
  234. • *'paste'* *'nopaste'* Just Paste It.™ The 'paste' option is obsolete:
  235. |paste| is handled automatically when you paste text
  236. using your terminal's or GUI's paste feature
  237. (CTRL-SHIFT-v, CMD-v (macOS), middle-click, …).
  238. Enables "paste mode":
  239. • Disables mappings in Insert, Cmdline mode.
  240. • Disables abbreviations.
  241. • Resets 'autoindent' 'expandtab' 'revins' 'ruler'
  242. 'showmatch' 'smartindent' 'smarttab' 'softtabstop'
  243. 'textwidth' 'wrapmargin'.
  244. • Treats 'formatoptions' as empty.
  245. • Disables the effect of these options:
  246. • 'cindent'
  247. • 'indentexpr'
  248. • 'lisp'
  249. UI EXTENSIONS
  250. • *ui-wildmenu* Use |ui-cmdline| with |ui-popupmenu| instead. Enabled
  251. by the `ext_wildmenu` |ui-option|. Emits these events:
  252. • `["wildmenu_show", items]`
  253. • `["wildmenu_select", selected]`
  254. • `["wildmenu_hide"]`
  255. • *term_background* Unused. The terminal background color is now detected
  256. by the Nvim core directly instead of the TUI.
  257. VARIABLES
  258. • *b:terminal_job_pid* Use `jobpid(&channel)` instead.
  259. • *b:terminal_job_id* Use `&channel` instead. To access in non-current buffer:
  260. • Lua: `vim.bo[bufnr].channel`
  261. • Vimscript: `getbufvar(bufnr, '&channel')`
  262. VIMSCRIPT
  263. • *buffer_exists()* Obsolete name for |bufexists()|.
  264. • *buffer_name()* Obsolete name for |bufname()|.
  265. • *buffer_number()* Obsolete name for |bufnr()|.
  266. • *file_readable()* Obsolete name for |filereadable()|.
  267. • *highlight_exists()* Obsolete name for |hlexists()|.
  268. • *highlightID()* Obsolete name for |hlID()|.
  269. • *inputdialog()* Use |input()| instead.
  270. • *jobclose()* Obsolete name for |chanclose()|
  271. • *jobsend()* Obsolete name for |chansend()|
  272. • *last_buffer_nr()* Obsolete name for bufnr("$").
  273. • *rpcstart()* Use |jobstart()| with `{'rpc': v:true}` instead.
  274. • *rpcstop()* Use |jobstop()| instead to stop any job, or
  275. `chanclose(id, "rpc")` to close RPC communication
  276. without stopping the job. Use chanclose(id) to close
  277. any socket.
  278. vim:noet:tw=78:ts=8:ft=help:norl: