From 67b7a82a6f3323ac312eb4c64a73686831bd13ec Mon Sep 17 00:00:00 2001 From: Guennadi Maximov C Date: Sat, 7 Feb 2026 14:19:30 -0600 Subject: [PATCH 1/2] fix: deprecations for Neovim `>=v0.11` addressed Signed-off-by: Guennadi Maximov C --- lua/focus/init.lua | 13 +++++++------ lua/focus/modules/utils.lua | 20 ++++++++++++++++++++ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/lua/focus/init.lua b/lua/focus/init.lua index 25bdf4f2..393e96ec 100644 --- a/lua/focus/init.lua +++ b/lua/focus/init.lua @@ -14,6 +14,7 @@ local autocmd = require('focus.modules.autocmd') local split = require('focus.modules.split') local functions = require('focus.modules.functions') local resizer = require('focus.modules.resizer') +local utils = require('focus.modules.utils') local H = {} local Focus = {} @@ -177,11 +178,11 @@ end H.default_config = Focus.config H.setup_config = function(config) - vim.validate({ config = { config, 'table', true } }) + utils.validate({ config = { config, 'table', true } }) config = vim.tbl_deep_extend('force', H.default_config, config or {}) - vim.validate({ + utils.validate({ enable = { config.enable, 'boolean' }, commands = { config.commands, 'boolean' }, autoresize = { config.autoresize, 'table', true }, @@ -189,7 +190,7 @@ H.setup_config = function(config) ui = { config.split, 'table', true }, }) - vim.validate({ + utils.validate({ ['autoresize.enable'] = { config.autoresize.enable, 'boolean' }, ['autoresize.width'] = { config.autoresize.width, 'number' }, ['autoresize.height'] = { config.autoresize.height, 'number' }, @@ -217,12 +218,12 @@ H.setup_config = function(config) }, }) - vim.validate({ + utils.validate({ ['split.bufnew'] = { config.split.bufnew, 'boolean' }, ['split.tmux'] = { config.split.tmux, 'boolean' }, }) - vim.validate({ + utils.validate({ ['ui.number'] = { config.ui.number, 'boolean' }, ['ui.relativenumber'] = { config.ui.relativenumber, 'boolean' }, ['ui.hybridnumber'] = { config.ui.hybridnumber, 'boolean' }, @@ -237,7 +238,7 @@ H.setup_config = function(config) ['ui.winhighlight'] = { config.ui.winhighlight, 'boolean' }, }) - vim.validate({ + utils.validate({ ['ui.colorcolumn.enable'] = { config.ui.colorcolumn.enable, 'boolean' }, ['ui.colorcolumn.list'] = { config.ui.colorcolumn.list, 'string' }, }) diff --git a/lua/focus/modules/utils.lua b/lua/focus/modules/utils.lua index c535be54..a996f212 100644 --- a/lua/focus/modules/utils.lua +++ b/lua/focus/modules/utils.lua @@ -1,5 +1,25 @@ local M = {} +function M.validate(T) + local max = vim.fn.has('nvim-0.11') == 1 and 3 or 4 + for name, spec in pairs(T) do + while #spec > max do + table.remove(spec, #spec) + end + + T[name] = spec + end + + for name, spec in pairs(T) do + if vim.fn.has('nvim-0.11') == 1 then + table.insert(spec, 1, name) + vim.validate(unpack(spec)) + else + vim.validate(spec) + end + end +end + --RETURNS TABLE OF LOWER CASE STRINGS -- function M.to_lower(list) From 0306c7a6c8b0fd25395504b197438d155c99580a Mon Sep 17 00:00:00 2001 From: Guennadi Maximov C Date: Sat, 7 Feb 2026 14:35:01 -0600 Subject: [PATCH 2/2] fix(utils): correct formatting and fix validator Signed-off-by: Guennadi Maximov C --- lua/focus/modules/utils.lua | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lua/focus/modules/utils.lua b/lua/focus/modules/utils.lua index a996f212..f9383e95 100644 --- a/lua/focus/modules/utils.lua +++ b/lua/focus/modules/utils.lua @@ -1,23 +1,24 @@ local M = {} function M.validate(T) - local max = vim.fn.has('nvim-0.11') == 1 and 3 or 4 - for name, spec in pairs(T) do - while #spec > max do - table.remove(spec, #spec) - end + local max = vim.fn.has('nvim-0.11') == 1 and 3 or 4 + for name, spec in pairs(T) do + while #spec > max do + table.remove(spec, #spec) + end - T[name] = spec - end + T[name] = spec + end - for name, spec in pairs(T) do if vim.fn.has('nvim-0.11') == 1 then - table.insert(spec, 1, name) - vim.validate(unpack(spec)) - else - vim.validate(spec) + for name, spec in pairs(T) do + table.insert(spec, 1, name) + vim.validate(unpack(spec)) + end + return end - end + + vim.validate(T) end --RETURNS TABLE OF LOWER CASE STRINGS