-
Notifications
You must be signed in to change notification settings - Fork 22
Description
Your setup
Version: 1.0.1
Operating System: NixOS 25.05
IDE and/or Integration tool: Neovim 0.11.1
Describe the bug
A clear and concise description of what the bug is.
When odoo-ls starts, it gives me this error message in the log:
[ERROR][2025-09-18 17:20:11] ...lsp/handlers.lua:562 "Unable to find builtins.pyi. Are you sure that typeshed has been downloaded. If you are building from source, make sure to initialize submodules with 'git submodule init' and 'git submodule update'."
To Reproduce
Steps to reproduce the behavior:
Put this config in neovim's lsp folder of the runtime folder:
local lsp_dir = vim.fs.abspath('~/lsp')
local code_dir = vim.fs.abspath('~/code')
local server_dir = lsp_dir .. '/odoo-ls/server'
-- Get the default client capabilities
local capabilities = vim.lsp.protocol.make_client_capabilities()
-- Add your custom capability
capabilities.general.markdown = {
parser = 'marked',
version = ""
}
return {
cmd = {
server_dir .. '/target/release/odoo_ls_server',
'--stdlib',
server_dir .. '/typeshed/stdlib'
},
root_dir = server_dir .. '/target/release',
filetypes = { 'python' },
workspace_folders = {{
uri = vim.uri_from_fname(code_dir),
name = 'main_folder',
}},
capabilities = capabilities,
}
I've build odoo-ls from source at ~/lsp/odoo-ls/server
, with the rust toolchain 1.90.0
.
Expected behavior
I expect odoo-ls to not give me this error upon loading the language server. Perhaps, for it to work already with the above configuration.
Additional context
I have debugged a little bit what path is being searched for builtins.pyi
, it turns out it used the current working directory I open Neovim in. So the file is basically being searched in {working-dir}/typeshed/stdlib/builtins.pyi
.
I've left out the real path because it contains a customer's company name.