coc-config.txt 40 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250
  1. *coc-config.txt* NodeJS client for Vim & Neovim.
  2. CONTENTS
  3. Http |coc-config-http|
  4. Completion |coc-config-suggest|
  5. Document highlight |coc-config-documentHighlight|
  6. Colors |coc-config-colors|
  7. Links |coc-config-links|
  8. Diagnostics |coc-config-diagnostic|
  9. Signature |coc-config-signature|
  10. Cursors |coc-config-cursors|
  11. Refactor |coc-config-refactor|
  12. Hover |coc-config-hvoer|
  13. Dialog |coc-config-dialog|
  14. Notification |coc-config-notification|
  15. CodeLens |coc-config-codelens|
  16. Workspace |coc-config-workspace|
  17. List |coc-config-list|
  18. Preferences |coc-config-preferences|
  19. Semantic tokens |coc-config-semanticTokens|
  20. Tree |coc-config-tree|
  21. Outline |coc-config-outline|
  22. Call Hierarchy |coc-config-callHierarchy|
  23. Npm |coc-config-npm|
  24. Float |coc-config-float|
  25. Language server |coc-config-languageserver|
  26. ==============================================================================
  27. BUILTIN CONFIGURATIONS *coc-config*
  28. Builtin configurations of coc.nvim, it's recommended to use `coc-json`
  29. extension for completion and validation support.
  30. ------------------------------------------------------------------------------
  31. Http request~
  32. *coc-config-http*
  33. "http.proxy" *coc-config-http-proxy*
  34. HTTP proxy URI, used for extensions that send request, default: `""`
  35. "http.proxyStrictSSL" *coc-config-http-proxyStrictSSL*
  36. Controls whether the proxy server certificate should be verified
  37. against the list of supplied CAs, default: `true`
  38. "http.proxyAuthorization" *coc-config-http-proxyAuthorization*
  39. The value to send as the `Proxy-Authorization` header for every
  40. network request.
  41. "http.proxyCA" *coc-config-http-proxyCA*
  42. CA (file) to use as Certificate Authority.
  43. ------------------------------------------------------------------------------
  44. Completion related~
  45. *coc-config-suggest*
  46. "suggest.noselect" *coc-config-suggest-noselect*
  47. Avoid select complete item on completion start, default: `false`.
  48. Note: default changed to `false` on coc.nvim 0.0.82 to provide preselect
  49. item.
  50. "suggest.selection" *coc-config-suggest-selection*
  51. Controls how suggestions are pre-selected when showing the suggest
  52. list. Default: "recentlyUsed".
  53. Could be "none", "recentlyUsed" and "recentlyUsedByPrefix".
  54. "suggest.formatItems" *coc-config-suggest-formatItems*
  55. Items shown in popup menu in order.
  56. Default to : `["abbr", "menu", "kind", "shortcut"]`
  57. "suggest.enablePreselect" *coc-config-suggest-enablePreselect*
  58. Enable preselect feature of LSP, works when "suggest.noselect" is false.
  59. Default: `true`.
  60. "suggest.labelMaxLength" *coc-config-suggest-labelMaxLength*
  61. Maximum length of label shown in popup menu, default: `200`
  62. "suggest.floatConfig" *coc-config-suggest-floatConfig*
  63. Configure style of popup menu and documentation window for completion,
  64. see |coc-config-float|.
  65. Note: some properties not work, including: "title", "focusable",
  66. "close" and "maxHeight" (use 'pumheight' option for maximum height of
  67. popup menu).
  68. Note: "maxWidth" not works for popup menu, use
  69. |coc-config-suggest-detailMaxLength| instead.
  70. "suggest.detailMaxLength" *coc-config-suggest-detailMaxLength*
  71. Max length of detail that will be shown in popup menu, default: `100`
  72. "suggest.detailField" *coc-config-suggest-detailField*
  73. Where to add the detail in complete item when it's less than max
  74. length, default: `"preview"` when floating documentation is enabled.
  75. Valid options: ["abbr", "menu", "preview"]
  76. "suggest.autoTrigger" *coc-config-suggest-autoTrigger*
  77. How should completion be triggered, default: `"always"`
  78. Valid options: ["always", "trigger", "none"]
  79. - `always`: trigger suggest on word characters and trigger
  80. characters.
  81. - `trigger`: trigger suggest on trigger characters only.
  82. - `none`: no auto trigger at all.
  83. "suggest.languageSourcePriority" *coc-config-suggest-languageSourcePriority*
  84. Priority of language sources, default: `99`
  85. "suggest.snippetIndicator" *coc-config-suggest-snippetIndicator*
  86. The character used in completion item abbreviation to indicate it
  87. expands as code snippet, default: `~`.
  88. "suggest.maxCompleteItemCount" *coc-config-suggest-maxCompleteItemCount*
  89. Maximum number of complete items shown in Vim, default: `50`
  90. "suggest.preferCompleteThanJumpPlaceholder" *coc-config-suggest-preferCompleteThanJumpPlaceholder*
  91. Confirm completion instead of jump to next placeholder when completion
  92. activates, default: `false`
  93. "suggest.snippetsSupport" *coc-config-suggest-snippetsSupport*
  94. Enable snippets expands expand on confirm completion. When set to
  95. `false` coc.nvim would set language client option:
  96. `CompletionClientCapabilities.completionItem.snippetSupport` to
  97. `false` as well.
  98. Note: the language server may still send completion items with
  99. snippets when falsy.
  100. "suggest.fixInsertedWord" *coc-config-suggest-fixInsertedWord*
  101. Inserted word replaces the next one, default: `true`
  102. "suggest.localityBonus" *coc-config-suggest-localityBonus*
  103. Boost suggestions that appear closer to the cursor position,
  104. default: `true`
  105. "suggest.triggerAfterInsertEnter" *coc-config-suggest-triggerAfterInsertEnter*
  106. Trigger completion after |InsertEnter|. Requires "suggest.autoTrigger"
  107. to be set, default: `false`
  108. "suggest.timeout" *coc-config-suggest-timeout*
  109. Timeout for completion (unit: milliseconds), default: `5000`
  110. "suggest.minTriggerInputLength" *coc-config-suggest-minTriggerInputLength*
  111. Number of characters in the current word after which the completion
  112. triggers, default: `1`
  113. "suggest.triggerCompletionWait" *coc-config-suggest-triggerCompletionWait*
  114. Delay between typing the trigger character and completion start which
  115. initiates server synchronization, default: `0`
  116. "suggest.acceptSuggestionOnCommitCharacter" *coc-config-suggest-acceptSuggestionOnCommitCharacter*
  117. The server provides a set of commit characters: these characters can
  118. trigger completion item acceptance. This also inserts commit character
  119. after the completion item text. Requires `CompleteChanged` event to work,
  120. default: `false`
  121. "suggest.lowPrioritySourceLimit" *coc-config-suggest-lowPrioritySourceLimit*
  122. Max items count for source priority lower than `90`.
  123. "suggest.highPrioritySourceLimit" *coc-config-suggest-highPrioritySourceLimit*
  124. Max items count for source priority bigger than or equal to `90`.
  125. "suggest.removeDuplicateItems" *coc-config-suggest-removeDuplicateItems*
  126. Remove completion items with duplicated word for all sources, snippet
  127. items are excluded, default: `false`
  128. "suggest.defaultSortMethod" *coc-config-suggest-defaultSortMethod*
  129. Default sorting behavior for suggested completion items, default:
  130. `length`
  131. "suggest.invalidInsertCharacters" *coc-config-suggest-invalidInsertCharacters*
  132. Invalid character for strip valid word when inserting text of complete
  133. item, default: ` ,(,<,{,[,\r,\n`
  134. "suggest.asciiCharactersOnly" *coc-config-suggest-asciiCharactersOnly*
  135. Trigger suggest with ASCII characters only, default: `false`
  136. "suggest.ignoreRegexps" *coc-config-suggest-ignoreRegexps*
  137. Array of regexps, when input matched one of them, not trigger
  138. completion, default: `[]`
  139. "suggest.virtualText" *coc-config-suggest-virtualText*
  140. Show virtual text for insert word of selected item, works on neovim >=
  141. 0.5.0, default: `false`
  142. "suggest.completionItemKindLabels" *coc-config-suggest-completionItemKindLabels*
  143. Set custom labels to completion item kinds, default: `{}`.
  144. Example configuration: with https://nerdfonts.com: >
  145. "suggest.completionItemKindLabels": {
  146. "keyword": "\uf1de",
  147. "variable": "\ue79b",
  148. "value": "\uf89f",
  149. "operator": "\u03a8",
  150. "constructor": "\uf0ad",
  151. "function": "\u0192",
  152. "reference": "\ufa46",
  153. "constant": "\uf8fe",
  154. "method": "\uf09a",
  155. "struct": "\ufb44",
  156. "class": "\uf0e8",
  157. "interface": "\uf417",
  158. "text": "\ue612",
  159. "enum": "\uf435",
  160. "enumMember": "\uf02b",
  161. "module": "\uf40d",
  162. "color": "\ue22b",
  163. "property": "\ue624",
  164. "field": "\uf9be",
  165. "unit": "\uf475",
  166. "event": "\ufacd",
  167. "file": "\uf723",
  168. "folder": "\uf114",
  169. "snippet": "\ue60b",
  170. "typeParameter": "\uf728",
  171. "default": "\uf29c"
  172. }
  173. <
  174. ------------------------------------------------------------------------------
  175. Document highlight~
  176. *coc-config-documentHighlight*
  177. "documentHighlight.priority" *coc-config-documentHighlight-priority*
  178. Match priority used by document highlight, see ':h matchadd'.
  179. Default `-1`
  180. "documentHighlight.timeout" *coc-config-documentHighlight-timeout*
  181. Timeout for document highlight, in milliseconds.
  182. Default `500`
  183. ------------------------------------------------------------------------------
  184. Colors highlight~
  185. *coc-config-colors*
  186. "colors.filetypes" *coc-config-colors-filetypes*
  187. Filetypes that should enable colors highlight feature.
  188. Use `*` for all filetypes.
  189. Default: `[]`
  190. ------------------------------------------------------------------------------
  191. Links~
  192. *coc-config-links*
  193. "links.tooltip" *coc-config-links-tooltip*
  194. Show tooltip of link under cursor on CursorHold, neovim only.
  195. Default: `false`
  196. ------------------------------------------------------------------------------
  197. Diagnostics~
  198. *coc-config-diagnostic*
  199. "diagnostic.enable" *coc-config-diagnostic-enable*
  200. Display diagnostics, default: `true`
  201. "diagnostic.autoRefresh" *coc-config-diagnostic-autoRefresh*
  202. Enable automatically refresh diagnostics, use
  203. |CocAction('diagnosticRefresh')| action to refresh diagnostics when it's
  204. disabled, default: `true`
  205. "diagnostic.refreshOnInsertMode" *coc-config-diagnostic-refreshOnInsertMode*
  206. Refresh diagnostics when in insert mode, default: `false`
  207. "diagnostic.displayByAle" *coc-config-diagnostic-displayByAle*
  208. Use ALE for displaying diagnostics. This will disable coc.nvim for
  209. displaying diagnostics. Restart to make changes take the effect,
  210. default: `false`
  211. "diagnostic.level" *coc-config-diagnostic-level*
  212. Filter diagnostics by severity level (affect both UI and diagnostic
  213. list), default: `"hint"`
  214. Valid options: ["hint", "information", "warning", "error"]
  215. "diagnostic.highlighLimit" *coc-config-diagnostic-highlighLimit*
  216. Limit count for highlighted diagnostics, too many diagnostic
  217. highlights could make vim stop responding.
  218. Default: `1000`
  219. "diagnostic.highlightPriority" *coc-config-diagnostic-highlightPriority*
  220. Priority for diagnostic highlights, works on vim8 and neovim >= 0.6.0
  221. Default: `4096`
  222. "diagnostic.enableSign" *coc-config-diagnostic-enableSign*
  223. Enable signs for diagnostics, default: `true`
  224. "diagnostic.signLevel" *coc-config-diagnostic-signLevel*
  225. Filter diagnostics in sign column, default: `null`.
  226. "diagnostic.signPriority" *coc-config-diagnostic-signPriority*
  227. Priority of diagnostic sign, default to `10`, check |sign-priority|.
  228. "diagnostic.errorSign" *coc-config-diagnostic-errorSign*
  229. Sign of error diagnostics shown in the 'signcolumn', default: `">>"`
  230. "diagnostic.warningSign" *coc-config-diagnostic-warningSign*
  231. Sign of warning diagnostics shown in the 'signcolumn', default: `"⚠"`
  232. "diagnostic.infoSign" *coc-config-diagnostic-infoSign*
  233. Sign of info diagnostics shown in the 'signcolumn', default: `">>"`
  234. "diagnostic.hintSign" *coc-config-diagnostic-hintSign*
  235. Sign of hint diagnostics shown in the 'signcolumn', default: `">>"`
  236. "diagnostic.enableHighlightLineNumber" *coc-config-diagnostic-enableHighlightLineNumber*
  237. Enable highlighting line numbers for diagnostics, only works with
  238. neovim and `diagnostic.enableSign` is true.
  239. default: `true`
  240. "diagnostic.locationlistUpdate" *coc-config-diagnostic-locationlistUpdate*
  241. Update locationlist on diagnostics change, only works with
  242. locationlist opened by :CocDiagnostics command and first window of
  243. associated buffer.
  244. default: `true`
  245. "diagnostic.locationlistLevel" *coc-config-diagnostic-locationlistLevel*
  246. Filter diagnostics in locationlist, default: `null`.
  247. "diagnostic.enableMessage" *coc-config-diagnostic-enableMessage*
  248. When to enable show messages of diagnostics.
  249. Valid options: ["always","jump","never"], always means including
  250. cursor hold and after jump to another diagnostic.
  251. default: `"always"`
  252. "diagnostic.messageLevel" *coc-config-diagnostic-messageLevel*
  253. Filter diagnostic message in float window/popup, default: `null`.
  254. "diagnostic.checkCurrentLine" *coc-config-diagnostic-checkCurrentLine*
  255. Show all diagnostics of the current line if none of them are at the
  256. current position, default: `false`
  257. "diagnostic.messageDelay" *coc-config-diagnostic-messageDelay*
  258. How long to wait (in milliseconds) before displaying the diagnostic
  259. message with echo or float.
  260. Default: `200`
  261. "diagnostic.messageTarget" *coc-config-diagnostic-messageTarget*
  262. Diagnostic message target, default: `"float"`
  263. Valid options: ["echo", "float"]
  264. "diagnostic.format" *coc-config-diagnostic-format*
  265. Define the diagnostic message format.
  266. Available parts: source, code, severity, message
  267. Default: `[%source%code] [%severity] %message`
  268. "diagnostic.floatConfig" *coc-config-diagnostic-floatConfig*
  269. Configuration of floating window/popup, see |coc-config-float|.
  270. "diagnostic.filetypeMap" *coc-config-diagnostic-filetypeMap*
  271. A map between buffer filetype and the filetype assigned to diagnostics
  272. in float window. To syntax highlight diagnostics with their parent
  273. buffer type use `"default": "bufferType"`, default: `{}`
  274. "diagnostic.virtualText" *coc-config-diagnostic-virtualText*
  275. Use Neovim virtual text to display diagnostics, default: `false`
  276. "diagnostic.virtualTextLevel" *coc-config-diagnostic-virtualTextLevel*
  277. Filter diagnostic message in virtual text by level, default: `null`
  278. "diagnostic.virtualTextWinCol" *coc-config-diagnostic-virtualTextWinCol*
  279. Window column number to align virtual text, default: `null`
  280. "diagnostic.virtualTextCurrentLineOnly" *coc-config-diagnostic-virtualTextCurrentLineOnly*
  281. Only show virtualText diagnostic on current cursor line, default:
  282. `true`
  283. "diagnostic.virtualTextPrefix" *coc-config-diagnostic-virtualTextPrefix*
  284. The prefix added for virtual text diagnostics, default: `" "`
  285. "diagnostic.virtualTextLines" *coc-config-diagnostic-virtualTextLines*
  286. The number of non-empty lines from a diagnostic to display, default: `3`
  287. "diagnostic.virtualTextLineSeparator" *coc-config-diagnostic-virtualTextLineSeparator*
  288. The text that will mark a line end from the diagnostic message,
  289. default: `" \\ "`
  290. "diagnostic.separateRelatedInformationAsDiagnostics" *coc-config-diagnostic-separateRelatedInformationAsDiagnostics*
  291. Separate related information as diagnostics, default: `false`
  292. ------------------------------------------------------------------------------
  293. Signature~
  294. *coc-config-signature*
  295. "signature.enable" *coc-config-signature-enable*
  296. Enable signature help when trigger character typed. Requires service
  297. restart on change, default: `true`
  298. "signature.floatConfig" *coc-config-signature-floatConfig*
  299. Configuration of floating window/popup for signature documents, see
  300. |coc-config-float|.
  301. "signature.triggerSignatureWait" *coc-config-signature-triggerSignatureWait*
  302. Timeout for signature request trigger (milliseconds), default: `500`.
  303. Change to higher value for slow Language Servers.
  304. "signature.target" *coc-config-signature-target*
  305. Target of signature help, use `"float"` when possible by default.
  306. Valid options: ["float", "echo"]
  307. "signature.preferShownAbove" *coc-config-signature-preferShownAbove*
  308. Show signature help's floating window above cursor when possible.
  309. Requires restart on change, default: `true`
  310. "signature.hideOnTextChange" *coc-config-signature-hideOnTextChange*
  311. Hide signature help's floating window when text changed. Requires
  312. restart on change, default: `false`
  313. ------------------------------------------------------------------------------
  314. Multiple cursors~
  315. *coc-config-cursors*
  316. "cursors.cancelKey" *coc-config-cursors-cancelKey*
  317. Key used for cancel cursors session, default: `<esc>`
  318. "cursors.nextKey" *coc-config-cursors-nextKey*
  319. Key used for jump to next cursors position. , default: `<C-n>`
  320. "cursors.previousKey" *coc-config-cursors-previousKey*
  321. Key used for jump to previous cursors position, default: `<C-p>`
  322. "cursors.wrapscan" *coc-config-cursors-wrapscan*
  323. Searches wrap around the first or last cursors range, default: `true`
  324. ------------------------------------------------------------------------------
  325. Refactor buffer~
  326. *coc-config-refactor*
  327. "refactor.saveToFile" *coc-config-refactor-saveToFile*
  328. Save changed buffer to file when write refactor buffer with ':noa wa'
  329. command. set to false if you want save buffer by yourself.
  330. "refactor.openCommand" *coc-config-refactor-openCommand*
  331. Open command for refactor window, default: `vsplit`
  332. "refactor.beforeContext" *coc-config-refactor-beforeContext*
  333. Print num lines of leading context before each match, default: `3`
  334. "refactor.afterContext" *coc-config-refactor-afterContext*
  335. Print num lines of trailing context after each match, default: `3`
  336. "refactor.showMenu" *coc-config-refactor-showMenu*
  337. Refactor buffer local mapping to bring up menu for this chunk,
  338. default: `<Tab>`
  339. ------------------------------------------------------------------------------
  340. Hover~
  341. *coc-config-hover*
  342. "hover.target" *coc-config-hover-target*
  343. Target to show hover information, default is floating window when
  344. possible.
  345. Valid options: ["preview", "echo", "float"]
  346. "hover.previewMaxHeight" *coc-config-hover-previewMaxHeight*
  347. Max height of preview window for hover, default: `12`
  348. "hover.floatConfig" *coc-config-hover-floatConfig*
  349. Configuration of floating window/popup for hover documents, see
  350. |coc-config-float|.
  351. "hover.autoHide" *coc-config-hover-autoHide*
  352. Automatically hide hover float window on CursorMove or InsertEnter,
  353. default `true`.
  354. ------------------------------------------------------------------------------
  355. Dialog~
  356. *coc-config-dialog*
  357. "dialog.maxWidth" *coc-config-dialog-maxWidth*
  358. Maximum width of dialog window.
  359. "dialog.maxHeight" *coc-config-dialog-maxHeight*
  360. Maximum height of dialog window.
  361. "dialog.rounded" *coc-config-dialog-rounded*
  362. Use rounded border for dialog window, default `true`.
  363. "dialog.confirmKey" *coc-config-dialog-confirmKey*
  364. Confirm key for confirm selection used by menu and picker, you can
  365. always use <esc> to cancel, default to `<cr>`.
  366. "dialog.pickerButtons" *coc-config-dialog-pickerButtons*
  367. Show buttons for picker dialog window/popup, default `true`.
  368. "dialog.pickerButtonShortcut" *coc-config-dialog-pickerButtonShortcut*
  369. Show shortcut in buttons of picker dialog window/popup, used when
  370. dialog.pickerButtons is true, default `true`.
  371. "dialog.floatHighlight" *coc-config-dialog-floatHighlight*
  372. Highlight group for dialog window/popup, default to 'CocFloating'.
  373. "dialog.floatBorderHighlight" *coc-config-dialog-floatBorderHighlight*
  374. Highlight group for border of dialog window/popup, default to
  375. 'CocFloating'.
  376. "dialog.shortcutHighlight" *coc-config-dialog-shortcutHighlight*
  377. Highlight group for shortcut character in menu dialog, default to
  378. 'MoreMsg'
  379. ------------------------------------------------------------------------------
  380. Notification~
  381. *coc-config-notification*
  382. "notification.maxWidth" *coc-config-notification-maxWidth*
  383. Maximum content width of notification dialog, default to `60`.
  384. "notification.maxHeight" *coc-config-notification-maxHeight*
  385. Maximum content height of notification dialog, default to `10`.
  386. "notification.disabledProgressSources" *coc-config-notification-disabledProgressSources*
  387. Sources that should be disabled for message progress, use "*" to
  388. disable all message only progress notifications, default to `[]`
  389. Source name could be extension id or `language-client-{id}`.
  390. "notification.minProgressWidth" *coc-config-notification-minProgressWidth*
  391. Minimal with of progress notification.
  392. "notification.highlightGroup" *coc-config-notification-highlightGroup*
  393. Highlight group of notification dialog, default to `CocFloating`.
  394. "notification.winblend" *coc-config-notification-winblend*
  395. Winblend option of notification window, neovim only, default `30`.
  396. "notification.border" *coc-config-notification-border*
  397. Enable rounded border for notification windows, default `true`.
  398. "notification.timeout" *coc-config-notification-timeout*
  399. Timeout for auto close notifications, in miniseconds, default `10000`.
  400. "notification.marginRight" *coc-config-notification-marginRight*
  401. Margin right to the right of editor window, default `10`.
  402. "notification.focusable" *coc-config-notification-focusable*
  403. Enable focus by user actions (wincmds, mouse events), neovim only,
  404. default `true`.
  405. ------------------------------------------------------------------------------
  406. CodeLens~
  407. *coc-config-codelens*
  408. "codeLens.enable" *coc-config-codeLens-enable*
  409. Enable `codeLens` feature. Requires Neovim with virtual text feature,
  410. default: `false`.
  411. "codeLens.position" *coc-config-codeLens-position*
  412. Position of codeLens, works on nvim >= 0.6.0, valid options
  413. ["top", "eol", "right_align"], default: `top`.
  414. "codeLens.separator" *coc-config-codeLens-separator*
  415. Separator text for `codeLens` in virtual text, default: `""`.
  416. "codeLens.subseparator" *coc-config-codeLens-subseparator*
  417. Subseparator text for multiple codelens in virtual text, default: `" "`
  418. ------------------------------------------------------------------------------
  419. Workspace related~
  420. *coc-config-workspace*
  421. "workspace.openOutputCommand" *coc-config-workspace-openOutputCommand*
  422. Command used to open output channel, default: `vs`
  423. "workspace.openResourceCommand" *coc-config-workspace-openResourceCommand*
  424. Command to open files that not loaded, default: `tab drop`
  425. "workspace.ignoredFiletypes *coc-config-workspace-ignoredFiletypes*
  426. Filetypes to ignore for workspace folder resolution, default: `[]`
  427. Note: This is the filetype after mapping by `g:coc_filetype_map`.
  428. "workspace.ignoredFolders" *coc-config-workspace-ignoredFolders*
  429. List of folders that should not be resolved as workspace folder.
  430. Environment variables and minimatch patterns can be used.
  431. Default: ["$HOME"]
  432. "workspace.bottomUpFiletypes" *coc-config-workspace-bottomUpFiletypes*
  433. Filetypes that should have workspace folder resolved from base
  434. directory of file, or `["*"]` for any filetype.
  435. Default: []
  436. "workspace.workspaceFolderCheckCwd" *coc-config-workspace-workspaceFolderCheckCwd*
  437. Whether the cwd directory should be checked first when resolving
  438. workspace folder of current buffer.
  439. Default: `true`
  440. "workspace.workspaceFolderFallbackCwd" *coc-config-workspace-workspaceFolderFallbackCwd*
  441. Use current working directory as workspace folder when no root
  442. patterns resolved.
  443. Default: `true`
  444. ------------------------------------------------------------------------------
  445. List~
  446. *coc-config-list*
  447. "list.indicator" *coc-config-list-indicator*
  448. The character used as first character in prompt line, default: `">"`
  449. "list.alignColumns" *coc-config-list-alignColumns*
  450. Whether to align lists in columns, default: `false`
  451. "list.menuAction" *coc-config-list-menuAction*
  452. Use menu picker instead of confirm() for choose action.
  453. Default: `false`
  454. "list.height" *coc-config-list-height*
  455. Height of list window (when splited), default: `10`
  456. "list.signOffset" *coc-config-list-signOffset*
  457. Sign offset of list, should be different from other plugins, default:
  458. `900`
  459. "list.selectedSignText" *coc-config-list-selectedSignText*
  460. Sign text for selected lines, default: `"*"`
  461. "list.limitLines" *coc-config-list-limitLines*
  462. Limit lines shown in the list buffer, no limit by default, default: `null`
  463. "list.maxPreviewHeight" *coc-config-list-maxPreviewHeight*
  464. Max height for preview window of list, default: `12`
  465. "list.previewHighlightGroup" *coc-config-list-previewHighlightGroup*
  466. Highlight group used for highlighting the range in preview window,
  467. default: `"Search"`
  468. "list.previewToplineStyle" *coc-config-list-previewToplineStyle*
  469. Topline style for list previews
  470. default: `"offset"`
  471. Valid options: ["offset","middle"]
  472. "list.previewToplineOffset" *coc-config-list-previewToplineOffset*
  473. Topline offset for list previews
  474. default: `3`
  475. "list.nextKeymap" *coc-config-list-nextKeymap*
  476. Key for selecting next line in the insert mode, default: `"<C-j>"`
  477. "list.previousKeymap" *coc-config-list-previousKeymap*
  478. Key for selecting previous line in the insert mode, default: `"<C-k>"`
  479. "list.extendedSearchMode" *coc-config-list-extendedSearchMode*
  480. Enable extended search mode which allows multiple search patterns
  481. delimited by whitespace, default: `true`
  482. "list.normalMappings" *coc-config-list-normalMappings*
  483. Custom key mappings in the normal mode, default: `{}`
  484. "list.insertMappings" *coc-config-list-insertMappings*
  485. Custom key mappings in the insert mode, default: `{}`
  486. "list.interactiveDebounceTime" *coc-config-list-interactiveDebounceTime*
  487. Debounce time for input change on interactive mode, default: `100`
  488. "list.previewSplitRight" *coc-config-list-previewSplitRight*
  489. Use vsplit for preview window, default: `false`
  490. "list.source.symbols.excludes" *coc-config-list-source-symbols-excludes*
  491. Patterns of minimatch for filepath to exclude from symbols list,
  492. default: `[]`
  493. "list.source.outline.ctagsFilestypes" *coc-config-list-source-outline-ctagsFilestypes*
  494. Filetypes that should use `ctags` for outline instead of language server,
  495. default: `[]`
  496. "list.source.diagnostics.pathFormat" *coc-config-list-source-diagnostics-pathFormat*
  497. Decide how the filepath is shown in the list.
  498. Valid options: ["full", "short", "filename", "hidden"].
  499. default: `"full"`
  500. "list.source.diagnostics.includeCode" *coc-config-list-source-diagnostics-includeCode*
  501. Whether to show the diagnostic code in the list.
  502. default: `true`
  503. ------------------------------------------------------------------------------
  504. Preferences~
  505. *coc-config-preferences*
  506. "coc.preferences.enableLinkedEditing" *coc-preferences-enableLinkedEditing*
  507. Enable linked editing support, default: `false`
  508. "coc.preferences.enableMessageDialog" *coc-preferences-enableMessageDialog*
  509. Enable messages shown in notification dialog, default: `false`
  510. "coc.preferences.maxFileSize" *coc-preferences-maxFileSize*
  511. Maximum file size in bytes that coc.nvim should handle, default: `'10MB'`
  512. "coc.preferences.useQuickfixForLocations" *coc-preferences-useQuickfixForLocations*
  513. Use Vim's quickfix list for jump locations. Requires restart on change,
  514. default: `false`
  515. "coc.preferences.extensionUpdateCheck" *coc-preferences-extensionUpdateCheck*
  516. Interval for checking extension updates, default: `"never"`
  517. Valid options: ["daily","weekly","never"]
  518. "coc.preferences.snippetHighlight" *coc-preferences-snippetHighlight*
  519. Use highlight group 'CocSnippetVisual' to highlight placeholders with
  520. same index of current one.
  521. default: `false`
  522. "coc.preferences.snippetStatusText" *coc-preferences-snippetStatusText*
  523. Text shown in 'statusline' to indicate snippet session is activate.
  524. Check |coc-status| for statusline integration.
  525. Default: `"SNIP"`
  526. "coc.preferences.currentFunctionSymbolAutoUpdate" *coc-preferences-currentFunctionSymbolAutoUpdate*
  527. Automatically update the value of `b:coc_current_function` on `CursorHold`
  528. event, default: `false`
  529. "coc.preferences.formatOnSaveFiletypes" *coc-preferences-formatOnSaveFiletypes*
  530. Filetypes for which formatting triggers when saving, default: `[]`
  531. The operation only format the document by one format provider that
  532. have highest priority, timeout is 500ms to avoid vim blocked for too
  533. long time.
  534. Note: This is the filetype after mapping by `g:coc_filetype_map`.
  535. Note since vim's autocmd not nested by default, coc.nvim may not
  536. receive latest code when you're using other vim plugin to format
  537. document at the same time.
  538. "coc.preferences.rootPatterns" *coc-preferences-rootPatterns*
  539. Root patterns to resolve `workspaceFolder` from parent folders of opened
  540. files, resolved from up to down, default:
  541. `[".git",".hg",".projections.json"]`
  542. "coc.preferences.watchmanPath" *coc-preferences-watchmanPath*
  543. Executable path for https://facebook.github.io/watchman/, detected
  544. from $PATH by default, default: `null`
  545. "coc.preferences.jumpCommand" *coc-preferences-jumpCommand*
  546. Command used for location jump performed for goto definition, goto
  547. references etc, default: `"edit"`
  548. Valid options: ["edit", "split", "vsplit", "tabe", "drop", "tab drop"]
  549. "coc.preferences.messageLevel" *coc-preferences-messageLevel*
  550. Message level for filter echoed messages default: `"more"`
  551. Valid options: ["more", "warning", "error"]
  552. "coc.preferences.bracketEnterImprove" *coc-preferences-bracketEnterImprove*
  553. Improve handling of pressing enter inside brackets (`<> {} [] ()`) by
  554. create a new empty line in the middle, the indent is calculated by vim,
  555. checkout |indentexpr| for details.
  556. Works with |coc#on_enter()|, default: `true`
  557. "coc.preferences.formatOnType" *coc-preferences-formatOnType*
  558. Set to true to enable format on type, default: `false`
  559. "coc.preferences.formatOnTypeFiletypes" *coc-preferences-formatOnTypeFiletypes*
  560. Filetypes that should run format on typing specific characters,
  561. default: `[]`, requires `onTypeEdit` provider |CocHasProvider|.
  562. Note: takes effect when `coc.preferences.formatOnType` set `true`.
  563. Note: Use filetypes after mapped by `g:coc_filetype_map`.
  564. "coc.preferences.floatActions" *coc-preferences-floatActions*
  565. Set to false to disable float/popup support for actions menu.
  566. Default: `true`
  567. "coc.preferences.promptInput" *coc-preferences-promptInput*
  568. Use prompt buffer in float window for user input.
  569. Default: `true`
  570. "coc.preferences.enableMarkdown" *coc-preferences-enableMarkdown*
  571. Tell the language server that markdown text format is supported,
  572. note that you may have additional escaped characters for markdown
  573. text.
  574. "coc.preferences.silentAutoupdate" *coc-preferences-silentAutoupdate*
  575. Not open split window with update status when performing auto update.
  576. "coc.preferences.willSaveHandlerTimeout" *coc-preferences-willSaveHandlerTimeout*
  577. Will save handler timeout, default: `500`
  578. "coc.preferences.renameFillCurrent" *coc-preferences-renameFillCurrent*
  579. Disable to stop Refactor-Rename float/popup window from populating
  580. with old name in the New Name field.
  581. Default: `true`
  582. ------------------------------------------------------------------------------
  583. Semantic tokens~
  584. *coc-config-semanticTokens*
  585. "semanticTokens.filetypes" *coc-config-semanticTokens-filetypes*
  586. Filetypes that should enable semantic tokens highlight feature. Use
  587. `["*"]` for all filetypes, default: `[]`
  588. Note: semantic tokens highlight requires nvim >= 0.5.0 and vim >=
  589. 8.1.0579 to work.
  590. "semanticTokens.highlightPriority" *coc-config-semanticTokens-highlightPriority*
  591. Priority for semantic tokens highlight, default `2048`
  592. "semanticTokens.incrementTypes" *coc-config-semanticTokens-incrementTypes*
  593. Semantic token types that should increase highlight when insert at
  594. the start and end position of token.
  595. Default: `['variable', 'string']`
  596. "semanticTokens.combinedModifiers" *coc-config-semanticTokens-combinedModifiers*
  597. Semantic token modifiers that should combine with syntax highlights.
  598. Default: `['deprecated']`
  599. ------------------------------------------------------------------------------
  600. Tree~
  601. *coc-config-tree*
  602. "tree.closedIcon" *coc-config-tree-closedIcon*
  603. Closed icon of tree view, use '' to make it look better when you
  604. have patched font, default: '+'.
  605. "tree.openedIcon" *coc-config-tree-openedIcon*
  606. Opened icon of tree view, use '' to make it look better when you
  607. have patched font, default: '-'
  608. "tree.key.toggleSelection" *coc-config-tree-key-toggleSelection*
  609. Trigger key to select/unselect item, default: <space>
  610. "tree.key.toggle" *coc-config-tree-key-toggle*
  611. Trigger key to toggle expand state of tree node, default: 't'
  612. "tree.key.actions" *coc-config-tree-key-actions*
  613. Trigger key to invoke actions, default: <tab>
  614. "tree.key.collapseAll" *coc-config-tree-key-collapseAll*
  615. Trigger key to collapse all tree node, default: 'M'
  616. "tree.key.invoke" *coc-config-tree-key-invoke*
  617. Trigger key to invoke default command of current node or selection,
  618. default: <cr>
  619. "tree.key.close" *coc-config-tree-key-close*
  620. Trigger key to dispose the tree and close tree window, default: <esc>
  621. "tree.key.activeFilter" *coc-config-tree-key-activeFilter*
  622. Trigger key active filter, only works when tree view support filter,
  623. default: 'f'
  624. "tree.key.selectNext" *coc-config-tree-key-selectNext*
  625. Trigger key to select next item during filter, default <C-j>
  626. "tree.key.selectPrevious" *coc-config-tree-key-selectPrevious*
  627. Trigger key to select previous item during filter, default <C-k>
  628. ------------------------------------------------------------------------------
  629. Outline~
  630. *coc-config-outline*
  631. "outline.splitCommand" *coc-config-outline-splitCommand*
  632. Window split command used by outline, default 'botright 30vs'
  633. "outline.followCursor" *coc-config-outline-followCursor*
  634. Reveal item in outline tree on cursor hold, default `true`
  635. "outline.keepWindow" *coc-config-outline-keepWindow*
  636. Jump back to original window after outline is shown, default `false`
  637. "outline.autoWidth" *coc-config-outline-autoWidth*
  638. Automatically increase window width to avoid wrapped lines, default
  639. `true`, use |g:coc_max_treeview_width| to change maximum width.
  640. "outline.sortBy" *coc-config-outline-sortBy*
  641. Sort method for symbols, available options: 'position', 'name' and
  642. 'category'. Default: 'category'.
  643. "outline.switchSortKey" *coc-config-outline-switchSortKey*
  644. The key used to switch sort method for symbols provider of current
  645. tree view. Default <C-s>
  646. "outline.expandLevel" *coc-config-outline-expandLevel*
  647. Default expand level of tree nodes, default `1`
  648. "outline.checkBufferSwitch" *coc-config-outline-checkBufferSwitch*
  649. Recreate outline view after changed to another buffer on current tab.
  650. Default `true`
  651. "outline.showLineNumber" *coc-config-outline-showLineNumber*
  652. Show line number of document symbols.
  653. Default `true`
  654. "outline.detailAsDescription" *coc-config-outline-detailAsDescription*
  655. Show detail as description aside with label.
  656. Default: `true`
  657. "outline.codeActionKinds" *coc-config-outline-codeActionKinds*
  658. Filter code actions in actions menu by kinds.
  659. Default: ['', 'quickfix', 'refactor', 'source']
  660. ------------------------------------------------------------------------------
  661. Call hierarchy~
  662. *coc-config-callHierarchy*
  663. "callHierarchy.openCommand" *coc-config-callHierarchy-openCommand*
  664. Open command for callHierarchy tree view, default to 'edit'.
  665. "callHierarchy.splitCommand" *coc-config-callHierarchy-splitCommand*
  666. Window split command used by callHierarchy tree view.
  667. "callHierarchy.enableTooltip" *coc-config-callHierarchy-enableTooltip*
  668. Enable tooltip to show relative filepath of call hierarchy.
  669. Default: `true`
  670. ------------------------------------------------------------------------------
  671. Npm~
  672. *coc-config-npm*
  673. "npm.binPath" *coc-config-npm-binPath*
  674. Command or full path of npm or yarn executable for install/update
  675. extensions, default: `npm`
  676. ------------------------------------------------------------------------------
  677. Float configuration~
  678. *coc-config-float*
  679. Used by `suggest.floatConfig`, `diagnostic.floatConfig`,
  680. `signature.floatConfig` and `hover.floatConfig`, following properties are
  681. supported:
  682. - "border": Change to `true` to enable border.
  683. - "rounded": Use rounded borders when border is `true`.
  684. - "highlight": Background highlight group of float window.
  685. - "title": Title used by float window.
  686. - "borderhighlight": Border highlight group of float window.
  687. - "close": Set to true to draw close icon.
  688. - "maxWidth": Maximum width of float window, contains border.
  689. - "maxHeight": Maximum height of float window, contains border.
  690. - "winblend": Set 'winblend' option of window, neovim only.
  691. - "focusable": Set to false to make window not focusable, neovim only.
  692. - "shadow": Set to true to enable shadow, neovim only.
  693. ------------------------------------------------------------------------------
  694. Languageserver~
  695. *coc-config-languageserver*
  696. Dictionary of Language Servers, key is the ID of corresponding server,
  697. and value is configuration of languageserver. Default: `{}`
  698. Properties of languageserver configuration:
  699. - "enable": Change to `false` to disable that languageserver.
  700. - "filetypes": Supported filetypes, add * in array for all filetypes.
  701. Note: it's required for start the languageserver, please make sure
  702. your filetype is expected by `:CocCommand document.echoFiletype` command
  703. - "additionalSchemes": Additional uri schemes, default schemes
  704. including file & untitled.
  705. Note: you have to setup vim provide content for custom uri as well.
  706. - "cwd": Working directory used to start languageserver, vim's cwd is
  707. used by default.
  708. - "env": Environment variables for child process.
  709. - "settings": Settings for languageserver, received on server
  710. initialization.
  711. - "trace.server": Trace level of communication between server and
  712. client that showed with output channel, open output channel by
  713. command `:CocCommand workspace.showOutput`
  714. - "stdioEncoding": Encoding used for stdio of child process.
  715. - "initializationOptions": Initialization options passed to
  716. languageserver (it's deprecated)
  717. - "rootPatterns": Root patterns used to resolve rootPath from current
  718. file.
  719. - "requireRootPattern": If true, doesn't start server when root
  720. pattern not found.
  721. - "ignoredRootPaths": Absolute root paths that language server should
  722. not use as rootPath, higher priority than rootPatterns.
  723. - "disableDynamicRegister": Disable dynamic registerCapability feature
  724. for this languageserver to avoid duplicated feature regstration.
  725. - "disableSnippetCompletion": Disable snippet completion feature for
  726. this languageserver.
  727. - "disabledFeatures": Disable features for this languageserver,
  728. valid keys:
  729. >
  730. ["completion", "configuration", "workspaceFolders", "diagnostics",
  731. "willSave", "willSaveUntil", "didSaveTextDocument",
  732. "fileSystemWatcher", "hover", "signatureHelp", "definition",
  733. "references", "documentHighlight", "documentSymbol",
  734. "workspaceSymbol", "codeAction", "codeLens", "formatting",
  735. "documentFormatting", "documentRangeFormatting",
  736. "documentOnTypeFormatting", "rename", "documentLink",
  737. "executeCommand", "pullConfiguration", "typeDefinition",
  738. "implementation", "declaration", "color", "foldingRange",
  739. "selectionRange", "progress", "callHierarchy", "linkedEditing",
  740. "fileEvents", "semanticTokens"]
  741. <
  742. - "formatterPriority": Priority of this languageserver's formatter.
  743. - "revealOutputChannelOn": Configure message level to show the output
  744. channel buffer.
  745. - "progressOnInitialization": Enable progress report on languageserver
  746. initialize.
  747. Language server start with command:~
  748. Additional fields can be used for a command languageserver:
  749. - "command": Executable program name in $PATH or absolute path of
  750. executable used for start languageserver.
  751. - "args": Command line arguments of command.
  752. - "detached": Detach language server when is true.
  753. - "shell": Use shell for server process, default: `false`
  754. Language server start with module:~
  755. Additional fields can be used for a languageserver started by node
  756. module:
  757. - "module": Absolute filepath of javascript file.
  758. - "args": Extra arguments used on fork javascript module.
  759. - "runtime": Absolute path of node runtime, node runtime of coc.nvim
  760. is used by default.
  761. - "execArgv": Argv passed to node on fork, normally used for
  762. debugging, example: `["--nolazy", "--inspect-brk=6045"]`
  763. - "transport": Transport kind used by server, could be 'ipc', 'stdio',
  764. 'socket' and 'pipe'. 'ipc' is used by default (recommended).
  765. - "transportPort": Port number used when transport is 'socket'.
  766. Language server use initialized socket server:~
  767. - "port": Port number of socket server.
  768. - "host": Host of socket server, default to `127.0.0.1`.
  769. ==============================================================================
  770. vim:tw=78:nosta:noet:ts=8:sts=0:ft=help:noet:fen: