{"id":19678666,"url":"https://github.com/tillt/rtagscomplete","last_synced_at":"2025-04-29T04:30:44.947Z","repository":{"id":149484249,"uuid":"105610492","full_name":"tillt/RTagsComplete","owner":"tillt","description":"Sublime Text 3 C, C++ and Objective C code completion, navigation plugin based on RTags.","archived":false,"fork":false,"pushed_at":"2020-06-18T18:17:18.000Z","size":6344,"stargazers_count":7,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-05T12:51:16.606Z","etag":null,"topics":["rtags","sublime","sublime-package","sublime-text-3"],"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/tillt.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":"2017-10-03T03:23:28.000Z","updated_at":"2020-08-19T05:13:56.000Z","dependencies_parsed_at":"2023-07-29T22:33:03.968Z","dependency_job_id":null,"html_url":"https://github.com/tillt/RTagsComplete","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tillt%2FRTagsComplete","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tillt%2FRTagsComplete/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tillt%2FRTagsComplete/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tillt%2FRTagsComplete/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tillt","download_url":"https://codeload.github.com/tillt/RTagsComplete/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251432621,"owners_count":21588617,"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":["rtags","sublime","sublime-package","sublime-text-3"],"created_at":"2024-11-11T17:39:07.598Z","updated_at":"2025-04-29T04:30:44.942Z","avatar_url":"https://github.com/tillt.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"site/images/RTagsComplete_256.png\" /\u003e\u003ch1 align=\"center\"\u003eRTagsComplete\u003c/h1\u003e\u003c/p\u003e\n\nMaster [![Build Status](https://travis-ci.org/tillt/RTagsComplete.svg?branch=master)](https://travis-ci.org/tillt/RTagsComplete) Staging [![Build Status](https://travis-ci.org/tillt/RTagsComplete.svg?branch=staging)](https://travis-ci.org/tillt/RTagsComplete)\n\n# About\n\nSublime Text 3 C, C++ and Objective C code completion, navigation plugin based on [RTags](https://github.com/Andersbakken/rtags).\n\nThis is a fork of the original [sublime-rtags](https://github.com/rampage644/sublime-rtags) by Sergei Turukin. New features have been added and merging those back into the original sublime-rtags has become a bottleneck this fork avoids.\n\n# Installation\n\n### Prerequisites\n\n[Install RTags](https://github.com/tillt/RTagsComplete/wiki/Install-RTags) - for all of the latest features, version 2.19 is the oldest we support. You will however get most functionality with RTags version 2.0 already.\n\n### Via Package Control\n\n- [Install Package Control](https://sublime.wbond.net/installation)\n- Run “Package Control: Install Package”\n- Install \"RTagsComplete\"\n\n### Manually\n\n```bash\ncd \u003csublime-text-Packages-dir\u003e\ngit clone https://github.com/tillt/RTagsComplete\n```\n\n# Features\n\n## Symbol navigation (Goto definition/declaration)\n\nJump to the definition or declaration of a symbol.\n\n## Find usages (Find symbol references, Find virtual function re-implementations)\n\nShows all references of the symbol under the cursor.\n\n![Symbol References Example](site/images/references.gif)\n\n## Find unused functions\n\nFinds and displays dead functions.\n\n![Find unused Functions Example](site/images/dead.gif)\n\n## Rename symbol\n\nAllows to refactor symbols. Select a symbol with your cursor, activate the function and enter the new name.\n\n![Rename Symbol Example](site/images/rename.gif)\n\n## Find include\n\nFinds the include file for the symbol under the cursor. If any are found, shows a quick panel that copies the selected include into the clipboard when hitting return.\n\n## Expand auto\n\nReplaces the 'auto' keyword with the type retrieved from RTags, if possible.\n\n## Symbol information\n\nShows a popup containing information about the symbol under the cursor.\n\n![Symbol Info Example](site/images/symbol_info.gif)\n\n## Code completion\n\n![Completion Example](site/images/completion.gif)\n\n## Code validation\n\nValidates your current code and shows errors and warnings inline.\n\n![Fixits Example](site/images/fixits.gif)\n\n# Usage\n\n## Typical work-flow\n\n- [Make sure `rdm` is active](https://github.com/tillt/RTagsComplete/wiki/Make-sure-rdm-is-active).\n- [Obtain compile_commands.json from the build chain of your project/s](https://github.com/tillt/RTagsComplete/wiki/Obtaining-compile_commands.json).\n- [Supply rdm with compile_commands.json of your project/s](https://github.com/tillt/RTagsComplete/wiki/Supply-rdm-with-compile_commands.json).\n- That's it - ready to code with ease.\n\n# Default key bindings\n\nThe default key bindings were originally inspired by Qt Creator.\n\n+ Symbol navigation - \u003ckbd\u003eF2\u003c/kbd\u003e\n+ Find usages / references - \u003ckbd\u003eCTRL\u003c/kbd\u003e+\u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003eu\u003c/kbd\u003e\n+ Rename symbol - \u003ckbd\u003eCTRL\u003c/kbd\u003e+\u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003eu\u003c/kbd\u003e\n+ Find virtual function re-implementations - \u003ckbd\u003eCTRL\u003c/kbd\u003e+\u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003ex\u003c/kbd\u003e\n+ Symbol information - \u003ckbd\u003eCTRL\u003c/kbd\u003e+\u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003ei\u003c/kbd\u003e\n+ Use \u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003e/\u003c/kbd\u003e explicitly for auto-completion\n+ Mouse _button8_ to go backwards (mouse wheel left)\n+ Error, fixit and warning navigation - \u003ckbd\u003eCTRL\u003c/kbd\u003e+\u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003ee\u003c/kbd\u003e\n+ Find unused functions - \u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003eSuper\u003c/kbd\u003e+\u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003ed\u003c/kbd\u003e\n+ Find include file for symbol - \u003ckbd\u003eCTRL\u003c/kbd\u003e+\u003ckbd\u003ei\u003c/kbd\u003e\n+ Expand auto type for symbol - \u003ckbd\u003eCTRL\u003c/kbd\u003e+\u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003ea\u003c/kbd\u003e\n+ Show navigation history - \u003ckbd\u003eCTRL\u003c/kbd\u003e+\u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003eh\u003c/kbd\u003e\n\n# Customization\n\nCustomize your **Key Bindings** via *Preferences* \u003e *Package Settings* \u003e *RTagsComplete* \u003e *Key Bindings* \u003e *User*\n\nSetup the plugin within the **User Settings** via *Preferences* \u003e *Package Settings* \u003e *RTagsComplete* \u003e *Settings* \u003e *User*\n\nIf you need **Auto Completion** add the following to *Preferences* \u003e *Settings* \u003e *User*\n\n```json\n\"auto_complete_triggers\":\n[\n  {\n    \"characters\": \"\u003c\",\n    \"selector\": \"text.html\"\n  },{\n    \"characters\": \".\u003e: \",\n    \"selector\": \"source.c++.11, source.c++, source.c - string - comment - constant.numeric\"\n  }\n]\n```\n\n# Further reading\n\nFor a typical setup of a larger codebase built via autotools, check out [Simplify development by adding RTags to your text editor](https://mesosphere.com/blog/simplify-development-by-adding-rtags-to-your-text-editor/).\n\n# Credits\n\nOriginal code by Sergei Turukin.\nHacked with plenty of new features by [Till Toenshoff](https://twitter.com/ttoenshoff).\nSome code lifted from EasyClangComplete by Igor Bogoslavskyi.\n\nOn that thought, I would like to mention that EasyClangComplete is an excellent plugin, far more complex and in many ways superior to RTagsComplete. However, the approach taken by EasyClangComplete is arguably not so great for larger projects. EasyClangComplete aims to make things conveniently easy while RTagsComplete is attempting to offer plenty of features with highest possible performance at scale.\nMaybe some day EasyClangComplete will be based on `clangd` and that is likely the day I stop tinkering with RTagsComplete.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftillt%2Frtagscomplete","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftillt%2Frtagscomplete","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftillt%2Frtagscomplete/lists"}