1# Configuring Zed
2
3## Folder-specific settings
4
5Folder-specific settings are used to override Zed's global settings for files within a specific directory in the project panel. To get started, create a `.zed` subdirectory and add a `settings.json` within it. It should be noted that folder-specific settings don't need to live only a project's root, but can be defined at multiple levels in the project hierarchy. In setups like this, Zed will find the configuration nearest to the file you are working in and apply those settings to it. In most cases, this level of flexibility won't be needed and a single configuration for all files in a project is all that is required; the `Zed > Settings > Open Local Settings` menu action is built for this case. Running this action will look for a `.zed/settings.json` file at the root of the first top-level directory in your project panel. If it does not exist, it will create it.
6
7The following global settings can be overridden with a folder-specific configuration:
8
9- `copilot`
10- `enable_language_server`
11- `ensure_final_newline_on_save`
12- `format_on_save`
13- `formatter`
14- `hard_tabs`
15- `language_overrides`
16- `preferred_line_length`
17- `remove_trailing_whitespace_on_save`
18- `soft_wrap`
19- `tab_size`
20- `show_copilot_suggestions`
21- `show_whitespaces`
22
23_See the Global settings section for details about these settings_
24
25## Global settings
26
27To get started with editing Zed's global settings, open `~/.config/zed/settings.json` via `⌘` + `,`, the command palette (`zed: open settings`), or the `Zed > Settings > Open Settings` application menu item.
28
29Here are all the currently available settings.
30
31## Active Pane Magnification
32
33- Description: Scale by which to zoom the active pane. When set to `1.0`, the active pane has the same size as others, but when set to a larger value, the active pane takes up more space.
34- Setting: `active_pane_magnification`
35- Default: `1.0`
36
37**Options**
38
39`float` values
40
41## Autosave
42
43- Description: When to automatically save edited buffers.
44- Setting: `autosave`
45- Default: `off`
46
47**Options**
48
491. To disable autosave, set it to `off`
50
51```json
52{
53 "autosave": "off"
54}
55```
56
572. To autosave when focus changes, use `on_focus_change`:
58
59```json
60{
61 "autosave": "on_focus_change"
62}
63```
64
653. To autosave when the active window changes, use `on_window_change`:
66
67```json
68{
69 "autosave": "on_window_change"
70}
71```
72
734. To autosave after an inactivity period, use `after_delay`:
74
75```json
76{
77 "autosave": {
78 "after_delay": {
79 "milliseconds": 1000
80 }
81 }
82}
83```
84
85## Auto Update
86
87- Description: Whether or not to automatically check for updates.
88- Setting: `auto_update`
89- Default: `true`
90
91**Options**
92
93`boolean` values
94
95## Buffer Font Family
96
97- Description: The name of a font to use for rendering text in the editor.
98- Setting: `buffer_font_family`
99- Default: `Zed Mono`
100
101**Options**
102
103The name of any font family installed on the user's system
104
105## Buffer Font Features
106
107- Description: The OpenType features to enable for text in the editor.
108- Setting: `buffer_font_features`
109- Default: `null`
110
111**Options**
112
113Zed supports a subset of OpenType features that can be enabled or disabled for a given buffer or terminal font. The following [OpenType features](https://en.wikipedia.org/wiki/List_of_typographic_features) can be enabled or disabled too: `calt`, `case`, `cpsp`, `frac`, `liga`, `onum`, `ordn`, `pnum`, `ss01`, `ss02`, `ss03`, `ss04`, `ss05`, `ss06`, `ss07`, `ss08`, `ss09`, `ss10`, `ss11`, `ss12`, `ss13`, `ss14`, `ss15`, `ss16`, `ss17`, `ss18`, `ss19`, `ss20`, `subs`, `sups`, `swsh`, `titl`, `tnum`, `zero`.
114
115For example, to disable ligatures for a given font you can add the following to your settings:
116
117```json
118{
119 "buffer_font_features": {
120 "calt": false
121 }
122}
123```
124
125## Buffer Font Size
126
127- Description: The default font size for text in the editor.
128- Setting: `buffer_font_size`
129- Default: `15`
130
131**Options**
132
133`integer` values
134
135## Confirm Quit
136
137- Description: Whether or not to prompt the user to confirm before closing the application.
138- Setting: `confirm_quit`
139- Default: `false`
140
141**Options**
142
143`boolean` values
144
145## Copilot
146
147- Description: Copilot-specific settings.
148- Setting: `copilot`
149- Default:
150
151```json
152"copilot": {
153 "disabled_globs": [
154 ".env"
155 ]
156}
157```
158
159**Options**
160
161### Disabled Globs
162
163- Description: The set of glob patterns for which Copilot should be disabled in any matching file.
164- Setting: `disabled_globs`
165- Default: [".env"]
166
167**Options**
168
169List of `string` values
170
171## Cursor Blink
172
173- Description: Whether or not the cursor blinks.
174- Setting: `cursor_blink`
175- Default: `true`
176
177**Options**
178
179`boolean` values
180
181## Default Dock Anchor
182
183- Description: The default anchor for new docks.
184- Setting: `default_dock_anchor`
185- Default: `bottom`
186
187**Options**
188
1891. Position the dock attached to the bottom of the workspace: `bottom`
1902. Position the dock to the right of the workspace like a side panel: `right`
1913. Position the dock full screen over the entire workspace: `expanded`
192
193## Editor Toolbar
194
195- Description: Whether or not to show various elements in the editor toolbar.
196- Setting: `toolbar`
197- Default:
198
199```json
200"toolbar": {
201 "breadcrumbs": true,
202 "quick_actions": true
203},
204```
205
206**Options**
207
208Each option controls displaying of a particular toolbar element. If all elements are hidden, the editor toolbar is not displayed.
209
210## Enable Language Server
211
212- Description: Whether or not to use language servers to provide code intelligence.
213- Setting: `enable_language_server`
214- Default: `true`
215
216**Options**
217
218`boolean` values
219
220## Ensure Final Newline On Save
221
222- Description: Whether or not to ensure there's a single newline at the end of a buffer when saving it.
223- Setting: `ensure_final_newline_on_save`
224- Default: `true`
225
226**Options**
227
228`boolean` values
229
230## LSP
231
232- Description: Configuration for language servers.
233- Setting: `lsp`
234- Default: `null`
235
236**Options**
237
238The following settings can be overridden for specific language servers:
239
240- `initialization_options`
241
242To override settings for a language, add an entry for that language server's name to the `lsp` value. Example:
243
244```json
245"lsp": {
246 "rust-analyzer": {
247 "initialization_options": {
248 "check": {
249 "command": "clippy" // rust-analyzer.check.command (default: "check")
250 }
251 }
252 }
253}
254```
255
256## Format On Save
257
258- Description: Whether or not to perform a buffer format before saving.
259- Setting: `format_on_save`
260- Default: `on`
261
262**Options**
263
2641. `on`, enables format on save obeying `formatter` setting:
265
266```json
267{
268 "format_on_save": "on"
269}
270```
271
2722. `off`, disables format on save:
273
274```json
275{
276 "format_on_save": "off"
277}
278```
279
280## Formatter
281
282- Description: How to perform a buffer format.
283- Setting: `formatter`
284- Default: `language_server`
285
286**Options**
287
2881. To use the current language server, use `"language_server"`:
289
290```json
291{
292 "formatter": "language_server"
293}
294```
295
2962. Or to use an external command, use `"external"`. Specify the name of the formatting program to run, and an array of arguments to pass to the program. The buffer's text will be passed to the program on stdin, and the formatted output should be written to stdout. For example, the following command would strip trailing spaces using [`sed(1)`](https://linux.die.net/man/1/sed):
297
298```json
299{
300 "formatter": {
301 "external": {
302 "command": "sed",
303 "arguments": ["-e", "s/ *$//"]
304 }
305 }
306}
307```
308
3093. Or to use code actions provided by the connected language servers, use `"code_actions"` (requires Zed `0.130.x`):
310
311```json
312{
313 "formatter": {
314 "code_actions": {
315 // Use ESLint's --fix:
316 "source.fixAll.eslint": true,
317 // Organize imports on save:
318 "source.organizeImports": true
319 }
320 }
321}
322```
323
324## Code Actions On Format
325
326- Description: The code actions to perform with the primary language server when formatting the buffer.
327- Setting: `code_actions_on_format`
328- Default: `{}`, except for Go it's `{ "source.organizeImports": true }`
329
330**Examples**
331
3321. Organize imports on format in TypeScript and TSX buffers:
333
334```json
335{
336 "languages": {
337 "TypeScript": {
338 "code_actions_on_format": {
339 "source.organizeImports": true
340 }
341 },
342 "TSX": {
343 "code_actions_on_format": {
344 "source.organizeImports": true
345 }
346 }
347 }
348}
349```
350
3512. Run ESLint `fixAll` code action when formatting (requires Zed `0.125.0`):
352
353```json
354{
355 "languages": {
356 "JavaScript": {
357 "code_actions_on_format": {
358 "source.fixAll.eslint": true
359 }
360 }
361 }
362}
363```
364
3653. Run only a single ESLint rule when using `fixAll` (requires Zed `0.125.0`):
366
367```json
368{
369 "languages": {
370 "JavaScript": {
371 "code_actions_on_format": {
372 "source.fixAll.eslint": true
373 }
374 }
375 },
376 "lsp": {
377 "eslint": {
378 "settings": {
379 "codeActionOnSave": {
380 "rules": ["import/order"]
381 }
382 }
383 }
384 }
385}
386```
387
388## Auto close
389
390- Description: Whether or not to automatically type closing characters for you.
391- Setting: `use_autoclose`
392- Default: `true`
393
394**Options**
395
396`boolean` values
397
398## Always Treat Brackets As Autoclosed
399
400- Description: Controls how the editor handles the autoclosed characters.
401- Setting: `always_treat_brackets_as_autoclosed`
402- Default: `false`
403
404**Options**
405
406`boolean` values
407
408**Example**
409
410If the setting is set to `true`:
411
4121. Enter in the editor: `)))`
4132. Move the cursor to the start: `^)))`
4143. Enter again: `)))`
415
416The result is still `)))` and not `))))))`, which is what it would be by default.
417
418## File Types
419
420- Setting: `file_types`
421- Description: Configure how Zed selects a language for a file based on its filename or extension.
422- Default: `{}`
423
424**Examples**
425
426To interpret all `.c` files as C++, and files called `MyLockFile` as TOML:
427
428```json
429{
430 "file_types": {
431 "C++": ["c"],
432 "TOML": ["MyLockFile"]
433 }
434}
435```
436
437## Git
438
439- Description: Configuration for git-related features.
440- Setting: `git`
441- Default:
442
443```json
444"git": {
445 "git_gutter": "tracked_files"
446},
447```
448
449### Git Gutter
450
451- Description: Whether or not to show the git gutter.
452- Setting: `git_gutter`
453- Default: `tracked_files`
454
455**Options**
456
4571. Show git gutter in tracked files
458
459```json
460{
461 "git_gutter": "tracked_files"
462}
463```
464
4652. Hide git gutter
466
467```json
468{
469 "git_gutter": "hide"
470}
471```
472
473## Hard Tabs
474
475- Description: Whether to indent lines using tab characters or multiple spaces.
476- Setting: `hard_tabs`
477- Default: `false`
478
479**Options**
480
481`boolean` values
482
483## Hover Popover Enabled
484
485- Description: Whether or not to show the informational hover box when moving the mouse over symbols in the editor.
486- Setting: `hover_popover_enabled`
487- Default: `true`
488
489**Options**
490
491`boolean` values
492
493## Inlay hints
494
495- Description: Configuration for displaying extra text with hints in the editor.
496- Setting: `inlay_hints`
497- Default:
498
499```json
500"inlay_hints": {
501 "enabled": false,
502 "show_type_hints": true,
503 "show_parameter_hints": true,
504 "show_other_hints": true,
505 "edit_debounce_ms": 700,
506 "scroll_debounce_ms": 50
507}
508```
509
510**Options**
511
512Inlay hints querying consists of two parts: editor (client) and LSP server.
513With the inlay settings above are changed to enable the hints, editor will start to query certain types of hints and react on LSP hint refresh request from the server.
514At this point, the server may or may not return hints depending on its implementation, further configuration might be needed, refer to the corresponding LSP server documentation.
515
516The following languages have inlay hints preconfigured by Zed:
517
518- [Go](https://docs.zed.dev/languages/go)
519- [Rust](https://docs.zed.dev/languages/rust)
520- [Svelte](https://docs.zed.dev/languages/svelte)
521- [Typescript](https://docs.zed.dev/languages/typescript)
522
523Use the `lsp` section for the server configuration. Examples are provided in the corresponding language documentation.
524
525Hints are not instantly queried in Zed, two kinds of debounces are used, either may be set to 0 to be disabled.
526Settings-related hint updates are not debounced.
527
528## Journal
529
530- Description: Configuration for the journal.
531- Setting: `journal`
532- Default:
533
534```json
535"journal": {
536 "path": "~",
537 "hour_format": "hour12"
538}
539```
540
541### Path
542
543- Description: The path of the directory where journal entries are stored.
544- Setting: `path`
545- Default: `~`
546
547**Options**
548
549`string` values
550
551### Hour Format
552
553- Description: The format to use for displaying hours in the journal.
554- Setting: `hour_format`
555- Default: `hour12`
556
557**Options**
558
5591. 12-hour format:
560
561```json
562{
563 "hour_format": "hour12"
564}
565```
566
5672. 24-hour format:
568
569```json
570{
571 "hour_format": "hour24"
572}
573```
574
575## Language Overrides
576
577- Description: Configuration overrides for specific languages.
578- Setting: `language_overrides`
579- Default: `null`
580
581**Options**
582
583To override settings for a language, add an entry for that languages name to the `language_overrides` value. Example:
584
585```json
586"language_overrides": {
587 "C": {
588 "format_on_save": "off",
589 "preferred_line_length": 64,
590 "soft_wrap": "preferred_line_length"
591 },
592 "JSON": {
593 "tab_size": 4
594 }
595}
596```
597
598The following settings can be overridden for each specific language:
599
600- `enable_language_server`
601- `ensure_final_newline_on_save`
602- `format_on_save`
603- `formatter`
604- `hard_tabs`
605- `preferred_line_length`
606- `remove_trailing_whitespace_on_save`
607- `show_copilot_suggestions`
608- `show_whitespaces`
609- `soft_wrap`
610- `tab_size`
611- `use_autoclose`
612- `always_treat_brackets_as_autoclosed`
613
614These values take in the same options as the root-level settings with the same name.
615
616## Preferred Line Length
617
618- Description: The column at which to soft-wrap lines, for buffers where soft-wrap is enabled.
619- Setting: `preferred_line_length`
620- Default: `80`
621
622**Options**
623
624`integer` values
625
626## Projects Online By Default
627
628- Description: Whether or not to show the online projects view by default.
629- Setting: `projects_online_by_default`
630- Default: `true`
631
632**Options**
633
634`boolean` values
635
636## Remove Trailing Whitespace On Save
637
638- Description: Whether or not to remove any trailing whitespace from lines of a buffer before saving it.
639- Setting: `remove_trailing_whitespace_on_save`
640- Default: `true`
641
642**Options**
643
644`boolean` values
645
646## Show Call Status Icon
647
648- Description: Whether or not to show the call status icon in the status bar.
649- Setting: `show_call_status_icon`
650- Default: `true`
651
652**Options**
653
654`boolean` values
655
656## Show Completions On Input
657
658- Description: Whether or not to show completions as you type.
659- Setting: `show_completions_on_input`
660- Default: `true`
661
662**Options**
663
664`boolean` values
665
666## Show Completion Documentation
667
668- Description: Whether to display inline and alongside documentation for items in the completions menu.
669- Setting: `show_completion_documentation`
670- Default: `true`
671
672**Options**
673
674`boolean` values
675
676## Completion Documentation Debounce Delay
677
678- Description: The debounce delay before re-querying the language server for completion documentation when not included in original completion list.
679- Setting: `completion_documentation_secondary_query_debounce`
680- Default: `300` ms
681
682**Options**
683
684`integer` values
685
686## Show Copilot Suggestions
687
688- Description: Whether or not to show Copilot suggestions as you type or wait for a `copilot::Toggle`.
689- Setting: `show_copilot_suggestions`
690- Default: `true`
691
692**Options**
693
694`boolean` values
695
696## Show Whitespaces
697
698- Description: Whether or not to show render whitespace characters in the editor.
699- Setting: `show_whitespaces`
700- Default: `selection`
701
702**Options**
703
7041. `all`
7052. `selection`
7063. `none`
707
708## Soft Wrap
709
710- Description: Whether or not to automatically wrap lines of text to fit editor / preferred width.
711- Setting: `soft_wrap`
712- Default: `none`
713
714**Options**
715
7161. `editor_width`
7172. `preferred_line_length`
7183. `none`
719
720## Tab Size
721
722- Description: The number of spaces to use for each tab character.
723- Setting: `tab_size`
724- Default: `4`
725
726**Options**
727
728`integer` values
729
730## Telemetry
731
732- Description: Control what info is collected by Zed.
733- Setting: `telemetry`
734- Default:
735
736```json
737"telemetry": {
738 "diagnostics": true,
739 "metrics": true
740},
741```
742
743**Options**
744
745### Diagnostics
746
747- Description: Setting for sending debug-related data, such as crash reports.
748- Setting: `diagnostics`
749- Default: `true`
750
751**Options**
752
753`boolean` values
754
755### Metrics
756
757- Description: Setting for sending anonymized usage data, such what languages you're using Zed with.
758- Setting: `metrics`
759- Default: `true`
760
761**Options**
762
763`boolean` values
764
765## Terminal
766
767- Description: Configuration for the terminal.
768- Setting: `terminal`
769- Default:
770
771```json
772"terminal": {
773 "alternate_scroll": "off",
774 "blinking": "terminal_controlled",
775 "copy_on_select": false,
776 "env": {},
777 "font_family": null,
778 "font_features": null,
779 "font_size": null,
780 "option_as_meta": false,
781 "shell": {},
782 "toolbar": {
783 "title": true
784 },
785 "working_directory": "current_project_directory"
786}
787```
788
789### Alternate Scroll
790
791- Description: Set whether Alternate Scroll mode (DECSET code: `?1007`) is active by default. Alternate Scroll mode converts mouse scroll events into up / down key presses when in the alternate screen (e.g. when running applications like vim or less). The terminal can still set and unset this mode with ANSI escape codes.
792- Setting: `alternate_scroll`
793- Default: `off`
794
795**Options**
796
7971. Default alternate scroll mode to on
798
799```json
800{
801 "alternate_scroll": "on"
802}
803```
804
8052. Default alternate scroll mode to off
806
807```json
808{
809 "alternate_scroll": "off"
810}
811```
812
813### Blinking
814
815- Description: Set the cursor blinking behavior in the terminal
816- Setting: `blinking`
817- Default: `terminal_controlled`
818
819**Options**
820
8211. Never blink the cursor, ignore the terminal mode
822
823```json
824{
825 "blinking": "off"
826}
827```
828
8292. Default the cursor blink to off, but allow the terminal to turn blinking on
830
831```json
832{
833 "blinking": "terminal_controlled"
834}
835```
836
8373. Always blink the cursor, ignore the terminal mode
838
839```json
840"blinking": "on",
841```
842
843### Copy On Select
844
845- Description: Whether or not selecting text in the terminal will automatically copy to the system clipboard.
846- Setting: `copy_on_select`
847- Default: `false`
848
849**Options**
850
851`boolean` values
852
853### Env
854
855- Description: Any key-value pairs added to this object will be added to the terminal's environment. Keys must be unique, use `:` to separate multiple values in a single variable
856- Setting: `env`
857- Default: `{}`
858
859**Example**
860
861```json
862"env": {
863 "ZED": "1",
864 "KEY": "value1:value2"
865}
866```
867
868### Font Size
869
870- Description: What font size to use for the terminal. When not set defaults to matching the editor's font size
871- Setting: `font_size`
872- Default: `null`
873
874**Options**
875
876`integer` values
877
878### Font Family
879
880- Description: What font to use for the terminal. When not set, defaults to matching the editor's font.
881- Setting: `font_family`
882- Default: `null`
883
884**Options**
885
886The name of any font family installed on the user's system
887
888### Font Features
889
890- Description: What font features to use for the terminal. When not set, defaults to matching the editor's font features.
891- Setting: `font_features`
892- Default: `null`
893
894**Options**
895
896See Buffer Font Features
897
898### Option As Meta
899
900- Description: Re-interprets the option keys to act like a 'meta' key, like in Emacs.
901- Setting: `option_as_meta`
902- Default: `true`
903
904**Options**
905
906`boolean` values
907
908### Shell
909
910- Description: What shell to use when launching the terminal.
911- Setting: `shell`
912- Default: `system`
913
914**Options**
915
9161. Use the system's default terminal configuration (usually the `/etc/passwd` file).
917
918```json
919{
920 "shell": "system"
921}
922```
923
9242. A program to launch:
925
926```json
927"shell": {
928 "program": "sh"
929}
930```
931
9323. A program with arguments:
933
934```json
935"shell": {
936 "with_arguments": {
937 "program": "/bin/bash",
938 "args": ["--login"]
939 }
940}
941```
942
943## Terminal Toolbar
944
945- Description: Whether or not to show various elements in the terminal toolbar. It only affects terminals placed in the editor pane.
946- Setting: `toolbar`
947- Default:
948
949```json
950"toolbar": {
951 "title": true,
952},
953```
954
955**Options**
956
957At the moment, only the `title` option is available, it controls displaying of the terminal title that can be changed via `PROMPT_COMMAND`. If the title is hidden, the terminal toolbar is not displayed.
958
959### Working Directory
960
961- Description: What working directory to use when launching the terminal.
962- Setting: `working_directory`
963- Default: `"current_project_directory"`
964
965**Options**
966
9671. Use the current file's project directory. Will Fallback to the first project directory strategy if unsuccessful
968
969```json
970{
971 "working_directory": "current_project_directory"
972}
973```
974
9752. Use the first project in this workspace's directory. Will fallback to using this platform's home directory.
976
977```json
978{
979 "working_directory": "first_project_directory"
980}
981```
982
9833. Always use this platform's home directory (if we can find it)
984
985```json
986{
987 "working_directory": "always_home"
988}
989```
990
9914. 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.
992
993```json
994"working_directory": {
995 "always": {
996 "directory": "~/zed/projects/"
997 }
998}
999```
1000
1001## Theme
1002
1003- 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.
1004- Setting: `theme`
1005- Default: `One Dark`
1006
1007### Theme Object
1008
1009- Description: Specify the theme using an object that includes the `mode`, `dark`, and `light` themes.
1010- Setting: `theme`
1011- Default:
1012
1013```json
1014"theme": {
1015 "mode": "dark",
1016 "dark": "One Dark",
1017 "light": "One Light"
1018},
1019```
1020
1021### Mode
1022
1023- Description: Specify theme mode.
1024- Setting: `mode`
1025- Default: `dark`
1026
1027**Options**
1028
10291. Set the theme to dark mode
1030
1031```json
1032{
1033 "mode": "dark"
1034}
1035```
1036
10372. Set the theme to light mode
1038
1039```json
1040{
1041 "mode": "light"
1042}
1043```
1044
10453. Set the theme to system mode
1046
1047```json
1048{
1049 "mode": "system"
1050}
1051```
1052
1053### Dark
1054
1055- Description: The name of the dark Zed theme to use for the UI.
1056- Setting: `dark`
1057- Default: `One Dark`
1058
1059**Options**
1060
1061Run the `theme selector: toggle` action in the command palette to see a current list of valid themes names.
1062
1063### Light
1064
1065- Description: The name of the light Zed theme to use for the UI.
1066- Setting: `light`
1067- Default: `One Light`
1068
1069**Options**
1070
1071Run the `theme selector: toggle` action in the command palette to see a current list of valid themes names.
1072
1073## Vim
1074
1075- Description: Whether or not to enable vim mode (work in progress).
1076- Setting: `vim_mode`
1077- Default: `false`
1078
1079## Project Panel
1080
1081- Description: Customise project panel
1082- Setting: `project_panel`
1083- Default:
1084
1085```json
1086"project_panel": {
1087 "dock": "left",
1088 "git_status": true,
1089 "default_width": "N/A - width in pixels"
1090},
1091```
1092
1093### Dock
1094
1095- Description: Control the position of the dock
1096- Setting: `dock`
1097- Default: `left`
1098
1099**Options**
1100
11011. Default dock position to left
1102
1103```json
1104{
1105 "dock": "left"
1106}
1107```
1108
11092. Default dock position to right
1110
1111```json
1112{
1113 "dock": "right"
1114}
1115```
1116
1117### Git Status
1118
1119- Description: Indicates newly created and updated files
1120- Setting: `git_status`
1121- Default: `true`
1122
11231. Default enable git status
1124
1125```json
1126{
1127 "git_status": true
1128}
1129```
1130
11312. Default disable git status
1132
1133```json
1134{
1135 "git_status": false
1136}
1137```
1138
1139### Default Width
1140
1141- Description: Customise default width taken by project panel
1142- Setting: `default_width`
1143- Default: N/A width in pixels (eg: 420)
1144
1145**Options**
1146
1147`boolean` values
1148
1149## An example configuration:
1150
1151```json
1152// ~/.config/zed/settings.json
1153{
1154 "theme": "cave-light",
1155 "tab_size": 2,
1156 "preferred_line_length": 80,
1157 "soft_wrap": "none",
1158
1159 "buffer_font_size": 18,
1160 "buffer_font_family": "Zed Mono",
1161
1162 "autosave": "on_focus_change",
1163 "format_on_save": "off",
1164 "vim_mode": false,
1165 "projects_online_by_default": true,
1166 "terminal": {
1167 "font_family": "FiraCode Nerd Font Mono",
1168 "blinking": "off"
1169 },
1170 "language_overrides": {
1171 "C": {
1172 "format_on_save": "language_server",
1173 "preferred_line_length": 64,
1174 "soft_wrap": "preferred_line_length"
1175 }
1176 }
1177}
1178```