Rewrite symbol management system (#543) * Create metadata types * Initialize metadata group * Write Segment::get_symbol * move more code to new logic * Fix rom calculation * Minor cleanups * Multiple global segments * change to warning * warnings * adjustments * Wire up prioritise_segments * Avoid destroying the symbol name * user_segment * ruff, mypy, tests * various fixes * fix mypy * more fixes * use metadata_group to initialize spimdisasm * yeet ded cod * format * Optimize lookups a little bit * changelog, docs * forgor * fix * Allow non code segments * Organize a little bit * Improve messages a bit * Rename to prioritized_segments * Format * Avoid creating a symbol inside this segment if it doesn't belong to. * gfx fixes * More fixes * more fixes * Fix passing segment and rom info around * Fix global segments not honoring prioritised segments * simplify some stuff * bump spimdisasm * update tests * fix * final cleanup round * more breaking changes on the changelog * Bump to 0.50 * Check prioritized segments do exist * Apply suggestions from code review Co-authored-by: Ethan Roseman <ethteck@gmail.com> * Rename to SegmentManager * Minor eth rewrites * Fix ruff lints --------- Co-authored-by: Ethan Roseman <ethteck@gmail.com>
Fix ruff lints (#551) * Disable all lints * C401, C408, EXE001 * FURB105, FURB122, FURB188 * ISC004, PERF402, PIE790 * PLC0206, PLR1730, PLW1510 * RUF010, RUF015, RUF059 * SIM201, TRY002, TRY004 * UP020, UP033 * Format * Stuff to maybe enable in the future
Updated Adding Symbols (markdown)