ide-assi 0.442.0 → 0.444.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.
@@ -234918,19 +234918,18 @@ class MergeButtonWidget extends WidgetType {
234918
234918
  const button = document.createElement("button");
234919
234919
  // SVN 기준 명칭으로 변경
234920
234920
  if (this.isAsisButton) {
234921
- // ASIS (왼쪽) 에디터에 붙는 버튼: AI가 삭제한 것을 '되돌리기'
234922
- button.className = "cm-merge-button revert"; // 'revert' 클래스 사용
234923
- button.textContent = "← 되돌리기";
234921
+ // ASIS (왼쪽) 에디터에 붙는 버튼: AI가 삭제한 것을 '삭제' (ASIS에서 제거)
234922
+ button.className = "cm-merge-button revert"; // 'revert' 클래스 사용 (빨간색)
234923
+ //button.textContent = "삭제"; // 텍스트 변경
234924
234924
  } else {
234925
- // TOBE (오른쪽) 에디터에 붙는 버튼: AI가 추가한 것을 '적용'
234926
- button.className = "cm-merge-button accept"; // 'accept' 클래스 사용
234927
- button.textContent = " 적용";
234925
+ // TOBE (오른쪽) 에디터에 붙는 버튼: AI가 추가한 것을 '적용' (ASIS에 반영)
234926
+ button.className = "cm-merge-button accept"; // 'accept' 클래스 사용 (녹색)
234927
+ //button.textContent = " 적용"; // 화살표 방향 변경
234928
234928
  }
234929
234929
 
234930
-
234931
234930
  // 클릭 이벤트 핸들러
234932
234931
  button.addEventListener("click", () => {
234933
- console.log(`버튼 클릭: ${this.isAsisButton ? 'ASIS 쪽 (되돌리기)' : 'TOBE 쪽 (적용)'}`, this.textToApply);
234932
+ console.log(`버튼 클릭: ${this.isAsisButton ? 'ASIS 쪽 (삭제)' : 'TOBE 쪽 (적용)'}`, this.textToApply);
234934
234933
  console.log("대상 에디터:", this.targetEditorView === this.hostComponent.asisEditorView ? "ASIS" : "TOBE");
234935
234934
  console.log("대상 범위:", this.diffRange);
234936
234935
 
@@ -235067,7 +235066,8 @@ class IdeDiff extends HTMLElement {
235067
235066
  extensions: [
235068
235067
  basicExtensions,
235069
235068
  this.#languageCompartment.of(javascript()),
235070
- EditorState.readOnly.of(true), // ASIS는 읽기 전용 유지 (원본 소스)
235069
+ // ASIS는 읽기 전용으로 유지 (원본 소스) - 필요에 따라 편집 가능하도록 변경 가능
235070
+ EditorState.readOnly.of(false), // ASIS를 편집 가능하게 변경
235071
235071
  asisDiffDecorations,
235072
235072
  asisButtonDecorations,
235073
235073
  EditorView.updateListener.of((update) => {
@@ -235087,7 +235087,7 @@ class IdeDiff extends HTMLElement {
235087
235087
  extensions: [
235088
235088
  basicExtensions,
235089
235089
  this.#languageCompartment.of(javascript()),
235090
- // EditorState.readOnly.of(true), // TOBE는 AI 추천 소스이므로 편집 가능 (혹은 ASIS로만 적용)
235090
+ EditorState.readOnly.of(true), // TOBE는 AI 추천 소스이므로 읽기 전용 유지
235091
235091
  tobeDiffDecorations,
235092
235092
  tobeButtonDecorations,
235093
235093
  EditorView.updateListener.of((update) => {
@@ -235210,16 +235210,16 @@ class IdeDiff extends HTMLElement {
235210
235210
  asisCursor += asisLines[i].length + (i < asisLines.length - 1 ? 1 : 0);
235211
235211
  }
235212
235212
 
235213
- // ⭐️ ASIS (현재 소스) 에디터에 버튼 추가: AI 삭제한 것을 ASIS 기준으로 '되돌리기' (TOBE에서 해당 내용을 제거)
235213
+ // ⭐️ ASIS (현재 소스) 에디터에 버튼 추가: AI 삭제를 '삭제' (ASIS에서 해당 내용을 제거)
235214
235214
  asisButtonBuilder.add(
235215
235215
  asisRangeStart,
235216
235216
  asisRangeStart,
235217
235217
  Decoration.widget({
235218
235218
  widget: new MergeButtonWidget(
235219
235219
  true, // 이 버튼은 ASIS 에디터에 붙는 버튼
235220
- "", // TOBE에서 해당 내용을 '제거'하므로 삽입할 텍스트는 없음
235221
- currentInstance.#tobeEditorView, // 대상 에디터는 TOBE (AI 추천)
235222
- { from: tobeRangeStart, to: tobeRangeStart + text.length }, // TOBE에서 '삭제될' 범위
235220
+ "", // ASIS에서 해당 내용을 '제거'하므로 삽입할 텍스트는 없음
235221
+ currentInstance.#asisEditorView, // 대상 에디터는 ASIS (현재 소스)
235222
+ { from: asisRangeStart, to: asisRangeStart + text.length }, // ASIS에서 '삭제될' 범위
235223
235223
  currentInstance
235224
235224
  ),
235225
235225
  side: 1
@@ -234914,19 +234914,18 @@ class MergeButtonWidget extends WidgetType {
234914
234914
  const button = document.createElement("button");
234915
234915
  // SVN 기준 명칭으로 변경
234916
234916
  if (this.isAsisButton) {
234917
- // ASIS (왼쪽) 에디터에 붙는 버튼: AI가 삭제한 것을 '되돌리기'
234918
- button.className = "cm-merge-button revert"; // 'revert' 클래스 사용
234919
- button.textContent = "← 되돌리기";
234917
+ // ASIS (왼쪽) 에디터에 붙는 버튼: AI가 삭제한 것을 '삭제' (ASIS에서 제거)
234918
+ button.className = "cm-merge-button revert"; // 'revert' 클래스 사용 (빨간색)
234919
+ //button.textContent = "삭제"; // 텍스트 변경
234920
234920
  } else {
234921
- // TOBE (오른쪽) 에디터에 붙는 버튼: AI가 추가한 것을 '적용'
234922
- button.className = "cm-merge-button accept"; // 'accept' 클래스 사용
234923
- button.textContent = " 적용";
234921
+ // TOBE (오른쪽) 에디터에 붙는 버튼: AI가 추가한 것을 '적용' (ASIS에 반영)
234922
+ button.className = "cm-merge-button accept"; // 'accept' 클래스 사용 (녹색)
234923
+ //button.textContent = " 적용"; // 화살표 방향 변경
234924
234924
  }
234925
234925
 
234926
-
234927
234926
  // 클릭 이벤트 핸들러
234928
234927
  button.addEventListener("click", () => {
234929
- console.log(`버튼 클릭: ${this.isAsisButton ? 'ASIS 쪽 (되돌리기)' : 'TOBE 쪽 (적용)'}`, this.textToApply);
234928
+ console.log(`버튼 클릭: ${this.isAsisButton ? 'ASIS 쪽 (삭제)' : 'TOBE 쪽 (적용)'}`, this.textToApply);
234930
234929
  console.log("대상 에디터:", this.targetEditorView === this.hostComponent.asisEditorView ? "ASIS" : "TOBE");
234931
234930
  console.log("대상 범위:", this.diffRange);
234932
234931
 
@@ -235063,7 +235062,8 @@ class IdeDiff extends HTMLElement {
235063
235062
  extensions: [
235064
235063
  basicExtensions,
235065
235064
  this.#languageCompartment.of(javascript()),
235066
- EditorState.readOnly.of(true), // ASIS는 읽기 전용 유지 (원본 소스)
235065
+ // ASIS는 읽기 전용으로 유지 (원본 소스) - 필요에 따라 편집 가능하도록 변경 가능
235066
+ EditorState.readOnly.of(false), // ASIS를 편집 가능하게 변경
235067
235067
  asisDiffDecorations,
235068
235068
  asisButtonDecorations,
235069
235069
  EditorView.updateListener.of((update) => {
@@ -235083,7 +235083,7 @@ class IdeDiff extends HTMLElement {
235083
235083
  extensions: [
235084
235084
  basicExtensions,
235085
235085
  this.#languageCompartment.of(javascript()),
235086
- // EditorState.readOnly.of(true), // TOBE는 AI 추천 소스이므로 편집 가능 (혹은 ASIS로만 적용)
235086
+ EditorState.readOnly.of(true), // TOBE는 AI 추천 소스이므로 읽기 전용 유지
235087
235087
  tobeDiffDecorations,
235088
235088
  tobeButtonDecorations,
235089
235089
  EditorView.updateListener.of((update) => {
@@ -235206,16 +235206,16 @@ class IdeDiff extends HTMLElement {
235206
235206
  asisCursor += asisLines[i].length + (i < asisLines.length - 1 ? 1 : 0);
235207
235207
  }
235208
235208
 
235209
- // ⭐️ ASIS (현재 소스) 에디터에 버튼 추가: AI 삭제한 것을 ASIS 기준으로 '되돌리기' (TOBE에서 해당 내용을 제거)
235209
+ // ⭐️ ASIS (현재 소스) 에디터에 버튼 추가: AI 삭제를 '삭제' (ASIS에서 해당 내용을 제거)
235210
235210
  asisButtonBuilder.add(
235211
235211
  asisRangeStart,
235212
235212
  asisRangeStart,
235213
235213
  Decoration.widget({
235214
235214
  widget: new MergeButtonWidget(
235215
235215
  true, // 이 버튼은 ASIS 에디터에 붙는 버튼
235216
- "", // TOBE에서 해당 내용을 '제거'하므로 삽입할 텍스트는 없음
235217
- currentInstance.#tobeEditorView, // 대상 에디터는 TOBE (AI 추천)
235218
- { from: tobeRangeStart, to: tobeRangeStart + text.length }, // TOBE에서 '삭제될' 범위
235216
+ "", // ASIS에서 해당 내용을 '제거'하므로 삽입할 텍스트는 없음
235217
+ currentInstance.#asisEditorView, // 대상 에디터는 ASIS (현재 소스)
235218
+ { from: asisRangeStart, to: asisRangeStart + text.length }, // ASIS에서 '삭제될' 범위
235219
235219
  currentInstance
235220
235220
  ),
235221
235221
  side: 1
@@ -114,19 +114,18 @@ class MergeButtonWidget extends WidgetType {
114
114
  const button = document.createElement("button");
115
115
  // SVN 기준 명칭으로 변경
116
116
  if (this.isAsisButton) {
117
- // ASIS (왼쪽) 에디터에 붙는 버튼: AI가 삭제한 것을 '되돌리기'
118
- button.className = "cm-merge-button revert"; // 'revert' 클래스 사용
119
- button.textContent = "← 되돌리기";
117
+ // ASIS (왼쪽) 에디터에 붙는 버튼: AI가 삭제한 것을 '삭제' (ASIS에서 제거)
118
+ button.className = "cm-merge-button revert"; // 'revert' 클래스 사용 (빨간색)
119
+ //button.textContent = "삭제"; // 텍스트 변경
120
120
  } else {
121
- // TOBE (오른쪽) 에디터에 붙는 버튼: AI가 추가한 것을 '적용'
122
- button.className = "cm-merge-button accept"; // 'accept' 클래스 사용
123
- button.textContent = " 적용";
121
+ // TOBE (오른쪽) 에디터에 붙는 버튼: AI가 추가한 것을 '적용' (ASIS에 반영)
122
+ button.className = "cm-merge-button accept"; // 'accept' 클래스 사용 (녹색)
123
+ //button.textContent = " 적용"; // 화살표 방향 변경
124
124
  }
125
125
 
126
-
127
126
  // 클릭 이벤트 핸들러
128
127
  button.addEventListener("click", () => {
129
- console.log(`버튼 클릭: ${this.isAsisButton ? 'ASIS 쪽 (되돌리기)' : 'TOBE 쪽 (적용)'}`, this.textToApply);
128
+ console.log(`버튼 클릭: ${this.isAsisButton ? 'ASIS 쪽 (삭제)' : 'TOBE 쪽 (적용)'}`, this.textToApply);
130
129
  console.log("대상 에디터:", this.targetEditorView === this.hostComponent.asisEditorView ? "ASIS" : "TOBE");
131
130
  console.log("대상 범위:", this.diffRange);
132
131
 
@@ -263,7 +262,8 @@ export class IdeDiff extends HTMLElement {
263
262
  extensions: [
264
263
  basicExtensions,
265
264
  this.#languageCompartment.of(javascript()),
266
- EditorState.readOnly.of(true), // ASIS는 읽기 전용 유지 (원본 소스)
265
+ // ASIS는 읽기 전용으로 유지 (원본 소스) - 필요에 따라 편집 가능하도록 변경 가능
266
+ EditorState.readOnly.of(false), // ASIS를 편집 가능하게 변경
267
267
  asisDiffDecorations,
268
268
  asisButtonDecorations,
269
269
  EditorView.updateListener.of((update) => {
@@ -283,7 +283,7 @@ export class IdeDiff extends HTMLElement {
283
283
  extensions: [
284
284
  basicExtensions,
285
285
  this.#languageCompartment.of(javascript()),
286
- // EditorState.readOnly.of(true), // TOBE는 AI 추천 소스이므로 편집 가능 (혹은 ASIS로만 적용)
286
+ EditorState.readOnly.of(true), // TOBE는 AI 추천 소스이므로 읽기 전용 유지
287
287
  tobeDiffDecorations,
288
288
  tobeButtonDecorations,
289
289
  EditorView.updateListener.of((update) => {
@@ -406,16 +406,16 @@ export class IdeDiff extends HTMLElement {
406
406
  asisCursor += asisLines[i].length + (i < asisLines.length - 1 ? 1 : 0);
407
407
  }
408
408
 
409
- // ⭐️ ASIS (현재 소스) 에디터에 버튼 추가: AI 삭제한 것을 ASIS 기준으로 '되돌리기' (TOBE에서 해당 내용을 제거)
409
+ // ⭐️ ASIS (현재 소스) 에디터에 버튼 추가: AI 삭제를 '삭제' (ASIS에서 해당 내용을 제거)
410
410
  asisButtonBuilder.add(
411
411
  asisRangeStart,
412
412
  asisRangeStart,
413
413
  Decoration.widget({
414
414
  widget: new MergeButtonWidget(
415
415
  true, // 이 버튼은 ASIS 에디터에 붙는 버튼
416
- "", // TOBE에서 해당 내용을 '제거'하므로 삽입할 텍스트는 없음
417
- currentInstance.#tobeEditorView, // 대상 에디터는 TOBE (AI 추천)
418
- { from: tobeRangeStart, to: tobeRangeStart + text.length }, // TOBE에서 '삭제될' 범위
416
+ "", // ASIS에서 해당 내용을 '제거'하므로 삽입할 텍스트는 없음
417
+ currentInstance.#asisEditorView, // 대상 에디터는 ASIS (현재 소스)
418
+ { from: asisRangeStart, to: asisRangeStart + text.length }, // ASIS에서 '삭제될' 범위
419
419
  currentInstance
420
420
  ),
421
421
  side: 1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ide-assi",
3
3
  "type": "module",
4
- "version": "0.442.0",
4
+ "version": "0.444.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
@@ -114,19 +114,18 @@ class MergeButtonWidget extends WidgetType {
114
114
  const button = document.createElement("button");
115
115
  // SVN 기준 명칭으로 변경
116
116
  if (this.isAsisButton) {
117
- // ASIS (왼쪽) 에디터에 붙는 버튼: AI가 삭제한 것을 '되돌리기'
118
- button.className = "cm-merge-button revert"; // 'revert' 클래스 사용
119
- button.textContent = "← 되돌리기";
117
+ // ASIS (왼쪽) 에디터에 붙는 버튼: AI가 삭제한 것을 '삭제' (ASIS에서 제거)
118
+ button.className = "cm-merge-button revert"; // 'revert' 클래스 사용 (빨간색)
119
+ //button.textContent = "삭제"; // 텍스트 변경
120
120
  } else {
121
- // TOBE (오른쪽) 에디터에 붙는 버튼: AI가 추가한 것을 '적용'
122
- button.className = "cm-merge-button accept"; // 'accept' 클래스 사용
123
- button.textContent = " 적용";
121
+ // TOBE (오른쪽) 에디터에 붙는 버튼: AI가 추가한 것을 '적용' (ASIS에 반영)
122
+ button.className = "cm-merge-button accept"; // 'accept' 클래스 사용 (녹색)
123
+ //button.textContent = " 적용"; // 화살표 방향 변경
124
124
  }
125
125
 
126
-
127
126
  // 클릭 이벤트 핸들러
128
127
  button.addEventListener("click", () => {
129
- console.log(`버튼 클릭: ${this.isAsisButton ? 'ASIS 쪽 (되돌리기)' : 'TOBE 쪽 (적용)'}`, this.textToApply);
128
+ console.log(`버튼 클릭: ${this.isAsisButton ? 'ASIS 쪽 (삭제)' : 'TOBE 쪽 (적용)'}`, this.textToApply);
130
129
  console.log("대상 에디터:", this.targetEditorView === this.hostComponent.asisEditorView ? "ASIS" : "TOBE");
131
130
  console.log("대상 범위:", this.diffRange);
132
131
 
@@ -263,7 +262,8 @@ export class IdeDiff extends HTMLElement {
263
262
  extensions: [
264
263
  basicExtensions,
265
264
  this.#languageCompartment.of(javascript()),
266
- EditorState.readOnly.of(true), // ASIS는 읽기 전용 유지 (원본 소스)
265
+ // ASIS는 읽기 전용으로 유지 (원본 소스) - 필요에 따라 편집 가능하도록 변경 가능
266
+ EditorState.readOnly.of(false), // ASIS를 편집 가능하게 변경
267
267
  asisDiffDecorations,
268
268
  asisButtonDecorations,
269
269
  EditorView.updateListener.of((update) => {
@@ -283,7 +283,7 @@ export class IdeDiff extends HTMLElement {
283
283
  extensions: [
284
284
  basicExtensions,
285
285
  this.#languageCompartment.of(javascript()),
286
- // EditorState.readOnly.of(true), // TOBE는 AI 추천 소스이므로 편집 가능 (혹은 ASIS로만 적용)
286
+ EditorState.readOnly.of(true), // TOBE는 AI 추천 소스이므로 읽기 전용 유지
287
287
  tobeDiffDecorations,
288
288
  tobeButtonDecorations,
289
289
  EditorView.updateListener.of((update) => {
@@ -406,16 +406,16 @@ export class IdeDiff extends HTMLElement {
406
406
  asisCursor += asisLines[i].length + (i < asisLines.length - 1 ? 1 : 0);
407
407
  }
408
408
 
409
- // ⭐️ ASIS (현재 소스) 에디터에 버튼 추가: AI 삭제한 것을 ASIS 기준으로 '되돌리기' (TOBE에서 해당 내용을 제거)
409
+ // ⭐️ ASIS (현재 소스) 에디터에 버튼 추가: AI 삭제를 '삭제' (ASIS에서 해당 내용을 제거)
410
410
  asisButtonBuilder.add(
411
411
  asisRangeStart,
412
412
  asisRangeStart,
413
413
  Decoration.widget({
414
414
  widget: new MergeButtonWidget(
415
415
  true, // 이 버튼은 ASIS 에디터에 붙는 버튼
416
- "", // TOBE에서 해당 내용을 '제거'하므로 삽입할 텍스트는 없음
417
- currentInstance.#tobeEditorView, // 대상 에디터는 TOBE (AI 추천)
418
- { from: tobeRangeStart, to: tobeRangeStart + text.length }, // TOBE에서 '삭제될' 범위
416
+ "", // ASIS에서 해당 내용을 '제거'하므로 삽입할 텍스트는 없음
417
+ currentInstance.#asisEditorView, // 대상 에디터는 ASIS (현재 소스)
418
+ { from: asisRangeStart, to: asisRangeStart + text.length }, // ASIS에서 '삭제될' 범위
419
419
  currentInstance
420
420
  ),
421
421
  side: 1