Commit Graph

146 Commits

Author SHA1 Message Date
MDietermann
ee3bb1d67c feat(tui): wizard uses PlanForce preview when Force is set 2026-04-14 22:24:49 +02:00
MDietermann
48d50efe19 feat(arduinocli): implement PlanForce 2026-04-14 22:16:18 +02:00
MDietermann
25b4eefecd feat(neovim): implement PlanForce 2026-04-14 22:15:32 +02:00
MDietermann
77b767aa0e feat(themes): implement PlanForce 2026-04-14 22:07:48 +02:00
MDietermann
b2cbd4f640 feat(shellconfig): implement PlanForce 2026-04-14 22:06:57 +02:00
MDietermann
4ed257bbd1 feat(zellij): implement PlanForce 2026-04-14 22:06:10 +02:00
MDietermann
47064338c8 feat(zsh): implement PlanForce 2026-04-14 22:05:21 +02:00
MDietermann
abd0a617e2 feat(yazi): implement PlanForce to reinstall all packages 2026-04-14 22:00:42 +02:00
MDietermann
edfff22bac feat(starship): implement PlanForce to reinstall all packages 2026-04-14 22:00:00 +02:00
MDietermann
bd5c34f293 feat(hello): implement PlanForce placeholder to rewrite marker 2026-04-14 21:57:51 +02:00
MDietermann
372a6598fe feat(renode): implement PlanForce to reinstall packages and rewrite assets 2026-04-14 21:57:17 +02:00
MDietermann
c056697721 feat(fonts): implement PlanForce to reinstall all fonts via yay 2026-04-14 21:56:23 +02:00
MDietermann
c75afade8c feat(gittools): implement PlanForce to reinstall all packages 2026-04-14 21:55:43 +02:00
MDietermann
58bd532dba feat(packages): implement PlanForce to reinstall all packages
Adds Reinstall method to PackageManager and AURHelper interfaces
so modules can invoke the concrete Reinstall helpers behind the
interface. *Pacman and *Yay already satisfy it.
2026-04-14 21:55:08 +02:00
MDietermann
613363e993 feat(engine): add RunOptions.Force to skip Detect and call PlanForce 2026-04-14 21:51:29 +02:00
MDietermann
d525646f3a feat(module): add PlanForce to Module interface with stubs 2026-04-14 21:49:09 +02:00
MDietermann
e6e12ab5fd feat(platform): add Reinstall helpers to Pacman and Yay 2026-04-14 21:44:47 +02:00
MDietermann
1cd3886d56 docs(plan): Plan 4b force-reapply implementation plan 2026-04-14 21:42:52 +02:00
MDietermann
592d332968 docs(spec): Plan 4b force-reapply design 2026-04-14 21:39:32 +02:00
MDietermann
f6b39fbdbc ci: add Gitea Actions workflow for test, vet, fmt, build, shellcheck, goreleaser check 2026-04-14 21:31:35 +02:00
MDietermann
c579375c83 style: gofmt 7 test files 2026-04-14 21:30:50 +02:00
MDietermann
137a9b62a5 docs(plan): Plan 4d CI workflow implementation plan 2026-04-14 21:30:01 +02:00
MDietermann
b30471bacb docs(spec): Plan 4d CI workflow design 2026-04-14 21:28:44 +02:00
MDietermann
9d08c635ce docs: update README for bootstrap.sh install; retire install.sh 2026-04-14 21:20:19 +02:00
MDietermann
e0a1628ca5 ci: add Gitea Actions release workflow 2026-04-14 21:19:05 +02:00
MDietermann
5b3ab9154f feat: add bootstrap.sh curl-piped installer 2026-04-14 21:18:30 +02:00
MDietermann
947533a279 build: add Makefile with release, snapshot, completions targets 2026-04-14 21:16:25 +02:00
MDietermann
702638b29c build: add goreleaser config for Gitea releases 2026-04-14 21:12:46 +02:00
MDietermann
d346ca4241 chore: add LICENSE and ignore dist/ and completions/ 2026-04-14 21:06:10 +02:00
MDietermann
ebae3fe8a4 feat(cmd): add version subcommand with ldflag-injected build info 2026-04-14 21:05:30 +02:00
MDietermann
5fe8cb2767 docs(plan): Plan 4c release pipeline implementation plan 2026-04-14 20:58:02 +02:00
MDietermann
79f2bcd230 docs(spec): Plan 4c release pipeline design 2026-04-14 20:54:37 +02:00
MDietermann
929cee1643 chore: rename module to gitlab.hive-brain.de/MDietermann/Archduino 2026-04-14 14:30:14 +02:00
MDietermann
fd87135f62 Merge Plan 4a: theme/new/doctor subcommands + theming package 2026-04-14 14:25:48 +02:00
MDietermann
a203cdfe89 feat(cmd): add theme/new/doctor subcommands; install applies theme 2026-04-14 14:22:33 +02:00
MDietermann
c710ed81df feat(doctor): add archduino doctor subcommand 2026-04-14 14:19:12 +02:00
MDietermann
2464e70cd2 feat(newproject): add archduino new project scaffolder 2026-04-14 14:16:07 +02:00
MDietermann
bbaa21a6bf feat(config): add Scaffolding.Boards typed input with 6 defaults 2026-04-14 14:08:54 +02:00
MDietermann
698271a235 fix(theming): restore gruvbox as default via Default() helper 2026-04-14 13:42:58 +02:00
MDietermann
4f7411ca95 refactor: retire tui.BuiltinThemes in favor of theming.List
Make internal/theming.List the single source of truth for themes:

