Skip to content

β˜€οΈ PHP Sunshine IDE - Built by Serbian & Romanian devs who refuse to pay €200/year for PhpStorm. Material Design themes, Vim-style editing, built in Rust. PrestaShop, Laravel & Symfony support. πŸ¦€πŸ‡·πŸ‡ΈπŸ‡·πŸ‡΄

Notifications You must be signed in to change notification settings

arsapoz/PHPsunshine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

β˜€οΈ PHP Sunshine IDE

"Born from the tears of Serbian and Romanian devs debugging PrestaShop at 3 AM, fueled by rakija and Θ›uicΔƒ, built because JetBrains wants €200/year and we'd rather buy our babushkas new slippers."

A modern, blazing-fast PHP IDE built with Rust πŸ¦€πŸ‡·πŸ‡ΈπŸ‡·πŸ‡΄

🍺 The Real Story

Two Balkan developers, one shared hatred of PHP bugs, and a refusal to pay for PhpStorm.

We're REAL SLAVS who:

  • Debug PrestaShop modules that would make Rasputin weep
  • Handle Laravel projects with more nested callbacks than a matryoshka doll
  • Fight Symfony's DependencyInjection like it's the Ottoman Empire
  • REFUSE TO PAY €200/year when we can build it ourselves in Rust πŸ’ͺ

SERBIA πŸ‡·πŸ‡Έ AND ROMANIA πŸ‡·πŸ‡΄ POWER brought this to life!

Why We Built This

