Skip to content

We encourage everyone to develop this plugin together. #23

@AuroBreeze

Description

@AuroBreeze

Motivation

Quick-c has grown into a feature-rich yet lightweight plugin for C/C++ daily workflows. To keep it solid, friendly, and sustainable, we’d love to invite more contributors to build it together: features, docs, Windows quirks, performance, tests—anything that improves the experience.

What kinds of contributions are welcome?

  • Features
    • C/C++ QoL: run/debug args and env prompts, build profiles (C11, warnings, ASan), task history
    • Build systems: Make/CMake UX, CMakePresets/CTest, Ninja detection
    • Diagnostics: better MSVC/gcc/clang parsing, quickfix/Telescope filters
    • Integrations: BetterTerm/ToggleTerm/Overseer, clang-tidy/clang-format/cppcheck
  • Reliability & DX
    • Windows (MSVC/MinGW/WSL) detection and helpful fallbacks
    • Health/Check improvements with actionable suggestions
    • Performance: cache strategies, big-file preview safeguards
  • Documentation
    • English/Chinese parity, step-by-step guides, Windows screenshots, troubleshooting
  • Testing & CI
    • Luacheck/Stylua, small unit tests for parsers, health checks, example validation

If you’re unsure whether an idea fits, open a discussion or a draft PR—happy to help refine scope.

How to get started

  1. Fork and clone the repo.
  2. Install dependencies (Neovim 0.8+, optional Telescope, nvim-dap+codelldb for debug).
  3. Start Neovim with a minimal config and load the plugin.
  4. Run commands:
    • :QuickCBuild / :QuickCRun / :QuickCBR / :QuickCDebug
    • :QuickCMake / :QuickCMakeRun / :QuickCMakeCmd
    • :QuickCCMake / :QuickCCMakeRun / :QuickCCMakeConfigure
    • :QuickCQuickfix / :QuickCHealth / :QuickCCheck / :QuickCConfig
  5. Make a small change and test it locally.

Development guidelines

  • Code style: keep existing structure; follow .stylua.toml and .luacheckrc.
  • UX: prefer async, non-blocking; graceful fallbacks; clear messages.
  • Cross-platform: test Windows + Unix; quote/escape paths carefully.
  • Minimal surprises: default behavior should remain intuitive and lightweight.

Proposing changes

  • Feature proposal issue:
    • Problem and motivation
    • Proposed UX (commands, keymaps, config)
    • Alternatives considered
    • Backward compatibility notes
  • Bug report:
    • Steps to reproduce
    • Expected vs actual
    • OS/Neovim version, shell, compiler, plugin config
    • Logs (terminal output, :messages), minimal repro if possible

Good first ideas

  • Improve QuickCHealth messages and actionable hints
  • Add run/debug args prompt with “remember last input”
  • Enhance MSVC output parsing (incl. LNK errors)
  • Telescope quickfix: toggle filters (errors/warnings)
  • Docs: English sync, Windows developer prompt guidance

Communication

  • Use Issues for bugs/features.
  • Use Discussions (if enabled) for ideas and questions.
  • PRs welcome—small, focused changes preferred.

License

Contributions are accepted under the repository’s existing GPL-v3 license.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions