2022-07-12 18:00:02 +00:00
|
|
|
{
|
2022-07-12 20:38:24 +00:00
|
|
|
// The name of the Zed theme to use for the UI
|
2022-08-05 16:44:34 +00:00
|
|
|
"theme": "one-dark",
|
2022-07-12 20:38:24 +00:00
|
|
|
// The name of a font to use for rendering text in the editor
|
2022-07-12 18:00:02 +00:00
|
|
|
"buffer_font_family": "Zed Mono",
|
2022-07-12 20:38:24 +00:00
|
|
|
// The default font size for text in the editor
|
2022-07-12 18:00:02 +00:00
|
|
|
"buffer_font_size": 15,
|
2022-07-12 20:38:24 +00:00
|
|
|
// Whether to enable vim modes and key bindings
|
2022-07-12 18:00:02 +00:00
|
|
|
"vim_mode": false,
|
2022-07-12 20:38:24 +00:00
|
|
|
// Whether to show the informational hover box when moving the mouse
|
|
|
|
// over symbols in the editor.
|
2022-07-12 18:42:43 +00:00
|
|
|
"hover_popover_enabled": true,
|
2022-10-17 23:19:03 +00:00
|
|
|
// Whether the cursor blinks in the editor.
|
|
|
|
"cursor_blink": true,
|
2022-07-13 21:29:47 +00:00
|
|
|
// Whether to pop the completions menu while typing in an editor without
|
|
|
|
// explicitly requesting it.
|
|
|
|
"show_completions_on_input": true,
|
2022-07-12 20:38:24 +00:00
|
|
|
// Whether new projects should start out 'online'. Online projects
|
|
|
|
// appear in the contacts panel under your name, so that your contacts
|
|
|
|
// can see which projects you are working on. Regardless of this
|
|
|
|
// setting, projects keep their last online status when you reopen them.
|
2022-07-12 18:00:02 +00:00
|
|
|
"projects_online_by_default": true,
|
2022-07-12 20:38:24 +00:00
|
|
|
// Whether to use language servers to provide code intelligence.
|
2022-07-12 18:35:19 +00:00
|
|
|
"enable_language_server": true,
|
2022-07-12 20:38:24 +00:00
|
|
|
// When to automatically save edited buffers. This setting can
|
|
|
|
// take four values.
|
|
|
|
//
|
|
|
|
// 1. Never automatically save:
|
|
|
|
// "autosave": "off",
|
|
|
|
// 2. Save when changing focus away from the Zed window:
|
|
|
|
// "autosave": "on_window_change",
|
|
|
|
// 3. Save when changing focus away from a specific buffer:
|
|
|
|
// "autosave": "on_focus_change",
|
|
|
|
// 4. Save when idle for a certain amount of time:
|
|
|
|
// "autosave": { "after_delay": {"milliseconds": 500} },
|
2022-07-12 18:42:43 +00:00
|
|
|
"autosave": "off",
|
2022-09-09 02:32:38 +00:00
|
|
|
// Where to place the dock by default. This setting can take three
|
|
|
|
// values:
|
|
|
|
//
|
|
|
|
// 1. Position the dock attached to the bottom of the workspace
|
|
|
|
// "default_dock_anchor": "bottom"
|
|
|
|
// 2. Position the dock to the right of the workspace like a side panel
|
|
|
|
// "default_dock_anchor": "right"
|
|
|
|
// 3. Position the dock full screen over the entire workspace"
|
|
|
|
// "default_dock_anchor": "expanded"
|
|
|
|
"default_dock_anchor": "right",
|
2022-09-22 22:21:05 +00:00
|
|
|
// Whether or not to perform a buffer format before saving
|
2022-09-26 18:04:25 +00:00
|
|
|
"format_on_save": "on",
|
2022-09-22 22:21:05 +00:00
|
|
|
// How to perform a buffer format. This setting can take two values:
|
2022-07-12 20:38:24 +00:00
|
|
|
//
|
2022-09-22 22:21:05 +00:00
|
|
|
// 1. Format code using the current language server:
|
2022-07-12 20:38:24 +00:00
|
|
|
// "format_on_save": "language_server"
|
2022-09-22 22:21:05 +00:00
|
|
|
// 2. Format code using an external command:
|
2022-07-12 20:38:24 +00:00
|
|
|
// "format_on_save": {
|
|
|
|
// "external": {
|
2022-07-15 07:00:10 +00:00
|
|
|
// "command": "prettier",
|
|
|
|
// "arguments": ["--stdin-filepath", "{buffer_path}"]
|
2022-07-12 20:38:24 +00:00
|
|
|
// }
|
2022-07-15 07:00:10 +00:00
|
|
|
// }
|
2022-09-22 22:21:05 +00:00
|
|
|
"formatter": "language_server",
|
2022-07-12 20:38:24 +00:00
|
|
|
// How to soft-wrap long lines of text. This setting can take
|
|
|
|
// three values:
|
|
|
|
//
|
|
|
|
// 1. Do not soft wrap.
|
|
|
|
// "soft_wrap": "none",
|
|
|
|
// 2. Soft wrap lines that overflow the editor:
|
|
|
|
// "soft_wrap": "editor_width",
|
2022-07-16 01:27:10 +00:00
|
|
|
// 3. Soft wrap lines at the preferred line length
|
2022-07-12 20:38:24 +00:00
|
|
|
// "soft_wrap": "preferred_line_length",
|
2022-07-12 18:35:19 +00:00
|
|
|
"soft_wrap": "none",
|
2022-07-12 20:38:24 +00:00
|
|
|
// The column at which to soft-wrap lines, for buffers where soft-wrap
|
|
|
|
// is enabled.
|
|
|
|
"preferred_line_length": 80,
|
|
|
|
// Whether to indent lines using tab characters, as opposed to multiple
|
|
|
|
// spaces.
|
2022-07-12 18:35:19 +00:00
|
|
|
"hard_tabs": false,
|
2022-07-12 20:38:24 +00:00
|
|
|
// How many columns a tab should occupy.
|
2022-07-12 18:35:19 +00:00
|
|
|
"tab_size": 4,
|
2022-10-03 01:35:19 +00:00
|
|
|
// Git gutter behavior configuration.
|
2022-10-03 18:53:33 +00:00
|
|
|
"git": {
|
2022-10-04 00:43:05 +00:00
|
|
|
// Control whether the git gutter is shown. May take 2 values:
|
|
|
|
// 1. Show the gutter
|
|
|
|
// "git_gutter": "tracked_files"
|
|
|
|
// 2. Hide the gutter
|
|
|
|
// "git_gutter": "hide"
|
|
|
|
"git_gutter": "tracked_files"
|
2022-09-19 22:22:39 +00:00
|
|
|
},
|
2022-09-28 20:52:15 +00:00
|
|
|
// Settings specific to journaling
|
2022-09-28 20:25:37 +00:00
|
|
|
"journal": {
|
2022-09-29 20:18:16 +00:00
|
|
|
// The path of the directory where journal entries are stored
|
|
|
|
"path": "~",
|
|
|
|
// What format to display the hours in
|
|
|
|
// May take 2 values:
|
2022-09-28 20:52:15 +00:00
|
|
|
// 1. hour12
|
|
|
|
// 2. hour24
|
2022-09-28 20:25:37 +00:00
|
|
|
"hour_format": "hour12"
|
|
|
|
},
|
2022-07-16 01:27:10 +00:00
|
|
|
// Settings specific to the terminal
|
|
|
|
"terminal": {
|
2022-10-16 16:42:18 +00:00
|
|
|
// What shell to use when opening a terminal. May take 3 values:
|
2022-07-16 01:42:07 +00:00
|
|
|
// 1. Use the system's default terminal configuration (e.g. $TERM).
|
2022-07-16 01:27:10 +00:00
|
|
|
// "shell": "system"
|
|
|
|
// 2. A program:
|
|
|
|
// "shell": {
|
|
|
|
// "program": "sh"
|
|
|
|
// }
|
|
|
|
// 3. A program with arguments:
|
|
|
|
// "shell": {
|
|
|
|
// "with_arguments": {
|
|
|
|
// "program": "/bin/bash",
|
|
|
|
// "arguments": ["--login"]
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
"shell": "system",
|
|
|
|
// What working directory to use when launching the terminal.
|
|
|
|
// May take 4 values:
|
2022-10-16 16:42:18 +00:00
|
|
|
// 1. Use the current file's project directory. Will Fallback to the
|
2022-07-26 23:30:51 +00:00
|
|
|
// first project directory strategy if unsuccessful
|
2022-07-16 01:27:10 +00:00
|
|
|
// "working_directory": "current_project_directory"
|
|
|
|
// 2. Use the first project in this workspace's directory
|
|
|
|
// "working_directory": "first_project_directory"
|
|
|
|
// 3. Always use this platform's home directory (if we can find it)
|
|
|
|
// "working_directory": "always_home"
|
|
|
|
// 4. Always use a specific directory. This value will be shell expanded.
|
|
|
|
// If this path is not a valid directory the terminal will default to
|
|
|
|
// this platform's home directory (if we can find it)
|
2022-10-16 16:42:18 +00:00
|
|
|
// "working_directory": {
|
2022-07-16 01:27:10 +00:00
|
|
|
// "always": {
|
|
|
|
// "directory": "~/zed/projects/"
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
"working_directory": "current_project_directory",
|
2022-08-19 20:54:25 +00:00
|
|
|
// Set the cursor blinking behavior in the terminal.
|
|
|
|
// May take 4 values:
|
|
|
|
// 1. Never blink the cursor, ignoring the terminal mode
|
|
|
|
// "blinking": "off",
|
2022-10-16 16:42:18 +00:00
|
|
|
// 2. Default the cursor blink to off, but allow the terminal to
|
2022-08-19 20:54:25 +00:00
|
|
|
// set blinking
|
|
|
|
// "blinking": "terminal_controlled",
|
|
|
|
// 3. Always blink the cursor, ignoring the terminal mode
|
|
|
|
// "blinking": "on",
|
2022-08-17 21:41:28 +00:00
|
|
|
"blinking": "terminal_controlled",
|
2022-08-19 20:54:25 +00:00
|
|
|
// Set whether Alternate Scroll mode (code: ?1007) is active by default.
|
|
|
|
// Alternate Scroll mode converts mouse scroll events into up / down key
|
2022-10-16 16:42:18 +00:00
|
|
|
// presses when in the alternate screen (e.g. when running applications
|
2022-08-19 20:54:25 +00:00
|
|
|
// like vim or less). The terminal can still set and unset this mode.
|
|
|
|
// May take 2 values:
|
|
|
|
// 1. Default alternate scroll mode to on
|
|
|
|
// "alternate_scroll": "on",
|
|
|
|
// 2. Default alternate scroll mode to off
|
|
|
|
// "alternate_scroll": "off",
|
|
|
|
"alternate_scroll": "off",
|
2022-09-13 05:40:35 +00:00
|
|
|
// Set whether the option key behaves as the meta key.
|
|
|
|
// May take 2 values:
|
|
|
|
// 1. Rely on default platform handling of option key, on macOS
|
|
|
|
// this means generating certain unicode characters
|
|
|
|
// "option_to_meta": false,
|
2022-09-13 16:41:01 +00:00
|
|
|
// 2. Make the option keys behave as a 'meta' key, e.g. for emacs
|
2022-09-13 05:40:35 +00:00
|
|
|
// "option_to_meta": true,
|
|
|
|
"option_as_meta": false,
|
2022-10-10 14:29:51 +00:00
|
|
|
// Whether or not selecting text in the terminal will automatically
|
|
|
|
// copy to the system clipboard.
|
|
|
|
"copy_on_select": false,
|
2022-08-19 20:54:25 +00:00
|
|
|
// Any key-value pairs added to this list will be added to the terminal's
|
|
|
|
// enviroment. Use `:` to seperate multiple values.
|
2022-07-16 17:34:47 +00:00
|
|
|
"env": {
|
2022-08-19 20:54:25 +00:00
|
|
|
// "KEY": "value1:value2"
|
2022-07-16 17:34:47 +00:00
|
|
|
}
|
2022-08-19 20:54:25 +00:00
|
|
|
// Set the terminal's font size. If this option is not included,
|
|
|
|
// the terminal will default to matching the buffer's font size.
|
|
|
|
// "font_size": "15"
|
|
|
|
// Set the terminal's font family. If this option is not included,
|
|
|
|
// the terminal will default to matching the buffer's font family.
|
|
|
|
// "font_family": "Zed Mono"
|
2022-07-16 01:27:10 +00:00
|
|
|
},
|
2022-07-12 20:38:24 +00:00
|
|
|
// Different settings for specific languages.
|
2022-07-12 18:42:43 +00:00
|
|
|
"languages": {
|
2022-07-12 18:00:02 +00:00
|
|
|
"Plain Text": {
|
|
|
|
"soft_wrap": "preferred_line_length"
|
|
|
|
},
|
|
|
|
"C": {
|
|
|
|
"tab_size": 2
|
|
|
|
},
|
|
|
|
"C++": {
|
|
|
|
"tab_size": 2
|
|
|
|
},
|
2022-08-19 10:05:08 +00:00
|
|
|
"Elixir": {
|
|
|
|
"tab_size": 2
|
|
|
|
},
|
2022-07-12 18:00:02 +00:00
|
|
|
"Go": {
|
|
|
|
"tab_size": 4,
|
|
|
|
"hard_tabs": true
|
|
|
|
},
|
|
|
|
"Markdown": {
|
|
|
|
"soft_wrap": "preferred_line_length"
|
|
|
|
},
|
|
|
|
"Rust": {
|
|
|
|
"tab_size": 4
|
|
|
|
},
|
|
|
|
"JavaScript": {
|
|
|
|
"tab_size": 2
|
|
|
|
},
|
|
|
|
"TypeScript": {
|
|
|
|
"tab_size": 2
|
|
|
|
},
|
|
|
|
"TSX": {
|
|
|
|
"tab_size": 2
|
|
|
|
}
|
2022-08-04 02:32:18 +00:00
|
|
|
},
|
2022-08-19 20:54:25 +00:00
|
|
|
// LSP Specific settings.
|
2022-08-10 16:11:06 +00:00
|
|
|
"lsp": {
|
2022-08-19 20:54:25 +00:00
|
|
|
// Specify the LSP name as a key here.
|
|
|
|
// As of 8/10/22, supported LSPs are:
|
|
|
|
// pyright
|
|
|
|
// gopls
|
|
|
|
// rust-analyzer
|
|
|
|
// typescript-language-server
|
|
|
|
// vscode-json-languageserver
|
2022-08-11 18:46:54 +00:00
|
|
|
// "rust_analyzer": {
|
|
|
|
// //These initialization options are merged into Zed's defaults
|
|
|
|
// "initialization_options": {
|
|
|
|
// "checkOnSave": {
|
|
|
|
// "command": "clippy"
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
2022-08-10 16:11:06 +00:00
|
|
|
}
|
2022-07-12 18:00:02 +00:00
|
|
|
}
|