- Drop tui.BuiltinThemes, tui.ThemeByID, and the NvChadTheme field on
  tui.Theme. tui.Theme is now a thin {ID, Name} display value.
- Wizard populates its dropdown from theming.List() and uses
  DisplayName for the label.
- neovim.resolvedTheme uses theming.Get (with theming.List()[0] as a
  fallback) instead of a caller-supplied []tui.Theme slice.
- neovim.New signature loses the themes []tui.Theme parameter; update
  cmd/archduino/main.go and all neovim tests to match.

Break the resulting neovim→theming import cycle (theming previously
imported neovim for WriteChadrc) by inverting the dependency:
theming exposes a ChadrcWriter function hook, and neovim registers
its WriteChadrc into it via package init. The theming test stubs
ChadrcWriter directly to exercise the chadrc-rewrite branch without
pulling neovim in and re-creating the cycle.

Delete the now-obsolete TestBuiltinThemesCarryNvChadName / TestThemeByID*
tests in internal/tui/state_test.go — their coverage lives in the
theming package's own tests.
2026-04-14 13:35:10 +02:00
MDietermann
12c502d48a feat(theming): add catppuccin, dracula, nord, tokyonight themes 2026-04-14 13:25:58 +02:00
MDietermann
770bdcf3a2 feat(theming): integrate NvChad chadrc rewrite into Apply 2026-04-14 13:14:47 +02:00
MDietermann
4fa580f226 feat(theming): apply updates overlay theme_overrides.__active 2026-04-14 13:11:34 +02:00
MDietermann
b422402ffc feat(theming): apply writes four tool configs to $HOME 2026-04-14 13:07:08 +02:00
MDietermann
b628898c6d feat(theming): add theme discovery with gruvbox assets 2026-04-14 12:56:09 +02:00
MDietermann
465d10a5ef docs(plans): add Plan 4a user-facing subcommands implementation plan 2026-04-14 12:50:09 +02:00
MDietermann
e000e8d22c docs(specs): add Plan 4a user-facing subcommands design 2026-04-14 12:42:53 +02:00
MDietermann
fcbd2201b3 fix(renode): pin wokwi-cli to v0.26.1 (v0.28.1 does not exist) 2026-04-14 12:19:32 +02:00
MDietermann
f177d86255 Merge Plan 3b: neovim + renode modules + theme plumbing 2026-04-14 12:17:02 +02:00
MDietermann
bf2d8de82c feat(cmd): register neovim and renode modules in install command 2026-04-14 12:16:05 +02:00