@brimveyn/aimux-config 0.5.8 → 0.5.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/package.json +1 -1
  2. package/src/actions.ts +7 -0
  3. package/src/defaults.ts +2 -0
  4. package/src/external-editor-runtime.ts +78 -0
  5. package/src/index.ts +9 -0
  6. package/src/resolver.ts +7 -0
  7. package/src/tui/index.ts +1 -1
  8. package/src/tui/resolve.ts +51 -0
  9. package/src/tui/themes/aimux.json +6 -6
  10. package/src/tui/themes/aura.json +5 -5
  11. package/src/tui/themes/ayu.json +5 -5
  12. package/src/tui/themes/carbonfox.json +6 -6
  13. package/src/tui/themes/catppuccin-frappe.json +10 -10
  14. package/src/tui/themes/catppuccin-macchiato.json +10 -10
  15. package/src/tui/themes/catppuccin.json +5 -5
  16. package/src/tui/themes/cobalt2.json +8 -8
  17. package/src/tui/themes/cursor.json +8 -8
  18. package/src/tui/themes/dracula.json +6 -6
  19. package/src/tui/themes/everforest.json +10 -10
  20. package/src/tui/themes/flexoki.json +10 -10
  21. package/src/tui/themes/github.json +8 -8
  22. package/src/tui/themes/gruvbox.json +8 -8
  23. package/src/tui/themes/kanagawa.json +5 -5
  24. package/src/tui/themes/material.json +8 -8
  25. package/src/tui/themes/matrix.json +5 -5
  26. package/src/tui/themes/mercury.json +6 -6
  27. package/src/tui/themes/monokai.json +4 -4
  28. package/src/tui/themes/nightowl.json +10 -10
  29. package/src/tui/themes/nord.json +10 -10
  30. package/src/tui/themes/one-dark.json +5 -5
  31. package/src/tui/themes/opencode.json +10 -10
  32. package/src/tui/themes/orng.json +10 -10
  33. package/src/tui/themes/osaka-jade.json +5 -5
  34. package/src/tui/themes/palenight.json +7 -7
  35. package/src/tui/themes/rosepine.json +10 -10
  36. package/src/tui/themes/solarized.json +10 -10
  37. package/src/tui/themes/synthwave84.json +7 -7
  38. package/src/tui/themes/tokyonight.json +10 -10
  39. package/src/tui/themes/vercel.json +9 -9
  40. package/src/tui/themes/vesper.json +9 -9
  41. package/src/tui/themes/zenburn.json +6 -6
  42. package/src/types.ts +46 -0
@@ -99,15 +99,15 @@
99
99
  "light": "vesperError"
100
100
  },
101
101
  "diffAddedBg": {
102
- "dark": "#0d2818",
103
- "light": "#e8f5e8"
102
+ "dark": "#092c17",
103
+ "light": "#e6f7e6"
104
104
  },
105
105
  "diffRemovedBg": {
106
- "dark": "#281a1a",
107
- "light": "#f5e8e8"
106
+ "dark": "#2a1818",
107
+ "light": "#f7e6e6"
108
108
  },
109
109
  "diffContextBg": {
110
- "dark": "vesperBg",
110
+ "dark": "#101010",
111
111
  "light": "#F8F8F8"
112
112
  },
113
113
  "diffLineNumber": {
@@ -115,12 +115,12 @@
115
115
  "light": "#6a6a6a"
116
116
  },
117
117
  "diffAddedLineNumberBg": {
118
- "dark": "#0d2818",
119
- "light": "#e8f5e8"
118
+ "dark": "#092c17",
119
+ "light": "#e6f7e6"
120
120
  },
121
121
  "diffRemovedLineNumberBg": {
122
- "dark": "#281a1a",
123
- "light": "#f5e8e8"
122
+ "dark": "#2a1818",
123
+ "light": "#f7e6e6"
124
124
  },
125
125
  "markdownText": {
126
126
  "dark": "vesperFg",
@@ -104,27 +104,27 @@
104
104
  "light": "#8f5f5f"
105
105
  },
106
106
  "diffAddedBg": {
107
- "dark": "#4f5f4f",
107
+ "dark": "#4d614d",
108
108
  "light": "#efffef"
109
109
  },
110
110
  "diffRemovedBg": {
111
- "dark": "#5f4f4f",
111
+ "dark": "#614d4d",
112
112
  "light": "#ffefef"
113
113
  },
114
114
  "diffContextBg": {
115
- "dark": "bgAlt",
116
- "light": "#f5f5e5"
115
+ "dark": "#4f4f4f",
116
+ "light": "#f7f7e3"
117
117
  },
118
118
  "diffLineNumber": {
119
119
  "dark": "#d2d2d2",
120
120
  "light": "textMuted"
121
121
  },
