aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/generators/gen_options.lua
diff options
context:
space:
mode:
authorFamiu Haque <famiuhaque@proton.me>2023-12-17 05:23:33 +0600
committerGitHub <noreply@github.com>2023-12-17 07:23:33 +0800
commit8f08b1efbd096850c04c2e8e2890d993bd4d9f95 (patch)
tree2fa91d7a39c1c82e9b6d0c578d74f17bb80b1827 /src/nvim/generators/gen_options.lua
parent2b1bc94b768cb13801e7166f6b02bd09caa3c18f (diff)
downloadrneovim-8f08b1efbd096850c04c2e8e2890d993bd4d9f95.tar.gz
rneovim-8f08b1efbd096850c04c2e8e2890d993bd4d9f95.tar.bz2
rneovim-8f08b1efbd096850c04c2e8e2890d993bd4d9f95.zip
refactor(options): use hashy for finding options (#26573)
Problem: `findoption()` searches through the options[] table linearly for option names, even though hashy can be used to generate a compile-time hash table for it. Solution: Use hashy to generate a compile time hash table for finding options. This also allows handling option aliases, so we don't need separate options[] table entries for things like 'viminfo'.
Diffstat (limited to 'src/nvim/generators/gen_options.lua')
-rw-r--r--src/nvim/generators/gen_options.lua19
1 files changed, 1 insertions, 18 deletions
diff --git a/src/nvim/generators/gen_options.lua b/src/nvim/generators/gen_options.lua
index 61d5df3c84..2fd11e4c58 100644
--- a/src/nvim/generators/gen_options.lua
+++ b/src/nvim/generators/gen_options.lua
@@ -1,5 +1,4 @@
local options_file = arg[1]
-local options_enum_file = arg[2]
local opt_fd = assert(io.open(options_file, 'w'))
@@ -171,7 +170,7 @@ local function dump_option(i, o)
end
if o.varname then
w(' .var=&' .. o.varname)
- -- Immutable options should directly point to the default value
+ -- Immutable options can 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
@@ -248,19 +247,3 @@ w('')
for _, v in ipairs(defines) do
w('#define ' .. v[1] .. ' ' .. v[2])
end
-
--- Generate options enum file
-opt_fd = assert(io.open(options_enum_file, 'w'))
-
-w('typedef enum {')
-w(' kOptInvalid = -1,')
-
-for i, o in ipairs(options.options) do
- w((' kOpt%s = %u,'):format(lowercase_to_titlecase(o.full_name), i - 1))
-end
-
-w(' // Option count, used when iterating through options')
-w('#define kOptIndexCount ' .. tostring(#options.options))
-w('} OptIndex;')
-
-opt_fd:close()