deprecated.txt 14 KB

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