Skip to content

A Lua-based Neovim plugin that enhances competitive programming workflows by integrating with the Competitive Companion browser extension

License

Notifications You must be signed in to change notification settings

A7Lavinraj/assistant.nvim

Repository files navigation

Assistant.nvim Logo

Assistant.nvim

Latest release License Stars

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


showcase


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


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

About

A Lua-based Neovim plugin that enhances competitive programming workflows by integrating with the Competitive Companion browser extension

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages