expose lua51 lua52 lua53 as version options

This commit is contained in:
XeroOl 2024-05-15 23:02:47 -05:00
parent 2f6ee96404
commit 5018444d1a

View File

@ -1,3 +1,4 @@
(local fennel (require :fennel))
(local {:metadata METADATA
:scopes {:global {:specials SPECIALS
:macros MACROS}}}
@ -11,10 +12,28 @@
(collect [name value (pairs MACROS)]
name {:binding name :metadata (. METADATA value)}))
(local lua54 (require :fennel-ls.docs.lua54))
(local versions
{:lua51 (require :fennel-ls.docs.lua51)
:lua52 (require :fennel-ls.docs.lua52)
:lua53 (require :fennel-ls.docs.lua53)
:lua54 (require :fennel-ls.docs.lua54)})
(fn get-global [_self global-name]
(. lua54 global-name))
(fn compute-global-docs [self]
(local sets [])
(when (not (. versions self.configuration.version))
(error (.. "fennel-ls doesn't know about lua version " self.configuration.version "\n"
"The allowed versions are:"
(fennel.view (icollect [key (pairs versions)]
key)))))
(table.insert sets (. versions self.configuration.version)))
(fn get-global [self global-name]
(when (not (. versions self.configuration.version))
(error (.. "fennel-ls doesn't know about lua version " self.configuration.version "\n"
"The allowed versions are:"
(fennel.view (icollect [key (pairs versions)]
key)))))
(. versions self.configuration.version global-name))
(fn get-builtin [_self builtin-name]
(or (. specials builtin-name)