{"id":28225392,"url":"https://github.com/hamidi-dev/kaleidosearch.nvim","last_synced_at":"2025-06-12T20:32:28.309Z","repository":{"id":290906883,"uuid":"921707554","full_name":"hamidi-dev/kaleidosearch.nvim","owner":"hamidi-dev","description":"A Neovim plugin that colorizes multiple search terms with multiple distinct colors for better visual tracking.","archived":false,"fork":false,"pushed_at":"2025-06-04T13:32:23.000Z","size":24,"stargazers_count":25,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-04T20:41:31.438Z","etag":null,"topics":["color","colorize","neovim","plugin","search"],"latest_commit_sha":null,"homepage":"","language":"Lua","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/hamidi-dev.png","metadata":{"files":{"readme":"readme.org","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,"zenodo":null}},"created_at":"2025-01-24T13:14:51.000Z","updated_at":"2025-06-04T13:32:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"1481aeff-71b4-4c68-ba6c-27bbac9f4899","html_url":"https://github.com/hamidi-dev/kaleidosearch.nvim","commit_stats":null,"previous_names":["hamidi-dev/kaleidosearch.nvim"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hamidi-dev/kaleidosearch.nvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamidi-dev%2Fkaleidosearch.nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamidi-dev%2Fkaleidosearch.nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamidi-dev%2Fkaleidosearch.nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamidi-dev%2Fkaleidosearch.nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hamidi-dev","download_url":"https://codeload.github.com/hamidi-dev/kaleidosearch.nvim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamidi-dev%2Fkaleidosearch.nvim/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259522452,"owners_count":22870469,"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":["color","colorize","neovim","plugin","search"],"created_at":"2025-05-18T10:09:45.746Z","updated_at":"2025-06-12T20:32:28.298Z","avatar_url":"https://github.com/hamidi-dev.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+AUTHOR: hamidi-dev\n\n* Kaleidosearch.nvim\n\nA Neovim plugin that colorizes *multiple search terms* with *multiple distinct colors* for better visual tracking.\n\nhttps://github.com/user-attachments/assets/50a7bbdb-62c5-4c70-be10-86c48ea44d26\n\n** Features\n\n- Highlight multiple search terms with different colors\n- Navigate between matches using standard search commands (n/N)\n- Add words incrementally without losing existing highlights\n- Add word under cursor with a single keymap AND remove it (toggle)\n- Add visual selection to highlights\n- dot-repeatable: Hit ~.~ at any point and the colors will change\n\n** Installation\n\nUsing your favorite plugin manager:\n\n*** lazy.nvim\n#+begin_src lua\n{\n  \"hamidi-dev/kaleidosearch.nvim\",\n  dependencies = {\n    \"tpope/vim-repeat\",       -- optional for dot-repeatability\n    \"stevearc/dressing.nvim\", -- optional for nice input\n  },\n\n  config = function()\n    require(\"kaleidosearch\").setup({\n      -- optional configuration\n    })\n  end,\n}\n#+end_src\n\n*** packer.nvim\n#+begin_src lua\nuse {\n  'hamidi-dev/kaleidosearch.nvim',\n  requires = {\n    'tpope/vim-repeat',       -- optional for dot-repeatability\n    'stevearc/dressing.nvim', -- optional for nice input\n  },\n  config = function()\n    require('kaleidosearch').setup({\n      -- optional configuration\n    })\n  end\n}\n#+end_src\n\n** Usage\n\n| Command                       | Description                                  |\n|-------------------------------+----------------------------------------------|\n| ~:Kaleidosearch word1 word2~  | Highlight specified words with colors        |\n| ~:KaleidosearchClear~         | Clear all highlighted words                  |\n| ~:KaleidosearchAddWord~       | Add a new word to existing highlights        |\n| ~:KaleidosearchAddCursorWord~ | Add word under cursor to existing highlights |\n\n** Default Keymaps\n\n| Keymap       | Action                                             |\n|--------------+----------------------------------------------------|\n| ~\u003cleader\u003ecs~ | Open prompt for words to colorize                  |\n| ~\u003cleader\u003ecc~ | Clear all highlighted words (reset to clean slate) |\n| ~\u003cleader\u003ecn~ | Add a new word to existing highlights              |\n| ~\u003cleader\u003eca~ | Add word under cursor to existing highlights       |\n\n** Configuration\n\n#+begin_src lua\nrequire(\"kaleidosearch\").setup({\n  highlight_group_prefix = \"WordColor_\", -- Prefix for highlight groups\n  case_sensitive = false,                -- Case sensitivity for matching\n  whole_word_match = false,              -- Only match whole words, not substrings\n  keymaps = {\n    enabled = true,                      -- Set to false to disable default keymaps\n    open = \"\u003cleader\u003ecs\",                 -- Open input prompt for search\n    clear = \"\u003cleader\u003ecc\",                -- Clear highlights (reset to clean slate)\n    add_new_word = \"\u003cleader\u003ecn\",         -- Add a new word to existing highlights\n    add_cursor_word = \"\u003cleader\u003eca\",      -- Add word under cursor to highlights OR current visual selection\n    opts = {\n      noremap = true,\n      silent = true,\n    }\n  }\n})\n#+end_src\n\n** Development\n\n*** Running Tests\n\nThis plugin includes unit tests using Plenary.nvim. To run the tests:\n\n1. Use the provided script (it will install Plenary.nvim if needed):\n\n#+begin_src bash\n./scripts/run_tests.sh\n#+end_src\n\n2. Or if you're inside Neovim with Plenary installed:\n\n#+begin_src vim\n:PlenaryBustedDirectory test/ {minimal_init = 'test/minimal_init.lua'}\n#+end_src\n\n** Misc. \n\n- PRs welcome 😃\n- Ideas / issues welcome \n\n** License\n\nMIT License\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamidi-dev%2Fkaleidosearch.nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhamidi-dev%2Fkaleidosearch.nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamidi-dev%2Fkaleidosearch.nvim/lists"}