aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/autoformat_doc.lua24
-rwxr-xr-xscripts/generate.py13
-rw-r--r--scripts/options_doc.lua2
3 files changed, 19 insertions, 20 deletions
diff --git a/scripts/autoformat_doc.lua b/scripts/autoformat_doc.lua
index 4880310..f6476d4 100644
--- a/scripts/autoformat_doc.lua
+++ b/scripts/autoformat_doc.lua
@@ -1,32 +1,20 @@
--- Format synchronously on save
-vim.api.nvim_create_autocmd("BufWritePre", {
- pattern = "*",
- callback = function(args)
+-- if format_on_save is a function, it will be called during BufWritePre
+require("conform").setup({
+ format_on_save = function(bufnr)
-- Disable autoformat on certain filetypes
local ignore_filetypes = { "sql", "java" }
- if vim.tbl_contains(ignore_filetypes, vim.bo[args.buf].filetype) then
+ if vim.tbl_contains(ignore_filetypes, vim.bo[bufnr].filetype) then
return
end
-- Disable with a global or buffer-local variable
- if vim.g.disable_autoformat or vim.b[args.buf].disable_autoformat then
+ if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
return
end
-- Disable autoformat for files in a certain path
- local bufname = vim.api.nvim_buf_get_name(args.buf)
+ local bufname = vim.api.nvim_buf_get_name(bufnr)
if bufname:match("/node_modules/") then
return
end
- require("conform").format({ timeout_ms = 500, lsp_fallback = true, bufnr = args.buf })
- end,
-})
-
--- To eliminate the boilerplate, you can pass a function to format_on_save
--- and it will be called during the BufWritePre callback.
-require("conform").setup({
- format_on_save = function(bufnr)
- if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
- return
- end
-- ...additional logic...
return { timeout_ms = 500, lsp_fallback = true }
end,
diff --git a/scripts/generate.py b/scripts/generate.py
index 06fbdb0..1c794ae 100755
--- a/scripts/generate.py
+++ b/scripts/generate.py
@@ -3,7 +3,7 @@ import os.path
import re
from dataclasses import dataclass
from functools import lru_cache
-from typing import Dict, List
+from typing import List
from nvim_doc_tools import (
Vimdoc,
@@ -22,6 +22,7 @@ HERE = os.path.dirname(__file__)
ROOT = os.path.abspath(os.path.join(HERE, os.path.pardir))
README = os.path.join(ROOT, "README.md")
DOC = os.path.join(ROOT, "doc")
+RECIPES = os.path.join(DOC, "recipes.md")
VIMDOC = os.path.join(DOC, "conform.txt")
OPTIONS = os.path.join(ROOT, "scripts", "options_doc.lua")
AUTOFORMAT = os.path.join(ROOT, "scripts", "autoformat_doc.lua")
@@ -82,7 +83,7 @@ def update_autocmd_md():
example_lines.extend(f.readlines())
example_lines.extend(["```\n", "\n"])
replace_section(
- README,
+ RECIPES,
r"^<!-- AUTOFORMAT -->$",
r"^<!-- /AUTOFORMAT -->$",
example_lines,
@@ -117,6 +118,13 @@ def update_readme_toc():
)
+def update_recipes_toc():
+ toc = ["\n"] + generate_md_toc(RECIPES) + ["\n"]
+ replace_section(RECIPES, r"^<!-- TOC -->$", r"^<!-- /TOC -->$", toc)
+ subtoc = add_md_link_path("doc/recipes.md", toc)
+ replace_section(README, r"^<!-- RECIPES -->$", r"^<!-- /RECIPES -->$", subtoc)
+
+
def gen_options_vimdoc() -> VimdocSection:
section = VimdocSection("Options", "conform-options", ["\n", ">lua\n"])
with open(OPTIONS, "r", encoding="utf-8") as f:
@@ -169,5 +177,6 @@ def main() -> None:
update_options()
update_autocmd_md()
update_md_api()
+ update_recipes_toc()
update_readme_toc()
generate_vimdoc()
diff --git a/scripts/options_doc.lua b/scripts/options_doc.lua
index 5dab627..9073369 100644
--- a/scripts/options_doc.lua
+++ b/scripts/options_doc.lua
@@ -13,6 +13,7 @@ require("conform").setup({
},
-- If this is set, Conform will run the formatter on save.
-- It will pass the table to conform.format().
+ -- This can also be a function that returns the table.
format_on_save = {
-- I recommend these options. See :help conform.format for details.
lsp_fallback = true,
@@ -20,6 +21,7 @@ require("conform").setup({
},
-- If this is set, Conform will run the formatter asynchronously after save.
-- It will pass the table to conform.format().
+ -- This can also be a function that returns the table.
format_after_save = {
lsp_fallback = true,
},