codeexplain.nvim
is a Neovim plugin that uses the powerful GPT4ALL language model to provide on-the-fly, line-by-line explanations and potential security vulnerabilities for selected code directly in your Neovim editor. It's like having your personal code assistant right inside your editor without leaking your codebase to any company.
- No internet necessary
- Automatic language detection for explaining code.
- Supports a wide range of programming languages.
- Powered by GPT4ALL for code explanation.
- Identification of potential security vulnerabilities.
- Creates a new Neovim window to display the explanations.
- Neovim
- Python3
- langchain
- llama-cpp-python
- Pygments
- pynvim
pip install -r langchain==0.0.177 llama-cpp-python==0.1.48 Pygments==2.15.1 pynvim==0.4.3
Before installing the plugin, download the GPT4ALL model and save it in your home directory:
mkdir -p "$HOME/.codeexplain/"
curl -o "$HOME/.codeexplain/model.bin" https://gpt4all.io/models/ggml-vicuna-7b-1.1-q4_2.bin
Add the following line to your init.vim
:
Plug 'mthbernardes/codeexplain.nvim'
Then run the following commands in your Neovim editor:
:source %
:PlugInstall
Add the following to your plugins.lua
file:
use 'mthbernardes/codeexplain.nvim'
Then run PackerSync
in your Neovim editor.
{
"mthbernardes/codeexplain.nvim",
lazy = true,
cmd = "CodeExplain",
build = function()
vim.cmd([[silent UpdateRemotePlugins]])
end,
}
Please refer to your package manager's documentation for installation instructions. The general process involves adding a line to your init.vim
(or equivalent configuration file) and running an installation command.
Once installed execute the command :UpdateRemotePlugins
You can use the plugin by selecting a piece of code in Visual mode and running the CodeExplain
command:
:CodeExplain
A new window will be opened in your Neovim editor, displaying line-by-line explanations of the selected code and potential security vulnerabilities.
Contributions are welcome! Please feel free to submit a pull request.
codeexplain.nvim is open-source software licensed under the MIT license.
This plugin uses GPT-4all to provide line-by-line explanations and to point out potential security vulnerabilities in your code. While it strives to be helpful, it's not a replacement for understanding your code or manually checking for security vulnerabilities. Always verify the information provided by this plugin.