- Description: What working directory to use when launching the terminal.
- Setting: `working_directory`
- Default: `"current_project_directory"`
**Options**
1. Use the current file's project directory. Will Fallback to the first project directory strategy if unsuccessful
```json
{
"terminal": {
"working_directory": "current_project_directory"
}
}
```
2. Use the first project in this workspace's directory. Will fallback to using this platform's home directory.
```json
{
"terminal": {
"working_directory": "first_project_directory"
}
}
```
3. Always use this platform's home directory (if we can find it)
```json
{
"terminal": {
"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.
```json
{
"terminal": {
"working_directory": {
"always": {
"directory": "~/zed/projects/"
}
}
}
}
```
## Theme
- Description: The theme setting can be specified in two forms - either as the name of a theme or as an object containing the `mode`, `dark`, and `light` themes for the Zed UI.
- Setting: `theme`
- Default: `One Dark`
### Theme Object
- Description: Specify the theme using an object that includes the `mode`, `dark`, and `light` themes.
- Setting: `theme`
- Default:
```json
"theme": {
"mode": "system",
"dark": "One Dark",
"light": "One Light"
},
```
### Mode
- Description: Specify theme mode.
- Setting: `mode`
- Default: `system`
**Options**
1. Set the theme to dark mode
```json
{
"mode": "dark"
}
```
2. Set the theme to light mode
```json
{
"mode": "light"
}
```
3. Set the theme to system mode
```json
{
"mode": "system"
}
```
### Dark
- Description: The name of the dark Zed theme to use for the UI.
- Setting: `dark`
- Default: `One Dark`
**Options**
Run the `theme selector: toggle` action in the command palette to see a current list of valid themes names.
### Light
- Description: The name of the light Zed theme to use for the UI.
- Setting: `light`
- Default: `One Light`
**Options**
Run the `theme selector: toggle` action in the command palette to see a current list of valid themes names.
## Vim
- Description: Whether or not to enable vim mode (work in progress).
- Setting: `vim_mode`
- Default: `false`
## Project Panel
- Description: Customize project panel
- Setting: `project_panel`
- Default:
```json
{
"project_panel": {
"button": true,
"default_width": 240,
"dock": "left",
"entry_spacing": "comfortable",
"file_icons": true,
"folder_icons": true,
"git_status": true,
"indent_size": 20,
"auto_reveal_entries": true,
"auto_fold_dirs": true,
"scrollbar": {
"show": null
},
"show_diagnostics": "all",
"indent_guides": {
"show": "always"
}
}
}
```
### Dock
- Description: Control the position of the dock
- Setting: `dock`
- Default: `left`
**Options**
1. Default dock position to left
```json
{
"dock": "left"
}
```
2. Default dock position to right
```json
{
"dock": "right"
}
```
### Entry Spacing
- Description: Spacing between worktree entries
- Setting: `entry_spacing`
- Default: `comfortable`
**Options**
1. Comfortable entry spacing
```json
{
"entry_spacing": "comfortable"
}
```
2. Standard entry spacing
```json
{
"entry_spacing": "standard"
}
```
### Git Status
- Description: Indicates newly created and updated files
- Setting: `git_status`
- Default: `true`
**Options**
1. Default enable git status
```json
{
"git_status": true
}
```
2. Default disable git status
```json
{
"git_status": false
}
```
### Default Width
- Description: Customize default width taken by project panel
- Setting: `default_width`
- Default: `240`
**Options**
`float` values
### Auto Reveal Entries
- Description: Whether to reveal it in the project panel automatically, when a corresponding project entry becomes active. Gitignored entries are never auto revealed.