1
0
Fork 0
mirror of synced 2024-11-18 06:55:33 -05:00
ultimate-vim/sources_non_forked/coc.nvim/history.md

1442 lines
50 KiB
Markdown
Raw Normal View History

2022-05-19 10:14:37 -04:00
# 2022-05-17
- Add `QuickPick` module.
- Add API `window.showQuickPick()` and `window.createQuickPick()`.
2022-05-18 13:29:28 -04:00
# 2022-05-16
- Add properties `title`, `loading` & `borderhighlight` to `InputBox`
# 2022-05-14
- Add `InputOption` support to `window.requestInput`
- Add API `window.createInputBox()`.
# 2022-05-13
- Notification support like VSCode https://github.com/neoclide/coc.nvim/discussions/3813
- Add configuration `notification.minProgressWidth`
- Add configuration `notification.preferMenuPicker`
- Support `source` in notification windows.
# 2022-05-07
- Show sort method as description in outline view.
- Add configuration `outline.switchSortKey`, default to `<C-s>`.
- Add configuration `outline.detailAsDescription`, default to `true`.
- Add variable `g:coc_max_treeview_width`.
- Add `position: 'center'` support to `window.showMenuPicker()`
# 2022-05-06
- Use menu for `window.showQuickpick()`.
- Add configuration `outline.autoWidth`, default to `true`.
# 2022-05-05
- Add key bindings to dialog (created by `window.showDialog()`) on neovim.
# 2022-05-04
- Add `languages.registerInlayHintsProvider()` for inlay hint support.
# 2022-04-25
- Add `LinkedEditing` support
# 2022-04-23
- Add `WinScrolled` event to events.
# 2022-04-20
- Select recent item when input is empty and selection is `recentUsedByPrefix`.
- Add `coc#snippet#prev()` and `coc#snippet#next()`.
- Add command `document.checkBuffer`.
- Add `region` param to `window.diffHighlights()`.
# 2022-04-06
- `workspace.onDidOpenTextDocument` fire `contentChanges` as empty array when
document changed with same lines.
# 2022-04-04
- Avoid `CompleteDone` cancel next completion.
- Avoid indent change on `<C-n>` and `<C-p>` during completion.
- Support `joinUndo` and `move` with `document.applyEdits()`.
# 2022-04-02
- Change `suggest.triggerCompletionWait` default to `0`.
- Not trigger completion on `TextChangedP`.
- Remove configuration `suggest.echodocSupport`.
- Fix complettion triggered after `<C-e>`.
# 2022-03-31
- Check buffer rename on write.
# 2022-03-30
- Improve words parse performance.
- Remove configurations `coc.source.around.firstMatch` and `coc.source.buffer.firstMatch`.
- Fix `coc.source.buffer.ignoreGitignore` not works
# 2022-03-30
- Check document reload on detach.
# 2022-03-29
- Add menu actions to refactor buffer.
# 2022-03-12
- Avoid use `<sapce><bs>` for cancel completion.
# 2022-03-05
- Make `WinClosed` event fires on `CursorHold` to support vim8.
- Add events `TabNew` and `TabClose`.
- Make outline reuse TreeView buffer.
# 2022-03-02
- Add ultisnip option to `snippetManager.insertSnippet()` and
`snippetManager.resolveSnippet()`.
- Support ultisnip regex option: `/a` (ascii option).
- Support transform replacement of ultisnip, including:
- Variable placeholders, `$0`, `$1` etc.
- Escape sequence `\u` `\l` `\U` `\L` `\E` `\n` `\t`
- Conditional replacement: `(?no:text:other text)`
# 2022-02-28
- Change `workspace.ignoredFiletypes` default value to `[]`
# 2022-02-24
- Add `window.activeTextEditor`, `window.visibleTextEditors`.
- Add events `window.onDidChangeActiveTextEditor` `window.onDidChangeVisibleTextEditors`.
- Add class `RelativePattern`.
- Add `workspace.findFiles()`.
# 2022-02-23
- Add `workspace.openTextDocument()`
- Add `Workspace.getRelativePath()`.
- Add `window.terminals` `window.onDidOpenTerminal` `window.onDidCloseTerminal`
and `window.createTerminal`.
- Add `exitStatus` property to `Terminal`.
- Support `strictEnv` in `TerminalOptions` on neovim.
- Deprecated warning for `workspace.createTerminal()`,
`workspace.onDidOpenTerminal` and `workspace.onDidCloseTerminal`
# 2022-02-18
- Clear all highlights created by coc.nvim before restart.
- Support strike through for ansiparse.
- Support `highlights` for `Documentation` in float window.
# 2022-02-17
- Change workspace configuration throw error when workspace folder can't be
resolved.
- Remove configuration `diagnostic.highlightOffset`.
# 2022-02-15
- Add `events.race`.
- Change default `suggest.triggerCompletionWait` to 50.
- Support trigger completion after indent fix.
# 2022-02-14
- Add `pumvisible` property to events.
# 2022-02-10
- Add shortcut support for `window.showMenuPicker()`.
- Add configuration `dialog.shortcutHighlight` for shortcut highlight.
- Add configuration `list.menuAction` for choose action by menu picker.
# 2022-02-09
- Add error log to `nvim_error_event`.
- Add `nvim.lua()` which replace `nvim.executeLua()` to typings.d.ts.
# 2022-02-08
- Support `MenuItem` with disabled property for `window.showMenuPicker`
- Support show disabled code actions in menu picker.
# 2022-02-07
- Change `:CocLocalConfig` to open configuration file of current workspace
folder.
# 2022-02-05
- Support `version` from `textDocument/publishDiagnostics` notification's parameter.
- Support `codeDescription` of diagnostics by add href to float window.
- Support `showDocument` request from language server.
- Support `label` from DocumentSymbolOptions in outline tree.
- Support extra url use regexp under cursor with `openLink` action.
- Support `activeParameter` from signature information.
- Add `trimTrailingWhitespace`, `insertFinalNewline` and `trimFinalNewlines` to FormattingOptions.
- Add configuration `links.tooltip`, default to `false`.
# 2022-02-04
- Add `--reverse` option to list.
- Add `<esc>` key-mapping to cancel list in preview window (neovim only).
# 2022-02-02
- Remove `disableWorkspaceFolders` `disableDiagnostics` and `disableCompletion`
from language client option.
- Add configuration `documentHighlight.timeout`.
- Add `tabPersist` option to `ListAction`.
- Add `refactor` to `LocationList`
# 2022-01-30
- Add configuration `diagnostics.virtualTextLevel`.
- Remove configuration `suggest.numberSelect`
# 2022-01-26
- Use `nvim_buf_set_text` when possible to keep extmarks.
# 2022-01-25
- Not trigger completion when filtered is succeed.
- Move methods `workspace.getSelectedRange` `workspace.selectRange` to `window`
module, show deprecated warning when using old methods.
# 2022-01-23
- Support semantic tokens highlights from range provider.
# 2022-01-22
- Not set `gravity` with api `nvim_buf_set_extmark` because highlight bug, wait neovim fix.
- Support watch later created workspace folders for file events.
# 2022-01-21
- Changed semantic token highlight prefix from `CocSem_` to `CocSem`.
- Changed semantic token highlight disabled by default, use configuration
`semanticTokens.filetypes`
- Add configuration `semanticTokens.filetypes`.
- Add configuration `semanticTokens.highlightPriority`.
- Add configuration `semanticTokens.incrementTypes`.
- Add configuration `semanticTokens.combinedModifiers`.
- Add command `semanticTokens.refreshCurrent`.
- Add command `semanticTokens.inspect`.
- Add action `inspectSemanticToken`.
- Rework command `semanticTokens.checkCurrent` to show highlight information.
- Support semantic tokens highlight group composed with type and modifier.
# 2022-01-21
- Add configuration `workspace.ignoredFolders`.
- Add configuration `workspace.workspaceFolderFallbackCwd`.
# 2022-01-20
- Remove deprecated method `workspace.resolveRootFolder`.
# 2022-01-17
- Extend `buffer.updateHighlights` to support `priority`, `combine`, `start_incl` and `end_incl`.
- Add configuration `diagnostic.highlightPriority`.
- Add configuration `colors.filetypes` and `colors.highlightPriority`.
# 2022-01-16
- Add configuration `codeLens.position`.
# 2022-01-14
- Add configuration `suggest.selection`.
# 2022-01-13
- `codeLens.separator` now defaults to `""` and will be placed above lines on neovim >= 0.6.0 .
- Add configurations 'diagnostic.locationlistLevel', 'diagnostic.signLevel', 'diagnostic.messageLevel'.
# 2022-01-12
- Add document.lineAt(), export TextLine class.
- Upgrade node-client, support nvim.exec().
- Add documentHighlight.priority configuration.
# 2019-08-18 0.0.74
- feat(cursors): support multiple cursors.
- feat(extensions): install missing extensions by CocInstall.
- feat(extensions): add command `extensions.forceUpdateAll`.
- feat(completion): rework preselect feature.
- feat(extension): use request for fetch package info.
- feat(language-client): support disableDynamicRegister configuration.
- feat(list): paste from vim register support on insert mode #1088.
- feat(plugin): add CocHasProvider(), close #1087.
- refactor(outline): not exclude variables and callback.
- refactor(diagnostic): remove timeout on InsertLeave.
# 2019-07-11 0.0.73
- fix(completion): fix map of number select
- fix(languages): fix cursor position with snippet
- fix(completion): fix cursor position with additionalTextEdits
- fix(position): fix rangeOverlap check #961
- fix(list): not change guicursor when it's empty
- fix(list): fix filter not work on loading
- fix(list): fix custom location list command not work
- fix(util): highlight & render on vim8
- fix(handler): fix getCommands
- fix(handler): not check lastInsert on trigger signatureHelp
- fix(handler): fix check of signature help trigger
- fix(language-client): configuration for configured server, closes #930
- fix(diagnostic): clear diagnostics on filetype change
- feat(plugin): add download & fetch modules
- feat(plugin): add highligher module
- feat(refactor): add `<Plug>(coc-refactor)` for refactor window
- feat(extension): use mv module for folder rename
- feat(extension): support install tagged extension
- feat(extension): support custom extension root `g:coc_extension_root`
- feat(handler): close signature float window on ')'
- feat(list): support `g:coc_quickfix_open_command`
- feat(list): add eval action
- feat(list): add --tab list option
- feat(list): use highligher module for showHelp
- feat(terminal): add noa on window jump
- feat(terminal): support vim8
- feat(diagnostic): add diagnosticRelated support
- feat(diagnostic): use text properties on vim8
- feat(handler): improve signature float window
# 2019-07-01
- feat(plugin): add CocStatusChange autocmd
- feat(extension): support both npm and yarn.
- feat(plugin): work on vim 8.0
- feat(extensions): add lock & doc actions to extension source
- feat(extension): add proxy auth support (#920)
- feat(source): not change startcol for file source
- feat(completion): no numberSelect for number input
- feat(extensions): Use yarn when npm not found
- feat(completion): no popup for command line buffer
- feat(plugin): support only for codeActions action
- feat(task): debounce stdout
- feat(plugin): add keymaps for selection ranges
- feat(plugin): add function textobj
- feat(list): restore window height, closes #905
- feat(handler): support signature.floatTimeout
- feat(configuration): support change of workspace configuration
- feat(diagnostic): add keymaps for jump error diagnostics
- feat(plugin): delay start on gvim, fix #659
# 2019-06-15
- feat(plugin): add popup support of vim
- refactor(completion): improve float support
- refactor(floating): remove unused code
- refactor(workspace): replace find-up
- refactor(handler): improve message for fold method
- fix(virtualtext): invalid highlight tag (#874)
- fix(snippets): fix plaintext check
- fix(highlight): catch error of child_process.spawn
- fix(highlight): use v:progpath, fix #871
- fix(floatFactory): escape feedkeys
- fix(handler): fix getCurrentFunctionSymbol not work
# 2019-06-12
- feat(document): add getVar method
- fix(util): not break selection on message
- fix(workspace): fix jumpTo not work on vim8
- fix(completion): trigger completion with word character
- refactor(handler): return boolean result
- perf(workspace): improve jump performance
- fix(util): Escape filename for jump (#862)
- refactor(plugin): not show empty hover
- feat(outline): ignore callback function
- feat(workspace): support list of events with registerAutocmd
- fix(workspace): fix jump with tab drop
- refactor(language-client): change API of selectionRanges
# 2019-06-09
- **Break change** `CocHighlightText` link to `CursorColumn` by default.
- **Break change** logger folder changed to `$XDG_RUNTIME_DIR` when exists.
- Add `<PageUp>` and `<PageDown>` support for list, #825.
- Add function `coc#add_command()`.
- Add `disableDiagnostics` & `disableCompletion` to languageclient configuration.
- Add `signature.triggerSignatureWait` configuration.
- Add vim-repeat support for run command and quickfix.
- Add preferred `codeAction` support.
- Add `prompt.paste` action to list.
- Add title as argument support for `codeAction` action.
- Add `suggest.floatEnable` configuration.
- Add `editor.action.organizeImport` command.
- Add `:CocAction` and `:CocFix` commands.
- Add `codeActions` action.
- Fix issues with list.
# 2019-05-30
- **Break change** logger folder changed.
- Add support of vim-repeat for `<Plug>` keymaps.
- Add `CocRegistNotification()` function.
- Add argument to rename action.
- Add `suggest.disableMenuShortcut` configuration.
- Add glob support for root patterns.
- Add `<esc>` keymap to list window.
- Add shortcut in sources list.
- Add `list.previewSplitRight` configuration.
- Add `triggerOnly` property to source.
- Add warning for duplicate extension.
- Bug fixes.
# 2019-05-07
- **New feature** load extensions from coc-extensions folder.
- Add `workspace.renameCurrentFile` command.
- Add `FloatBuffer`, `FloatFactory` and `URI` to exports.
- Add `resolveItem` support to list.
- Fix prompt can't work when execute list action.
- Fix ansiparser for empty color ranges.
- Fix highlight only work with first 8 items.
# 2019-04-27
- **Break change** vim-node-rpc not required on vim.
- **Break change** python not required on vim.
- **Break change** complete items would refreshed after 500ms when not finished.
- Add `additionalSchemes` for configured language server.
- Add support for jumpCommand as false.
- Fix `diagnostic.level` not work.
# 2019-04-09
- **Break change** `--strictMatch` option of list renamed to `--strict`
- **Break change** `suggest.reloadPumOnInsertChar` support removed.
- **Break change** no more binary release.
- **Break change** logic for resolve workspace folder changed.
- Add `Task` module.
- Add `getCurrentFunctionSymbol` action.
- Add `list.source.outline.ctagsFilestypes` setting.
- Add `suggest.disableMenu` and `suggest.disableMenu` settings.
- Add `equal` support for complete items.
- Add support for do action with visual select lines of list.
- Add expand tilder support for language server command.
- Add switch matcher support to list.
- Add select all support to list.
- Add quickfix action to list.
- Add `selectionRanges` of LSP.
- Add load extensions for &rtp support.
- Add `coc#on_enter()` for formatOnType and add new lines on enter.
- Improve completion by support trigger completion when pumvisible.
- Remove document check on `BufWritePre`.
# 2019-03-31
- **Break change** not using vim-node-rpc from npm modules any more.
- **Break change** rename `<Plug>_` to `<Plug>CocRefresh`.
- Fix wrong format options send to server.
- Fix throw error when extension root not created.
- Fix MarkedString not considered as markdown.
- Fix echo message on vim exit.
- Fix error throw on file watch.
- Fix unexpected update of user configuration.
# 2019-03-28
- Add `workspace.resolveRootFolder`.
- Add `diagnostic.joinMessageLines` setting.
- Add `suggest.completionItemKindLabels` setting.
- Add `memento` support for extension.
- Add `workspace.getSelectedRange`.
- Add `Terminal` module.
- Add command `workbench.action.reloadWindow`.
- Fix extension not activated by command.
- Fix broken undo with floating window.
- Fix document create possible wrong uri & filetype.
- Improve highlight with floating window.
# 2019-03-24
- **Break change** make number input not trigger completion.
- **Break change** make none keywords character doesn't filter completion.
- Add functions for check snippet state.
- Add setting `diagnostic.checkCurrentLine`.
- Fix `signature.target` not work.
- Fix flick of signature window.
- Fix EPIPE error of node-client.
- Fix wrong root of FileWatchSysmtem.
# 2019-03-19
- **Break change** signature settings now starts `signature`.
- **Break change** default request timeout changed to 5s.
- **Break change** `commands.executeCommand` return promise.
- Add `coc.preferences.signatureHelpTarget`.
- Add `diagnostic.maxWindowHeight` & `signature.maxWindowHeight`.
- Add `diagnostic.enableSign`.
- Add support for `$COC_NO_PLUGINS`.
- Add keymaps: `<Plug>(coc-float-hide)` and `<Plug>(coc-float-jump)`.
- Add `coc.preferences.enableFloatHighlight`.
- Fix issues with floating window.
- Fix critical performance issue on diff text.
- Improve color of `CocHighlightText`.
- Improve sort of complete items.
- Improve extension list with version and open action.
# 2019-03-16
- **Break change** change vim config home on windows to '\$HOME/vimfiles'.
- Add highlights to float windows.
- Add CocLocationsAsync().
- Add support for `b:coc_suggest_disable`.
- Add support for `b:coc_suggest_blacklist`.
- Add setting `diagnostic.messageTarget`.
- Add floating window support for signatures.
- Fix issues with diagnostic float.
- Fix info of completion item not shown.
- Fix CocUpdateSync not work without service start.
- Fix wrong indent spaces of snippets.
# 2019-03-11
- **Break change** change buffers instead of disk file for `workspace.applyEdits`.
- **Break change** add config errors to diagnostic list instead of jump locations.
- **Break change** hack for popup menu flicker is removed, use `suggest.reloadPumOnInsertChar` to enable it.
- **Break change** use `nvim_select_popupmenu_item` for number select completion.
- Add floating window for completion items.
- Add floating window support for diagnostics.
- Add floating window support for hover documentation.
- Add `coc#on_enter()` for notify enter pressed.
- Add setting `coc.preferences.useQuickfixForLocations`.
- Add support of `g:coc_watch_extensions` for automatic reload extensions.
- Add command: `editor.action.doCodeAction`.
- Fix service on restarted on windows after rebuild.
- Fix config of airline.
- Fix relative path of watchman.
- Improve Mru model.
# 2019-03-03
- **Break change** signature change of `workspace.registerKeymap`.
- **Break change** `<esc>` of CocList can't be remapped any more.
- **Break change** use `yarnpkg` command instead of `yarn` when possible.
- **Break change** `noinsert` is removed from `completeopt` when `noselect` is
enabled, `<CR>` would break line by default.
- Add setting `diagnostic.refreshAfterSave`.
- Add chinese documentation.
- Add support of multiple line placeholder.
- Fix edit of nested snippet placeholders.
- Fix possible infinite create of documents.
- Fix check for resume completion.
# 2019-02-25
- **Break change** default of `suggest.detailMaxLength` changed to 100.
- **Break change** option of `workspace.registerKeymap` changed.
- Add settings: `suggest.detailField`.
- Add check for autocmd in health check.
- Add trigger patterns support for complete sources.
- Add support of `coc-snippets-expand-jump`
- Add `source` option for completion start.
- Add `sources.createSource` method.
# 2019-02-22
- **Break change** some configurations have been renamed, checkout #462.
- **Break change** no longer automatic trigger for CursorHoldI #452.
- **Break change** add preview option of `completeopt` according to `suggest.enablePreview`.
- Add statusItem for CocUpdate.
- Add `-sync` option for `:CocInstall`
- Add support for floating preview window.
- Add more module export.
- Fix check of vim-node-rpc throw error.
- Fix wrong line for TextEdit of complete item.
- Fix diagnostics not cleared on service restart.
# 2019-02-17
- **Break change** completion resolve requires CompleteChanged autocmd.
- **Break change** mapping of space on insert mode of list removed.
- **Break change** kind of completion item use single letter.
- Fix snippet not works on GUI vim.
- Fix cursor vanish on vim by use timer hacks.
- Fix behavior of list preview window.
- Fix python check on vim.
- Fix CocJumpPlaceholder not fired.
- Fix vscode-open command not work.
# 2019-02-12
- **Break change** function `coc#util#clearmatches` signature changed.
- Add check for python gtk module.
- Add check for vim-node-rpc update error.
- Fix source name of diagnostics.
- Fix empty buffers created on preview.
- Fix trigger of `CursorHoldI`.
# 2019-02-11
- **Break change:** internal filetype of settings file changed to jsonc.
- **Break change:** `coc#util#install` changed to synchronize by default.
- **Break change:** no document highlight would be added for colored symbol.
- **Break change:** remove `coc.preferences.openResourceCommand`.
- Add fallback rename implementation which rename symbols on current buffer.
- Add command `:CocUpdateSync`.
- Add `coc.preferences.detailMaxLength` for slice detail on completion menu.
- Add cancel support for completion.
- Add `ctags` as fallback of document symbols list.
- Add default key-mappings for location actions.
- Add python check on vim.
- Add `disableSyntaxes` support for completion sources.
- Add support for change `isProgress` of `StatusBarItem`
- Add check of coc.nvim version for `CocUpdate`
- Add `coc.preferences.previewAutoClose`, default true.
- Add `workspace.add registerAutocmd`.
- Fix highlight not cleared on vim
- Fix health check of service state.
- Fix CursorHoldI not triggered on neovim.
- Fix sort of list not stable.
# 2019-02-04
- **Break change:** no messages when documentSymbol and workspaceSymbol provider
not found.
- Add support for configure sign in statusline.
- Add help action for list.
- Fix parse error on extensions update.
- Fix wrong uri on windows.
- Fix cancel list without close ui.
- Improve startup time by remove jobwait.
# 2019-02-02
- **Break change:** extensions now update automatically, prompt is removed.
- Add check for extension compatibility.
- Add transform support for placeholder.
- Add check for node version.
- Add error check for list.
- Add settings: `coc.preferences.diagnostic.virtualTextLines`.
- Fix preview window not shown.
- Fix highlight not cleared on vim.
- Fix highlight commands of list block vim on start.
- Improve extension load.
- Improve list experience.
# 2019-01-28
- **Break change:** `coc.preferences.diagnostic.echoMessage` changed to enum.
- Add mru support for commands and lists list.
- Add `coc.preferences.diagnostic.refreshOnInsertMode`
- Add `Mru` module.
- Improve highlight for lists, support empty `filterLabel`.
- Fix `findLocations` not work with nest locations.
- Fix cursor position after apply additionalTextEdits.
# 2019-01-24
- **Break change:** python code for denite support moved to separated repo.
- **Break change:** Quickfix list no longer used.
- Add list support.
- Add configuration: `coc.preferences.diagnostic.virtualText`.
- Add watch for `&rtp` change.
- Add support for configure `g:coc_user_config` and `g:coc_global_extensions`
- Add support for send request to coc on vim start.
- Add `g:coc_start_at_startup` support.
- Add configuration: `coc.preferences.invalidInsertCharacters`.
- Add configuration: `coc.preferences.snippetStatusText`.
- Add `coc#_insert_key()` for insert keymap.
- Add `workspace.registerExprKeymap()`.
- Add detect for `vim-node-rpc` abnormal exist.
- Add `requireRootPattern` to languageserver configuration.
- Fix git check, always generate keywords.
- Fix crash when `righleft` set to 1 on neovim.
- Fix snippet position could be wrong.
# 2019-01-09
- **Break change:** throw error when languageserver id is invalid.
- Add watcher for languageserver configuration change.
- Fix possible invalid package.json.
- Fix applyEdits not work sometimes.
- Fix server still started when command search failed.
- Fix log file not writeable.
- Improve completion performance.
# 2019-01-03
- **Break change:** using of `g:rooter_patterns` is removed.
- **Break change:** diagnostics would be updated in insert mode now.
- Add configuration: `coc.preferences.rootPatterns`
- Add `TM_SELECTED_TEXT` and `CLIPBOARD` support for snippets.
- Fix check of latest insert char failed.
- Fix highlight not cleared sometimes.
# 2019-01-01
- Fix issues with completion.
# 2018-12-31
- **Break change:** created keymaps use rpcrequest instead of rpcnotify.
- **Break change:** snippets provider is removed, use `coc-snippets` for
extension snippets.
- Add command: `coc.action.insertSnippet`
- Fix position of snippets.
- Fix modifier of registered keymaps.
- Fix completion triggered on complete done.
- Fix closure function possible conflict.
- Fix unexpected snippet cancel.
- Fix document applyEdits, always use current lines.
- Fix fail of yarn global command.
- Fix check of changedtick on completion done.
- Fix line used for textEdit of completion.
- Fix snippet canceled by `formatOnType`.
- Fix `CocJumpPlaceholder` not fired
- Optimize content synchronize.
# 2018-12-27
- **Break change:** no more message on service ready.
- **Break change:** vim source now registered as extension.
- **Break change:** complete item sort have reworked.
- **Break change:** request send to coc would throw when service not ready.
- Add support for check current state on diagnostic update.
- Add `env` opinion for registered command languageserver.
- Add outputChannel for watchman.
- Add `coc#_select_confirm()` for trigger select and confirm.
- Add `coc.preferences.numberSelect`.
- Add priority support for format provider.
- Add `workspace.watchGlobal` and `workspace.watchOption` methods.
- Fix cursor disappear on `TextChangedP` with vim.
- Fix coc process not killed when update on windows.
- Fix snippet broken on vim.
- Fix support of startcol of completion result.
- Fix `labelOffsetSupport` wrong position.
- Fix flicking on neovim.
- Fix unicide not considered as iskeyword.
- Fix watchman client not initialized sometimes.
- Improve performance for parse iskeyword.
- Not echo message on vim exit.
- Not send empty configuration change to languageserver.
# 2018-12-20
- **Break change** configuration for module language server, transport now
require specified value.
- **Break change** new algorithm for socre complete items.
- Add command `workspace.clearWatchman`.
- Add `quickfixs`, `doCodeAction` and `doQuickfix` actions.
- Add `g:vim_node_rpc_args` for debug purpose.
- Add `coc#add_extension()` for specify extensions to install.
- Fix clients not restarted on CocRestart.
- Fix `execArgv` and `runtime` not work for node language server.
- Fix detail of complete item not echoed sometimes.
- Fix actions missing when registered with same clientId.
- Fix issues with signature echo.
- Fix uri is wrong with whitespace.
- Improve highlight performance with `nvim_call_atomic`.
# 2018-12-17
- **Break change** `vim-node-rpc` now upgrade in background.
- Add `ignoredRootPaths` to `languageserver` option.
- Add detect of vim running state.
- Add `client.vim` for create clients.
- Fix possible wrong current line of `completeResolve`.
- Fix snippet not work with `set virtualedit=all`.
- Fix default timeout to 2000.
- Fix file mode of log file.
# 2018-12-12
- **Break change** `fixInsertedWord` fix inserted word which ends with word
after.
- **Break change** `onCompleteSelect` is removed.
- Add `workspace.registerKeymap` for register keymap.
- Add match score for sort complete items.
- Fix possible connection lost.
- Fix priority of diagnostic signs.
- Fix possible wrong uri.
- Fix `RevealOutputChannelOn` not default to `never`.
- Fix possible wrong line used for textEdit of complete item.
- Fix possible wrong cursor position of snippet after inserted.
# 2018-12-08
- **Break change** default rootPath would be directory of current file, not cwd.
- **Break change** codeLens feature now disabled by default.
- **Break change** diagnostic prev/next now loop diagnostics.
- Add support of neovim highlight namespace.
- Add support for undo `additionalTextEdits` on neovim
- Fix configuration resolve could be wrong.
- Fix word of completion item could be wrong.
- Fix rootPath could be null.
- Fix highlight not cleared on restart.
# 2018-12-06
- **Break change** `RevealOutputChannelOn` of language client default to
`never`.
- Fix can't install on windows vim.
- Fix `displayByAle` not clearing diagnostics.
- Add check for `vim-node-rpc` update on vim.
- Add `Resolver` module.
- Improve apply `WorkspaceEdit`, support `0` as document version and merge
edits for same document.
# 2018-12-05
- Add `CocJumpPlaceholder` autocmd.
- Add `rootPatterns` to `languageserver` config.
- Add setting: `coc.preferences.hoverTarget`, support use echo.
- Add setting `coc.preferences.diagnostic.displayByAle` for use ale to display errors.
- Add setting `coc.preferences.extensionUpdateCheck` for control update check of
extensions.
- Add `coc#config` for set configuration in vim.
- Fix rootPath not resolved on initialize.
- Fix possible wrong `tabSize` by use `shiftwidth` option.
- Fix trigger of `documentColors` request.
- Fix `vim-node-rpc` service not work on windows vim.
- Fix `codeLens` not works.
- Fix highlight of signatureHelp.
- Fix watchman watching same root multiple times.
- Fix completion throw undefined error.
- Fix `open_terminal` not works on vim.
- Fix possible connection lost by use notification when possible.
- Fix process not terminated when connection lost.
- Rework diagnostics with task sequence.
- Rework configuration with more tests.
# 2018-11-28
- _Break change_ signature help reworked, vim API for echo signature changed.
- Add `:CocInfo` command.
- Add trigger for signature help after function expand.
- Add echo message when provider not found for some actions.
- Add support for `formatexpr`
- Add support for locality bonus like VSCode.
- Add support of `applyAdditionalLEdits` on item selected by `<esc>`
- Add `coc.preferences.useQuickfixForLocations`
- Add `coc.preferences.messageLevel`
- Add support for trigger command which not registered by server.
- Add `g:coc_denite_quickfix_action`
- Fix insert unwanted word when trigger `commitCharacter`.
- Fix rpc request throw on vim.
- Fix `data` of complete item conflict.
- Fix code action not work sometime.
- Fix `coc.preferences.diagnostic.locationlist` not work.
- Fix `coc.preference.preferCompleteThanJumpPlaceholder`.
- Fix `workspace.jumpTo` not work sometime.
- Fix line indent for snippet.
- Fix trigger of `signatureHelp` and `onTypeFormat`.
# 2018-11-24
- **Break change** sources excluding `around`, `buffer` or `file` are extracted
as extensions.
- **Break change** custom source doesn't exist any more.
- Add `coc.preferences.preferCompleteThanJumpPlaceholder` to make jump
placeholder behavior as confirm completion when possible.
- Add `CocDiagnosticChange` autocmd for force statusline update.
- Add `onDidUnloadExtension` event on extension unload.
- Fix `getDiagnosticsInRange`, consider all interactive ranges.
- Fix completion throw when `data` on complete item is `string`.
- Fix `commitCharacters` not works.
- Fix workspace methods: `renameFile`, `deleteFile` and `resolveRoot`.
- Fix textEdit of builtin sources not works.
# 2018-11-19
- **Break change** snippet support reworked: support nest snippets, independent
session in each buffer and lots of fixes.
- **Break change** diagnostic list now sort by severity first.
- Add commands: `:CocUninstall` and `:CocOpenLog`
- Add cterm color for highlights.
- Add line highlight support for diagnostic.
- Add `coc.preferences.fixInsertedWord` to make complete item replace current word.
- Fix check confirm not works on vim sometimes.
- Fix check of `vim-node-rpc`.
- Fix preselect complete item not first sometimes.
- Improve completion sort result by consider more abort priority and recent
selected.
- Improve colors module, only highlight current buffer and when buffer changed.
- Improve `doc/coc.txt`
# 2018-11-13
- **Break change** default completion timeout changed to 2s.
- **Break change** snippet session not canceled on `InsertLeave`, use
`<esc>` in normal mode to cancel.
- Add document color support.
- Add CocAction 'pickColor' and 'colorPresentation'.
- Add prompt for install vim-node-rpc module.
- Add support for `inComplete` completion result.
- Add status item for snippet session.
- Add support for fix inserted text of snippet completion item.
- Fix document highlight not cleared.
- Fix cancel behavior of snippet.
- Fix range check of edit on snippet session.
- Fix check of completion confirm.
- Fix highlight group 'CocHighlightWrite' not work.
- Fix command `editor.action.rename` not works.
- Fix throw error before initialize.
- Fix `g:coc_node_path` not working.
- Fix file source throw undefined error.
- Improve logic of sorting completion items, strict match items comes first.
# 2018-11-07
- **Break change** word source removed from custom sources, enabled for markdown
by default.
- **Break change** ignore sortText when input.length > 3.
- **Break change** show prompt for install `coc-json` when not found.
- Fix document content synchronize could be wrong.
- Fix filetype not converted on completion.
- Fix complete item possible not resolved.
- Improve document highlight, no highlight when cursor moved.
- Improve completion score, use fuzzaldrin-plus replace fuzzaldrin.
# 2018-11-02
- **Break change** no items from snippets source when input is empty.
- **Break change** `javascript.jsx` would changed to `javascriptreact` as languageId.
- **Break change** `typescript.tsx` would changed to `typescriptreact` as languageId.
- Add support for `commitCharacters` and `coc.preferences.acceptSuggestionOnCommitCharacter`.
- Add setting: `coc.preferences.diagnostic.level`.
- Add `g:coc_filetype_map` for customize mapping between filetype and languageId.
- Add `g:coc_node_path` for custom node executable.
- Add `workspaceFolders` feature to language client.
- Add `~` to complete item of snippet source.
- Add `onDidChangeWorkspaceFolder` event
- Fix `eol` issue by check `eol` option.
- Fix `workspace.document` could be null.
- Fix `workspaceFolder` could be null.
- Fix diagnostic for quickfix buffer.
- Fix resolve of `coc.preferences.rootPath`
# 2018-10-29
- **Break change** diagnostic reworked, no refresh on insert mode.
- **Break change** keep `sortText` on filter for better result.
- **Break change** prefer trigger completion than filter, same as VSCode.
- **Break change** filetype of document would be first part of `&filetype` split by `.`.
- **Break change** prefer label as abbr for complete item.
- Fix creating wrong `textEdit` for snippet.
- Fix `startcol` of `CompleteResult` not working.
- Fix `workspaceConfiguration.toJSON` return invalid result.
- Fix `workspace.readFile` not synchronized with buffer.
- Fix `workspace.rootPath` not resolved as expected.
- Fix `CompletionItem` resolved multiple times.
- Fix check of `latestInsert` on completion.
- Fix `formatOnType` possible add unnecessary indent.
- Fix document content synchronized on vim.
- Fix confirm check of completion for all source.
- Fix document possible register multiple times.
- Fix completion always stopped when input is empty.
- Add warning message when definition not found.
- Add `redraw` after `g:coc_status` changed.
- Remove change of `virtualedit` option of snippet.
- Improved performance of filter completion items.
# 2018-10-25
- Fix `implementation` and `typeDefinition` of language client not working.
- Fix `diffLines` return wrong range.
- Fix `setqflist` and `setloclist` not works on vim.
- Fix snippets and `additionalTextEdits` not works on vim.
- Fix append lines not works on vim.
- Fix highlight action not works on vim.
- Fix null version of `TextDocumentIdentifier` not handled.
- Add `workspace.registerTextDocumentContentProvider` for handle custom uri.
- Add `workspace.createStatusBarItem` method.
# 2018-10-21
- **Break change**: `triggerAfterInsertEnter` now respect `minTriggerInputLength`.
- Add `coc.preferences.minTriggerInputLength`.
- Add command: `:CocCommand`.
- Fix `position` of `provideCompletionItems`.
- Fix content change not trigger after completion.
- Fix default sorters & matchers of denite sources.
- Fix `outputChannel` wrong `buftype`.
- Fix completion not works with `textEdit` add new lines.
- Fix first item not resolved when `noselect` is disabled
- Remove using of `diff` module.
# 2018-10-18
- **Break change**: all buffers are created as document.
- **Break change**: retrieve workspace root on document create.
- Fix `uri` for all buffer types.
- Fix bad performance on parse keywords.
- Fix check of language client state.
- Fix register of `renameProvider`
- Fix `CocRequestAsync` not work.
- Fix `workspace.openResource` error with `wildignore` option.
- Fix output channel can't shown if hidden.
- Fix extension activate before document create.
- Add command `vscode.open` and `editor.action.restart`.
- Add `workspace.requestInput` method.
- Add support of `g:rooter_patterns`
- Add `storagePath` to `ExtensionContext`
- Add `workspace.env` property.
- Add support of scoped configuration.
- Disable buffer highlight on vim.
# 2018-10-14
- **Break change** API: `workspace.resoleModule` only does resolve.
- **Break change** extension would still be loaded even if current coc version
miss match.
- **Break change** variables are removed from view of `Denite coc-symbols`
- Fix `workspace.applyEdits`
- Fix `console.log` throws in extension.
- Fix invalid `workspace.root` with custom buffer schema.
- Fix possible crash on neovim 0.3.1 by not attach terminal buffer.
- Fix jump position not stored when jump to current buffer position.
- Fix install function not works on vim.
- Add support for custom uri schema for `workspace.jumpTo` and `workspace.openResource`
- Add `workspace.findUp` for find up file of current buffer.
- Add `env` option for custom language server config.
- Add vim function: `CocRequest` and `CocRequestAsync` for send request to
language server in vim.
- Add `coc.preferences.parseKeywordsLimitLines` and `coc.preferences.hyphenAsKeyword`
for buffer parse.
- Rework completion for performance and accuracy.
# 2018-10-05
- **Break change**, `workspace.onDidChangeConfiguration` emit `ConfigurationChangeEvent` now.
- Add `position` to function `coc#util#open_terminal`.
- Improve performance of completion by use vim's filter when possible.
- Fix service start multiple times.
- Fix parse of `iskeyword` option, consider `@-@`.
- Fix completion of snippet: cancel on line change.
# 2018-10-01
- Improved document `didChange` before trigger completion.
- Add option `coc.preferences.triggerCompletionWait`, default 60.
- Add watch for `iskeyword` change.
- Fix snippet jump not works sometime.
- Fix possible wrong `rootPath` of language server.
- Fix highlight of highlight action not using terminal colors.
- Fix detect for insert new line character.
# 2018-09-30
- Add quickfix source of denite and fzf
- Add option `coc.preferences.rootPath`
- Add option `revealOutputChannelOn` to language server.
- Fix jump of placeholder.
- Fix empty root on language server initialize.
# 2018-09-28
- **Break change**: `coc.preferences.formatOnType` default to `false`.
- **Break change**: snippet completion disabled in `string` and `comment`.
- Add support for register local extension.
- Add title for commands in `Denite coc-command`
- Fix prompt hidden by echo message.
- Fix contribute commands not shown in denite interface.
- Fix parse of `iskeyword`, support character range.
- Fix `triggerKind` of completion.
- Fix install extension from url not reloaded.
# 2018-09-27
- **Break change**: `:CocDisable` disabled all events from vim.
- **Break change**: new snippet implementation.
- Support multiple line snippet.
- Support VSCode snippet extension.
- Support completion of snippets from snippet extension.
- Add highlight groups for different severity.
- Add `coc.preferences.formatOnType` option.
- Add `coc.preferences.snippets.enable` option.
- Fix snippet not works as `insertText`.
- Fix echo message with multiple lines.
- Fix `signatureHelp` with `showcmd` disabled.
- Fix location list cleared on `:lopen`.
- Fix diagnostic info not cleared on `:CocDisable`
- Fix diagnostic info not cleared on buffer unload.
- Fix buffer highlight not cleared on `highlight` action.
- Fix format on type not work as expected.
# 2018-09-24
- **Break change**: use `CursorMove` instead of `CursorHold` for diagnostic
message.
- **Break change**: direct move to diagnostic position would show diagnostic
message without truncate.
- **Break change**: snippet would be canceled when mode changed to normal, no
mapping of `<esc>` any more.
- Add format document on `insertLeave` when `onTypeFormat` is supported.
- Add buffer operations on resource edit.
- Add `uninstall` action for `Denite coc-extension`.
- Fix active extension on command not working.
- Fix delete file from resource edit not works.
# 2018-09-20
- Fix diagnostic check next offset for diagnostics.
- Add `<Plug>(coc-diagnostic-info)` for show diagnostic message without
truncate.
# 2018-09-15
- Fix wrong configuration on update.
- Fix install command with tag version.
- Fix using of unsafe `new Buffer`.
- Add support of trace format & resource operations.
- Add support of json validation for extension.
- Add support of format on save by `coc.preferences.formatOnSaveFiletypes`
# 2018-09-10
- Add `Denite coc-extension` for manage extensions.
- Add actions for manage extension including `toggleExtension` `reloadExtension`
`deactivateExtension`
- Add check for extension update everyday.
- Fix extensions using same process of coc itself.
- Fix `configurationSection` should be null if none was specified.
# 2018-09-07
- **Break change**: all extension all separated from core, checkout
[Using coc extension](https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions)
- Fix `textDocumentSync` option not work when received as object.
- Fix wrong diagnostic info when using multiple lint servers.
- Use `CursorHold` for show diagnostic message.
- Add option `coc.preferences.enableMessage` to disable showing of diagnostic
message.
- Add new events module for receive vim events.
- Add support for `prepareRename`.
- Add support for `CodeActionOptions`
# 2018-08-30
- Fix wrong `triggerKind` from VSCode.
- Add `<Plug>(coc-openlink)` for open link.
- Add `typescript.jsx` as valid typescript type.
# 2018-08-23
- Fix sometimes client status invalid.
- Add multiply provider support for all features.
- Add `documentLink` support
- Add `documentHighlight` support
- Add `foldingRange` support
- Add support of `documentSelector` same as VSCode
# 2018-08-21
- Fix diagnostic and arguments of tsserver.
- Add `keepfocus` option for `open_terminal`.
- Improve error catch of autocmds.
- Add `onTypeFormat` feature for language server
- Add `onTypeFormat` support for tsserver.
- Refactor and more tests of workspace.
- Fix `window/showMessageRequest` request.
- Use `callAsync` for async request to vim.
- Add `CocActionAsync` function send async request to server.
# 2018-08-17
- Fix exists terminal buffer not watched.
- Fix buffer not attached after `edit!`.
- Fix clean diagnostics of `tsserver.watchBuild` command.
- Fix refresh of buffer.
- Fix document not found on `BufEnter`.
Use `rpcrequest` for `BufCreate`
- Fix no permission of log file.
Disable create log file for root user.
- Add more command for tsserver:
- `tsserver.reloadProjects`
- `tsserver.openTsServerLog`
- `tsserver.goToProjectConfig`
- `tsserver.restart`
- Add test for workspace.
# 2018-08-16
- Improved for tsserver:
- Add `watchBuild` command for build current project with watch in terminal.
- Support of untitled buffer
- Support `projectRootPath`
- Fix detach error of document.
- Fix trigger characters not works for some source.
- Fix document possible not sync before save.
- Fix denite errors with 0 as result.
- Fix wrong arguments of tsserver refactor command.
- Use `drop` for workspace `openResource`.
- Add clear coc signs on `:CocRestart`.
- **Break change** all buffer types except `nofile` `help` and `quickfix` are
watched for changes.
# 2018-08-15
- Fix filter of completion items on fast input.
- Fix sometimes fails of include & neosnippet source.
- Fix sometimes fails to find global modules.
- Improve complete source initialization.
- Always respect change of configuration.
- Add ability to start standalone coc service for debugging.
- Use `NVIM_LISTEN_ADDRESS=/tmp/nvim nvim` to start
neovim.
- Start coc server by command like `node bin/server.js`
- Add ability to recover from unload buffer.
Sometimes `bufReadPost` `BufEnter` could be not be fired on buffer create,
check buffer on `CursorHold` and `TextChanged` to fix this issue.
- Add tsserver features: `tsserver.formatOnSave` and `tsserver.organizeImportOnSave`
Both default to false.
- Add tests for completion sources.
# 2018-08-14
- Fix remote source not working.
- Fix sort of completion items.
- Fix EPIPE error from net module.
- Add `tslint.lintProject` command.
- Add config `coc.preferences.maxCompleteItemCount`.
- Add `g:coc_auto_copen`, default to `1`.
# 2018-08-12
- **Break change** `:CocRefresh` replaced with `call CocAction('refreshSource')`.
- Add support filetype change of buffer.
- Add basic test for completion.
- Improve loading speed, use child process to initialize vim sources.
- Improve install.sh, install node when it doesn't exist.
- Improve interface of workspace.
- Fix loading of configuration content.
# 2018-08-11
- Fix configuration content not saved on change.
- Fix thrown error on watchman not found.
- Fix incompatible options of `child_process`.
- Fix location list for diagnostics.
- Reset on `BufWinEnter`.
- Available for all windows of single buffer.
- Use replace on change for coc location list.
- Add debounce.
- Fix signature help behaviour, truncate messages to not overlap.
- Reworks sources use async import.
# 2018-08-10
- Fix dispose for all modules.
- Add support for multiple `addWillSaveUntilListener`.
- Fix `startcol` for json server.
- Add support filetype `javascriptreact` for tsserver.
# 2018-08-09
- Add `coc#util#install` for installation.
- Add `install.cmd` for windows.
# 2018-08-08
- Improved location list for diagnostics.
- Add `internal` option to command.
Commands registered by server are internal.
- Add support for multiple save wait until requests.
# 2018-08-07
- Add `forceFullSync` to language server option.
# 2018-08-05
- Improve eslint extension to use workspaceFolder.
- Fix watchman not works with multiple roots.
- Add feature: dynamic root support for workspace.
- **Break change** output channel of watchman is removed.
# 2018-08-04
- Fix order of document symbols.
- Fix completion snippet with `$variable`.
- Add feature: expand snippet on confirm.
- Add feature: `<Plug>(coc-complete-custom)` for complete custom sources.
Default customs sources: `emoji`, `include` and `word`
- **Break change** `emoji` `include` used for all filetypes by default.
# 2018-08-03
- Add command `:CocErrors` for debug.
- Support `DocumentSymbol` for 'textDocument/documentSymbol'
# 2018-08-02
- Fix error of language client with unsupported schema.
No document event fired for unsupported schema (eg: fugitive://)
- Fix update empty configuration not works.
# 2018-07-31
- Improve file source triggered with dirname started path.
# 2018-07-30
- Fix source ultisnip not working.
- Fix custom language client with command not working.
- Fix wrong arguments passed to `runCommand` function.
- Improve module install, add `sudo` for `npm install` on Linux.
- Improve completion on backspace.
- Completion is resumed when search is empty.
- Completion is triggered when user try to fix search.
# 2018-07-29
- **Break change** all servers are decoupled from coc.nvim
A prompt for download is shown when server not found.
- **Break change** `vim-node-rpc` decoupled from coc.nvim
A prompt would be shown to help user install vim-node-rpc in vim.
- Add command `CocConfig`
# 2018-07-28
- Fix uncaught exception error on windows.
- Use plugin root for assets resolve.
- Fix emoji source not triggered by `:`.
- Improve file source to recognize `~` as user home.
# 2018-07-27
- Prompt user for download server module with big extension like `vetur` and `wxml-langserver`
- **Break change**, section of settings changed: `cssserver.[languageId]` moved to `[languageId]`
For example: `cssserver.css` section is moved to `css` section.
This makes coc settings of css languages the same as VSCode.
- **Break change**, `stylelint` extension is disabled by default, add
```
"stylelint.enable": true,
```
to your `coc-settings.json` to enable it.
User will be prompted to download server if `stylelint-langserver` is not
installed globally.
- **Break change**, `triggerAfterInsertEnter` is always `true`, add
```
"coc.preferences.triggerAfterInsertEnter": false,
```
to your `coc-settings.json` to disable it.
- **Break change**, when `autoTrigger` is `always` completion would be triggered
after completion item select.
# 2018-07-24
- better statusline integration with airline and lightline.
# 2018-07-23
- Coc service start much faster.
- Add vim-node-rpc module.
- **Break change** global function `CocAutocmd` and `CocResult` are removed.
- Support Vue with vetur
# 2018-07-21
- Fix issue with `completeopt`.
- Add source `neosnippet`.
- Add source `gocode`.
# 2018-07-20
- Add documentation for language server debug.
- Rework register of functions, avoid undefined function.
# 2018-07-19
- Fix error of `isFile` check.
- Ignore undefined function on service start.
# 2018-07-17
- Add `coc.preference.jumpCommand` to settings.
- Make coc service standalone.
# 2018-07-16
- Support arguments for `runCommand` action.
- Add coc command `workspace.showOutput`.
- Support output channel for language server.
- Support `[extension].trace.server` setting for trace server communication.
# 2018-07-15
- Support location list for diagnostic.
- Add tsserver project errors command.
# 2018-07-14
- Add support for `preselect` of complete item.
- Add support for socket language server configuration.
- Fix configured language server doesn't work.
- Add `workspace.diffDocument` coc command.
- Fix buffer sometimes not attached.
- Improve completion of JSON extension.
# 2018-07-13
- **Break change:** `diagnostic` in setting.json changed to `diagnostic`.
- Fix clearHighlight arguments.
- Add eslint extension https://github.com/Microsoft/vscode-eslint.
- Fix snippet break with line have \$variable.
- Use jsonc-parser replace json5.
- Add `data/schema.json` for coc-settings.json.
# 2018-07-12
- Fix restart of tsserver not working.
- Fix edit of current buffer change jumplist by using `:keepjumps`.