chore: remove deprecation notices and deprecated options from #24

+ fix tests
This commit is contained in:
shadmansaleh 2021-10-11 14:51:18 +06:00
parent d25a37fea0
commit 1e2b735aee
8 changed files with 6 additions and 230 deletions

View File

@ -7,29 +7,6 @@ local M = require('lualine.utils.class'):extend()
-- Used to provide a unique id for each component -- Used to provide a unique id for each component
local component_no = 1 local component_no = 1
local function check_deprecated_options(options)
local function rename_notice(before, now)
if options[before] then
require('lualine.utils.notices').add_notice(string.format(
[[
### option.%s
%s option has been renamed to `%s`. Please use `%s` instead in your config
for %s component.
]],
before,
before,
now,
now,
options.component_name or 'function'
))
options[now] = options[before]
options[before] = nil
end
end
rename_notice('format', 'fmt')
rename_notice('condition', 'cond')
end
function M:__tostring() function M:__tostring()
local str = 'Component: ' .. self.options.component_name local str = 'Component: ' .. self.options.component_name
if self.debug then if self.debug then
@ -42,7 +19,6 @@ end
function M:init(options) function M:init(options)
self.options = options or {} self.options = options or {}
component_no = component_no + 1 component_no = component_no + 1
check_deprecated_options(self.options)
if not options.component_name then if not options.component_name then
self.options.component_name = tostring(component_no) self.options.component_name = tostring(component_no)
end end
@ -74,19 +50,6 @@ function M:create_option_highlights()
end end
end end
-- set upper or lower case
function M:apply_case()
-- Donn't work on components that emit vim statusline escaped chars
if self.status:find '%%' and not self.status:find '%%%%' then
return
end
if self.options.upper == true then
self.status = self.status:upper()
elseif self.options.lower == true then
self.status = self.status:lower()
end
end
-- Adds spaces to left and right of a component -- Adds spaces to left and right of a component
function M:apply_padding() function M:apply_padding()
local padding = self.options.padding local padding = self.options.padding
@ -206,7 +169,6 @@ function M:draw(default_highlight, is_focused)
if type(status) == 'string' and #status > 0 then if type(status) == 'string' and #status > 0 then
self.status = status self.status = status
self:apply_icon() self:apply_icon()
self:apply_case()
self:apply_padding() self:apply_padding()
self:apply_highlights(default_highlight) self:apply_highlights(default_highlight)
self:apply_section_separators() self:apply_section_separators()

View File

