{"id":16589763,"url":"https://github.com/beeender/comrade","last_synced_at":"2025-03-06T12:25:07.180Z","repository":{"id":56355137,"uuid":"168094063","full_name":"beeender/Comrade","owner":"beeender","description":"Brings JetBrains/IntelliJ IDEs magic to Neovim with minimal setup.","archived":false,"fork":false,"pushed_at":"2023-02-25T14:30:02.000Z","size":81,"stargazers_count":293,"open_issues_count":22,"forks_count":24,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-02T09:53:12.383Z","etag":null,"topics":["deoplete-source","neovim-plugin"],"latest_commit_sha":null,"homepage":"","language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/beeender.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-01-29T05:19:43.000Z","updated_at":"2025-02-28T09:23:31.000Z","dependencies_parsed_at":"2023-10-20T18:21:10.516Z","dependency_job_id":null,"html_url":"https://github.com/beeender/Comrade","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beeender%2FComrade","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beeender%2FComrade/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beeender%2FComrade/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beeender%2FComrade/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beeender","download_url":"https://codeload.github.com/beeender/Comrade/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242208055,"owners_count":20089670,"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":["deoplete-source","neovim-plugin"],"created_at":"2024-10-11T23:09:51.868Z","updated_at":"2025-03-06T12:25:07.153Z","avatar_url":"https://github.com/beeender.png","language":"Vim script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Comrade [![Build Status](https://travis-ci.com/beeender/Comrade.svg?token=Jk7Uqc68DwnrEsRwJDp7\u0026branch=master)](https://travis-ci.com/beeender/Comrade)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-3-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n**Brings JetBrains/IntelliJ IDEs magic to Neovim with minimal setup.**\n\nThe whole idea behind this is creating a neovim client as an IntelliJ/JetBrains IDE plugin,\nmaintaining bi-directly synchronization of editing buffers between IDE and neovim, then\nrequest the IDE for the code assistant information from neovim.\n\n[ComradeNeovim](https://github.com/beeender/ComradeNeovim) is required to be installed in the\nIDE to make this work.\n\n- [Screenshots](#Screenshots)\n- [Install](#install)\n- [Usage](#usage)\n- [Mapped Keys](#mapped-keys)\n- [Supported IDEs](#supported-ides)\n- [Supported Languages](#supported-languages)\n\n## Screenshots\n\n ![Flutter in Android Studio](https://github.com/beeender/ComradeNeovim/blob/master/screenshot/android_studio_flutter.gif)\n \n## Install\n\n**Note: Comrade requires Neovim (0.3.2+) with Python3.6.1+enabled.**\n**Note: JetBrains IDEs (2018.3+) is required.**\n\n- Search for `ComradeNeovim` in the IntelliJ plugin market and install it.\n- Install [deoplete](https://github.com/Shougo/deoplete.nvim) for code completion.\n```vim\nPlug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }\n```\n- Install this plugin.\n\nFor vim-plug\n```\nPlug 'beeender/Comrade'\n```\n\n## Usage\n\n1. Keep the project opened in the JetBrains IDE which contains the source file you want to\n   edit in neovim.\n2. Start using neovim to edit any files belong to that project.\n\nBy default, the IDE side plugin will automatically connect to any running neovim instance\nit discovered and monitoring the current editing buffer. If it can find a neovim buffer\nwhich is associated to any files in the project, the IDE plugin will connect to neovim and\nstart all the Comrade functionalities to that buffer.\n\nWhen IDE and neovim get connected, the both editing activities will be synced to each other.\nYou would be able to see changes made in one window (either IDE or neovim) appears in the\nother in a short time.\n\nAlso, the file write action (`:w`) will be taken over by the IDE to avoid content conflicts.\n\n### Completion\n\nIf the [deoplete](https://github.com/Shougo/deoplete.nvim) is installed and enabled, the\ncompletion should work out of box. It should support any types of languages which the IDE\nsupports.\n\n### Linting\n\nComrade should be able to do linting on the fly just like what JetBrains IDE\nis doing. You don't have to save the file to get the linting result. The linting\nrefresh will be triggered automatically whenever there is a change in the file\nbuffer.\n\nThe linting items are controlled by the IDE's inspection settings. Changing\ninspection settings in the IDE side will result linting change in the neovim\nside accordingly.\n\n### Fixer\n\nWhen a coding problem has been detected, Comrade can call into the\nIDE's quick fix system to make a quick fix of it. To use this, just move the\ncursor to the problem position and call `ComradeFix` command or use default\nkey binding `\u003cLEADER\u003e\u003cLEADER\u003ef`.\n\nIDE itself has a very large amount of quick fixes. Some of them require\nuser's interactions in the IDE. It is quite difficult to support all of them.\nAlthough Comrade restricts the fixers in a small but most important range,\nthere still could be some issues with fixers like the neovim lost the focus.\nPlease see [this issue](https://github.com/beeender/Comrade/issues/1).\n\n\n## Mapped Keys\n\n- Quick fix at the current cursor\n\n```\n\u003cLEADER\u003e\u003cLEADER\u003ef\n```\n\nTo change the key map:\n\n```\nlet g:comrade_key_fix = \u003cyour_mapped_keys\u003e\n```\n\n## Supported IDEs\n\nIn theory, this plugin should support all JetBrains IDEs after version `2018.3`. Since not\nall of them are free, only part of them have been verified by us.\nPlease let us know or send a PR to change the IDE support status below:\n\n| IDE | Status | Remarks |\n| --- |:------:|:-------:|\n| Android Studio | verified | |\n| AppCode | unknown | |\n| CLion | verified | |\n| GoLand | unknown | |\n| IDEA | verified | |\n| PhpStorm | unknown | |\n| PyCharm | verified | |\n| Rider| unknown | |\n| RubyMine | unknown | |\n| WebStorm | unknown | |\n\n\n## Supported Languages\n\nSame as the IDE support, this plugin should support all languages which your JetBrains IDE\nsupport.\n**This could also support files like xml layout in the Android project if the IDE supports it.**\nPlease let us know or send a PR to change the language support status below:\n\n| Language | Status | Remarks |\n| -------- |:------:|:-------:|\n| C | unknown | |\n| C# | unknown | |\n| C++ | unknown | |\n| Dart | verified | with [IntelliJ Dart Plugin](https://plugins.jetbrains.com/plugin/6351-dart) |\n| Java | verified | |\n| Kotlin | verified | |\n| ObjC | unknown | |\n| PHP | unknown | |\n| Python | verified | |\n| Rust | verified | with [IntelliJ Rust](https://intellij-rust.github.io/) |\n| Swift | unknown | |\n| Go | unknown | |\n| Ruby | unknown | |\n\n\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://longcb.me\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/20348662?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChau Bao Long\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/beeender/Comrade/commits?author=chau-bao-long\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://hori-ryota.com\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/2936501?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eHori Ryota\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/beeender/Comrade/commits?author=hori-ryota\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://zphixon.com\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/4751549?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZack\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/beeender/Comrade/commits?author=zphixon\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeeender%2Fcomrade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeeender%2Fcomrade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeeender%2Fcomrade/lists"}