{"id":24791249,"url":"https://github.com/doompling/fuzzy_ruby_server","last_synced_at":"2025-10-12T15:31:08.570Z","repository":{"id":59629599,"uuid":"512320365","full_name":"doompling/fuzzy_ruby_server","owner":"doompling","description":"A Ruby language server for large codebases","archived":false,"fork":false,"pushed_at":"2023-11-22T19:06:31.000Z","size":86371,"stargazers_count":212,"open_issues_count":2,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-28T05:28:28.177Z","etag":null,"topics":["language-server","ruby","vscode-extension"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/doompling.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":"2022-07-10T01:34:50.000Z","updated_at":"2025-01-17T19:12:54.000Z","dependencies_parsed_at":"2024-11-24T12:18:50.760Z","dependency_job_id":null,"html_url":"https://github.com/doompling/fuzzy_ruby_server","commit_stats":null,"previous_names":["pheen/fuzzy_ruby_server","doompling/fuzzy_ruby_server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doompling%2Ffuzzy_ruby_server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doompling%2Ffuzzy_ruby_server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doompling%2Ffuzzy_ruby_server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doompling%2Ffuzzy_ruby_server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/doompling","download_url":"https://codeload.github.com/doompling/fuzzy_ruby_server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236239252,"owners_count":19117154,"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":["language-server","ruby","vscode-extension"],"created_at":"2025-01-29T19:03:31.936Z","updated_at":"2025-10-12T15:31:03.500Z","avatar_url":"https://github.com/doompling.png","language":"Rust","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/pheen/fuzzy_ruby_server/assets/1145873/c44cb013-6d14-4559-bc33-6c6673998fcd\"\u003e\n\u003c/p\u003e\n\n# Fuzzy Ruby Server\n\nA Ruby language server designed to stay performant for large codebases. A full-text search backend gives fast, but fuzzy search results that closely approximates the behaviour of Ruby.\n\n| Features  |  |\n| ------------- | ------------- |\n| [Definitions](#definitions) | Jump to the definitions for methods, variables, etc. |\n| [Definition Search](#definition-search) | Search method, class, and module definitions in a project |\n| [Diagnostics](#diagnostics) | Indicates issues with the code |\n| [References](#references) | Jump to an occurrence of a method, variable, etc. |\n| [Highlights](#highlights) | Highlight all occurrences within a file |\n| [Rename](#rename) | Rename all occurrences within a file |\n\u003c!-- | ~[Formatting](#formatting)~ | todo: Supports formatting only modified lines | --\u003e\n\n\u0026nbsp;\n## Installation\n\nThe workspace and gems will be indexed automatically after installing:\n\n#### VSCode\n**1.** Install the `Fuzzy Ruby Server` extension from the VSCode Marketplace.\n\n**2.** Activate the extension by reloading VSCode and navigating to any `.rb` file.\n\n#### Neovim\n**1.** See the nvim [config example here](https://github.com/pheen/fuzzy_ruby_server/wiki/Neomvim-Install).\n\n\u0026nbsp;\n## Features\n\u003ca id=\"definitions\"\u003e\u003c/a\u003e\n### Definitions\nPeek or go to the definition of a variable, method, class, or module. If multiple definitions are found they will all be returned. Results are sorted by score so the first result automatically shown will be the closest match.\n\n- Cmd: `Go to Definition`\n- Keybinds:\n  - `f12`\n  - `cmd + click`\n- **Tip:** Enable the VSCode setting `Workbench \u003e Editor: Reveal If Open`\n\n![go_to_def](https://user-images.githubusercontent.com/1145873/177204185-281c7d77-6894-41e8-92c0-69110169bed5.gif)\n\n\u003ca id=\"definition-search\"\u003e\u003c/a\u003e\n### Definition Search\nSearch method, class, and module definitions in a project.\n\n- Cmd: `Go to Symbol in Workspace...`\n- Keybind: `cmd + t`\n\n![workspace-symbols](https://user-images.githubusercontent.com/1145873/224568569-abeafb04-6efb-447c-8d36-f348400c72cb.gif)\n\n\u003ca id=\"diagnostics\"\u003e\u003c/a\u003e\n### Diagnostics\nHighlight issues found in static analysis.\n\n![diagnostics](https://user-images.githubusercontent.com/1145873/177204213-777bde3e-5628-4e8c-96d7-e8629050a60e.gif)\n\n\u003ca id=\"references\"\u003e\u003c/a\u003e\n### References\nSee all the locations where a method/variable/symbol is being used. Only locations in the the file being edited are shown currently.\n\n- Cmd: `Go to References`\n- Keybind: `shift + f12`\n\n![references](https://user-images.githubusercontent.com/1145873/177204235-5888f7ee-b638-4a7e-8a7a-80f8c2ecc327.gif)\n\n\u003ca id=\"highlights\"\u003e\u003c/a\u003e\n### Highlights\nSee all occurrences of a method/variable/symbol in the current editor.\n\n![highlight](https://user-images.githubusercontent.com/1145873/177204231-4ccd8b81-ce3c-41f4-b393-146f444307f8.gif)\n\n\u003ca id=\"rename\"\u003e\u003c/a\u003e\n### Rename\nRename all occurrences within a file\n\n- Cmd: `Rename Symbol`\n- Keybind: `f2`\n\n![rename](https://user-images.githubusercontent.com/1145873/177204249-73415e9d-c473-4a3c-9347-694ad3647d50.gif)\n\n\u0026nbsp;\n## Contributing\n- Update the `command` path in `extension.ts` to point to your local working directory. Target release as it's necessary or indexing is too slow.\n  - E.g., `command = \"/Users/\u003cuser\u003e/dev/fuzzy_ruby_vscode_client/target/release/fuzzy\";`.\n- Run `yarn run esbuild` to compile `extension.ts`.\n- Make Rust changes in `src`, then `cargo build --release`.\n- Hit `F5` in VSCode to run a the extension in a new VSCode window.\n- Make a pull request with your changes. Thank you!\n\n\u0026nbsp;\n## Publishing\n- Build an Apple Intel release binary:\n```\ncargo build --target x86_64-apple-darwin\n```\n\n- Build an Apple Silicon binary:\n```\ncargo build --release --target=aarch64-apple-darwin\n```\n\n- Build a Linux binary:\n```\nbrew tap messense/macos-cross-toolchains\nbrew install x86_64-unknown-linux-gnu\n\nCARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=x86_64-unknown-linux-gnu-gcc cargo build --release --target=x86_64-unknown-linux-gnu\n```\n\n- Copy the binaries to `bin/`\n\n- Delete the `target` directory or the `.vsix` package will be huge\n\n- `vsce package`\n\n- Upload the new package\n\n\u0026nbsp;\n## License\n[MIT](https://choosealicense.com/licenses/mit/)\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoompling%2Ffuzzy_ruby_server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdoompling%2Ffuzzy_ruby_server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoompling%2Ffuzzy_ruby_server/lists"}