diff --git a/package.json b/package.json
index ebb9d5d..f57be40 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,6 @@
},
"postinstall": "electron-builder install-app-deps",
"dependencies": {
- "@xterm/xterm": "5.5.0",
"ace-diff": "3.0.3",
"ace-layout": "1.5.0",
"ace-linters": "1.8.3",
@@ -56,8 +55,6 @@
"electron-fetch": "1.9.1",
"express": "4.18.2",
"marked": "16.4.0",
- "node-fetch": "3.3.2",
- "node-pty": "1.0.0",
"socket.io": "4.8.1",
"uuid": "11.1.0",
"zone.js": "0.15.0"
diff --git a/src/app/app.component.html b/src/app/app.component.html
index faeb172..c8598a1 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -5,7 +5,6 @@
-
\ No newline at end of file
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index dab7eda..7e50850 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -5,7 +5,6 @@ import { TabsComponent } from './editor/tabs/tabs.component';
import { EditorsComponent } from './editor/editors.component';
import { SearchReplaceComponent } from "./editor/search-replace/search-replace.component";
import { MarkdownPreviewComponent } from "./editor/markdown-preview/markdown-preview.component";
-import { TerminalComponent } from "./editor/terminal/terminal.component";
import { LspManagerComponent } from "./editor/lsp-manager/lsp-manager.component";
@@ -18,7 +17,6 @@ import { LspManagerComponent } from "./editor/lsp-manager/lsp-manager.component"
EditorsComponent,
SearchReplaceComponent,
MarkdownPreviewComponent,
- TerminalComponent,
LspManagerComponent,
],
templateUrl: './app.component.html',
diff --git a/src/app/common/services/editor/terminal/terminal.service.ts b/src/app/common/services/editor/terminal/terminal.service.ts
deleted file mode 100644
index b40d0d0..0000000
--- a/src/app/common/services/editor/terminal/terminal.service.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Injectable } from '@angular/core';
-import { ReplaySubject, Observable } from 'rxjs';
-
-import { ServiceMessage } from '../../../types/service-message.type';
-
-
-
-@Injectable({
- providedIn: 'root'
-})
-export class TerminalService {
- private messageSubject: ReplaySubject = new ReplaySubject(1);
-
-
- public sendMessage(data: ServiceMessage): void {
- this.messageSubject.next(data);
- }
-
- public getMessage$(): Observable {
- return this.messageSubject.asObservable();
- }
-
-}
\ No newline at end of file
diff --git a/src/app/editor/code-view/view.base.ts b/src/app/editor/code-view/view.base.ts
index 9c0f55f..4e76d22 100644
--- a/src/app/editor/code-view/view.base.ts
+++ b/src/app/editor/code-view/view.base.ts
@@ -14,7 +14,6 @@ import { EditorsService } from '../../common/services/editor/editors.service';
import { FilesService } from '../../common/services/files.service';
import { SearchReplaceService } from '../../common/services/editor/search-replace/search-replace.service';
import { MarkdownPreviewService } from '../../common/services/editor/markdown-preview/markdown-preview.service';
-import { TerminalService } from '../../common/services/editor/terminal/terminal.service';
import { LspManagerService } from '../../common/services/editor/lsp-manager/lsp-manager.service';
import { EditorSettings } from "../../common/configs/editor.config";
@@ -39,7 +38,6 @@ export class CodeViewBase {
protected filesService: FilesService = inject(FilesService);
protected searchReplaceService: SearchReplaceService = inject(SearchReplaceService);
protected markdownPreviewService: MarkdownPreviewService = inject(MarkdownPreviewService);
- protected terminalService: TerminalService = inject(TerminalService);
protected lspManagerService: LspManagerService = inject(LspManagerService);
@ViewChild('editor') editorElm!: ElementRef;
@@ -134,12 +132,6 @@ export class CodeViewBase {
// this.editor.execCommand("replace");
}
- public terminalPopup() {
- let message = new ServiceMessage();
- message.action = "toggle-terminal";
- this.terminalService.sendMessage(message);
- }
-
public showFilesList() {
let paths = this.filesService.getAllPaths();
let stubPaths = [];
@@ -374,4 +366,4 @@ export class CodeViewBase {
private quit() {
window.main.quit();
}
-}
\ No newline at end of file
+}
diff --git a/src/app/editor/code-view/view.component.ts b/src/app/editor/code-view/view.component.ts
index 9226d2f..be37a5b 100644
--- a/src/app/editor/code-view/view.component.ts
+++ b/src/app/editor/code-view/view.component.ts
@@ -142,7 +142,7 @@ export class CodeViewComponent extends CodeViewBase {
private loadNewtonEventBindings(): void {
// Note: https://ajaxorg.github.io/ace-api-docs/interfaces/ace.Ace.EditorEvents.html
- this.editor.on("focus", (e) => {
+ this.editor.on("focus", (event) => {
let message = new ServiceMessage();
message.action = "set-active-editor";
message.editorUUID = this.uuid;
@@ -150,7 +150,6 @@ export class CodeViewComponent extends CodeViewBase {
this.editorsService.sendMessage(message);
this.searchReplaceService.sendMessage(message);
- this.terminalService.sendMessage(message);
message = new ServiceMessage();
message.action = "set-active-editor";
@@ -308,4 +307,4 @@ export class CodeViewComponent extends CodeViewBase {
}, (timeout) ? timeout : this.debounceWait);
}
-}
\ No newline at end of file
+}
diff --git a/src/app/editor/terminal/terminal.component.css b/src/app/editor/terminal/terminal.component.css
deleted file mode 100644
index e69de29..0000000
diff --git a/src/app/editor/terminal/terminal.component.html b/src/app/editor/terminal/terminal.component.html
deleted file mode 100644
index 1621916..0000000
--- a/src/app/editor/terminal/terminal.component.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/src/app/editor/terminal/terminal.component.ts b/src/app/editor/terminal/terminal.component.ts
deleted file mode 100644
index e9bd5ff..0000000
--- a/src/app/editor/terminal/terminal.component.ts
+++ /dev/null
@@ -1,137 +0,0 @@
-import {
- Component,
- DestroyRef,
- ElementRef,
- HostBinding,
- ViewChild,
- inject
-} from '@angular/core';
-import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
-
-// import { Terminal } from 'xterm';
-import { Terminal } from '@xterm/xterm';
-// import { FitAddon } from 'xterm-addon-fit';
-
-import { TerminalService } from '../../common/services/editor/terminal/terminal.service';
-
-import { ServiceMessage } from '../../common/types/service-message.type';
-
-
-
-@Component({
- selector: 'terminal',
- standalone: true,
- imports: [
- ],
- templateUrl: './terminal.component.html',
- styleUrl: './terminal.component.css',
- host: {
- 'class': 'row terminal',
- "(keyup)": "globalTerminalKeyHandler($event)"
- }
-})
-export class TerminalComponent {
- readonly #destroyRef: DestroyRef = inject(DestroyRef);
-
- private terminalService: TerminalService = inject(TerminalService);
- private terminal: Terminal = new Terminal();
-
- @HostBinding("class.hidden") isHidden: boolean = true;
- @ViewChild("terminalElm") terminalElm!: ElementRef;
-
- private editor!: any;
-
- constructor() {
- this.loadSubscribers();
- this.loadMainSubscribers();
- }
-
- private ngAfterViewInit(): void {
- this.loadTerminal();
- }
-
- // Note: https://stackoverflow.com/questions/63390143/how-do-i-connect-xterm-jsin-electron-to-a-real-working-command-prompt
- private loadTerminal() {
- // const fitAddon = new FitAddon();
- // this.terminal.loadAddon(fitAddon);
-
- this.terminal.open(this.terminalElm.nativeElement);
- this.terminal.onData(e => {
- console.log(e);
- // ipcRenderer.send("terminal-into", e);
- // window.main.quit();
- } );
-
- // ipcRenderer.on('terminal-actions', (event, data) => {
- // this.terminal.write(data);
- // })
-
- // Make the terminal's size and geometry fit the size of #terminal-container
- // fitAddon.fit();
- }
-
- private loadSubscribers() {
- this.terminalService.getMessage$().pipe(
- takeUntilDestroyed(this.#destroyRef)
- ).subscribe((message: ServiceMessage) => {
- switch ( message.action ) {
- case "toggle-terminal":
- this.toggleTerminal(message);
- break;
- case "set-active-editor":
- this.setActiveEditor(message);
- break;
- default:
- break;
- }
- });
- }
-
- private loadMainSubscribers() {
- window.main.onTerminalActions(async (action: string) => {
- this.terminal.write(action);
- // switch ( action ) {
- // case "terminal-actions":
- // break;
- // default:
- // break;
- // }
- });
- }
-
-
- private toggleTerminal(message: ServiceMessage) {
- this.isHidden = !this.isHidden;
-
- if (this.isHidden) {
- this.editor.focus();
- return;
- }
-
- // setTimeout(() => {
- // }, 200);
- }
-
-
- private setActiveEditor(message: ServiceMessage) {
- if (this.editor == message.rawData) return;
-
- this.editor = message.rawData;
-
- if (this.isHidden) return;
- }
-
- public hideTerminal() {
- this.isHidden = true;
- this.editor.focus();
- }
-
- public globalTerminalKeyHandler(event: any) {
- if (event.ctrlKey && event.key === ".") {
- this.hideTerminal();
- }
- }
-
-
-
-}
\ No newline at end of file