❌ PhpStorm subscription: €200/year
βœ… PHP Sunshine: FREE FOREVER (like your babushka's advice)

Customer projects are killing us. Legacy code is haunting our dreams. PrestaShop 1.6 modules are making us question our career choices.

So we did what any sensible Eastern European developer would do: WE BUILT OUR OWN IDE IN RUST WHILE DRINKING COFFEE STRONG ENOUGH TO STRIP PAINT.

The Balkan Way πŸ”₯

  • β˜• Powered by Turkish coffee (3 cups minimum)
  • πŸ₯ƒ Debugged with rakija & Θ›uicΔƒ
  • πŸ§… Fueled by burek & mΔƒmΔƒligΔƒ
  • πŸ’ͺ Built with pure Slavic spite
  • 🚫 No JetBrains subscription needed

Made with Rust Material Design License Balkan Power No PhpStorm

✨ Features

🎨 Material Design Themes

  • 5 Beautiful Themes - Ocean, Palenight, Darker, Lighter, Deep Ocean
  • True Color Support - 24-bit RGB colors
  • Live Theme Switching - :theme <name> command
  • Optimized Syntax Colors - Each theme carefully tuned for PHP

πŸ“ Smart File Browser

  • Tree View with expand/collapse
  • Material Icons - 50+ file type icons
  • Gitignore Support - Respects your .gitignore
  • Framework Detection - Auto-detects PrestaShop/Laravel/Symfony
  • Special Folder Icons - Recognizes src, vendor, tests, etc.

πŸ“ Professional Text Editor

  • Multi-file Tabs - Work on multiple files
  • Vim-style Modal Editing - Normal, Insert, Command modes
  • Line Numbers - Always visible
  • Cursor Position - Line:Column in status bar
  • Smart Scrolling - Keeps cursor in view
  • Rope-based Buffer - Efficient for large files
  • File Persistence - Save/load functionality

🎯 Framework Support

  • PrestaShop Detection - Recognizes modules, hooks
  • Laravel Detection - Finds Artisan, Blade templates
  • Symfony Detection - Identifies console, services
  • Framework Icons - Shows appropriate icon in header

πŸ› οΈ Developer Tools

  • Git Integration - Repository detection, branch display
  • Modal Editing - Vim-style efficiency
  • Keyboard Shortcuts - Full productivity suite
  • Command Mode - Execute commands with :

Framework Support

PrestaShop

  • Module structure recognition
  • Hook completion and navigation
  • Smarty template support
  • Database schema analysis
  • Translation file management

Laravel

  • Artisan command integration
  • Blade template support
  • Route navigation
  • Eloquent model detection
  • Migration helpers

Symfony

  • Service container awareness
  • Twig template support
  • Routing system integration
  • Console command detection
  • Doctrine integration

Developer Tools

  • Integrated terminal
  • Git integration
  • Composer package management
  • PHPStan/Psalm integration
  • Xdebug support
  • Database tools

πŸš€ Quick Start

Prerequisites

  • βœ… Rust 1.70+ (installed!)
  • πŸ’‘ Nerd Font (recommended for icons)
  • πŸ–₯️ Modern terminal with true color support

Build & Run

cd php-sunshine

# Build release version (optimized)
cargo build --release

# Run it!
./target/release/php-sunshine

# Or use the quick start script
./start.sh

First Time Usage

  1. Launch: ./target/release/php-sunshine
  2. Open File Browser: Press Ctrl+E
  3. Navigate: Use j/k or arrow keys
  4. Open File: Press Enter
  5. Start Editing: Press i for insert mode
  6. Save: Press Esc, then Ctrl+S
  7. Change Theme: Type :theme palenight
  8. Quit: Type :q

⌨️ Key Bindings

Essential Commands

  • i - Enter insert mode
  • Esc - Back to normal mode
  • Ctrl+S - Save file
  • Ctrl+E - Toggle file browser
  • Ctrl+T - New tab
  • :w - Save
  • :q - Quit
  • :wq - Save and quit
  • :theme <name> - Change theme

Navigation

  • h j k l - Vim-style movement (or arrow keys)
  • Ctrl+Tab - Next tab
  • Shift+Tab - Previous tab

See KEYBINDINGS.md for complete reference.

πŸ› οΈ Development

Project Structure

php-sunshine/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main.rs           # Entry point
β”‚   β”œβ”€β”€ editor/           # Text editing core
β”‚   β”œβ”€β”€ ui/              # Terminal UI components
β”‚   β”œβ”€β”€ parser/          # PHP & template parsers
β”‚   β”œβ”€β”€ lsp/             # Language Server Protocol
β”‚   └── project/         # Project management & framework detection
β”œβ”€β”€ Cargo.toml
└── README.md

Building from Source

cargo build
cargo test
cargo run

πŸ“Έ Screenshots

Material Ocean Theme (Default)

Dark blue theme with PHP file open, file browser visible

Material Palenight Theme

Purple-tinted theme showing Laravel project

Material Lighter Theme

Light theme for bright environments

πŸ“š Documentation

🎨 Themes

All 5 Material Design themes available:

Theme Description Command
🌊 Ocean Dark blue (default) :theme ocean
πŸŒ™ Palenight Purple-tinted dark :theme palenight
πŸ–€ Darker Maximum contrast :theme darker
β˜€οΈ Lighter Clean light theme :theme lighter
πŸŒ‘ Deep Ocean OLED-optimized :theme deepocean

πŸ“ Roadmap

βœ… Phase 1 - Complete!

  • Terminal UI with Ratatui
  • Material Design themes (5 themes)
  • File browser with icons
  • Text editor with tabs
  • Framework detection
  • Git integration
  • Modal editing (Vim-style)

πŸ”„ Phase 2 - In Progress

  • PHP syntax highlighting with Tree-sitter
  • Code folding
  • Smart indentation
  • Search in file

πŸ“… Phase 3 - Planned

  • Fuzzy file search (Ctrl+P)
  • Multi-file search & replace
  • Symbol navigation
  • Breadcrumbs

πŸš€ Phase 4 - Future

  • LSP integration
  • Code completion
  • Go to definition
  • Refactoring tools
  • Integrated debugger
  • Composer integration

🀝 Contributing

Contributions welcome! This is an ambitious project to create a modern alternative to PhpStorm.

πŸ“„ License

MIT

🎯 Why PHP Sunshine?

For PrestaShop Developers

  • Instant module structure recognition
  • Hook system awareness (because we've seen ALL the hooks)
  • Smarty template support (we know your pain)
  • Fast module development workflow
  • Bonus: Won't judge you for still maintaining PS 1.6 projects

For Laravel Developers

  • Artisan command detection
  • Blade template syntax
  • Route file navigation
  • Eloquent model support
  • No shame: We've all written dd() everywhere

For Symfony Developers

  • Console command integration
  • Twig template support
  • Service container awareness
  • Bundle structure recognition
  • Real talk: We know you Googled "Symfony DependencyInjection" 47 times today

πŸ‘¨β€πŸ’» The Team

Made with ❀️, Rust, and Balkan determination by developers who:

  • Know what "works on production" really means
  • Have debugged code while the client was on the phone
  • Can write PHP, JavaScript, and curse words in 5 languages
  • Believe "git push --force" is sometimes the answer
  • Think "it's a feature, not a bug" is a valid response

Dedicated To

πŸ‘΅ Our babushkas - who don't understand what we do but are proud anyway
πŸš€ Open source - because knowledge should be free (like rakija at weddings)
πŸ’Ό Freelancers everywhere - fighting the good fight against impossible deadlines
🏚️ The Balkans - where we turn bugs into features and coffee into code

🀝 Contributing

Contributions are welcome! See CONTRIBUTING.md for details.

Especially welcome:

  • πŸ› Bug fixes (we've made plenty, we know)
  • ✨ New features (make it better than PhpStorm, let's show them!)
  • 🌍 Translations (Balkan languages first, obviously)
  • πŸ“ Documentation (in proper English, not our Balkan English)
  • β˜• Coffee donations (Bitcoin accepted, we're modern Slavs)

Development

# Clone and build
git clone https://github.com/yourusername/php-sunshine.git
cd php-sunshine
cargo build

# Run tests
cargo test

# Run with debug logging
RUST_LOG=debug cargo run

# Format code
cargo fmt

# Run linter
cargo clippy

⚑ Performance

  • Startup: < 50ms
  • Memory: < 10MB typical usage
  • File Opening: Instant for files < 10MB
  • Rendering: 60 FPS smooth scrolling

Built with:

  • πŸ¦€ Rust - Memory safety & performance
  • πŸ“Ί Ratatui - Terminal UI framework
  • πŸ”€ Ropey - Efficient text buffer
  • πŸ“‚ Ignore - Gitignore support
  • ⚑ Tokio - Async runtime

πŸ“„ License

MIT License - see LICENSE file

🌟 Star History

If you find PHP Sunshine useful, please ⭐ star the repo!

πŸ’¬ Community

πŸ† Hall of Shame (Things We've Debugged)

  • βœ… PrestaShop 1.6 module with 15,000 lines in one file
  • βœ… Laravel project with dd() in production (client found it)
  • βœ… Symfony config with more YAML than a Kubernetes deployment
  • βœ… PHP 5.3 code that "still works, don't touch it"
  • βœ… WordPress plugin disguised as a "simple modification"
  • βœ… "Quick fix" that became a 6-month project
  • βœ… Code commented in 3 languages, none of them English

If you've debugged any of these, you're one of us. Welcome home. 🏑

πŸŽ‰ Fun Facts

  • Lines of code written: 1,673
  • Cups of coffee consumed: ∞
  • "Why did I choose PHP?" moments: Daily
  • Money saved from PhpStorm: €200/year
  • Satisfaction from building it ourselves: Priceless

πŸš€ Final Words

Built with ❀️, Rust, rakija, and pure Balkan stubbornness! πŸ¦€β˜€οΈπŸ‡·πŸ‡ΈπŸ‡·πŸ‡΄

"When JetBrains wants your money but you'd rather spend it on čevapi and sarma."

"Fast, beautiful, and built for the frameworks you love (and the legacy code you're forced to maintain)."

🀝 Join the Revolution

Stop paying for IDEs. Start building them yourself.

PHP Sunshine: Because real Slavs don't pay subscriptions, they write Rust. πŸ’ͺ


Made in Serbia πŸ‡·πŸ‡Έ and Romania πŸ‡·πŸ‡΄ with love, spite, and way too much caffeine.

P.S. - If this IDE saves you money, buy your babushka those slippers. She deserves it. πŸ‘΅β€οΈ

About

β˜€οΈ PHP Sunshine IDE - Built by Serbian & Romanian devs who refuse to pay €200/year for PhpStorm. Material Design themes, Vim-style editing, built in Rust. PrestaShop, Laravel & Symfony support. πŸ¦€πŸ‡·πŸ‡ΈπŸ‡·πŸ‡΄

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published