@ -9,33 +9,6 @@ local modules = lualine_require.lazy_require {
local M = lualine_require.require 'lualine.component':extend() local M = lualine_require.require 'lualine.component':extend()
local function check_deprecated_options(options)
if options.color_error or options.color_warn or options.color_info or options.color_hint then
options.diagnostics_color = options.diagnostics_color or {}
require('lualine.utils.notices').add_notice(string.format [[
### diagnostics.options.colors
Previously colors in diagnostics section was set with color_error, color_warning..
separate options . They've been unified under diagnostics_color options.
Now it should be something like:
```lua
{ 'diagnostics',
sources = {'nvim_lsp'},
diagnostics_color = {
error = color_error,
warning = color_warning,
info = color_info,
hint = color_hint,
}
}
```
]])
options.diagnostics_color.error = options.color_error
options.diagnostics_color.warning = options.color_warning
options.diagnostics_color.info = options.color_info
options.diagnostics_color.hint = options.color_hint
end
end
local default_symbols = { local default_symbols = {
icons = { icons = {
error = '', -- xf659 error = '', -- xf659
@ -88,7 +61,6 @@ function M:init(options)
M.super.init(self, options) M.super.init(self, options)
-- Apply default options -- Apply default options
self.options = vim.tbl_deep_extend('keep', self.options or {}, default_options) self.options = vim.tbl_deep_extend('keep', self.options or {}, default_options)
check_deprecated_options(self.options)
-- Apply default symbols -- Apply default symbols
self.symbols = vim.tbl_extend( self.symbols = vim.tbl_extend(
'keep', 'keep',

View File

@ -9,30 +9,6 @@ local modules = lualine_require.lazy_require {
} }
local M = lualine_require.require('lualine.component'):extend() local M = lualine_require.require('lualine.component'):extend()
local function check_deprecated_options(options)
if options.color_added or options.color_modified or options.color_removed then
options.diagnostics_color = options.diagnostics_color or {}
require('lualine.utils.notices').add_notice(string.format [[
### diff.options.colors
Previously colors in diff section was set with color_added, color_modified..
separate options . They've been unified under diff_color option.
Now it should be something like:
```lua
{ 'diff',
diff_color = {
added = color_added,
modified = color_modified,
removed = color_removed,
}
}
```
]])
options.diff_color.added = options.color_added
options.diff_color.modified = options.color_modified
options.diff_color.removed = options.color_removed
end
end
-- Vars -- Vars
-- variable to store git diff stats -- variable to store git diff stats
M.git_diff = nil M.git_diff = nil
@ -64,7 +40,6 @@ local default_options = {
function M:init(options) function M:init(options)
M.super.init(self, options) M.super.init(self, options)
self.options = vim.tbl_deep_extend('keep', self.options or {}, default_options) self.options = vim.tbl_deep_extend('keep', self.options or {}, default_options)
check_deprecated_options(self.options)
-- create highlights and save highlight_name in highlights table -- create highlights and save highlight_name in highlights table
if self.options.colored then if self.options.colored then
self.highlights = { self.highlights = {

View File

@ -7,27 +7,6 @@ local modules = lualine_require.lazy_require {
} }
local M = lualine_require.require('lualine.component'):extend() local M = lualine_require.require('lualine.component'):extend()
local function check_deprecated_options(options)
local function rename_notice(before, now)
if options[before] then
require('lualine.utils.notices').add_notice(string.format(
[[
### option.%s
%s option has been renamed to `%s`. Please use `%s` instead in your config
for filetype component.
]],
before,
before,
now,
now
))
options[now] = options[before]
options[before] = nil
end
end
rename_notice('disable_text', 'icon_only')
end
local default_options = { local default_options = {
colored = true, colored = true,
icon_only = false, icon_only = false,
@ -36,7 +15,6 @@ local default_options = {
function M:init(options) function M:init(options)
M.super.init(self, options) M.super.init(self, options)
self.options = vim.tbl_deep_extend('keep', self.options or {}, default_options) self.options = vim.tbl_deep_extend('keep', self.options or {}, default_options)
check_deprecated_options(self.options)
end end
function M.update_status() function M.update_status()

View File

@ -29,25 +29,11 @@ local config = {
extensions = {}, extensions = {},
} }
local function check_sep_format_deprecation(sep)
if type(sep) == 'table' and vim.tbl_islist(sep) then
require('lualine.utils.notices').add_persistent_notice(string.format [[
### option.separator
Using list for configuring separators has been deprecated. Please configure it
with {left = left_sep, right = right_sep} like table.
]])
sep = { left = sep[1], right = sep[2] or sep[1] }
end
return sep
end
-- change separator format 'x' to {left='x', right='x'} -- change separator format 'x' to {left='x', right='x'}
local function fix_separators(separators) local function fix_separators(separators)
if separators ~= nil then if separators ~= nil then
if type(separators) == 'string' then if type(separators) == 'string' then
return { left = separators, right = separators } return { left = separators, right = separators }
else
return check_sep_format_deprecation(separators)
end end
end end
return separators return separators

View File

@ -78,79 +78,6 @@ end
local function option_deprecatation_notice(component) local function option_deprecatation_notice(component)
local types = { local types = {
case = function()
local kind = component.upper ~= nil and 'upper' or 'lower'
modules.notice.add_notice(string.format(
[[
### option.%s
Option `%s` has been deprecated.
Please use `fmt` option if you need to change case of a component.
You have some thing like this in your config:
```lua
%s = true,
```
You'll have to change it to this to retain old behavior:
```lua
fmt = string.%s
```
]],
kind,
kind,
kind,
kind
))
end,
padding = function()
local kind = component.left_padding ~= nil and 'left_padding' or 'right_padding'
modules.notice.add_notice(string.format(
[[
### option.%s
Option `%s` has been deprecated.
Please use `padding` option to set left/right padding.
You have some thing like this in your config:
```lua
%s = %d,
```
You'll have to change it to this to retain old behavior:
```lua
padding = { %s = %d }
```
if you've set both left_padding and right_padding for a component
you'll need to have something like
```lua
padding = { left = x, right = y }
```
When you set `padding = x` it's same as `padding = {left = x, right = x}`
]],
kind,
kind,
kind,
component[kind],
kind == 'left_padding' and 'left' or 'right',
component[kind]
))
if component.left_padding and component.right_padding then
component.padding = { left = component.left_padding, right = component.right_padding }
component.left_padding = nil
component.right_padding = nil
elseif component.left_padding then
component.padding = { left = component.left_padding, right = 1 }
component.left_padding = nil
else
component.padding = { left = 1, right = component.right_padding }
component.right_padding = nil
end
end,
type_name = function() type_name = function()
local changed_to = component.type == 'luae' and 'lua_expr' or 'vim_fun' local changed_to = component.type == 'luae' and 'lua_expr' or 'vim_fun'
modules.notice.add_notice(string.format( modules.notice.add_notice(string.format(
@ -182,12 +109,6 @@ You'll have to change it to this to retain old behavior:
component.type = changed_to component.type = changed_to
end, end,
} }
if component.upper ~= nil or component.lower ~= nil then
types.case()
end
if component.left_padding ~= nil or component.right_padding ~= nil then
types.padding()
end
if component.type == 'luae' or component.type == 'vimf' then if component.type == 'luae' or component.type == 'vimf' then
types.type_name() types.type_name()
end end

View File

@ -90,27 +90,6 @@ describe('Component:', function()
end) end)
describe('Global options:', function() describe('Global options:', function()
it('upper', function()
local opts = build_component_opts {
component_separators = { left = '', right = '' },
padding = 0,
upper = true,
}
assert_component(nil, opts, 'TEST')
end)
it('lower', function()
local opts = build_component_opts {
function()
return 'TeSt'
end,
component_separators = { left = '', right = '' },
padding = 0,
lower = true,
}
assert_component(nil, opts, 'test')
end)
it('left_padding', function() it('left_padding', function()
local opts = build_component_opts { local opts = build_component_opts {
component_separators = { left = '', right = '' }, component_separators = { left = '', right = '' },

View File

@ -63,11 +63,14 @@ describe('config parsing', function()
end) end)
it('table', function() it('table', function()
local config = { local config = {
options = { component_separators = { 'a' }, section_separators = { 'b' } }, options = {
component_separators = { left = 'a', right = 'b' },
section_separators = { left = 'b', right = 'a' },
},
} }
config = config_module.apply_configuration(config) config = config_module.apply_configuration(config)
eq(config.options.component_separators, { left = 'a', right = 'a' }) eq(config.options.component_separators, { left = 'a', right = 'b' })
eq(config.options.section_separators, { left = 'b', right = 'b' }) eq(config.options.section_separators, { left = 'b', right = 'a' })
end) end)
end) end)
it('no seprarators', function() it('no seprarators', function()