The fork shipped renamed binary/bundle but the product name "Zed" was still
shown everywhere in the UI. Rename the display name to "Joule" (tagline
"Energy-metered agentic coding") while preserving every load-bearing reference.
Display renames (105 .rs files): release_channel display_name, welcome +
onboarding + ai_onboarding, macOS app menu (About/Hide/Quit), window titles,
About panel, settings UI, notifications, update/collab messages, system specs.
Bundle display name (crates/zed/Cargo.toml) -> "Joule" so CFBundleName / the
menu-bar name and the .app are "Joule" (identifier science.transaction.AgentJoule
and the agent-joule binary are unchanged).
Docs (223 .md): product prose Zed -> Joule, fence-aware (code blocks untouched).
Embedded assets (12 JSONC): // comments only.
Legal (4 files): product -> Joule, entity "Zed Industries, Inc." -> "Transaction
Science, Inc.", domain zed.dev -> openie.dev. NOTE: these are structurally Zed's
inherited terms and need a real legal review, not just a rename.
Deliberately PRESERVED (renaming would break the app): font aliases ("Zed Plex
Sans"/".ZedMono" in text_system + assets), HTTP header names (X-Zed-Predict-*),
zed:: action ids, app/bundle identifiers (dev.zed.Zed*, Zed-Editor-* product ids),
zed.dev URLs, ZED_* env vars, crate/package names, "Zed Industries" in non-legal
attribution, and the {zed,Zed} config-dir glob.
Signed + notarized + stapled as Joule.app, installed to /Applications, verified
(Gatekeeper: Notarized Developer ID, FH93XC2VRR). Caveat: test-code string
literals were renamed too, so some `cargo test` assertions may need updating.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
99 lines
3.3 KiB
JSON
99 lines
3.3 KiB
JSON
// Default Keymap (Atom) for Joule on macOS
|
|
[
|
|
{
|
|
"bindings": {
|
|
"ctrl-alt-cmd-l": "workspace::Reload",
|
|
"cmd-k cmd-p": "workspace::ActivatePreviousPane",
|
|
"cmd-k cmd-n": "workspace::ActivateNextPane",
|
|
},
|
|
},
|
|
{
|
|
"context": "Editor",
|
|
"bindings": {
|
|
"cmd-shift-backspace": "editor::DeleteToBeginningOfLine",
|
|
"cmd-k cmd-u": "editor::ConvertToUpperCase",
|
|
"cmd-k cmd-l": "editor::ConvertToLowerCase",
|
|
},
|
|
},
|
|
{
|
|
"context": "Editor && mode == full",
|
|
"bindings": {
|
|
"ctrl-shift-l": "language_selector::Toggle",
|
|
"ctrl-shift-n": "encoding_selector::Toggle",
|
|
"cmd-|": "pane::RevealInProjectPanel",
|
|
"cmd-b": "editor::GoToDefinition",
|
|
"alt-cmd-b": "editor::GoToDefinitionSplit",
|
|
"cmd-<": "editor::ScrollCursorCenter",
|
|
"cmd-g": ["editor::SelectNext", { "replace_newest": true }],
|
|
"cmd-shift-g": ["editor::SelectPrevious", { "replace_newest": true }],
|
|
"ctrl-shift-down": ["editor::AddSelectionBelow", { "skip_soft_wrap": true }],
|
|
"ctrl-shift-up": ["editor::AddSelectionAbove", { "skip_soft_wrap": true }],
|
|
"alt-enter": "editor::Newline",
|
|
"cmd-shift-d": "editor::DuplicateLineDown",
|
|
"ctrl-cmd-up": "editor::MoveLineUp",
|
|
"ctrl-cmd-down": "editor::MoveLineDown",
|
|
"cmd-\\": "workspace::ToggleLeftDock",
|
|
"ctrl-shift-m": "markdown::OpenPreviewToTheSide",
|
|
"cmd-r": "outline::Toggle",
|
|
},
|
|
},
|
|
{
|
|
"context": "BufferSearchBar",
|
|
"bindings": {
|
|
"cmd-g": ["editor::SelectNext", { "replace_newest": true }],
|
|
"cmd-shift-g": ["editor::SelectPrevious", { "replace_newest": true }],
|
|
"cmd-f3": "search::SelectNextMatch",
|
|
"cmd-shift-f3": "search::SelectPreviousMatch",
|
|
},
|
|
},
|
|
{
|
|
"context": "Workspace",
|
|
"bindings": {
|
|
"cmd-\\": "workspace::ToggleLeftDock",
|
|
"cmd-k cmd-b": "workspace::ToggleLeftDock",
|
|
"cmd-t": "file_finder::Toggle",
|
|
"cmd-shift-r": "project_symbols::Toggle",
|
|
},
|
|
},
|
|
{
|
|
"context": "Pane",
|
|
"bindings": {
|
|
"alt-cmd-/": "search::ToggleRegex",
|
|
"ctrl-0": "project_panel::ToggleFocus",
|
|
"cmd-1": ["pane::ActivateItem", 0],
|
|
"cmd-2": ["pane::ActivateItem", 1],
|
|
"cmd-3": ["pane::ActivateItem", 2],
|
|
"cmd-4": ["pane::ActivateItem", 3],
|
|
"cmd-5": ["pane::ActivateItem", 4],
|
|
"cmd-6": ["pane::ActivateItem", 5],
|
|
"cmd-7": ["pane::ActivateItem", 6],
|
|
"cmd-8": ["pane::ActivateItem", 7],
|
|
"cmd-9": "pane::ActivateLastItem",
|
|
},
|
|
},
|
|
{
|
|
"context": "ProjectPanel",
|
|
"bindings": {
|
|
"f2": "project_panel::Rename",
|
|
"backspace": ["project_panel::Trash", { "skip_prompt": false }],
|
|
"cmd-x": "project_panel::Cut",
|
|
"cmd-c": "project_panel::Copy",
|
|
"cmd-v": "project_panel::Paste",
|
|
},
|
|
},
|
|
{
|
|
"context": "ProjectPanel && not_editing",
|
|
"bindings": {
|
|
"ctrl-shift-c": "project_panel::CopyPath",
|
|
"ctrl-[": "project_panel::CollapseSelectedEntry",
|
|
"ctrl-b": "project_panel::CollapseSelectedEntry",
|
|
"ctrl-]": "project_panel::ExpandSelectedEntry",
|
|
"ctrl-f": "project_panel::ExpandSelectedEntry",
|
|
"a": "project_panel::NewFile",
|
|
"d": "project_panel::Duplicate",
|
|
"home": "menu::SelectFirst",
|
|
"end": "menu::SelectLast",
|
|
"shift-a": "project_panel::NewDirectory",
|
|
},
|
|
},
|
|
]
|