122
122
  "diffAddedLineNumberBg": {
123
- "dark": "#4f5f4f",
123
+ "dark": "#4d614d",
124
124
  "light": "#efffef"
125
125
  },
126
126
  "diffRemovedLineNumberBg": {
127
- "dark": "#5f4f4f",
127
+ "dark": "#614d4d",
128
128
  "light": "#ffefef"
129
129
  },
130
130
  "markdownText": {
package/src/types.ts CHANGED
@@ -632,6 +632,8 @@ export type SideEffect =
632
632
  | { type: 'switch-session-by-index'; index: number }
633
633
  | { type: 'delete-session'; sessionId: string }
634
634
  | { type: 'toggle-transparent' }
635
+ | { type: 'toggle-mode' }
636
+ | { type: 'open-file-in-editor'; path: string }
635
637
 
636
638
  // ─── Key input / KeyResult / ModeContext ──────────────────────────────────────
637
639
 
@@ -822,6 +824,21 @@ export interface AimuxThemeConfig {
822
824
  initialMode?: ThemeMode
823
825
  /** @deprecated Use `initialMode` instead. */
824
826
  mode?: ThemeMode
827
+ /**
828
+ * Beta — bridge the active aimux theme into Claude Code by writing
829
+ * `~/.claude/themes/aimux.json` and selecting it in `~/.claude/settings.json`.
830
+ * Off by default. Requires Claude Code v2.1.118 or later.
831
+ */
832
+ beta?: {
833
+ harmonizeClaudeTheme?: boolean
834
+ /**
835
+ * Disable Claude Code's built-in syntax highlighting and re-color diff
836
+ * lines from the aimux theme via shiki. Sets
837
+ * `CLAUDE_CODE_SYNTAX_HIGHLIGHT=false` for child PTYs and post-processes
838
+ * the terminal snapshot in the app.
839
+ */
840
+ experimentalSyntaxHighlight?: boolean
841
+ }
825
842
  }
826
843
 
827
844
  export type AIUsageTool = 'claude' | 'codex'
@@ -838,6 +855,29 @@ export interface StatusBarConfig {
838
855
  aiUsage?: AIUsageToolConfig
839
856
  }
840
857
 
858
+ export interface ExternalEditorConfig {
859
+ /** Override `$VISUAL` / `$EDITOR`. */
860
+ command?: string
861
+ /**
862
+ * Force GUI (detached spawn — for vscode/cursor/etc.) or TUI (inline shellout
863
+ * that hands the TTY to the editor). Defaults: GUI for editors in a built-in
864
+ * allowlist (`code`, `cursor`, `subl`, JetBrains, …), TUI otherwise.
865
+ */
866
+ kind?: 'gui' | 'tui'
867
+ /** Argv passed to the editor. Placeholders: `{file}`, `{line}`. Sensible defaults per known editor. */
868
+ args?: string[]
869
+ /**
870
+ * Opt-in escape hatch for TUI editors only: when set, the TUI editor is
871
+ * launched in a new terminal window using this argv template instead of the
872
+ * default inline shellout. Ignored when `kind` resolves to `'gui'` — GUI
873
+ * editors always spawn detached into their own app window.
874
+ *
875
+ * Placeholders: `{cmd}` (shell-quoted `cd <cwd> && <editor> <args>`), `{cwd}`.
876
+ * Example: `['wezterm', 'start', '--cwd', '{cwd}', '--', 'sh', '-c', '{cmd}']`.
877
+ */
878
+ terminal?: string[]
879
+ }
880
+
841
881
  export interface AimuxUserConfig {
842
882
  theme?: AimuxThemeConfig
843
883
  keymaps?: (k: KeymapBuilderApi) => KeymapBuilderApi
@@ -850,6 +890,7 @@ export interface AimuxUserConfig {
850
890
  autoCommit?: Partial<AutoCommitConfig>
851
891
  multiRepo?: Partial<MultiRepoConfig>
852
892
  statusBar?: StatusBarConfig
893
+ externalEditor?: ExternalEditorConfig
853
894
  }
854
895
 
855
896
  // ─── Resolved config (internal) ───────────────────────────────────────────────
@@ -879,6 +920,10 @@ export interface ResolvedConfig {
879
920
  | {
880
921
  initialId?: string
881
922
  initialMode?: ThemeMode
923
+ beta?: {
924
+ harmonizeClaudeTheme?: boolean
925
+ experimentalSyntaxHighlight?: boolean
926
+ }
882
927
  }
883
928
  | undefined
884
929
  keymaps: ResolvedKeymapConfig
@@ -918,4 +963,5 @@ export interface ResolvedConfig {
918
963
  autoCommit: AutoCommitConfig
919
964
  multiRepo: MultiRepoConfig
920
965
  statusBar: StatusBarConfig
966
+ externalEditor: ExternalEditorConfig
921
967
  }