@@ -21,6 +21,118 @@ const VSCODE_EXTENSIONS = {
2121 recommendations : [ 'VoidZero.vite-plus-extension-pack' ] ,
2222} as const ;
2323
24+ const ZED_SETTINGS = {
25+ lsp : {
26+ oxlint : {
27+ initialization_options : {
28+ settings : {
29+ configPath : './oxlintrc.json' ,
30+ run : 'onType' ,
31+ disableNestedConfig : false ,
32+ fixKind : 'safe_fix' ,
33+ typeAware : true ,
34+ unusedDisableDirectives : 'deny' ,
35+ } ,
36+ } ,
37+ } ,
38+ oxfmt : {
39+ initialization_options : {
40+ settings : {
41+ configPath : './oxfmtrc.jsonc' ,
42+ } ,
43+ } ,
44+ } ,
45+ } ,
46+ languages : {
47+ CSS : {
48+ format_on_save : 'on' ,
49+ prettier : { allowed : false } ,
50+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
51+ } ,
52+ GraphQL : {
53+ format_on_save : 'on' ,
54+ prettier : { allowed : false } ,
55+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
56+ } ,
57+ Handlebars : {
58+ format_on_save : 'on' ,
59+ prettier : { allowed : false } ,
60+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
61+ } ,
62+ HTML : {
63+ format_on_save : 'on' ,
64+ prettier : { allowed : false } ,
65+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
66+ } ,
67+ JavaScript : {
68+ format_on_save : 'on' ,
69+ prettier : { allowed : false } ,
70+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
71+ code_action : 'source.fixAll.oxc' ,
72+ } ,
73+ JSX : {
74+ format_on_save : 'on' ,
75+ prettier : { allowed : false } ,
76+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
77+ } ,
78+ JSON : {
79+ format_on_save : 'on' ,
80+ prettier : { allowed : false } ,
81+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
82+ } ,
83+ JSON5 : {
84+ format_on_save : 'on' ,
85+ prettier : { allowed : false } ,
86+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
87+ } ,
88+ JSONC : {
89+ format_on_save : 'on' ,
90+ prettier : { allowed : false } ,
91+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
92+ } ,
93+ Less : {
94+ format_on_save : 'on' ,
95+ prettier : { allowed : false } ,
96+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
97+ } ,
98+ Markdown : {
99+ format_on_save : 'on' ,
100+ prettier : { allowed : false } ,
101+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
102+ } ,
103+ MDX : {
104+ format_on_save : 'on' ,
105+ prettier : { allowed : false } ,
106+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
107+ } ,
108+ SCSS : {
109+ format_on_save : 'on' ,
110+ prettier : { allowed : false } ,
111+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
112+ } ,
113+ TypeScript : {
114+ format_on_save : 'on' ,
115+ prettier : { allowed : false } ,
116+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
117+ } ,
118+ TSX : {
119+ format_on_save : 'on' ,
120+ prettier : { allowed : false } ,
121+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
122+ } ,
123+ Vue : {
124+ format_on_save : 'on' ,
125+ prettier : { allowed : false } ,
126+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
127+ } ,
128+ YAML : {
129+ format_on_save : 'on' ,
130+ prettier : { allowed : false } ,
131+ formatter : [ { language_server : { name : 'oxfmt' } } ] ,
132+ } ,
133+ } ,
134+ } as const ;
135+
24136export const EDITORS = [
25137 {
26138 id : 'vscode' ,
@@ -31,6 +143,14 @@ export const EDITORS = [
31143 'extensions.json' : VSCODE_EXTENSIONS as Record < string , unknown > ,
32144 } ,
33145 } ,
146+ {
147+ id : 'zed' ,
148+ label : 'Zed' ,
149+ targetDir : '.zed' ,
150+ files : {
151+ 'settings.json' : ZED_SETTINGS as Record < string , unknown > ,
152+ } ,
153+ } ,
34154] as const ;
35155
36156export type EditorId = ( typeof EDITORS ) [ number ] [ 'id' ] ;
0 commit comments