please.nvim is a plugin which enables you to interact with your Please repository from the comfort of Neovim. It aims to remove the need to switch from your editor to the shell when performing routine actions.
- Build, run, test, and debug a target with
:Please build,:Please run,:Please test, and:Please debug. - Run an arbitrary plz command in a popup with
:Please command. - Display history of previous commands and run any of them again with
:Please history. - Set the profile to use with
:Please set_profile. - Jump from a source file to its target's definition with
:Please jump_to_target. - Look up a target by its build label with
:Please look_up_target. - Yank a target's build label with
:Please yank. pleaseconfigured as thefiletypeforBUILD,BUILD.plz,*.build, and*.build_defsfiles.iniconfigured as thefiletypefor.plzconfigfiles to enable better syntax highlighting.- Python tree-sitter parser configured to be used for please files to enable better syntax highlighting and use of all tree-sitter features in build files.
pleaseLSP client configured to useplz tool lpsforpleasefiles.- Language servers gopls, golangci-lint-langserver, basedpyright, and pyright automatically configured for use in a Please repository.
Screen.Recording.2022-12-03.at.18.22.18.mov
Shown above:
- Testing the target
//gopkg:testfromgopkg/gopkg_test.gowith<space>pt(:Please test) - Jumping to the defintion of the target
//gopkg:testfromgopkg/gopkg_test.gowith<space>pj(:Please jump_to_target) - Testing the target
//gopkg:testagain, this time from theBUILDfile (:Please testagain)
Detailed documentation can be in doc/please.txt or by running :help please.nvim.
ℹ️ Neovim >= 0.11.1 is required to use please.nvim
Using packer.nvim
use({ 'marcuscaisey/please.nvim' })Using vim-plug
Plug 'marcuscaisey/please.nvim'Using dein
call dein#add('marcuscaisey/please.nvim')- nvim-treesitter - Tree-sitter configurations and abstraction layer for Neovim. This enables you to install tree-sitter parsers.
- fzf-lua - Highly extendable fuzzy finder. This provides a
good
vim.ui.selectimplementation. - nvim-dap - Debug Adapter Protocol client
implementation for Neovim. This is required to use
:Please debug. - nvim-dap-ui - UI for nvim-dap.