From f3b930db4964d60e255c8f9e37b7f2218dfc08cb Mon Sep 17 00:00:00 2001 From: Steven Arcangeli Date: Wed, 22 May 2024 00:49:10 -0700 Subject: doc: add type annotations for setup() function --- lua/conform/init.lua | 67 ++++------------------------------------------------ 1 file changed, 4 insertions(+), 63 deletions(-) (limited to 'lua/conform/init.lua') diff --git a/lua/conform/init.lua b/lua/conform/init.lua index 20048a9..705cf6a 100644 --- a/lua/conform/init.lua +++ b/lua/conform/init.lua @@ -2,67 +2,6 @@ local islist = vim.islist or vim.tbl_islist local M = {} ----@class (exact) conform.FormatterInfo ----@field name string ----@field command string ----@field cwd? string ----@field available boolean ----@field available_msg? string - ----@class (exact) conform.JobFormatterConfig ----@field command string|fun(self: conform.JobFormatterConfig, ctx: conform.Context): string ----@field args? string|string[]|fun(self: conform.JobFormatterConfig, ctx: conform.Context): string|string[] ----@field range_args? fun(self: conform.JobFormatterConfig, ctx: conform.RangeContext): string|string[] ----@field cwd? fun(self: conform.JobFormatterConfig, ctx: conform.Context): nil|string ----@field require_cwd? boolean When cwd is not found, don't run the formatter (default false) ----@field stdin? boolean Send buffer contents to stdin (default true) ----@field tmpfile_format? string When stdin=false, use this format for temporary files (default ".conform.$RANDOM.$FILENAME") ----@field condition? fun(self: conform.JobFormatterConfig, ctx: conform.Context): boolean ----@field exit_codes? integer[] Exit codes that indicate success (default {0}) ----@field env? table|fun(self: conform.JobFormatterConfig, ctx: conform.Context): table ----@field options? table - ----@class (exact) conform.LuaFormatterConfig ----@field format fun(self: conform.LuaFormatterConfig, ctx: conform.Context, lines: string[], callback: fun(err: nil|string, new_lines: nil|string[])) ----@field condition? fun(self: conform.LuaFormatterConfig, ctx: conform.Context): boolean ----@field options? table - ----@class (exact) conform.FileLuaFormatterConfig : conform.LuaFormatterConfig ----@field meta conform.FormatterMeta - ----@class (exact) conform.FileFormatterConfig : conform.JobFormatterConfig ----@field meta conform.FormatterMeta - ----@alias conform.FormatterConfig conform.JobFormatterConfig|conform.LuaFormatterConfig - ----@class (exact) conform.FormatterConfigOverride : conform.JobFormatterConfig ----@field inherit? boolean ----@field command? string|fun(self: conform.FormatterConfig, ctx: conform.Context): string ----@field prepend_args? string|string[]|fun(self: conform.FormatterConfig, ctx: conform.Context): string|string[] ----@field format? fun(self: conform.LuaFormatterConfig, ctx: conform.Context, lines: string[], callback: fun(err: nil|string, new_lines: nil|string[])) Mutually exclusive with command ----@field options? table - ----@class (exact) conform.FormatterMeta ----@field url string ----@field description string ----@field deprecated? boolean - ----@class (exact) conform.Context ----@field buf integer ----@field filename string ----@field dirname string ----@field range? conform.Range - ----@class (exact) conform.RangeContext : conform.Context ----@field range conform.Range - ----@class (exact) conform.Range ----@field start integer[] ----@field end integer[] - ----@alias conform.FormatterUnit string|string[] ----@alias conform.FiletypeFormatter conform.FormatterUnit[]|fun(bufnr: integer): string[] - ---@type table M.formatters_by_ft = {} @@ -71,6 +10,7 @@ M.formatters = {} M.notify_on_error = true +---@param opts? conform.setupOpts M.setup = function(opts) opts = opts or {} @@ -80,8 +20,9 @@ M.setup = function(opts) if opts.log_level then require("conform.log").level = opts.log_level end - if opts.notify_on_error ~= nil then - M.notify_on_error = opts.notify_on_error + local notify_on_error = opts.notify_on_error + if notify_on_error ~= nil then + M.notify_on_error = notify_on_error end local aug = vim.api.nvim_create_augroup("Conform", { clear = true }) -- cgit v1.2.3-70-g09d2