Home Explore Blog CI



neovim

3rd chunk of `runtime/doc/news-0.11.txt`
cb4861542b3873bb9f17233232ba5b7f6d9854f44f9ff6720000000100001001
 explicitly registered.
• |vim.treesitter.language.add()| returns `true` if a parser was loaded
  successfully and `nil,errmsg` otherwise instead of throwing an error.
• |vim.treesitter.get_parser()| and |vim.treesitter.start()| no longer parse the
  tree before returning. Scripts must call |LanguageTree:parse()| explicitly. >lua
    local p = vim.treesitter.get_parser(0, 'c')
    p:parse()
• |vim.treesitter.get_parser()| expects its buffer to be loaded.

TUI

• OSC 52 is used as a fallback clipboard provider when no other
  |clipboard-tool| is found, even when not using SSH |clipboard-osc52|. To
  disable OSC 52 queries, set the "osc52" key of |g:termfeatures| to false.

VIMSCRIPT

• |v:msgpack_types| has the type "binary" removed. |msgpackparse()| no longer
  treats BIN, STR and FIXSTR as separate types. Any of these is returned as a
  string if possible, or a |blob| if the value contained embedded NUL:s.

==============================================================================
NEW FEATURES

The following new features were added.

API

• Improved API "meta" docstrings and :help documentation.
• |nvim__ns_set()| can set properties for a namespace
• |nvim_echo()| `err` field to print error messages and `chunks` accepts
  highlight group IDs.
• |nvim_open_win()| supports a `mouse` field that allows configuring mouse
  interaction with the window separately from `focusable` field.
• |nvim_open_win()| `relative` field can be set to "laststatus" and "tabline".
• Additions to |nvim_buf_set_extmark()|:
  • `conceal_lines` field to conceal an entire line.
  • `hl_group` field can be an array of layered groups.
  • `virt_text_pos` field accepts value `eol_right_align` to allow for right
    aligned text that truncates before covering up buffer text.
  • `virt_lines_overflow` field accepts value `scroll` to enable horizontal
    scrolling for virtual lines with 'nowrap'.

DEFAULTS

• Highlighting:
  • Improved styling of :checkhealth and :help buffers.

• Mappings:
  • |grn| in Normal mode maps to |vim.lsp.buf.rename()|
  • |grr| in Normal mode maps to |vim.lsp.buf.references()|
  • |gri| in Normal mode maps to |vim.lsp.buf.implementation()|
  • |gO| in Normal mode maps to |vim.lsp.buf.document_symbol()|
  • |gra| in Normal and Visual mode maps to |vim.lsp.buf.code_action()|
  • CTRL-S in Insert and Select mode maps to |vim.lsp.buf.signature_help()|
  • Mouse |popup-menu| includes an "Open in web browser" item when you right-click
    on a URL.
  • Mouse |popup-menu| includes a "Go to definition" item when LSP is active
    in the buffer.
  • Mouse |popup-menu| includes "Show Diagnostics", "Show All Diagnostics" and
    "Configure Diagnostics" items when there are diagnostics in the buffer.
  • |]d-default| and |[d-default| accept a count.
  • |[D-default| and |]D-default| jump to the first and last diagnostic in the
    current buffer, respectively.
  • Mappings inspired by Tim Pope's vim-unimpaired:
    • |[q|, |]q|, |[Q|, |]Q|, |[CTRL-Q|, |]CTRL-Q| navigate through the |quickfix| list
    • |[l|, |]l|, |[L|, |]L|, |[CTRL-L|, |]CTRL-L| navigate through the |location-list|
    • |[t|, |]t|, |[T|, |]T|, |[CTRL-T|, |]CTRL-T| navigate through the |tag-matchlist|
    • |[a|, |]a|, |[A|, |]A| navigate through the |argument-list|
    • |[b|, |]b|, |[B|, |]B| navigate through the |buffer-list|
    • |[<Space>|, |]<Space>| add an empty line above and below the cursor
  • |[[| and |]]| in Normal mode jump between shell prompts for shells which emit
    OSC 133 sequences ("shell integration" or "semantic prompts").

• Options:
  • 'diffopt' default includes "linematch:40".
  • 'number', 'relativenumber', 'signcolumn', and 'foldcolumn' are disabled in
    |terminal| buffers. |terminal-config| shows how to change these defaults.
  • Lua |ftplugin| sets 'omnifunc' to "v:lua.vim.lua_omnifunc".
  • Lua |ftplugin| sets 'foldexpr' to "v:lua.vim.treesitter.foldexpr()".

• Snippet:
  • `<Tab>` in Insert and Select mode maps to `vim.snippet.jump({ direction

Title: Nvim 0.11: Treesitter, TUI, Vimscript Changes and New Features
Summary
This section details changes to Treesitter, TUI, and Vimscript in Nvim 0.11. Treesitter updates include modifications to language handling and parser behavior. TUI uses OSC 52 as a fallback clipboard provider. Vimscript removes the 'binary' type from `v:msgpack_types`. New features include API improvements, expanded `nvim_echo()` and `nvim_open_win()` functionality, additions to `nvim_buf_set_extmark()`, and improved highlighting. Default mappings include LSP-related actions, mouse popup menu options, diagnostic navigation, and list navigation inspired by vim-unimpaired. Default options include updates to 'diffopt' and settings for terminal buffers and Lua ftplugin. Snippet functionality is also mentioned.