@opensumi/ide-editor 3.3.4-next-1727252366.0 → 3.3.4-next-1727259077.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"editor-document-model-service.d.ts","sourceRoot":"","sources":["../../../src/browser/doc-model/editor-document-model-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAEL,WAAW,EACX,qBAAqB,EACrB,8BAA8B,EAC9B,OAAO,EACP,IAAI,EAGJ,iBAAiB,EAIjB,eAAe,EACf,GAAG,EACH,YAAY,EAIb,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,mDAAmD,CAAC;AAExE,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAEL,6CAA6C,EAC7C,mCAAmC,EACnC,2BAA2B,EAC3B,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,6BAA6B,EAAE,GAA4D,CAAC;AAEzG,eAAO,MAAM,2BAA2B,oBAAoB,CAAC;AAE7D,qBACa,8BAA+B,SAAQ,YAAa,YAAW,2BAA2B;IAErG,eAAe,EAAE,mCAAmC,CAAC;IAGrD,QAAQ,EAAE,QAAQ,CAAC;IAGnB,UAAU,EAAE,eAAe,CAAC;IAG5B,MAAM,EAAE,OAAO,CAAC;IAGhB,iBAAiB,EAAE,iBAAiB,CAAC;IAGrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAwB;IAG7D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAElD,OAAO,CAAC,OAAO,CAAW;IAE1B,OAAO,CAAC,eAAe,CAA0C;IAEjE,OAAO,CAAC,oBAAoB,CAAmD;IAE/E,OAAO,CAAC,sBAAsB,CAAwC;IAEtE,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,OAAO,CAAC,qBAAqB,CAA6C;IAE1E,OAAO,CAAC,MAAM,CAAgD;IAE9D,OAAO,CAAC,4BAA4B,CAAgD;;IAwCpF,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;IAItE,OAAO,CAAC,OAAO;IAqBf,OAAO,CAAC,SAAS;IAWX,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB;IA0BlE,wBAAwB;IAKlB,UAAU;IAaV,oBAAoB,CAAC,CAAC,EAAE,6CAA6C;IA2B3E,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAIhG,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAI3F,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI;IAwBjF,YAAY,IAAI,oBAAoB,EAAE;IAItC,WAAW,CAAC,UAAU,KAAA;IAIhB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOpF,OAAO,KAAK,SAAS,GAGpB;IAED,OAAO,CAAC,WAAW;YAkBL,aAAa;IAoErB,uBAAuB,CAC3B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,EAAE,EAChC,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,OAAO,EACpB,GAAG,CAAC,EAAE,GAAG,GACR,OAAO,CAAC,8BAA8B,CAAC;IAc1C,OAAO;CAMR"}
1
+ {"version":3,"file":"editor-document-model-service.d.ts","sourceRoot":"","sources":["../../../src/browser/doc-model/editor-document-model-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAEL,WAAW,EACX,qBAAqB,EACrB,8BAA8B,EAC9B,OAAO,EACP,IAAI,EAGJ,iBAAiB,EAIjB,eAAe,EACf,GAAG,EACH,YAAY,EAIb,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,mDAAmD,CAAC;AAExE,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAEL,6CAA6C,EAC7C,mCAAmC,EACnC,2BAA2B,EAC3B,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,6BAA6B,EAAE,GAA4D,CAAC;AAEzG,eAAO,MAAM,2BAA2B,oBAAoB,CAAC;AAE7D,qBACa,8BAA+B,SAAQ,YAAa,YAAW,2BAA2B;IAErG,eAAe,EAAE,mCAAmC,CAAC;IAGrD,QAAQ,EAAE,QAAQ,CAAC;IAGnB,UAAU,EAAE,eAAe,CAAC;IAG5B,MAAM,EAAE,OAAO,CAAC;IAGhB,iBAAiB,EAAE,iBAAiB,CAAC;IAGrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAwB;IAG7D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAElD,OAAO,CAAC,OAAO,CAAW;IAE1B,OAAO,CAAC,eAAe,CAA0C;IAEjE,OAAO,CAAC,oBAAoB,CAAmD;IAE/E,OAAO,CAAC,sBAAsB,CAAwC;IAEtE,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,OAAO,CAAC,qBAAqB,CAA6C;IAE1E,OAAO,CAAC,MAAM,CAAgD;IAE9D,OAAO,CAAC,4BAA4B,CAAgD;;IAwCpF,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;IAItE,OAAO,CAAC,OAAO;IAqBf,OAAO,CAAC,SAAS;IAWX,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB;IA0BlE,wBAAwB;IAKlB,UAAU;IAaV,oBAAoB,CAAC,CAAC,EAAE,6CAA6C;IA2B3E,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAIhG,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAI3F,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI;IAwBjF,YAAY,IAAI,oBAAoB,EAAE;IAItC,WAAW,CAAC,UAAU,KAAA;IAIhB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOpF,OAAO,KAAK,SAAS,GAGpB;IAED,OAAO,CAAC,WAAW;YAkBL,aAAa;IAqErB,uBAAuB,CAC3B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,EAAE,EAChC,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,OAAO,EACpB,GAAG,CAAC,EAAE,GAAG,GACR,OAAO,CAAC,8BAA8B,CAAC;IAc1C,OAAO;CAMR"}
@@ -218,11 +218,10 @@ let EditorDocumentModelServiceImpl = class EditorDocumentModelServiceImpl extend
218
218
  if (!provider) {
219
219
  throw new Error(`No document provider found for ${uri.toString()}`);
220
220
  }
221
- const [content, readonly, languageId, eol, alwaysDirty, closeAutoSave, disposeEvenDirty] = await Promise.all([
221
+ const [content, readonly, languageId, alwaysDirty, closeAutoSave, disposeEvenDirty] = await Promise.all([
222
222
  provider.provideEditorDocumentModelContent(uri, encoding),
223
223
  provider.isReadonly ? provider.isReadonly(uri) : undefined,
224
224
  provider.preferLanguageForUri ? provider.preferLanguageForUri(uri) : undefined,
225
- provider.provideEOL ? provider.provideEOL(uri) : undefined,
226
225
  provider.isAlwaysDirty ? provider.isAlwaysDirty(uri) : false,
227
226
  provider.closeAutoSave ? provider.closeAutoSave(uri) : false,
228
227
  provider.disposeEvenDirty ? provider.disposeEvenDirty(uri) : false,
@@ -231,6 +230,7 @@ let EditorDocumentModelServiceImpl = class EditorDocumentModelServiceImpl extend
231
230
  if (!encoding && provider.provideEncoding) {
232
231
  encoding = await provider.provideEncoding(uri);
233
232
  }
233
+ const eol = provider.provideEOL ? await provider.provideEOL(uri) : "\n" /* EOL.LF */;
234
234
  const savable = !!provider.saveDocumentModel;
235
235
  const model = this.injector.get(editor_document_model_1.EditorDocumentModel, [
236
236
  uri,
@@ -1 +1 @@
1
- {"version":3,"file":"editor-document-model-service.js","sourceRoot":"","sources":["../../../src/browser/doc-model/editor-document-model-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-document-model-service.js","sourceRoot":"","sources":["../../../src/browser/doc-model/editor-document-model-service.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export declare class BaseFileSystemEditorDocumentProvider implements IEditorDocu
23
23
  onDidChangeContent: Event<URI>;
24
24
  protected _fileContentMd5OnBrowserFs: Set<string>;
25
25
  private _detectedEncodingMap;
26
+ private _detectedEolMap;
26
27
  protected readonly fileServiceClient: IFileServiceClient;
27
28
  protected readonly editorPreferences: EditorPreferences;
28
29
  protected readonly applicationService: IApplicationService;
@@ -35,7 +36,9 @@ export declare class BaseFileSystemEditorDocumentProvider implements IEditorDocu
35
36
  read(uri: URI, options: ReadEncodingOptions): Promise<{
36
37
  encoding: string;
37
38
  content: string;
39
+ eol: EOL;
38
40
  }>;
41
+ private getEol;
39
42
  provideEditorDocumentModelContent(uri: URI, encoding: string): Promise<string>;
40
43
  isReadonly(uri: URI): Promise<boolean>;
41
44
  saveDocumentModel(uri: URI, content: string, baseContent: string, changes: IEditorDocumentChange[], encoding: string, ignoreDiff?: boolean): Promise<IEditorDocumentModelSaveResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"fs-editor-doc.d.ts","sourceRoot":"","sources":["../../../src/browser/fs-resource/fs-editor-doc.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,KAAK,EAEL,mBAAmB,EACnB,qBAAqB,EACrB,8BAA8B,EAE9B,iBAAiB,EAEjB,GAAG,EAKJ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,mDAAmD,CAAC;AAExE,OAAO,EAAE,mCAAmC,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,qBACa,oCAAqC,YAAW,mCAAmC;IAC9F,SAAS,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAiB;IAErD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAkC;IAEvE,SAAS,CAAC,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAE9D,OAAO,CAAC,oBAAoB,CAA6B;IAGzD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAGzD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IAG3D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,gBAAgB,EAAE,gBAAgB,CAAC;;IAcnC,aAAa,CAAC,MAAM,EAAE,MAAM;IAI5B,eAAe,CAAC,GAAG,EAAE,GAAG;IAIlB,UAAU,CAAC,GAAG,EAAE,GAAG;IAenB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAgC5F,iCAAiC,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM;IAQ5D,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBtC,iBAAiB,CACrB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,EAAE,EAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,UAAQ,GACjB,OAAO,CAAC,8BAA8B,CAAC;IAoB1C,iBAAiB,CAAC,GAAG,EAAE,GAAG;IAIpB,aAAa,CAAC,GAAG,EAAE,GAAG;IAI5B,SAAS,CAAC,eAAe,CACvB,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,mBAAmB,GAAG,SAAS,EACxC,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAC9B,OAAO,CAAC,MAAM,CAAC;cAiBF,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAGnG"}
1
+ {"version":3,"file":"fs-editor-doc.d.ts","sourceRoot":"","sources":["../../../src/browser/fs-resource/fs-editor-doc.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,KAAK,EAEL,mBAAmB,EACnB,qBAAqB,EACrB,8BAA8B,EAE9B,iBAAiB,EAEjB,GAAG,EAKJ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,mDAAmD,CAAC;AAExE,OAAO,EAAE,mCAAmC,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,qBACa,oCAAqC,YAAW,mCAAmC;IAC9F,SAAS,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAiB;IAErD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAkC;IAEvE,SAAS,CAAC,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAE9D,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,eAAe,CAA0B;IAGjD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAGzD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IAG3D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,gBAAgB,EAAE,gBAAgB,CAAC;;IAcnC,aAAa,CAAC,MAAM,EAAE,MAAM;IAI5B,eAAe,CAAC,GAAG,EAAE,GAAG;IAIlB,UAAU,CAAC,GAAG,EAAE,GAAG;IASnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAE,CAAC;YAmC9F,MAAM;IAyCd,iCAAiC,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM;IAQ5D,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBtC,iBAAiB,CACrB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,EAAE,EAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,UAAQ,GACjB,OAAO,CAAC,8BAA8B,CAAC;IAoB1C,iBAAiB,CAAC,GAAG,EAAE,GAAG;IAIpB,aAAa,CAAC,GAAG,EAAE,GAAG;IAI5B,SAAS,CAAC,eAAe,CACvB,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,mBAAmB,GAAG,SAAS,EACxC,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAC9B,OAAO,CAAC,MAAM,CAAC;cAiBF,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAGnG"}
@@ -16,6 +16,7 @@ let BaseFileSystemEditorDocumentProvider = class BaseFileSystemEditorDocumentPro
16
16
  this.onDidChangeContent = this._onDidChangeContent.event;
17
17
  this._fileContentMd5OnBrowserFs = new Set();
18
18
  this._detectedEncodingMap = new Map();
19
+ this._detectedEolMap = new Map();
19
20
  this.fileServiceClient.onFilesChanged((changes) => {
20
21
  changes.forEach((change) => {
21
22
  if (this._fileContentMd5OnBrowserFs.has(change.uri)) {
@@ -33,11 +34,11 @@ let BaseFileSystemEditorDocumentProvider = class BaseFileSystemEditorDocumentPro
33
34
  return this._detectedEncodingMap.get(uri.toString()) || ide_core_browser_1.UTF8;
34
35
  }
35
36
  async provideEOL(uri) {
36
- const backendOS = await this.applicationService.getBackendOS();
37
- const eol = this.preferenceService.get('files.eol', 'auto', uri.toString(), (0, ide_core_browser_1.getLanguageIdFromMonaco)(uri));
38
- if (eol !== 'auto') {
39
- return eol;
37
+ const cache = this._detectedEolMap.get(uri.toString());
38
+ if (cache) {
39
+ return cache;
40
40
  }
41
+ const backendOS = await this.applicationService.getBackendOS();
41
42
  return backendOS === ide_core_browser_1.OperatingSystem.Windows ? "\r\n" /* EOL.CRLF */ : "\n" /* EOL.LF */;
42
43
  }
43
44
  async read(uri, options) {
@@ -48,15 +49,54 @@ let BaseFileSystemEditorDocumentProvider = class BaseFileSystemEditorDocumentPro
48
49
  const detected = await (0, ide_core_browser_1.detectEncodingFromBuffer)(buffer, guessEncoding);
49
50
  detected.encoding = await this.getReadEncoding(uri, options, detected.encoding);
50
51
  const content = buffer.toString(detected.encoding);
52
+ const eol = await this.getEol(uri, content);
51
53
  const uriString = uri.toString();
52
54
  this._detectedEncodingMap.set(uriString, detected.encoding);
53
- // 记录表示这个文档被[这个editorDocumentProvider]引用了
55
+ this._detectedEolMap.set(uriString, eol);
56
+ // 记录表示这个文档被引用了
54
57
  this._fileContentMd5OnBrowserFs.add(uriString);
55
58
  return {
56
59
  encoding: detected.encoding || ide_core_browser_1.UTF8,
57
60
  content,
61
+ eol,
58
62
  };
59
63
  }
64
+ async getEol(uri, content) {
65
+ const contentToDetect = content.slice(0, 2000);
66
+ let cr = 0;
67
+ let lf = 0;
68
+ let crlf = 0;
69
+ const len = contentToDetect.length;
70
+ for (let i = 0; i < len; i++) {
71
+ if (contentToDetect[i] === '\r') {
72
+ if (contentToDetect[i + 1] === '\n') {
73
+ crlf++;
74
+ // 跳过后续 \n
75
+ i++;
76
+ }
77
+ else {
78
+ cr++;
79
+ }
80
+ }
81
+ else if (contentToDetect[i] === '\n') {
82
+ lf++;
83
+ }
84
+ }
85
+ const totalEOLCount = cr + lf + crlf;
86
+ const totalCRCount = cr + crlf;
87
+ const eol = this.preferenceService.get('files.eol', 'auto', uri.toString(), (0, ide_core_browser_1.getLanguageIdFromMonaco)(uri));
88
+ if (eol !== 'auto') {
89
+ return eol;
90
+ }
91
+ const defaultEOL = await this.provideEOL(uri);
92
+ if (totalEOLCount === 0) {
93
+ return defaultEOL;
94
+ }
95
+ if (totalCRCount > totalEOLCount / 2) {
96
+ return "\r\n" /* EOL.CRLF */;
97
+ }
98
+ return "\n" /* EOL.LF */;
99
+ }
60
100
  async provideEditorDocumentModelContent(uri, encoding) {
61
101
  // TODO: 这部分要优化成buffer获取(长期来看是stream获取,encoding在哪一层做?)
62
102
  // 暂时还是使用 resolveContent 内提供的 decode 功能
@@ -1 +1 @@
1
- {"version":3,"file":"fs-editor-doc.js","sourceRoot":"","sources":["../../../src/browser/fs-resource/fs-editor-doc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs-editor-doc.js","sourceRoot":"","sources":["../../../src/browser/fs-resource/fs-editor-doc.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-editor",
3
- "version": "3.3.4-next-1727252366.0",
3
+ "version": "3.3.4-next-1727259077.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "src"
@@ -17,21 +17,21 @@
17
17
  "url": "git@github.com:opensumi/core.git"
18
18
  },
19
19
  "dependencies": {
20
- "@opensumi/ide-core-common": "3.3.4-next-1727252366.0",
21
- "@opensumi/ide-core-node": "3.3.4-next-1727252366.0",
22
- "@opensumi/ide-file-service": "3.3.4-next-1727252366.0",
23
- "@opensumi/ide-monaco": "3.3.4-next-1727252366.0",
24
- "@opensumi/ide-utils": "3.3.4-next-1727252366.0",
20
+ "@opensumi/ide-core-common": "3.3.4-next-1727259077.0",
21
+ "@opensumi/ide-core-node": "3.3.4-next-1727259077.0",
22
+ "@opensumi/ide-file-service": "3.3.4-next-1727259077.0",
23
+ "@opensumi/ide-monaco": "3.3.4-next-1727259077.0",
24
+ "@opensumi/ide-utils": "3.3.4-next-1727259077.0",
25
25
  "vscode-oniguruma": "1.5.1"
26
26
  },
27
27
  "devDependencies": {
28
- "@opensumi/ide-components": "3.3.4-next-1727252366.0",
29
- "@opensumi/ide-core-browser": "3.3.4-next-1727252366.0",
30
- "@opensumi/ide-dev-tool": "3.3.4-next-1727252366.0",
31
- "@opensumi/ide-overlay": "3.3.4-next-1727252366.0",
32
- "@opensumi/ide-quick-open": "3.3.4-next-1727252366.0",
33
- "@opensumi/ide-theme": "3.3.4-next-1727252366.0",
34
- "@opensumi/ide-workspace": "3.3.4-next-1727252366.0"
28
+ "@opensumi/ide-components": "3.3.4-next-1727259077.0",
29
+ "@opensumi/ide-core-browser": "3.3.4-next-1727259077.0",
30
+ "@opensumi/ide-dev-tool": "3.3.4-next-1727259077.0",
31
+ "@opensumi/ide-overlay": "3.3.4-next-1727259077.0",
32
+ "@opensumi/ide-quick-open": "3.3.4-next-1727259077.0",
33
+ "@opensumi/ide-theme": "3.3.4-next-1727259077.0",
34
+ "@opensumi/ide-workspace": "3.3.4-next-1727259077.0"
35
35
  },
36
- "gitHead": "2ffea83104c180be324ec4870fde7777b94f36ef"
36
+ "gitHead": "189736d39cca677b537194c8c908f1f5d4b82a1b"
37
37
  }
@@ -307,11 +307,10 @@ export class EditorDocumentModelServiceImpl extends WithEventBus implements IEdi
307
307
  throw new Error(`No document provider found for ${uri.toString()}`);
308
308
  }
309
309
 
310
- const [content, readonly, languageId, eol, alwaysDirty, closeAutoSave, disposeEvenDirty] = await Promise.all([
310
+ const [content, readonly, languageId, alwaysDirty, closeAutoSave, disposeEvenDirty] = await Promise.all([
311
311
  provider.provideEditorDocumentModelContent(uri, encoding),
312
312
  provider.isReadonly ? provider.isReadonly(uri) : undefined,
313
313
  provider.preferLanguageForUri ? provider.preferLanguageForUri(uri) : undefined,
314
- provider.provideEOL ? provider.provideEOL(uri) : undefined,
315
314
  provider.isAlwaysDirty ? provider.isAlwaysDirty(uri) : false,
316
315
  provider.closeAutoSave ? provider.closeAutoSave(uri) : false,
317
316
  provider.disposeEvenDirty ? provider.disposeEvenDirty(uri) : false,
@@ -322,6 +321,8 @@ export class EditorDocumentModelServiceImpl extends WithEventBus implements IEdi
322
321
  encoding = await provider.provideEncoding(uri);
323
322
  }
324
323
 
324
+ const eol = provider.provideEOL ? await provider.provideEOL(uri) : EOL.LF;
325
+
325
326
  const savable = !!provider.saveDocumentModel;
326
327
 
327
328
  const model = this.injector.get(EditorDocumentModel, [
@@ -48,6 +48,7 @@ export class BaseFileSystemEditorDocumentProvider implements IEditorDocumentMode
48
48
  protected _fileContentMd5OnBrowserFs: Set<string> = new Set();
49
49
 
50
50
  private _detectedEncodingMap = new Map<string, string>();
51
+ private _detectedEolMap = new Map<string, EOL>();
51
52
 
52
53
  @Autowired(IFileServiceClient)
53
54
  protected readonly fileServiceClient: IFileServiceClient;
@@ -85,21 +86,15 @@ export class BaseFileSystemEditorDocumentProvider implements IEditorDocumentMode
85
86
  }
86
87
 
87
88
  async provideEOL(uri: URI) {
88
- const backendOS = await this.applicationService.getBackendOS();
89
- const eol = this.preferenceService.get<EOL | 'auto'>(
90
- 'files.eol',
91
- 'auto',
92
- uri.toString(),
93
- getLanguageIdFromMonaco(uri)!,
94
- )!;
95
-
96
- if (eol !== 'auto') {
97
- return eol;
89
+ const cache = this._detectedEolMap.get(uri.toString());
90
+ if (cache) {
91
+ return cache;
98
92
  }
93
+ const backendOS = await this.applicationService.getBackendOS();
99
94
  return backendOS === OperatingSystem.Windows ? EOL.CRLF : EOL.LF;
100
95
  }
101
96
 
102
- async read(uri: URI, options: ReadEncodingOptions): Promise<{ encoding: string; content: string }> {
97
+ async read(uri: URI, options: ReadEncodingOptions): Promise<{ encoding: string; content: string; eol: EOL }> {
103
98
  const { content: buffer } = await this.fileServiceClient.readFile(uri.toString());
104
99
 
105
100
  const guessEncoding =
@@ -118,19 +113,63 @@ export class BaseFileSystemEditorDocumentProvider implements IEditorDocumentMode
118
113
 
119
114
  const content = buffer.toString(detected.encoding);
120
115
 
116
+ const eol = await this.getEol(uri, content);
121
117
  const uriString = uri.toString();
122
118
 
123
119
  this._detectedEncodingMap.set(uriString, detected.encoding);
120
+ this._detectedEolMap.set(uriString, eol);
124
121
 
125
- // 记录表示这个文档被[这个editorDocumentProvider]引用了
122
+ // 记录表示这个文档被引用了
126
123
  this._fileContentMd5OnBrowserFs.add(uriString);
127
124
 
128
125
  return {
129
126
  encoding: detected.encoding || UTF8,
130
127
  content,
128
+ eol,
131
129
  };
132
130
  }
133
131
 
132
+ private async getEol(uri: URI, content: string) {
133
+ const contentToDetect = content.slice(0, 2000);
134
+ let cr = 0;
135
+ let lf = 0;
136
+ let crlf = 0;
137
+ const len = contentToDetect.length;
138
+ for (let i = 0; i < len; i++) {
139
+ if (contentToDetect[i] === '\r') {
140
+ if (contentToDetect[i + 1] === '\n') {
141
+ crlf++;
142
+ // 跳过后续 \n
143
+ i++;
144
+ } else {
145
+ cr++;
146
+ }
147
+ } else if (contentToDetect[i] === '\n') {
148
+ lf++;
149
+ }
150
+ }
151
+
152
+ const totalEOLCount = cr + lf + crlf;
153
+ const totalCRCount = cr + crlf;
154
+ const eol = this.preferenceService.get<EOL | 'auto'>(
155
+ 'files.eol',
156
+ 'auto',
157
+ uri.toString(),
158
+ getLanguageIdFromMonaco(uri)!,
159
+ )!;
160
+ if (eol !== 'auto') {
161
+ return eol;
162
+ }
163
+ const defaultEOL = await this.provideEOL(uri);
164
+ if (totalEOLCount === 0) {
165
+ return defaultEOL;
166
+ }
167
+ if (totalCRCount > totalEOLCount / 2) {
168
+ return EOL.CRLF;
169
+ }
170
+ return EOL.LF;
171
+ }
172
+
134
173
  async provideEditorDocumentModelContent(uri: URI, encoding: string) {
135
174
  // TODO: 这部分要优化成buffer获取(长期来看是stream获取,encoding在哪一层做?)
136
175
  // 暂时还是使用 resolveContent 内提供的 decode 功能