jparise / vim-phabricator

Vim plugin for Phabricator and Arcanist

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Phabricator Plugin for Vim

This Vim plugin provides features for interacting with Phabricator-based repositories. It builds upon the foundational git functionality provided by Fugitive.

  • Syntax highlighting for Arcanist templates and configuration files
  • :Gbrowse support for browsing Phabricator URLs from the current buffer
  • Completion support for users and projects in Arcanist diff templates using <C-X><C-O> (requires curl and a Conduit API token)

Installation

Using vim-plug

  1. Add Plug 'jparise/vim-phabricator' to ~/.vimrc
  2. vim +PluginInstall +qall

Using Vim Packages

mkdir -p ~/.vim/pack/jparise/start
cd ~/.vim/pack/jparise/start
git clone https://github.com/jparise/vim-phabricator.git phabricator
vim -u NONE -c "helptags phabricator/doc" -c q

Configuration

g:phabricator_hosts

This plugin automatically recognizes Phabricator repositories served from hosts named phabricator (eg. phabricator.example.com).

This variable lists additional hosts that should also be considered Phabricator hosts.

g:phabricator_api_token

Phabricator's Conduit API is used to generate candidates for user and project completion. These API calls require an access token which can be generated in Phabricator's per-user Settings interface. For example:

https://phabricator.example.com/settings/user/USERNAME/page/apitokens/

The plugin will first attempt to read the per-host API token from the user's ~/.arcrc configuration file. For example:

{
  "hosts": {
    "https://secure.phabricator.com/api/": {
      "token": "api-secrettokencharacters"
    }
  }
}

If an API token can not be read from the ~/.arcrc file for the current Phabricator host, the value stored in g:phabricator_api_token will be used.

License

This code is released under the terms of the MIT license. See LICENSE for details.

Similar Projects

  • arcanist.vim provides syntax highlighting for Arcanist templates and configuration files.
  • phabrowser.vim provides a Fugitive browse handler for Phabricator.
  • rhubarb.vim provides similar features for GitHub-based repositories.
  • vscode-phabricator provides similar Phabricator features for Visual Studio Code.

About

Vim plugin for Phabricator and Arcanist

License:MIT License


Languages

Language:Vim Script 94.5%Language:Makefile 5.5%