Skip to main content

A console-based text editor.

Project description

LcfherShell

SuperNano

Berikut adalah dokumentasi untuk script SuperNano, sebuah text editor berbasis console yang kuat khusus platform Windows 8, 10, 11.


Dokumentasi SuperNano

Deskripsi

SuperNano adalah sebuah text editor berbasis console yang dikembangkan menggunakan Python dan pustaka urwid[curses]. Aplikasi ini dirancang untuk memberikan pengguna kemampuan untuk mengedit teks, mengelola file, dan melakukan inspeksi modul Python langsung dari antarmuka berbasis console. SuperNano mendukung beberapa fitur seperti undo-redo, clipboard (copy-paste), pencarian file, dan inspeksi modul Python.

Fitur Utama

  • Text Editing: Editor teks dengan dukungan multiline, undo-redo, copy-paste, dan penyimpanan file.
  • File Management: Memungkinkan navigasi direktori, membuka dan menyimpan file, serta membuat dan menghapus file.
  • Module Inspection: Fitur untuk melakukan inspeksi modul Python, C, NodeJS, dan PHP, menampilkan informasi tentang variabel global, kelas, dan fungsi yang ada di dalam modul.

Kelas dan Metode

1. SuperNano

SuperNano adalah kelas utama yang mengatur seluruh aplikasi, termasuk inisialisasi, pembuatan menu, dan manajemen UI.

Atribut:

  • current_path: Menyimpan path direktori saat ini.
  • current_file_name: Menyimpan nama file yang sedang dibuka.
  • undo_stack, redo_stack: Stack yang digunakan untuk menyimpan state teks guna mendukung fitur undo-redo.
  • overlay: Widget yang digunakan untuk menampilkan popup.
  • modulepython: Objek dari ModuleInspector yang digunakan untuk inspeksi modul Python, C, NodeJS, dan PHP.
  • loop: Objek urwid.MainLoop yang menangani event loop aplikasi.
  • loading_alarm, system_alarm: Alarm untuk mengatur timing penggantian layout dan memonitor sistem.

Metode:

  • __init__(self, start_path="."): Inisialisasi kelas, menyiapkan path awal, widget, dan memulai event loop.
  • load_main_menu(self): Menyiapkan dan menampilkan menu utama setelah periode loading.
  • switch_to_secondary_layout(self): Mengubah layout aplikasi ke menu utama.
  • setup_main_menu(self): Mengatur widget untuk menu utama, termasuk daftar file, editor teks, dan tombol-tombol fungsional.
  • create_modules_menus(self, listmodulename): Membuat tombol untuk setiap modul yang ada di sys.path.
  • inspect_module(self, button, module_name): Menampilkan hasil inspeksi modul dalam footer.
  • setup_popup(self, options, title, descrip=""): Menyiapkan konten dan layout untuk menu popup.
  • show_popup(self, title, descrip, menus): Menampilkan popup menu dengan judul, deskripsi, dan opsi yang diberikan.
  • close_popup(self, button): Menutup popup dan mengembalikan tampilan ke layout utama.
  • get_file_list(self): Mengambil daftar file dan direktori di path saat ini.
  • handle_input(self, key): Menangani input keyboard untuk berbagai tindakan seperti keluar, menyimpan, menghapus, undo, redo, copy-paste, dan refresh UI.
  • get_current_edit(self): Mengembalikan widget edit yang sedang difokuskan (text editor atau search edit).
  • set_focus_on_click(self, widget, new_edit_text, index): Mengatur fokus pada widget edit berdasarkan klik dan indeks.
  • copy_text_to_clipboard(self): Menyalin teks dari widget edit yang sedang aktif ke clipboard.
  • paste_text_from_clipboard(self): Menempelkan teks dari clipboard ke widget edit yang sedang aktif.

2. ModuleInspector

Kelas ini bertanggung jawab untuk memuat dan menginspeksi modul-modul Python, C, NodeJS, dan PHP. Informasi yang dapat diambil meliputi variabel global, kelas, dan fungsi dalam modul.

Atribut:

  • modules: Menyimpan daftar nama modul yang ditemukan di sys.path.

Metode:

  • get_moduleV2(self, paths): Mengembalikan daftar modul yang ditemukan di path yang diberikan.
  • inspect_module(self, module_name): Menginspeksi modul dengan nama yang diberikan dan mengembalikan detail modul tersebut.

Penggunaan

  1. Menjalankan Aplikasi: Jalankan script SuperNano dengan Python 3.6 ke atas di terminal Anda.
  2. Navigasi File: Gunakan panah atas dan bawah untuk memilih file di direktori. Tekan Enter untuk membuka file.
  3. Edit Teks: Setelah file terbuka, teks dapat diedit langsung di editor. Gunakan Ctrl+S untuk menyimpan perubahan.
  4. Undo-Redo: Gunakan Ctrl+Z untuk undo dan Ctrl+Y untuk redo.
  5. Copy-Paste: Gunakan Ctrl+C untuk copy dan Ctrl+V untuk paste.
  6. Inspeksi Modul: Pilih modul dari daftar yang tersedia di UI untuk menampilkan informasi tentang modul tersebut.
  7. Keluar dari Aplikasi: Tekan Ctrl+Q atau ESC untuk keluar dari aplikasi.

Syarat

  • Python V3.8^
  • Nodejs
  • Clang [tidak wajib]
  • Composer PHP [tidak wajib]
  • Module pip (Python) : requirements.txt
  • Module NPM (Node) : acorn, php-parser

Cara Penggunaan

Jalankan script ini melalui command line dengan memberikan argumen berupa path file atau direktori yang ingin diedit. Contoh:

python supernano.py /path/to/directory_or_file

Lisensi

Aplikasi ini dibuat oleh Ramsyan Tungga Kiansantang dan dilisensikan di bawah Lisensi GPL v3. Untuk kontribusi atau pelaporan bug, silakan kunjungi repositori Github yang telah disediakan.

Versi

  • Versi: V2.2.1
  • Tanggal Rilis: 30 Agustus 2024

Kesimpulan

SuperNano adalah editor teks berbasis konsol yang dirancang untuk memudahkan pengelolaan file dan direktori secara langsung dari command line. Aplikasi ini menawarkan alat yang kuat untuk pengguna yang bekerja di lingkungan berbasis teks.

Jika ada pertanyaan atau butuh bantuan lebih lanjut terkait implementasi, jangan ragu untuk menghubungi pengembang atau melihat dokumentasi tambahan yang mungkin tersedia.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

SuperNano-2.2.1.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

SuperNano-2.2.1-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file SuperNano-2.2.1.tar.gz.

File metadata

  • Download URL: SuperNano-2.2.1.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.7

File hashes

Hashes for SuperNano-2.2.1.tar.gz
Algorithm Hash digest
SHA256 8f0b11356ea140ce431aada46e1483f03ef32cd7fd59f81b059812d92592cec8
MD5 cdf6eb6158183cd58fd2df616499c08a
BLAKE2b-256 61a9aa8a896b40cd92978eb702103fd61ab5a1717ef62a3b2963fccc58b6496e

See more details on using hashes here.

File details

Details for the file SuperNano-2.2.1-py3-none-any.whl.

File metadata

  • Download URL: SuperNano-2.2.1-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.7

File hashes

Hashes for SuperNano-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5005e551e8a265bc9965b63ae8501071158b2043a7950a54e8de3d08928e446a
MD5 53f7f72d8ac9f9d021d7f920748dddab
BLAKE2b-256 2e084781f47115fd7d5807f65ff899d5476d753e1b2f1aa66b061b3cd258948e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page