{"id":13479358,"url":"https://github.com/neoclide/coc-lists","last_synced_at":"2025-05-15T12:06:17.039Z","repository":{"id":34050450,"uuid":"167456113","full_name":"neoclide/coc-lists","owner":"neoclide","description":"Common lists for coc.nvim","archived":false,"fork":false,"pushed_at":"2025-02-25T06:16:58.000Z","size":267,"stargazers_count":264,"open_issues_count":12,"forks_count":24,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-11T20:00:00.051Z","etag":null,"topics":["coc","list","neovim","vim"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neoclide.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-24T23:56:56.000Z","updated_at":"2025-04-05T21:10:23.000Z","dependencies_parsed_at":"2024-06-19T00:21:55.044Z","dependency_job_id":"71131214-5cd7-4031-9cf9-eb651bd4081d","html_url":"https://github.com/neoclide/coc-lists","commit_stats":{"total_commits":152,"total_committers":19,"mean_commits":8.0,"dds":"0.17763157894736847","last_synced_commit":"720f8713860a6c45be6aac6b042416c9de680173"},"previous_names":[],"tags_count":57,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoclide%2Fcoc-lists","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoclide%2Fcoc-lists/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoclide%2Fcoc-lists/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoclide%2Fcoc-lists/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neoclide","download_url":"https://codeload.github.com/neoclide/coc-lists/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254337613,"owners_count":22054253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coc","list","neovim","vim"],"created_at":"2024-07-31T16:02:14.154Z","updated_at":"2025-05-15T12:06:12.023Z","avatar_url":"https://github.com/neoclide.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Coc List extensions"],"sub_categories":[],"readme":"# coc-lists\n\nSome basic list sources for [coc.nvim](https://github.com/neoclide/coc.nvim/)\n\nIncluding:\n\n- [x] `buffers` current buffer list.\n- [x] `changes` changes list.\n- [x] `cmdhistory` history of commands.\n- [x] `colors` colors schemes.\n- [x] `files` search files from current cwd.\n- [x] `filetypes` file types.\n- [x] `grep` grep text from current cwd.\n- [x] `helptags` helptags of vim.\n- [x] `lines` search lines by regex patterns.\n- [x] `locationlist` items from vim's location list.\n- [x] `maps` key mappings.\n- [x] `marks` marks of vim.\n- [x] `mru` most recent used files.\n- [x] `quickfix` items from vim's quickfix list.\n- [x] `registers` registers of vim.\n- [x] `searchhistory` history of search.\n- [x] `sessions` session list.\n- [x] `tags` search tag files.\n- [x] `vimcommands` available vim commands.\n- [x] `windows` windows of vim.\n- [x] `words` search word in current buffer.\n- [x] `functions` available vim functions.\n\nFor snippets list, use [coc-snippets](https://github.com/neoclide/coc-snippets).\n\nFor git related list, use [coc-git](https://github.com/neoclide/coc-git).\n\nFor yank history, use [coc-yank](https://github.com/neoclide/coc-yank).\n\n## Install\n\nIn your vim/neovim, run command:\n\n```\n:CocInstall coc-lists\n```\n\nCheckout `:h coc-list` for usage.\n\n## Options\n\n**Tip:** type `?` on normal mode to get detail help of current list.\n\nAvailable options for coc-lists:\n\n- `session.saveOnVimLeave` Save session on VimLeavePre., default to `true`\n- `session.directory` directory for session files, default to `~/.vim/sessions`\n- `session.restartOnSessionLoad` Restart vim with cwd changed on session load, support neovim on iTerm2 only.\n- `lists.disabledLists`: List names to disable form load., default: `[]`\n- `list.source.files.command`: Command used for search for files, default: `\"\"`\n- `list.source.files.args`: Arguments for search command, default: `[]`\n- `list.source.files.excludePatterns`: Minimatch patterns that should be excluded., default: `[]`\n- `list.source.mru.maxLength`: Max length of mru list., default: `1000`\n- `list.source.mru.ignoreGitIgnore`: Ignore git ignored files., default: `false`\n- `list.source.mru.excludePatterns`: Minimatch patterns that should be excluded., default: `[\"**/.git/*\",\"/tmp/*\"]`\n- `list.source.grep.useLiteral`: Use literal match unless specified regex options, default: true., default: `true`\n- `list.source.grep.command`: Command used for grep, default to 'rg'., default: `\"rg\"` could be `rg` or `ag`.\n- `list.source.grep.maxColumns`: Don't print lines longer than this limit in bytes, ripgrep only..\n- `list.source.tags.command`: Command used for generate tags., default: `\"ctags -R .\"`\n- `list.source.grep.args`: Arguments for grep command, always used for grep, default: `[]`\n- `list.source.grep.excludePatterns`: Minimatch patterns of files that should be excluded, use .ignore file is recommended., default: `[]`\n\n## Commands\n\n- `mru.validate` remove none exists files from mru list.\n- `tags.generate` generate tags of current project (in current cwd).\n- `session.save` save current vim state to session file.\n- `session.load` load exists session file.\n\n## F.A.Q\n\nQ: Hidden files not exists using files source.\n\nA: You have to pass `--hidden` to `ripgrep` by using configuration:\n\n    `list.source.files.args`: ['--hidden', '--files']\n\nQ: How to ignore files using files/grep source.\n\nA: You can add `.ignore` file in your project root, which would be respected by\n`ripgrep` or use `list.sourcefiles.excludePatterns` configuration.\n\nQ: How to make grep easier?\n\nA: Create custom command like:\n\n```vim\n\" grep word under cursor\ncommand! -nargs=+ -complete=custom,s:GrepArgs Rg exe 'CocList grep '.\u003cq-args\u003e\n\nfunction! s:GrepArgs(...)\n  let list = ['-S', '-smartcase', '-i', '-ignorecase', '-w', '-word',\n        \\ '-e', '-regex', '-u', '-skip-vcs-ignores', '-t', '-extension']\n  return join(list, \"\\n\")\nendfunction\n\n\" Keymapping for grep word under cursor with interactive mode\nnnoremap \u003csilent\u003e \u003cLeader\u003ecf :exe 'CocList -I --input='.expand('\u003ccword\u003e').' grep'\u003cCR\u003e\n```\n\nQ: How to grep by motion?\n\nA: Create custom keymappings like:\n\n```vim\nvnoremap \u003cleader\u003eg :\u003cC-u\u003ecall \u003cSID\u003eGrepFromSelected(visualmode())\u003cCR\u003e\nnnoremap \u003cleader\u003eg :\u003cC-u\u003eset operatorfunc=\u003cSID\u003eGrepFromSelected\u003cCR\u003eg@\n\nfunction! s:GrepFromSelected(type)\n  let saved_unnamed_register = @@\n  if a:type ==# 'v'\n    normal! `\u003cv`\u003ey\n  elseif a:type ==# 'char'\n    normal! `[v`]y\n  else\n    return\n  endif\n  let word = substitute(@@, '\\n$', '', 'g')\n  let word = escape(word, '| ')\n  let @@ = saved_unnamed_register\n  execute 'CocList grep '.word\nendfunction\n```\n\nQ: How to grep current word in current buffer?\n\nA: Create kep-mapping like:\n\n```vim\nnnoremap \u003csilent\u003e \u003cspace\u003ew  :exe 'CocList -I --normal --input='.expand('\u003ccword\u003e').' words'\u003cCR\u003e\n```\n\nQ: How to grep word in a specific folder?\n\nA: Pass `-- /folder/to/search/from` to `CocList grep`\n\n```vim\n:CocList grep word -- /folder/to/search/from\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneoclide%2Fcoc-lists","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneoclide%2Fcoc-lists","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneoclide%2Fcoc-lists/lists"}