{"id":13936088,"url":"https://github.com/raghur/fruzzy","last_synced_at":"2025-06-20T18:33:11.131Z","repository":{"id":41844591,"uuid":"150564410","full_name":"raghur/fruzzy","owner":"raghur","description":"Freaky fast fuzzy finder for (denite.nvim/CtrlP matcher) for vim/neovim","archived":false,"fork":false,"pushed_at":"2020-10-11T03:53:54.000Z","size":57,"stargazers_count":109,"open_issues_count":3,"forks_count":7,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-30T21:55:05.202Z","etag":null,"topics":["ctrlp-extension","denite-matcher","fuzzyfinder","linux","neovim-plugin","nim-lang","python3","windows"],"latest_commit_sha":null,"homepage":"","language":"Python","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/raghur.png","metadata":{"files":{"readme":"README.adoc","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}},"created_at":"2018-09-27T09:44:23.000Z","updated_at":"2025-03-14T09:17:12.000Z","dependencies_parsed_at":"2022-08-20T09:21:03.591Z","dependency_job_id":null,"html_url":"https://github.com/raghur/fruzzy","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/raghur/fruzzy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raghur%2Ffruzzy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raghur%2Ffruzzy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raghur%2Ffruzzy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raghur%2Ffruzzy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raghur","download_url":"https://codeload.github.com/raghur/fruzzy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raghur%2Ffruzzy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260996656,"owners_count":23094743,"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":["ctrlp-extension","denite-matcher","fuzzyfinder","linux","neovim-plugin","nim-lang","python3","windows"],"created_at":"2024-08-07T23:02:22.402Z","updated_at":"2025-06-20T18:33:06.091Z","avatar_url":"https://github.com/raghur.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Freaky fast fuzzy Denite/CtrlP matcher for vim/neovim\n\nThis is a matcher plugin for https://github.com/Shougo/denite.nvim[denite.nvim] \nand https://github.com/ctrlpvim/ctrlp.vim[CtrlP].\n\nRead more at https://blog.rraghur.in/2018/09/27/fruzzy-a-freaky-fast-fuzzy-finder-for-vim/neovim/\n\n## Installation\n\nIn your `.vimrc`:\n\n```vim\n\" vim-plug; for other plugin managers, use what's appropriate\n\" if you don't want to trust a prebuilt binary, skip the 'do' part\n\" and build the binaries yourself. Instructions are further down\n\" and place them in the /path/to/plugin/rplugin/python3 folder\n\nPlug 'raghur/fruzzy', {'do': { -\u003e fruzzy#install()}}\n\n\" optional - but recommended - see below\nlet g:fruzzy#usenative = 1\n\n\" When there's no input, fruzzy can sort entries based on how similar they are to the current buffer\n\" For ex: if you're on /path/to/somefile.h, then on opening denite, /path/to/somefile.cpp\n\" would appear on the top of the list.\n\" Useful if you're bouncing a lot between similar files.\n\" To turn off this behavior, set the variable below  to 0\n\nlet g:fruzzy#sortonempty = 1 \" default value\n\n\" tell denite to use this matcher by default for all sources\ncall denite#custom#source('_', 'matchers', ['matcher/fruzzy'])\n\n\" tell CtrlP to use this matcher\nlet g:ctrlp_match_func = {'match': 'fruzzy#ctrlp#matcher'}\nlet g:ctrlp_match_current_file = 1 \" to include current file in matches\n```\n\n## Native modules\n\nNative module gives a 10 - 15x speedup over python - ~40-60μs!. Not that you'd notice \nit in usual operation (python impl is at 300 - 600μs)\n\n. Run command `:call fruzzy#install()` if you're not using vim-plug.\n. restart nvim\n\n### Manual installation\n\n. Download the module for your platform. If on mac, rename to `fruzzy_mod.so`\n. place in `/path/to/fruzzy/rplugin/python3`\n. Make sure you set the pref to use native module - `g:fruzzy#usenative=1`\n. restart vim/nvim\n\n## Troubleshooting/Support\n\nRaise a ticket - please include the following info:\n\n.Get the version\n. Start vim/nvim\n. Activate denite/ctrlp as the case may be.\n. Execute `:call fruzzy#version()` - this will print one of the following\n.. version number and branch - all is good\n.. `purepy` - you're using the pure python version.\n.. `modnotfound` - you requested the native mod with `let g:fruzzy#usenative=1` but it could not be loaded\n.. `outdated` - native mod was loaded but it's \u003c v0.3. You can update the native mod from the releases. \n. include output of the above\n\n.Describe the issue\n. include the list of items\n. include your query\n. What it did vs what you expected it to do.\n\n## Development\n\n.Build native module\n. install nim \u003e= 0.19\n. dependencies\n.. nimble install binaryheap\n.. nimble install nimpy\n. `cd rplugin/python3`\n. [Windows] `nim c --app:lib --out:fruzzy_mod.pyd -d:release -d:removelogger fruzzy_mod`\n. [Linux] `nim c --app:lib --out:fruzzy_mod.so -d:release -d:removelogger fruzzy_mod`\n. `-d:removelogger` \n    - removes all log statements from code.\n    - When `removelogger` is not defined, only info level logs are emitted\n    - Debug builds (ie: without `-d:release` flag) also turns on additional debug level logs\n\n.Running tests\n. cd `rplugin`\n. `pytest` - run tests with python implementation\n. `FUZZY_CMOD=1 pytest` - run tests with native module\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraghur%2Ffruzzy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraghur%2Ffruzzy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraghur%2Ffruzzy/lists"}