Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/parazeeknova/nyxtext-zenith
Text Editor built with PyQt6 & Python. In phase of transition from editor to IDE, with a mission of providing comprehensive editor for all devs.
https://github.com/parazeeknova/nyxtext-zenith
development ide productivity pyside6 python3 qscintilla text-editor wip
Last synced: 3 months ago
JSON representation
Text Editor built with PyQt6 & Python. In phase of transition from editor to IDE, with a mission of providing comprehensive editor for all devs.
- Host: GitHub
- URL: https://github.com/parazeeknova/nyxtext-zenith
- Owner: parazeeknova
- License: mit
- Created: 2024-07-06T14:31:25.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-08-08T13:57:29.000Z (6 months ago)
- Last Synced: 2024-08-09T14:16:24.543Z (6 months ago)
- Topics: development, ide, productivity, pyside6, python3, qscintilla, text-editor, wip
- Language: Python
- Homepage: https://harshsahu-portfolio.vercel.app/pages/project
- Size: 6.13 MB
- Stars: 9
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: .github/README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
###### *
// give it a try!*
![Python](https://img.shields.io/badge/Python-Programming%20Language-8aadf4?style=for-the-badge&logo=python&logoColor=D9E0EE&labelColor=302D41)
![PyQt6](https://img.shields.io/badge/PyQt6-GUI%20Framework-a6da95?style=for-the-badge&logo=qt&logoColor=D9E0EE&labelColor=302D41)
![QScintilla](https://img.shields.io/badge/QScintilla-Text%20Editor%20Component-8bd5ca?style=for-the-badge&logoColor=D9E0EE&labelColor=302D41)
###### *
// About*
Nyxtext-zenith represents the next leap forward in text editing, building upon the foundation laid by its predecessor, Nyxtext. Reborn with PyQt6 and QScintilla. As the successor to Nyxtext, the core mission of providing a comprehensive text editor for developers. Nyxtext-zenith aims to surpass its forerunner by offering an even more robust, intelligent, and versatile text editing experience. It continues the nyxtext legacy of eliminating the need for multiple text-related applications, now with greater efficiency and an expanded feature set.
Project Structure[zenith](zenith/) - Main application directory
[colors](zenith/colors/) - Color schemes for the application
[components](zenith/components/) - Components for the application
[core](zenith/core/) - Core components for the application (Subclasses, threading, core functions)
[framework](zenith/framework/) - Framework for the application
[lexers](zenith/lexers/) - Lexers for syntax highlighting
[media](zenith/media/) - Media files
[scripts](zenith/scripts/) - Scripts
[`__init__.py`](zenith/__init__.py) - Initialization
[`__main__.py`](zenith/__main__.py) - Entry point
[`color_schemes.lua`](zenith/color_schemes.lua) - Customizable color schemes
[`shortcuts.lua`](zenith/shortcuts.lua) - Customizable shortcuts
[`config.lua`](zenith/config.lua) - Configuration for the application
###### *
// Socials*
> [!IMPORTANT]
> Because the application is not signed by Microsoft, Windows Defender blocks it; add an exclusion in Defender to run the application. Its a false positive, the application is safe to use. or build it yourself from the source code.
### 🖼️ Screenshots
| default | filetree (Docked) | autocompletions | calltips |
| ------------------------------------------ | --------------------------------------------------- | ---------------------------------------------------------- | -------------------------------------------- |
| ![default](assets/screenshots/default.png) | ![filetree](assets/screenshots/docked_filetree.png) | ![autocompletions](assets/screenshots/autocompletions.png) | ![calltips](assets/screenshots/calltips.png) || filetree | catppuccin (macchiato) | gruvbox | dusk |
| ---------------------------------------------------- | ------------------------------------------------ | ------------------------------------------ | ------------------------------------ |
| ![filetree](assets/screenshots/context_filetree.png) | ![catppuccin](assets/screenshots/catppuccin.png) | ![gruvbox](assets/screenshots/gruvbox.png) | ![dusk](assets/screenshots/dusk.png) |
### ✨ Installing Nyxtext
Windows
There are multiple ways to run NyxText on Windows. Here are some common methods:
1. Using the standalone executable (recommended for users):
- Download the latest stable release from the [Releases](https://github.com/parazeeknova/nyxtext-zenith/releases)
- Extract the downloaded ZIP file
- Add an exclusion in Windows Defender to run the application
- Run the `Nyxtext.exe` file2. Using development release (recommended for testers):
> [!CAUTION]
> Currently action builds are not working due to some issues, please use the standalone executable from releases .- Download the latest development release from the [Action Build](https://github.com/parazeeknova/nyxtext-zenith/actions)
- Extract the downloaded ZIP file
- Add an exclusion in Windows Defender to run the application
- Run the `Nyxtext.exe` file
1. Using development environment (recommended for developers):
- Open a terminal and run the following commands:
```bash
git clone --depth 1 https://github.com/parazeeknova/nyxtext-zenith.git
cd nyxtext-zenith
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python -m zenith
OR run Nyxtext.py in the root directory
```
2. Using Build script (recommended for developers):
- Open a terminal and run the following commands:
```bash
git clone --depth 1 https://github.com/parazeeknova/nyxtext-zenith.git
cd nyxtext-zenith
run windows-build.bat
```Debian-based Linux distributions (e.g. Ubuntu, Mint)
Didn't test it on Linux yet, but it should work. Currently only running from source code is supported.
**Open a terminal and run these commands:**```bash
sudo apt update
sudo apt install python3 python3-pip python3-venv
git clone --depth 1 https://github.com/parazeeknova/nyxtext-zenith.git
cd nyxtext-zenith
python3 -m venv nyxtext
source nyxtext/bin/activate
pip install -r requirements.txt
python -m zenith
OR run Nyxtext.py in the root directory
```
Let me know if it works.Arch Linux
Didn't test it on Arch Linux yet, but it should work. Currently only running from source code is supported.
**To install NyxText on Arch Linux, you can follow these steps:**```bash
sudo pacman -Sy python
git clone --depth 1 https://github.com/parazeeknova/nyxtext-zenith.git
cd nyxtext-zenith
python -m venv nyxtext
source nyxtext/bin/activate
pip install -r requirements.txt
python -m zenith
OR run Nyxtext.py in the root directory
```
Let me know if it works.MacOS
I don't have a Mac. If you have a Mac, you can help me a lot by installing
Nyxtext and letting me know how well it works.### 🎨 Features :
- Edit Text files ~ duh.
- Basic functionality of a text editor like save, open, close, etc.
- **Syntax Highlighting** for _**35+**_ languages.
- Catppuccin Macciatto theme by default for Python, C++, Javascript, HTML, CSS, JSON, Markdown, and more. (check `zenith/lexers` folder)
- **Code Folding** for better code readability.
- **Filetree** for easy navigation. (Toggle with `Ctrl + F`)
- **Dockable Filetree** panes.
- Adjustable panes for filetree, Workspace, and Codespace.
- **Customizable** shortcuts using Lua, edit `zenith/shortcuts.lua`.
- **Fully Customizable theme** using Lua, edit `zenith/color_schemes.lua` can edit every corner of the app.
- Ability to toggle between custom titlebar and default titlebar (windows default).
- **Highly Customizable** themes using Lua, edit `zenith/color_themes.lua`.
- Workspace and Codespace tabs for better organization.
- **Tab** switching using `Ctrl + Tab` and `Ctrl + Shift + Tab`.
- Unsaved changes indicator.
- **Auto-indentation** for Python, C++, Java, and more.
- Files can be opened from CLI using `Nyxtext.exe -o ` or `Nyxtext.exe --open `.
- Custom titlebar with inbuild menubar.
- Statusbar with line and column number.
- Dynamic **statusbar** that displays operations performed.
- Read-only mode for files by default to enter edit mode press `Ctrl + E`.
- Calltips and autocompletions for Python, Lua currently.
- **Terminal** integration._More features coming soon._
### ⌨️ Shortcut Keys
> [!TIP]
> These are the default shortcut keys, you can change them from `shortcuts.lua` in `zenith` folder.| Shortcut Key | Description |
| --------------------------------------------------- | ------------------------------------------------------------------------------ |
| Ctrl + N | Create a new Workspace Tab (for txt editing) |
| Ctrl + Shift + N | Create a new Codespace Tab (for code editing) |
| Ctrl + O | Open File (automatically detects filetype and opens in Workspace os Codespace) |
| Ctrl + Shift + O | Open Folder in Filetree |
| Ctrl + S | Save File |
| Ctrl + Shift + S | Save File As |
| Ctrl + Tab | Switch Tab next |
| Ctrl + Shift + Tab | Switch Tab previous |
| Ctrl + F | Show/hide FileTree |
| Ctrl + W | Close Tab |
| Ctrl + Shift + W | Close All Tabs |
| Ctrl + Shift + Q | Exit |
| Ctrl + E | Toggle Edit mode |
| Ctrl + = | Zoom In |
| Ctrl + - | Zoom Out |
| Ctrl + ` | Toggle Terminal |
| F11 | Maximise |
| Ctrl + M | Minimise |
| ... | More soon |> [!TIP]
> Files can be opened by CLI using `Nyxtext.exe -o ` or `Nyxtext.exe --open `.
### 💡Future Plans :
- [x] ~~Build `exe` for windows~~ - ✅ Done in alphav0.0.1
- [ ] Complete Menu bar options.
- [x] ~~Add more themes.~~ - ✅ Done
- [X] ~~Add more languages for syntax highlighting.~~ - ✅ Done
- [x] ~~Terminal integration.~~ - ⚠️ Makeshift for now
- [ ] Add more shortcuts. (VIM MOTIONS)
- [ ] Autocompletions for Python, C++, Javascript, and more.
- [ ] Linux and MacOS support.
- [ ] Grammer check for Workspace.
- [x] ~~Code folding for Codespace.~~ - ✅ Done in alphav0.0.2
- [ ] Git support
- [ ] Hyperlinks, Markdown support
- [ ] Split view for Codespace
- [ ] AI Integration for code suggestions
- [ ] More to come...
### 🛹 Development
![Alt](https://repobeats.axiom.co/api/embed/5230d7fbefe5348128ff699761be93de2b030176.svg "Repobeats analytics image")
[FAQ & Info](https://github.com/parazeeknova/nyxtext-zenith/blob/main/.github/ABOUT.md)---
### 👐 Contributing
> [!NOTE]
> Thank you for considering contributing to Nyxtext Zenith! We welcome contributions from everyone, whether you're fixing a bug, adding a feature, or improving documentation.See [CONTRIBUTING.md](https://github.com/parazeeknova/nyxtext-zenith/blob/main/.github/CONTRIBUTING.md)
### 📜 License
NyxText Zenith is released under the MIT license:
For more convoluted language, see the [LICENSE](https://github.com/parazeeknova/nyxtext-zenith/blob/main/LICENSE).Copyright © 2024-present NyxText Zenith