artisticengineerpi/Neon-Scribe

A cyberpunk text editor written purely in C++

★ 1Forks 0C++GitHub ↗Compare

README

NeonScribe - Cyberpunk Text Editor

NeonScribe Logo

C++ Works On My Machine OpenGL MIT License Windows

A futuristic, cyberpunk-themed text editor for digital denizens of the neon-lit urban sprawl.

Overview

NeonScribe is a simple yet stylish text editor designed for basic text creation and editing in a cyberpunk aesthetic. The application provides essential text editing capabilities with a distinctive visual flair reminiscent of high-tech interfaces from dystopian futures.

  • Core Features: Open, create, edit, and save plain text files
  • Cyberpunk Interface: Sleek, dark UI with neon red accents and futuristic animations
  • Visual Feedback: Pulsating elements and status indicators keep you connected to the digital realm

Features

  • Text Editing: Full plain text editing with keyboard shortcuts
  • File Operations: Create new documents, open existing files, save your work
  • Cyberpunk Theme: Dark interface with neon accents and pulsating elements
  • Status Feedback: Real-time status messages in cyberpunk terminology
  • Cross-Platform: Works on Windows, Linux, and macOS (primarily tested on Windows)

Screenshots

NeonScribe Screenshot

Prerequisites

To build and run NeonScribe, you'll need the following dependencies:

  • A C++11 compatible compiler (GCC, MSVC, or Clang)
  • OpenGL development libraries
  • GLFW3 development libraries
  • Make (on Linux/macOS) or Visual Studio (on Windows)
  • Nasalization font (included or automatically downloaded)

On Windows

  • Visual Studio 2019 or newer with C++ desktop development components
  • Alternatively, MinGW-w64 with GCC

On Debian/Ubuntu-based systems

sudo apt-get update
sudo apt-get install build-essential libglfw3-dev libgl1-mesa-dev pkg-config

On Fedora/RHEL-based systems

sudo dnf install gcc-c++ make glfw-devel mesa-libGL-devel pkgconfig

On Arch Linux

sudo pacman -S base-devel glfw-x11 mesa pkgconf

On macOS

brew install glfw3

Building NeonScribe

Clone the Project

If you haven't already, clone this repository:

git clone <repository-url>
cd <repository-directory>

Getting the Nasalization Font

NeonScribe uses the Nasalization font for its cyberpunk aesthetic. On Windows, you can use the provided batch file to download it:

download_font.bat

On Linux/macOS, you can download it manually:

# Create a temporary directory
mkdir -p temp
# Download the font
wget -O temp/nasalization.zip https://www.1001fonts.com/download/nasalization-free.zip
# Extract it
unzip temp/nasalization.zip -d temp/nasalization
# Copy the font files
mkdir -p fonts
cp temp/nasalization/*.otf fonts/
# Clean up
rm -rf temp

Compile the Application

On Linux/macOS

To build the application, simply run:

make

This will compile the application and create an executable called neonscribe.

On Windows

Use the provided batch file:

build_windows.bat

Or for a simpler build:

simple_build.bat

Debug Build

To build with debug symbols:

make DEBUG=1

Clean Build Files

To clean the build artifacts:

make clean

Running NeonScribe

After building successfully, run the application:

On Linux/macOS

./neonscribe

On Windows

build\neonscribe.exe

Using NeonScribe

Keyboard Shortcuts

  • Ctrl+N: Create a new document
  • Ctrl+O: Open an existing file
  • Ctrl+S: Save the current file
  • Ctrl+Shift+S: Save the current file with a new name
  • Ctrl+X: Cut selected text
  • Ctrl+C: Copy selected text
  • Ctrl+V: Paste text
  • Ctrl+A: Select all text

Menus

  • FILE: New document, open file, save, save as, exit
  • EDIT: Cut, copy, paste, select all
  • VIEW: Show metrics window
  • HELP: Help system, about information

Project Structure

  • main.cpp - Main application code implementing the NeonScribe editor
  • Makefile - Build configuration
  • imgui/ - Dear ImGui library (third-party UI framework)
  • fonts/ - Directory containing the Nasalization font
  • build_windows.bat - Windows build script
  • simple_build.bat - Simplified Windows build script

Troubleshooting

Common Issues

  • GLFW errors: Ensure you have the correct GLFW development libraries installed for your system.
  • Compilation errors: Make sure you have a C++11 compatible compiler installed.
  • Linker errors: Verify that all required libraries are installed and properly linked.
  • Font not found: Make sure the Nasalization.otf file is in the fonts directory.

Debugging Tips

  • Build with debug symbols: make DEBUG=1
  • Check the terminal output for errors
  • On Windows, try running from the command line to see any error messages

Contributing

Contributions to NeonScribe are welcome! Feel free to submit a Pull Request with new features, improvements, or bug fixes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Acknowledgments

  • Omar Cornut and all Dear ImGui contributors
  • The GLFW team for the window and input library
  • Surrender of Japan for the Nasalization font

Contributors

artisticengineerpi

Issues