🔴 Potential circular require due to eager require of file_manager in startup #17

Open xenolandscapes.com
Open opened by xenolandscapes.com

Summary #

startup.lua now eagerly requires cursed.file_manager at module top, which may create a circular dependency chain.

The Problem #

In src/cursed/startup.lua lines 11-12, local file_manager_mod = require("cursed.file_manager") is now a top-level require instead of inline. cursed.file_manager likely depends on cursed.major_mode, cursed.view, cursed.buffer, etc. Those are loaded before this require in main.lua, but if cursed.file_manager indirectly requires any module that itself requires cursed.startup, a circular require would fail or produce nil values.

Impact #

  • category: maintainability
  • description: eager require of cursed.file_manager in startup.lua may introduce circular dependency chain at module load time

Keep the require lazy (inside the function body) to avoid any risk of circular dependency at load time.


Commit range: c022da8..c022da8
Code Review: CR-2026-07-27-11

Sign up or Sign in to add to the discussion.