A Neovim plugin providing language support, code execution, and preview features for working with Quarto documents.
Quarto-nvim is a Neovim plugin that enhances the experience of writing and editing Quarto manuscripts. It integrates language server features, code execution, and document previews directly within the Neovim editor, making it a powerful tool for data scientists, researchers, and technical writers.
Data scientists, researchers, and technical writers who use Neovim as their editor and work with Quarto documents for creating dynamic, code-integrated manuscripts and reports.
Developers choose quarto-nvim because it leverages existing Neovim ecosystems and plugins to provide a cohesive and extensible environment for Quarto users, avoiding reinvention of tools where possible. It offers configuration flexibility and seamless integration with popular code runner plugins and language support tools.
Quarto mode for Neovim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates language server features for R, Python, Julia, Bash, and HTML, providing hover documentation, autocompletion, and go-to-definition directly in Quarto code chunks, as shown in the demo video.
Interfaces with popular code runners like Molten, Vim-slime, and Iron.nvim, allowing configurable execution of cells, lines, or ranges with language-specific options, detailed in the Running Code section.
Offers QuartoPreview command to render manuscripts in real-time within Neovim's integrated terminal, enabling quick feedback without switching applications.
Designed to work with existing Neovim plugins such as Otter.nvim, nvim-cmp, and nvim-treesitter, avoiding redundancy and leveraging community tools for extended functionality.
Relies on multiple external plugins and language servers, requiring users to install and configure each separately, which can be daunting and error-prone, as noted in the setup instructions.
Admits to edge cases like R diagnostics needing manual .lintr file adjustments, with similar issues possible in other languages, requiring user intervention and potential troubleshooting.
Lacks an integrated execution engine; users must rely on third-party runners that need separate setup, adding to complexity and potential compatibility issues.