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)
Using vim-plug
- Add
Plug 'jparise/vim-phabricator'
to~/.vimrc
vim +PluginInstall +qall
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
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.
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.
This code is released under the terms of the MIT license.
See LICENSE
for details.
- 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.