mirror of
https://github.com/neovim/neovim.git
synced 2025-09-29 22:48:34 +00:00
refactor(options): replace p_force_(on|off)
with immutable
(#26209)
Problem: We use the `p_force_on` and `p_force_off` variables to check if a variable is immutable and what its default value is. This is not only hacky and unintuitive, but also is limited to only boolean options. Solution: Replace `p_force_on` and `p_force_off` with an `immutable` property for options, which indicates if an option is immutable. Immutable options cannot be changed from their default value. Ref: #25672.
This commit is contained in:
@@ -143,9 +143,13 @@ local function dump_option(i, o)
|
||||
end
|
||||
if o.varname then
|
||||
w(' .var=&' .. o.varname)
|
||||
-- Immutable options should directly point to the default value
|
||||
elseif o.immutable then
|
||||
w((' .var=&options[%u].def_val'):format(i - 1))
|
||||
elseif #o.scope == 1 and o.scope[1] == 'window' then
|
||||
w(' .var=VAR_WIN')
|
||||
end
|
||||
w(' .immutable=' .. (o.immutable and 'true' or 'false'))
|
||||
if #o.scope == 1 and o.scope[1] == 'global' then
|
||||
w(' .indir=PV_NONE')
|
||||
else
|
||||
|
Reference in New Issue
Block a user