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.
- 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.
- Neovim
>= 0.9.5
- Competitive Companion Browser Extension
Installation Using lazy.nvim
{
'A7lavinraj/assistant.nvim',
lazy = false,
keys = {
{ '<leader>a', '<cmd>Assistant<cr>', desc = 'Assistant.nvim' }
},
opts = {}
}
{
'A7lavinraj/assistant.nvim',
branch = 'stable',
lazy = false,
keys = {
{ '<leader>a', '<cmd>Assistant<cr>', desc = 'Assistant.nvim' }
},
opts = {}
}
{
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
Please read CONTRIBUTING.md to get started