github neoclide/coc.nvim v0.0.80
v0.0.80 Better float support

latest releases: v0.0.82, v0.0.81
3 years ago

Improvments for float window/popup

New float window/popup features requires coc.nvim >= 0.4.0 or vim >= 8.2.0750

  • border, title, scrollbar and buttons 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() and window.showNotification().
    • Progress window created by window.withProgress()

    all of them works on both vim and neovim, checkout :h coc-dialog for details.

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 and fetch 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 for Task 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 from workspace 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, use FloatFactory.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"

Don't miss a new coc.nvim release

NewReleases is sending notifications on new releases.