@@ -80,6 +80,7 @@ fn exit(cx: &mut compositor::Context, args: Args, event: PromptEvent) -> anyhow:
8080 WriteOptions {
8181 force : false ,
8282 auto_format : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
83+ code_actions : !args. has_flag ( WRITE_NO_CODE_ACTIONS_FLAG . name ) ,
8384 } ,
8485 ) ?;
8586 }
@@ -99,6 +100,7 @@ fn force_exit(cx: &mut compositor::Context, args: Args, event: PromptEvent) -> a
99100 WriteOptions {
100101 force : true ,
101102 auto_format : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
103+ code_actions : !args. has_flag ( WRITE_NO_CODE_ACTIONS_FLAG . name ) ,
102104 } ,
103105 ) ?;
104106 }
@@ -420,7 +422,11 @@ fn write_impl(
420422 None
421423 } ;
422424
423- let job = code_actions_on_save ( cx, doc_id, fmt) ;
425+ let job = if options. code_actions {
426+ code_actions_on_save ( cx, doc_id, fmt)
427+ } else {
428+ fmt
429+ } ;
424430
425431 if let Some ( job) = job {
426432 cx. jobs . add ( job) ;
@@ -496,6 +502,7 @@ fn insert_final_newline(doc: &mut Document, view_id: ViewId) {
496502pub struct WriteOptions {
497503 pub force : bool ,
498504 pub auto_format : bool ,
505+ pub code_actions : bool ,
499506}
500507
501508fn write ( cx : & mut compositor:: Context , args : Args , event : PromptEvent ) -> anyhow:: Result < ( ) > {
@@ -509,6 +516,7 @@ fn write(cx: &mut compositor::Context, args: Args, event: PromptEvent) -> anyhow
509516 WriteOptions {
510517 force : false ,
511518 auto_format : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
519+ code_actions : !args. has_flag ( WRITE_NO_CODE_ACTIONS_FLAG . name ) ,
512520 } ,
513521 )
514522}
@@ -524,6 +532,7 @@ fn force_write(cx: &mut compositor::Context, args: Args, event: PromptEvent) ->
524532 WriteOptions {
525533 force : true ,
526534 auto_format : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
535+ code_actions : !args. has_flag ( WRITE_NO_CODE_ACTIONS_FLAG . name ) ,
527536 } ,
528537 )
529538}
@@ -543,6 +552,7 @@ fn write_buffer_close(
543552 WriteOptions {
544553 force : false ,
545554 auto_format : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
555+ code_actions : !args. has_flag ( WRITE_NO_CODE_ACTIONS_FLAG . name ) ,
546556 } ,
547557 ) ?;
548558
@@ -565,6 +575,7 @@ fn force_write_buffer_close(
565575 WriteOptions {
566576 force : true ,
567577 auto_format : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
578+ code_actions : !args. has_flag ( WRITE_NO_CODE_ACTIONS_FLAG . name ) ,
568579 } ,
569580 ) ?;
570581
@@ -753,6 +764,7 @@ fn write_quit(cx: &mut compositor::Context, args: Args, event: PromptEvent) -> a
753764 WriteOptions {
754765 force : false ,
755766 auto_format : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
767+ code_actions : !args. has_flag ( WRITE_NO_CODE_ACTIONS_FLAG . name ) ,
756768 } ,
757769 ) ?;
758770 cx. block_try_flush_writes ( ) ?;
@@ -774,6 +786,7 @@ fn force_write_quit(
774786 WriteOptions {
775787 force : true ,
776788 auto_format : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
789+ code_actions : !args. has_flag ( WRITE_NO_CODE_ACTIONS_FLAG . name ) ,
777790 } ,
778791 ) ?;
779792 cx. block_try_flush_writes ( ) ?;
@@ -818,6 +831,7 @@ pub struct WriteAllOptions {
818831 pub force : bool ,
819832 pub write_scratch : bool ,
820833 pub auto_format : bool ,
834+ pub code_actions : bool ,
821835}
822836
823837pub fn write_all_impl (
@@ -891,7 +905,11 @@ pub fn write_all_impl(
891905 None
892906 } ;
893907
894- let job = code_actions_on_save ( cx, doc_id, fmt) ;
908+ let job = if options. code_actions {
909+ code_actions_on_save ( cx, doc_id, fmt)
910+ } else {
911+ fmt
912+ } ;
895913
896914 if let Some ( job) = job {
897915 cx. jobs . add ( job) ;
@@ -918,6 +936,7 @@ fn write_all(cx: &mut compositor::Context, args: Args, event: PromptEvent) -> an
918936 force : false ,
919937 write_scratch : true ,
920938 auto_format : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
939+ code_actions : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
921940 } ,
922941 )
923942}
@@ -937,6 +956,7 @@ fn force_write_all(
937956 force : true ,
938957 write_scratch : true ,
939958 auto_format : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
959+ code_actions : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
940960 } ,
941961 )
942962}
@@ -955,6 +975,7 @@ fn write_all_quit(
955975 force : false ,
956976 write_scratch : true ,
957977 auto_format : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
978+ code_actions : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
958979 } ,
959980 ) ?;
960981 quit_all_impl ( cx, false )
@@ -974,6 +995,7 @@ fn force_write_all_quit(
974995 force : true ,
975996 write_scratch : true ,
976997 auto_format : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
998+ code_actions : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
977999 } ,
9781000 ) ;
9791001 quit_all_impl ( cx, true )
@@ -1610,6 +1632,7 @@ fn update(cx: &mut compositor::Context, args: Args, event: PromptEvent) -> anyho
16101632 WriteOptions {
16111633 force : false ,
16121634 auto_format : !args. has_flag ( WRITE_NO_FORMAT_FLAG . name ) ,
1635+ code_actions : !args. has_flag ( WRITE_NO_CODE_ACTIONS_FLAG . name ) ,
16131636 } ,
16141637 )
16151638 } else {
@@ -2915,6 +2938,12 @@ const WRITE_NO_FORMAT_FLAG: Flag = Flag {
29152938 ..Flag :: DEFAULT
29162939} ;
29172940
2941+ const WRITE_NO_CODE_ACTIONS_FLAG : Flag = Flag {
2942+ name : "no-code-actions" ,
2943+ doc : "skip code actions on save" ,
2944+ ..Flag :: DEFAULT
2945+ } ;
2946+
29182947pub const TYPABLE_COMMAND_LIST : & [ TypableCommand ] = & [
29192948 TypableCommand {
29202949 name : "exit" ,
@@ -2924,7 +2953,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
29242953 completer : CommandCompleter :: positional ( & [ completers:: filename] ) ,
29252954 signature : Signature {
29262955 positionals : ( 0 , Some ( 1 ) ) ,
2927- flags : & [ WRITE_NO_FORMAT_FLAG ] ,
2956+ flags : & [ WRITE_NO_FORMAT_FLAG , WRITE_NO_CODE_ACTIONS_FLAG ] ,
29282957 ..Signature :: DEFAULT
29292958 } ,
29302959 } ,
@@ -2936,7 +2965,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
29362965 completer : CommandCompleter :: positional ( & [ completers:: filename] ) ,
29372966 signature : Signature {
29382967 positionals : ( 0 , Some ( 1 ) ) ,
2939- flags : & [ WRITE_NO_FORMAT_FLAG ] ,
2968+ flags : & [ WRITE_NO_FORMAT_FLAG , WRITE_NO_CODE_ACTIONS_FLAG ] ,
29402969 ..Signature :: DEFAULT
29412970 } ,
29422971 } ,
@@ -3063,7 +3092,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
30633092 completer : CommandCompleter :: positional ( & [ completers:: filename] ) ,
30643093 signature : Signature {
30653094 positionals : ( 0 , Some ( 1 ) ) ,
3066- flags : & [ WRITE_NO_FORMAT_FLAG ] ,
3095+ flags : & [ WRITE_NO_FORMAT_FLAG , WRITE_NO_CODE_ACTIONS_FLAG ] ,
30673096 ..Signature :: DEFAULT
30683097 } ,
30693098 } ,
@@ -3075,7 +3104,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
30753104 completer : CommandCompleter :: positional ( & [ completers:: filename] ) ,
30763105 signature : Signature {
30773106 positionals : ( 0 , Some ( 1 ) ) ,
3078- flags : & [ WRITE_NO_FORMAT_FLAG ] ,
3107+ flags : & [ WRITE_NO_FORMAT_FLAG , WRITE_NO_CODE_ACTIONS_FLAG ] ,
30793108 ..Signature :: DEFAULT
30803109 } ,
30813110 } ,
@@ -3087,7 +3116,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
30873116 completer : CommandCompleter :: positional ( & [ completers:: filename] ) ,
30883117 signature : Signature {
30893118 positionals : ( 0 , Some ( 1 ) ) ,
3090- flags : & [ WRITE_NO_FORMAT_FLAG ] ,
3119+ flags : & [ WRITE_NO_FORMAT_FLAG , WRITE_NO_CODE_ACTIONS_FLAG ] ,
30913120 ..Signature :: DEFAULT
30923121 } ,
30933122 } ,
@@ -3099,7 +3128,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
30993128 completer : CommandCompleter :: positional ( & [ completers:: filename] ) ,
31003129 signature : Signature {
31013130 positionals : ( 0 , Some ( 1 ) ) ,
3102- flags : & [ WRITE_NO_FORMAT_FLAG ] ,
3131+ flags : & [ WRITE_NO_FORMAT_FLAG , WRITE_NO_CODE_ACTIONS_FLAG ] ,
31033132 ..Signature :: DEFAULT
31043133 } ,
31053134 } ,
@@ -3180,7 +3209,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
31803209 completer : CommandCompleter :: positional ( & [ completers:: filename] ) ,
31813210 signature : Signature {
31823211 positionals : ( 0 , Some ( 1 ) ) ,
3183- flags : & [ WRITE_NO_FORMAT_FLAG ] ,
3212+ flags : & [ WRITE_NO_FORMAT_FLAG , WRITE_NO_CODE_ACTIONS_FLAG ] ,
31843213 ..Signature :: DEFAULT
31853214 } ,
31863215 } ,
@@ -3192,7 +3221,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
31923221 completer : CommandCompleter :: positional ( & [ completers:: filename] ) ,
31933222 signature : Signature {
31943223 positionals : ( 0 , Some ( 1 ) ) ,
3195- flags : & [ WRITE_NO_FORMAT_FLAG ] ,
3224+ flags : & [ WRITE_NO_FORMAT_FLAG , WRITE_NO_CODE_ACTIONS_FLAG ] ,
31963225 ..Signature :: DEFAULT
31973226 } ,
31983227 } ,
@@ -3204,7 +3233,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
32043233 completer : CommandCompleter :: none ( ) ,
32053234 signature : Signature {
32063235 positionals : ( 0 , Some ( 0 ) ) ,
3207- flags : & [ WRITE_NO_FORMAT_FLAG ] ,
3236+ flags : & [ WRITE_NO_FORMAT_FLAG , WRITE_NO_CODE_ACTIONS_FLAG ] ,
32083237 ..Signature :: DEFAULT
32093238 } ,
32103239 } ,
@@ -3216,7 +3245,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
32163245 completer : CommandCompleter :: none ( ) ,
32173246 signature : Signature {
32183247 positionals : ( 0 , Some ( 0 ) ) ,
3219- flags : & [ WRITE_NO_FORMAT_FLAG ] ,
3248+ flags : & [ WRITE_NO_FORMAT_FLAG , WRITE_NO_CODE_ACTIONS_FLAG ] ,
32203249 ..Signature :: DEFAULT
32213250 } ,
32223251 } ,
@@ -3228,7 +3257,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
32283257 completer : CommandCompleter :: none ( ) ,
32293258 signature : Signature {
32303259 positionals : ( 0 , Some ( 0 ) ) ,
3231- flags : & [ WRITE_NO_FORMAT_FLAG ] ,
3260+ flags : & [ WRITE_NO_FORMAT_FLAG , WRITE_NO_CODE_ACTIONS_FLAG ] ,
32323261 ..Signature :: DEFAULT
32333262 } ,
32343263 } ,
@@ -3240,7 +3269,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
32403269 completer : CommandCompleter :: none ( ) ,
32413270 signature : Signature {
32423271 positionals : ( 0 , Some ( 0 ) ) ,
3243- flags : & [ WRITE_NO_FORMAT_FLAG ] ,
3272+ flags : & [ WRITE_NO_FORMAT_FLAG , WRITE_NO_CODE_ACTIONS_FLAG ] ,
32443273 ..Signature :: DEFAULT
32453274 } ,
32463275 } ,
0 commit comments