mirror of
https://github.com/neovim/neovim.git
synced 2025-12-16 03:15:39 +00:00
feat(options)!: disallow setting hidden options #28400
Problem: There are three different ways of marking an option as hidden, `enable_if = false`, `hidden = true` and `immutable = true`. These also have different behaviors. Options hidden with `enable_if = false` can't have their value fetched using Vim script or the API, but options hidden with `hidden = true` or `immutable = true` can. On the other hand, options with `hidden = true` do not error when trying to set their value, but options with `immutable = true` do. Solution: Remove `enable_if = false`, remove the `hidden` property for options, and use `immutable = true` to mark an option as hidden instead. Also make hidden option variable pointers always point to the default value, which allows fetching the value of every hidden option using Vim script and the API. This does also mean that trying to set a hidden option will now give an error instead of just being ignored.
This commit is contained in:
6
runtime/lua/vim/_meta/options.lua
generated
6
runtime/lua/vim/_meta/options.lua
generated
@@ -1106,7 +1106,7 @@ vim.bo.cot = vim.bo.completeopt
|
||||
vim.go.completeopt = vim.o.completeopt
|
||||
vim.go.cot = vim.go.completeopt
|
||||
|
||||
--- only for MS-Windows
|
||||
--- only modifiable in MS-Windows
|
||||
--- When this option is set it overrules 'shellslash' for completion:
|
||||
--- - When this option is set to "slash", a forward slash is used for path
|
||||
--- completion in insert mode. This is useful when editing HTML tag, or
|
||||
@@ -5547,7 +5547,7 @@ vim.o.srr = vim.o.shellredir
|
||||
vim.go.shellredir = vim.o.shellredir
|
||||
vim.go.srr = vim.go.shellredir
|
||||
|
||||
--- only for MS-Windows
|
||||
--- only modifiable in MS-Windows
|
||||
--- When set, a forward slash is used when expanding file names. This is
|
||||
--- useful when a Unix-like shell is used instead of cmd.exe. Backward
|
||||
--- slashes can still be typed, but they are changed to forward slashes by
|
||||
@@ -5564,7 +5564,7 @@ vim.go.srr = vim.go.shellredir
|
||||
--- Also see 'completeslash'.
|
||||
---
|
||||
--- @type boolean
|
||||
vim.o.shellslash = false
|
||||
vim.o.shellslash = true
|
||||
vim.o.ssl = vim.o.shellslash
|
||||
vim.go.shellslash = vim.o.shellslash
|
||||
vim.go.ssl = vim.go.shellslash
|
||||
|
||||
Reference in New Issue
Block a user