README.md
June 4, 2025 · View on GitHub
Assistant.nvim
A powerful and efficient Neovim plugin designed for competitive programmers. It automates the testing workflow, making it faster and more convenient to run test cases directly inside Neovim
Note
Speed is crucial in competitive programming. Ensure that using this plugin enhances your workflow rather than slowing you down.
Features
- Automated Test Case Management: Easily fetch and organize test cases from online judges.
- Customizable Execution Commands: Support for multiple programming languages with configurable commands.
- Interactive UI: A user-friendly interface for managing test cases.
- Asynchronous Processing: Ensures Neovim remains responsive during execution.
Requirements
- Neovim
>= 0.9.5 - Competitive Companion Browser Extension
Installation Using lazy.nvim
latest version
{
'A7lavinraj/assistant.nvim',
lazy = false,
keys = {
{ '<leader>a', '<cmd>Assistant<cr>', desc = 'Assistant.nvim' }
},
opts = {}
}
stable version
{
'A7lavinraj/assistant.nvim',
branch = 'stable',
lazy = false,
keys = {
{ '<leader>a', '<cmd>Assistant<cr>', desc = 'Assistant.nvim' }
},
opts = {}
}
Default configuration
{
mappings = {},
commands = {
python = {
extension = 'py',
template = nil,
compile = nil,
execute = {
main = 'python3',
args = { '$FILENAME_WITH_EXTENSION' },
},
},
cpp = {
extension = 'cpp',
template = nil,
compile = {
main = 'g++',
args = { '$FILENAME_WITH_EXTENSION', '-o', '$FILENAME_WITHOUT_EXTENSION' },
},
execute = {
main = './$FILENAME_WITHOUT_EXTENSION',
args = nil,
},
},
},
ui = {
border = 'single',
diff_mode = false,
title_components_separator = '',
},
core = {
process_budget = 5000,
port = 10043,
filename_generator = nil
},
}
Explore more about assistant on Wiki
Want to contribute?
Please read CONTRIBUTING.md to get started