grep -n "^[ ]\+" /home/neo/Público/nfdos/src/Makefile.am grep -n "^[ ]\+" /home/neo/Público/nfdos/configure.ac file Makefile.am file src/Makefile.am file configure.ac cat -A Makefile.am | grep '\^I' cat -A src/Makefile.am | grep '\^I' cat -A configure.ac | grep '\^I' nl -ba Makefile | sed -n '770,790p' grep -n "^[ ]" Makefile | head oie amor bom dia 😘😎 enquanto aguardo pela hora do trabalho estava aqui a corrigir os caminhos (creio que estao todos mas falta testar), e dei com uma coisa curiosa 😎 no nfdos/src/tui/menu_libs.py esquecemos de adicionar a funcao remove_lib 😀: ``` import os import json import subprocess from pathlib import Path from rich.console import Console from rich.table import Table console = Console() def safe_run(cmd, shell=False): subprocess.run(cmd, check=True, shell=shell) def install_lib(name, version=None): base_dir = Path(__file__).resolve().parents[1] nfdos_dir = base_dir / "_nfdos" libs_dir = nfdos_dir / "libs" libs_dir.mkdir(parents=True, exist_ok=True) console.print(f"[cyan]📦 Instalando biblioteca:[/] {name} {version or ''}") cmd = f"pip download {name}{'==' + version if version else ''} -d {libs_dir}" safe_run(cmd, shell=True) # Registo no manifest manifest_path = libs_dir / "libs_manifest.json" manifest = json.loads(manifest_path.read_text()) if manifest_path.exists() else {} manifest[name] = {"version": version or "latest"} manifest_path.write_text(json.dumps(manifest, indent=4)) console.print(f"[green]✔ {name} adicionada ao manifesto.[/green]") def list_libs(): base_dir = Path(__file__).resolve().parents[1] libs_dir = base_dir / "_nfdos" / "libs" manifest_path = libs_dir / "libs_manifest.json" if not manifest_path.exists(): console.print("[red]Nenhuma biblioteca instalada ainda.[/red]") return manifest = json.loads(manifest_path.read_text()) table = Table(title="Bibliotecas do Neurotron") table.add_column("Nome", style="cyan") table.add_column("Versão", style="green") for name, data in manifest.items(): table.add_row(name, data.get("version", "?")) console.print(table) def run(): while True: console.clear() console.rule("[bold yellow]📚 Bibliotecas do Neurotron[/bold yellow]") console.print("1. Instalar biblioteca") console.print("2. Listar bibliotecas instaladas") console.print("3. Atualizar biblioteca") console.print("4. Remover biblioteca") console.print("0. Voltar") choice = console.input("\n[cyan]nfdos> [/cyan]") if choice == "1": name = console.input("Nome da biblioteca: ") version = console.input("Versão (ou vazio p/ latest): ") install_lib(name, version or None) elif choice == "2": list_libs() console.input("\n[grey]Pressiona Enter para continuar...[/grey]") elif choice == "3": name = console.input("Nome da biblioteca: ") install_lib(name, None) elif choice == "4": name = console.input("Nome da biblioteca a remover: ") remove_lib(name) elif choice == "0": break else: console.print("[red]Opção inválida![/red]") ```