Skip to content

Text Editor built with PyQt6 & Python. In phase of transition from editor to IDE, with a mission of providing comprehensive editor for all devs.

License

Notifications You must be signed in to change notification settings

parazeeknova/nyxtext-zenith

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

// give it a try!

Python PyQt6 QScintilla


// 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 - Main application directory colors - Color schemes for the application components - Components for the application core - Core components for the application (Subclasses, threading, core functions) framework - Framework for the application lexers - Lexers for syntax highlighting media - Media files scripts - Scripts __init__.py - Initialization __main__.py - Entry point color_schemes.lua - Customizable color schemes shortcuts.lua - Customizable shortcuts config.lua - Configuration for the application

// Socials

Github Logo Discord Logo Twitter Logo Reddit Logo



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 filetree autocompletions calltips
filetree catppuccin (macchiato) gruvbox dusk
filetree catppuccin gruvbox dusk

✨ 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
    • Extract the downloaded ZIP file
    • Add an exclusion in Windows Defender to run the application
    • Run the Nyxtext.exe file
  2. 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
    • Extract the downloaded ZIP file
    • Add an exclusion in Windows Defender to run the application
    • Run the Nyxtext.exe file
  3. Using development environment (recommended for developers):

    • Open a terminal and run the following commands:
      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
  4. Using Build script (recommended for developers):

    • Open a terminal and run the following commands:
      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:

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:

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 <filename> or Nyxtext.exe --open <filename>.
  • 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 <filename> or Nyxtext.exe --open <filename>.


πŸ’‘Future Plans :

  • Build exe for windows - βœ… Done in alphav0.0.1
  • Complete Menu bar options.
  • Add more themes. - βœ… Done
  • Add more languages for syntax highlighting. - βœ… Done
  • 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.
  • 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 FAQ & Info


πŸ‘ 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


πŸ“œ License

NyxText Zenith is released under the MIT license: For more convoluted language, see the LICENSE.

Copyright Β© 2024-present NyxText Zenith