v0.0.80 Better float support
Improvments for float window/popup
New float window/popup features requires coc.nvim >= 0.4.0 or vim >= 8.2.0750
-
border
,title
,scrollbar
andbuttons
support on both vim and neovim. -
Functions for scroll float window and popups, checkout
:h coc#float#has_scroll()
-
Several kinds of Dialog that could accept user action:
- Confirm dialog created by
window.showPrompt()
- Input prompt dialog created by
window.requestInput()
- Menu dialog used by codeaction or created by
window.showMenuPicker()
- Multiple picker dialog created by
window.showPickerDialog()
- Notification dialog created by
window.showErrorMessage()
,window.showWarningMessage()
,
window.showInformationMessage()
andwindow.showNotification()
. - Progress window created by
window.withProgress()
all of them works on both vim and neovim, checkout
:h coc-dialog
for details. - Confirm dialog created by
Improvements for list
- Remove window resize support.
- Type
<esc>
would always cancel prompt. - Session support for list, which means there could be multiple list sessions at
the same time. - List related commands including
:CocPrev
,:CocNext
,CocFirst
and
CocLast
could take optional list name as argument. - Reworked preview implementation for better performance.
- Add
:CocListCancel
for cancel latest list. - Add
"list.matchHighlightGroup"
configuration for customize highlight of
matched characters. - Support use
\
to escape space with extended search mode.
Improvements for cursors support
- Session support for cursors, #2626.
- Not cancelled on window change or unrelated changes.
Other improvements
- Render parsed markdown by parse markdown with marked module #2497.
- Javascript code is compiled by webpack on master, no need to check for entry file anymore.
- Support cancellation for
download
andfetch
module. - Reworked highlight related, support highlight LSP ranges for buffer and window.
- Add
getHover
action. - Add
:CocWatch
command for automatic reload changed extension #2549. - Add
env
support forTask
module. - Removed timeout for actions, show progress in statusline instead.
- Remove
workspace.workspace.onWillSaveUntil
#2704. - Remove
diagnostic.refreshAfterSave
configuration support #2731.
Changed API for extensions
Old extensions would still work, but could be failed to compile with 0.0.80's
typing.
Use coc-extension-codemod
for migrate old coc.nvim extensions to 0.0.80's API.
-
Use
window
module for methods that moved fromworkspace
module, including:- showMessage
- runTerminalCommand
- openTerminal
- showQuickpick
- menuPick
- openLocalConfig
- showPrompt
- createStatusBarItem
- createOutputChannel
- showOutputChannel
- requestInput
- echoLines
- getCursorPosition
- moveTo
- getOffset
-
new FloatFactory
only takes one argument. -
FloatFactory.create
is removed from typing, useFloatFactory.show
instead. -
document.applyEdits()
only takes edits as first argument. -
Promise can't use
logError()
method anymore. -
nvim.resumeNotification(false, true)
returns void instead of promise. -
Not possible to use modules that inside coc.nvim, like
from "coc.nvim/lib/util"