Skip to content

Concept

Alisue edited this page May 8, 2021 · 1 revision
  • Fully asynchronous
    Gin will use denops.vim as an implementation backend so everything will be asynchronous.

  • Action based
    Of course, like gina.vim or fern.vim. But it's more like fern.vim version (use mappings as actions) than gina.vim version (use isolated actions).

  • Buffer based
    All required information is saved as a buffer name so that users can restore the buffer with the correct content. This is the biggest difference from gina.vim which cannot restore the content from the buffer name. This is more like fern.vim which fully supports Vim's session feature.

  • Independent commands
    Not like gina.vim, gin will provide commands like GinStatus, GinBlame, or so on. And Gin status will execute a raw git status command and show the result instead.

  • Fully interactive
    Usually, when users execute git commit on Vim's terminal, it opens Vim in that terminal (Vim in Vim). With gin, it will open a new tab in Vim instead like users are using edita.vim. Like this feature, I'd love to use Vim's prompt instead of terminal prompt to enter a password or whatever on git command execution so that for example Gin push with SSH passphrase works correctly (which is not possible with gina.vim)

  • GitHub support
    Not like gina.vim, gin will support GitHub integration in default.


This concept is WIP. Anything in this page might be changed


Clone this wiki locally