ci: add vimdoc workflow

Tidy doesn't have any vim documentation. This
commit adds a workflow that automatically creates
a vimdoc from our readme, then commits it back to
the repo.
main
McAuley Penney 1 year ago
parent 0f3213ef0a
commit e6fbcd2d25

@ -0,0 +1,27 @@
name: CI
on:
push:
paths:
- "README.md"
pull_request:
paths:
- "README.md"
jobs:
docs:
runs-on: ubuntu-latest
if: ${{ github.ref == 'refs/heads/main' }}
name: pandoc markdown to vimdoc
steps:
- uses: actions/checkout@v3
- name: panvimdoc
uses: kdheepak/panvimdoc@main
with:
vimdoc: tidy.nvim
version: "Neovim >= 0.9.0"
demojify: true
treesitter: true
- name: Push changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: "chore(build): auto-generate vimdoc"

@ -1,12 +1,22 @@
# tidy.nvim 🧹
An [autocommand](https://neovim.io/doc/user/autocmd.html) that removes all trailing white spaces and empty lines at the end of the buffer on every `BufWritePre`.
**tidy.nvim** removes trailing white space and empty lines on BufWritePre.
![tidy-demo](https://github.com/mcauley-penney/tidy.nvim/assets/59481467/f3807c69-2b36-4a14-b83a-dd0f2829e096)
## Features
- Remove white space at the end of every line on save
- Remove empty lines at the end of the buffer on save
## Requirements
- Neovim >= 0.9.0
It may (should) work on lower versions, but is tested and updated using nightly.
## Installation
- [lazy.nvim](https://github.com/folke/lazy.nvim)
Your installation configuration will depend on your plugin manager. Below is the basic installation (using default options) for lazy.nvim.
```lua
{
@ -17,12 +27,23 @@ An [autocommand](https://neovim.io/doc/user/autocmd.html) that removes all trail
## Configuration
Tidy will work on all buffers using only the basic installation shown above. No configuration options are required, but please see the documentation for configuration options. An example configuration for lazy.nvim is
tidy.nvim comes with the following options and their default settings:
```lua
{
filetype_exclude = {} -- Tidy will not be enabled for any filetype, e.g. "markdown", in this table
}
```
A more full example configuration for lazy.nvim would be:
```lua
{
"mcauley-penney/tidy.nvim",
config = { filetype_exclude = { "markdown", "diff" } },
config = {
filetype_exclude = { "markdown", "diff" }
},
init = function()
vim.keymap.set('n', "<leader>te", require("tidy").toggle, {})
end
@ -30,6 +51,14 @@ Tidy will work on all buffers using only the basic installation shown above. No
```
## Usage
tidy.nvim comes with the following functions:
| Lua | Description |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `require("tidy").toggle()` | Turn tidy.nvim off for the current buffer a plugin |
## About and Credits
I originally wrote this as a wrapper around a couple of vim regex commands used for formatting files before I began using formatters. These commands are not mine, please see the sources below. Even with real formatters in my setup now, I still like and use this because I like these specific formats to be applied to every buffer and don't want to have a formatting tool installed for them.

Loading…
Cancel
Save