@@ -12,6 +12,7 @@ import { ImageViewer } from '../../components/editor/image-viewer';
12
12
export interface EditorFormatter {
13
13
language : string ;
14
14
cacheKey : Symbol ;
15
+ isEditApplicable : boolean ; // Can you apply this manually during editing to format an input?
15
16
render ( content : Buffer ) : string | ObservablePromise < string > ;
16
17
}
17
18
@@ -42,6 +43,7 @@ export const Formatters: { [key in ViewableContentType]: Formatter } = {
42
43
raw : {
43
44
language : 'text' ,
44
45
cacheKey : Symbol ( 'raw' ) ,
46
+ isEditApplicable : false ,
45
47
render : ( input : Buffer ) => {
46
48
if ( input . byteLength < 2000 ) {
47
49
try {
@@ -61,38 +63,45 @@ export const Formatters: { [key in ViewableContentType]: Formatter } = {
61
63
text : {
62
64
language : 'text' ,
63
65
cacheKey : Symbol ( 'text' ) ,
66
+ isEditApplicable : false ,
64
67
render : ( input : Buffer ) => {
65
68
return bufferToString ( input ) ;
66
69
}
67
70
} ,
68
71
base64 : {
69
72
language : 'text' ,
70
73
cacheKey : Symbol ( 'base64' ) ,
74
+ isEditApplicable : false ,
71
75
render : buildAsyncRenderer ( 'base64' )
72
76
} ,
73
77
markdown : {
74
78
language : 'markdown' ,
75
79
cacheKey : Symbol ( 'markdown' ) ,
80
+ isEditApplicable : false ,
76
81
render : buildAsyncRenderer ( 'markdown' )
77
82
} ,
78
83
yaml : {
79
84
language : 'yaml' ,
80
85
cacheKey : Symbol ( 'yaml' ) ,
86
+ isEditApplicable : false ,
81
87
render : buildAsyncRenderer ( 'yaml' )
82
88
} ,
83
89
html : {
84
90
language : 'html' ,
85
91
cacheKey : Symbol ( 'html' ) ,
92
+ isEditApplicable : true ,
86
93
render : buildAsyncRenderer ( 'html' )
87
94
} ,
88
95
xml : {
89
96
language : 'xml' ,
90
97
cacheKey : Symbol ( 'xml' ) ,
98
+ isEditApplicable : true ,
91
99
render : buildAsyncRenderer ( 'xml' )
92
100
} ,
93
101
json : {
94
102
language : 'json' ,
95
103
cacheKey : Symbol ( 'json' ) ,
104
+ isEditApplicable : true ,
96
105
render : ( input : Buffer ) => {
97
106
if ( input . byteLength < 10000 ) {
98
107
const inputAsString = bufferToString ( input ) ;
@@ -118,16 +127,19 @@ export const Formatters: { [key in ViewableContentType]: Formatter } = {
118
127
javascript : {
119
128
language : 'javascript' ,
120
129
cacheKey : Symbol ( 'javascript' ) ,
130
+ isEditApplicable : true ,
121
131
render : buildAsyncRenderer ( 'javascript' )
122
132
} ,
123
133
css : {
124
134
language : 'css' ,
125
135
cacheKey : Symbol ( 'css' ) ,
136
+ isEditApplicable : true ,
126
137
render : buildAsyncRenderer ( 'css' )
127
138
} ,
128
139
protobuf : {
129
140
language : 'protobuf' ,
130
141
cacheKey : Symbol ( 'protobuf' ) ,
142
+ isEditApplicable : false ,
131
143
render : buildAsyncRenderer ( 'protobuf' )
132
144
} ,
133
145
'url-encoded' : {
0 commit comments