Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/s1m0n38/dante.nvim

A basic writing tool powered by LLM ✍️
https://github.com/s1m0n38/dante.nvim

ai-nvim grammar-checker llm neovim neovim-plugin openai writing-tool

Last synced: 2 months ago
JSON representation

A basic writing tool powered by LLM ✍️

Awesome Lists containing this project

README

        

✎  dante.nvim  



Tests workflow


LuaRocks release


GitHub release


Reddit post

______________________________________________________________________

*Write, generate improved text, navigate through differences and accept/reject them individually.*

![dante nvim-screencast](https://github.com/user-attachments/assets/9031cc3f-5b2b-4fa9-b2cd-3485e95da70d)

## ⚡️ Requirements

- Tested on Neovim ≥ **0.10**
- [cURL](https://curl.se/)
- Access to an [OpenAI compatible API](https://github.com/S1M0N38/ai.nvim?tab=readme-ov-file#-llm-providers)

## 📦 Installation

You can install dante.nvim using your preferred plugin manager. Here's an example configuration for lazy.nvim:

```lua
-- Using lazy.nvim
{
"S1M0N38/dante.nvim",
lazy = true,
cmd = "Dante",
version = "*",
opts = {
presets = {
["default"] = {
client = {
base_url = "https://api.openai.com/v1", -- Provider base URL
api_key = "YOUR_API_KEY", -- Provider API key
},
},
},
},
dependencies = {
{ "S1M0N38/ai.nvim", version = ">=1.3.0" },
}
}
```

For a more complex configuration with the same keymaps shown in the screencast, check [my own config](https://github.com/S1M0N38/dotfiles/blob/macos/config/lazyvim/lua/plugins/dante.lua).

## 🚀 Usage

To get started with dante.nvim, read the documentation with [`:help dante`](https://github.com/S1M0N38/dante.nvim/blob/main/doc/dante.txt). This will provide you with a comprehensive overview of the plugin's features and usage.

> [!NOTE]
> **Learning Vim/Neovim Documentation**: Vim/Neovim plugins are usually shipped with :help documentation. Learning how to navigate it is a valuable skill. If you are not familiar with it, start with `:help` and read the first 20 lines.

> [!TIP]
> **Customizing Configuration**: This plugin ships with a bare minimum configuration. The idea is that the user can define their own presets to interact with different LLM providers and customize the requests down to the last LLM parameter. The downside is that the opts table could become quite large and verbose, but in Neovim, configuration == code, so you can simplify it with utility functions.

## 🙏 Acknowledgments

This plugin was inspired by the following projects:

- [jackMort/ChatGPT.nvim](https://github.com/jackMort/ChatGPT.nvim)
- [David-Kunz/gen.nvim](https://github.com/David-Kunz/gen.nvim)
- [Bryley/neoai.nvim](https://github.com/Bryley/neoai.nvim)
- [olimorris/codecompanion.nvim](https://github.com/olimorris/codecompanion.nvim)