Compare commits
3 Commits
12c9bcd85b
...
c79a58e3a8
| Author | SHA1 | Date | |
|---|---|---|---|
| c79a58e3a8 | |||
| 7ac4cf8e96 | |||
| ebf5ac6373 |
@@ -2,11 +2,7 @@ local Meta = require "cave.meta"
|
|||||||
local Python = require "cave.python"
|
local Python = require "cave.python"
|
||||||
local Context = require "cave.context"
|
local Context = require "cave.context"
|
||||||
|
|
||||||
local Map = Meta.Map
|
|
||||||
local Optional = Meta.Optional
|
|
||||||
local Str = Meta.String
|
|
||||||
local validate = Meta.validate
|
local validate = Meta.validate
|
||||||
local Table = Meta.Table
|
|
||||||
|
|
||||||
---@class cave.Config
|
---@class cave.Config
|
||||||
---@field python_interpreters table<string,cave.Python.Interpreter>
|
---@field python_interpreters table<string,cave.Python.Interpreter>
|
||||||
@@ -26,6 +22,7 @@ end
|
|||||||
---@field context_ cave.Context
|
---@field context_ cave.Context
|
||||||
local Factory = Meta.derive("Config.Factory", Context)
|
local Factory = Meta.derive("Config.Factory", Context)
|
||||||
|
|
||||||
|
---@param context cave.Context
|
||||||
function Factory:init(context)
|
function Factory:init(context)
|
||||||
Context.init(self, context.dir, context.name, context.uuid)
|
Context.init(self, context.dir, context.name, context.uuid)
|
||||||
self.python_interpreters_ = {}
|
self.python_interpreters_ = {}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ function Env:new(context)
|
|||||||
vim.fn.setenv("NVIM_PROJECT_DIR", dir)
|
vim.fn.setenv("NVIM_PROJECT_DIR", dir)
|
||||||
vim.fn.setenv("NVIM_PROJECT_NAME", name)
|
vim.fn.setenv("NVIM_PROJECT_NAME", name)
|
||||||
vim.fn.setenv("NVIM_PROJECT_UUID", uuid)
|
vim.fn.setenv("NVIM_PROJECT_UUID", uuid)
|
||||||
for _, entry in ipairs(vim.fn.systemlist { "nvim_env" }) do
|
for _, entry in ipairs(vim.fn.systemlist("nvim_env")) do
|
||||||
local split_idx = entry:find "="
|
local split_idx = entry:find "="
|
||||||
assert(split_idx ~= nil)
|
assert(split_idx ~= nil)
|
||||||
env.vars[entry:sub(1, split_idx - 1)] = entry:sub(split_idx + 1, -1)
|
env.vars[entry:sub(1, split_idx - 1)] = entry:sub(split_idx + 1, -1)
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ function Meta.List(value_meta_like)
|
|||||||
local value_meta = Meta.like(value_meta_like)
|
local value_meta = Meta.like(value_meta_like)
|
||||||
local repr = ("List<%s>"):format(value_meta.repr)
|
local repr = ("List<%s>"):format(value_meta.repr)
|
||||||
local function valid(vs)
|
local function valid(vs)
|
||||||
if not vim.tbl_islist(vs) then return false end
|
if not vim.islist(vs) then return false end
|
||||||
for _, v in ipairs(vs) do
|
for _, v in ipairs(vs) do
|
||||||
if not value_meta.valid(v) then return false end
|
if not value_meta.valid(v) then return false end
|
||||||
end
|
end
|
||||||
@@ -181,7 +181,7 @@ function Meta.like(meta_like)
|
|||||||
meta = meta_like
|
meta = meta_like
|
||||||
elseif meta_like.__meta ~= nil then
|
elseif meta_like.__meta ~= nil then
|
||||||
meta = meta_like.__meta
|
meta = meta_like.__meta
|
||||||
elseif vim.tbl_islist(meta_like) then
|
elseif vim.islist(meta_like) then
|
||||||
meta = Meta.Union(unpack(meta_like))
|
meta = Meta.Union(unpack(meta_like))
|
||||||
else
|
else
|
||||||
assert(false)
|
assert(false)
|
||||||
|
|||||||
Reference in New Issue
Block a user