Skip to content

V1337Q/comvimed.lua

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

💻 comvimed.nvim

comvimed.nvim is a Neovim plugin that lets you easily compile and run code for multiple languages directly from your editor, ported from the previous vim version comvimedrust.vim.

Features

  • One-key compilation & execution for:
    • Rust, C/C++, Python, Go, Java, Lua, Kotlin, Ruby, Assembly
  • Unit test runner for supported languages:
    • Rust (cargo test <fn>), Python (pytest), Go (*_test.go), C/C++ (placeholder)
  • Play button sign for Rust main function in the gutter
  • Terminal opens in a small split below automatically
  • Configurable keymaps and options
  • Easy extension for other languages

⚡️ Requirements

  • Neovim >= 0.8.0
  • lazy.nvim or any plugin manager

📦 Installation

With lazy.nvim:

return {
  {
    "V1337Q/comvimed.lua",
    opts = {
      play_button = true, -- show play button in Rust files
      keymaps = true,     -- enable default keymaps
      mappings = {
        run_main = "<leader>r",
        find_fn = "<leader>u",
        run_test = "<leader>t",
        open_term = "<leader>h",
        run_any = "<leader>x",
        unit_tests = "<leader>e",
      },
    },
  }
}

⚙️ Configuration

You can configure comvimed.nvim by passing an opts table to setup:

require("comvimed").setup({
  play_button = true, -- show the Rust play button
  keymaps = true,     -- enable default keymaps
  mappings = {
    run_main = "<leader>r",
    find_fn = "<leader>u",
    run_test = "<leader>t",
    open_term = "<leader>h",
    run_any = "<leader>x",
    unit_tests = "<leader>e",
  },
})

Default Keymaps

Action Keymap
Run main (Rust) <leader>r
Render main function <leader>u
Run test at cursor <leader>t
Open terminal split <leader>h
Run current file <leader>x
Run unit tests <leader>e

About

A simple runner plugin for neovim

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages