# knot.nvim
knot.nvim is a plugin for [Neovim ](https://neovim.io/ ) that provides a way to view and edit DNS records using [knot ](https://www.knot-dns.cz/ ) via [knotctl ](https://code.smolnet.org/micke/knotctl ).
## Installation
With [lazy.nvim ](https://github.com/folke/lazy.nvim ):
```lua
{
"https://code.smolnet.org/micke/knot.nvim.git",
dependencies = {
"nvim-telescope/telescope.nvim",
},
config = function()
require("telescope").load_extension('knot')
end,
},
```
## Dependencies
You need to have [knotctl ](https://code.smolnet.org/micke/knotctl ) installed and configured on your system.
If knotctl works for you in your terminal, it should work in this plugin as well.
## Usage
This plugin provides a Telescope picker for viewing and editing DNS records. You can summon it with:
```vim
:Telescope knot update
```
You can also add new records with:
```vim
:Telescope knot add
```
or delete records with:
```vim
:Telescope knot delete
```
or add a mapping:
```vim
nnoremap < leader > ka :Telescope knot add< cr >
nnoremap < leader > kd :Telescope knot delete< cr >
nnoremap < leader > ku :Telescope knot update< cr >
```
You can edit the record and when saving it with `:w` you will be asked to confirm. You can quit the buffer with `:q` or `q` to discard changes.
## Screenshots
### The finder and previewer
![Viewer ](https://code.smolnet.org/micke/knot.nvim/raw/branch/main/screenshots/viewer.png )
### Editing a record
![Editor ](https://code.smolnet.org/micke/knot.nvim/raw/branch/main/screenshots/editor.png )