Skip to content

Support Vim editor #5

@ericdallo

Description

@ericdallo

To upvote this issue, give it a thumbs up. See this list for the most upvoted issues.

from https://eca.dev/development/#supporting-a-new-editor

  • Create the plugin/extension repo (editor-code-assistant/eca- would be ideal), ask maintainers for permission.
  • Server
    • Manage ECA server process.
      • Automatic download of latest server.
      • Allow user specify server path/args.
      • Commands for Start/stop server from editor.
      • Show server status (modeline, bottom of editor, etc).
    • JSONRPC communication with eca server process via stdin/stdout sending/receiving requests and notifications, check protocol.
    • Allow check eca server process stderr for debugging/logs.
    • Support initialize and initialized methods.
    • Support exit and shutdown methods.
  • Chat
    • Oepn chat window
    • Send user messages via chat/prompt request.
    • Clear chat and Reset chat.
    • Support receive chat contents via chat/contentReceived notification.
    • Present and allow user change behaviors and models returned from initialize request.
    • Present and add contexts via chat/queryContext request
    • Support tools contents: run/approval/reject via chat/toolCallApprove or chat/toolCallReject.
    • Support reason/thoughts content blocks.
    • Show MCPs summary (running, failed, pending).
    • Support chat commands (/) auto completion, querying via chat/queryCommands.
    • Show usage (costs/tokens) from usage content blocks.
    • keybindings: navigate through chat blocks/messages, clear chat.
  • MCP
    • Open MCP details window
    • Receive MCP server updates and update chat and mcp-details ux.
  • Basic plugin/extension documentation

I have 0 experience in creating vim plugins, any help is welcome, otherwise priority is lower.

Any help is welcome, please report in this issue for alignment

Metadata

Metadata

Labels

Help welcomeHelp is welcome as implement this require effort or lacks knowledgeenhancementNew feature or request

Type

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions