Created
April 9, 2024 02:57
-
-
Save itsfrank/754307080477c83adc3e44a078ca5737 to your computer and use it in GitHub Desktop.
luau-lsp.nvim luaurc aliases
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- reads .luaurc in dir if it exists and returns a table that can be passed to luau-lsp.nvim | |
-- requires plenary: https://github.com/nvim-lua/plenary.nvim | |
function read_luaurc_aliases(dir) | |
local p = require("plenary.path") | |
local luaurc_path = p:new(dir, ".luaurc") | |
if not luaurc_path:exists() then | |
return nil | |
end | |
local luaurc_data = luaurc_path:read() | |
local luaurc = vim.json.decode(luaurc_data) | |
if luaurc == nil or luaurc["aliases"] == nil then | |
return nil | |
end | |
if type(luaurc["aliases"]) ~= "table" then | |
return nil | |
end | |
local aliases = luaurc["aliases"] | |
local ret = {} | |
for k, v in pairs(aliases) do | |
ret["@" .. k] = v | |
end | |
return ret | |
end | |
-- use like this to read luaurc in nvim cwd: | |
--[[ | |
local aliases = read_luaurc_aliases(vim.fn.getcwd()) | |
require("luau-lsp").setup({ | |
server = { | |
..., | |
settings = { | |
["luau-lsp"] = { | |
require = { | |
directoryAliases = aliases, | |
}, | |
}, | |
}, | |
}, | |
}) | |
]]-- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment