cmds.projects.CmdCreateFile: Add self to extra_paths

pyrightconfig.json as generated by CmdCreateFile, doesn't contain the
repository's own Python source location in "extra_paths", fix that.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-07-10 19:06:32 +02:00
commit 60bd4b461b
Signed by: Jan Lindemann
GPG key ID: 3750640C9E25DD61

View file

@ -19,12 +19,17 @@ class Fmt(Enum):
class CmdCreateFile(Cmd): # export
def __jw_required(self, module: str | None = None) -> list[str]:
def __jw_required(
self,
*,
module: str | None = None,
include_self: bool = False,
) -> list[str]:
if module is None:
module = self.app.args.module
if module is None:
raise Exception('Can\'t get required packages without module name')
return pkg_relations(
ret = pkg_relations(
self.app,
rel_type = 'requires',
flavours = ['run'],
@ -37,6 +42,9 @@ class CmdCreateFile(Cmd): # export
hide_self = False,
hide_jw_pkg = False,
)
if include_self and module not in ret:
ret = [module, *ret]
return ret
def __render(
self,
@ -65,7 +73,7 @@ class CmdCreateFile(Cmd): # export
def render_pyright(self, module: str, extra_fields: RenderValues) -> str:
extra_paths = []
for m in self.__jw_required():
for m in self.__jw_required(include_self = True):
path = self.app.find_dir(m, search_subdirs = ['src/python', 'tools/python'])
if path is None:
log(WARNING, f'No project directory for module "{m}"')