From 002afeb870c44b4773c7d9d4162cb7d9ad0e3306 Mon Sep 17 00:00:00 2001 From: ushmz <44394399+ushmz@users.noreply.github.com> Date: Tue, 18 Nov 2025 22:28:29 +0900 Subject: [PATCH] refactor: make config type fields optional Make all fields in TabiOptions and related config classes optional to allow partial configuration overrides. This improves the type safety and flexibility of the configuration system. --- lua/tabi/config.lua | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/lua/tabi/config.lua b/lua/tabi/config.lua index df32779..b70682a 100644 --- a/lua/tabi/config.lua +++ b/lua/tabi/config.lua @@ -2,38 +2,38 @@ local M = {} ---@class TabiOptions ----@field storage TabiStorageConfig ----@field ui TabiUIConfig ----@field keymaps TabiKeymapsConfig +---@field storage? TabiStorageConfig +---@field ui? TabiUIConfig +---@field keymaps? TabiKeymapsConfig ---@class TabiStorageConfig ----@field backend 'local'|'global' +---@field backend? 'local'|'global' ---@class TabiKeymapsConfig ----@field enabled boolean ----@field start string|false ----@field ["end"] string|false ----@field note string|false ----@field note_delete string|false ----@field retrace string|false ----@field retrace_end string|false ----@field sessions string|false +---@field enabled? boolean +---@field start? string|false +---@field ["end"]? string|false +---@field note? string|false +---@field note_delete? string|false +---@field retrace? string|false +---@field retrace_end? string|false +---@field sessions? string|false ---@class TabiUIConfig ----@field selector 'native'|'telescope'|'float' ----@field note_preview_length number ----@field use_icons boolean ----@field float_config TabiFloatConfig ----@field telescope TabiTelescopeConfig +---@field selector? 'native'|'telescope'|'float' +---@field note_preview_length? number +---@field use_icons? boolean +---@field float_config? TabiFloatConfig +---@field telescope? TabiTelescopeConfig ---@class TabiFloatConfig ----@field width number ----@field height number ----@field border string +---@field width? number +---@field height? number +---@field border? string ---@class TabiTelescopeConfig ----@field theme string|nil ----@field layout_config table +---@field theme? string|nil +---@field layout_config? table --- Default configuration M.defaults = {