Skip to content

jparise/vim-phabricator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.