aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/news.txt
blob: d6f6464f78bc85ba2bc996779157fe8f9d558852 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
*news.txt*    Nvim


			    NVIM REFERENCE MANUAL


Notable changes in Nvim 0.9 from 0.8                                     *news*

                                       Type |gO| to see the table of contents.

==============================================================================
BREAKING CHANGES                                                *news-breaking*

The following changes may require adaptations in user config or plugins.

• Cscope support is now removed (see |cscope| and |nvim-features-removed|):
  - Commands removed:
    - `:cscope`
    - `:lcscope`
    - `:scscope`
    - `:cstag`
  - Options removed:
    - `cscopepathcomp`
    - `cscopeprg`
    - `cscopequickfix`
    - `cscoperelative`
    - `cscopetag`
    - `cscopetagorder`
    - `cscopeverbose`
  - Eval functions removed:
    - `cscope_connection()`

  Note: support for |ctags| remains with no plans to remove.

  See https://github.com/neovim/neovim/pull/20545 for more information.

==============================================================================
NEW FEATURES                                                    *news-features*

The following new APIs or features were added.

• |vim.inspect_pos()|, |vim.show_pos()| and |:Inspect| allow a user to get or show items
  at a given buffer postion. Currently this includes treesitter captures,
  semantic tokens, syntax groups and extmarks.

• Added support for semantic token highlighting to the LSP client. This
  functionality is enabled by default when a client that supports this feature
  is attached to a buffer. Opt-out can be performed by deleting the
  `semanticTokensProvider` from the LSP client's {server_capabilities} in the
  `LspAttach` callback.

  See |lsp-semantic_tokens| for more information.

• |vim.treesitter.show_tree()| opens a split window showing a text
  representation of the nodes in a language tree for the current buffer.

• Added support for the `willSave` and `willSaveWaitUntil` capabilities to the
  LSP client. `willSaveWaitUntil` allows a server to modify a document before it
  gets saved. Example use-cases by language servers include removing unused
  imports, or formatting the file.

• Treesitter syntax highlighting for `help` files now supports highlighted
  code examples. To enable, create a `.config/nvim/ftplugin/help.lua` with
  the contents >lua
    vim.treesitter.start()
<
  Note: Highlighted code examples are only available in the Nvim manual, not
  in help files taken from Vim. The treesitter `help` parser is also work in
  progress and not guaranteed to correctly highlight every help file in the
  wild.

• |vim.secure.trust()|, |:trust| allows the user to manage files in trust
  database.

• |vim.diagnostic.open_float()| (and therefore |vim.diagnostic.config()|) now
  accepts a `suffix` option which, by default, renders LSP error codes.
  Similarly, the `virtual_text` configuration in |vim.diagnostic.config()| now
  has a `suffix` option which does nothing by default.

• |vim.fs.dir()| now has a `opts` argument with a depth field to allow
  recursively searching a directory tree.

• |vim.secure.read()| reads a file and prompts the user if it should be
  trusted and, if so, returns the file's contents.

• When using Nvim inside tmux 3.2 or later, the default clipboard provider
  will now copy to the system clipboard. |provider-clipboard|

• |'showcmdloc'| option to display the 'showcmd' information in the
  status line or tab line. A new %S statusline item is available to place
  the 'showcmd' text in a custom 'statusline'. Useful for when |'cmdheight'|
  is set to 0.

• |'splitkeep'| option to control the scroll behavior of horizontal splits.

• |nvim_select_popupmenu_item()| now supports |cmdline-completion| popup menu.

• |'diffopt'| now includes a `linematch` option to enable a second-stage diff
  on individual hunks to provide much more accurate diffs. This option is also
  available to |vim.diff()|

  See https://github.com/neovim/neovim/pull/14537.

==============================================================================
CHANGED FEATURES                                                 *news-changes*

The following changes to existing APIs or features add new behavior.

• 'exrc' now supports `.nvim.lua` file.
• 'exrc' is no longer marked deprecated.

==============================================================================
REMOVED FEATURES                                                 *news-removed*

The following deprecated functions or APIs were removed.

• `filetype.vim` is removed in favor of |lua-filetype|
  (Note that filetype logic and tests still align with Vim, so additions or
  changes need to be contributed there first.)
  See https://github.com/neovim/neovim/pull/20674.

==============================================================================
DEPRECATIONS                                                *news-deprecations*

The following functions are now deprecated and will be removed in the next
release.



 vim:tw=78:ts=8:sw=2:et:ft=help:norl: