Lightning-fast for your navigation
A powerful C++ file navigator with symbol indexing and autocomplete capabilities.
Latest Release: v0.1 - Ready-to-use binaries for all platforms
| Platform | Download | Description |
|---|---|---|
| 🐧 Linux | navix-linux | Native Linux binary with ncurses |
| 🍎 macOS | navix-macos | Native macOS binary with ncurses |
| 🪟 Windows | navix-windows.exe | Windows executable with Console API |
| 📦 All Platforms | View All Assets | Complete release with all binaries |
# Linux/macOS - Download and run
wget https://github.com/zidniryi/navix/releases/download/v0.1/navix-native
chmod +x navix-native
./navix-native /path/to/your/project
# Windows - Download and run
# Download navix-windows.exe from releases
navix-windows.exe C:\path\to\your\project- Direct Download: Ready-to-use binaries (recommended)
- Package Managers: Debian (.deb), macOS (.pkg) installers
- Build from Source: Full compilation guide below
- Fast File Navigation: TUI-based interface for quick file browsing
- Symbol Indexing: Parse and index symbols from various programming languages
- Autocomplete Engine: Intelligent code completion suggestions
- Cross-Platform: Runs on Unix/Linux/macOS and Windows
- Performance Monitoring: Built-in performance profiling
- LSP Server: Language Server Protocol integration
- File Watching: Real-time file system monitoring
Navix supports both Unix/Linux/macOS (using ncurses) and Windows (using Windows Console API).
Use the provided build script for easy compilation:
# Build for all platforms
./build.sh all
# Build for current platform only
./build.sh native
# Build for Windows only (cross-compilation)
./build.sh windows
# Create macOS package installer (macOS only)
./build.sh pkg
# Create Debian package for Linux
./build_deb.sh
# Clean build artifacts
./build.sh clean# Install dependencies
# macOS: brew install ncurses
# Ubuntu/Debian: sudo apt install libncurses5-dev
# Fedora: sudo dnf install ncurses-devel
# Compile
g++ -std=c++17 -o navix-native src/*.cpp $(pkg-config --cflags --libs ncurses)# Install MinGW-w64
# macOS: brew install mingw-w64
# Ubuntu: sudo apt install mingw-w64
# Cross-compile for Windows
x86_64-w64-mingw32-g++ -std=c++17 -D_WIN32 -o navix-windows.exe src/*.cpp -static-libgcc -static-libstdc++- Uses Windows Console API instead of ncurses
- Simplified TUI interface optimized for Windows terminal
- All core functionality is preserved
- Executable is statically linked for easy distribution
- Full ncurses-based TUI with rich interface
- Advanced color support and window management
- Requires ncurses development headers
If you encounter the error:
fatal error: ncurses.h: No such file or directory
This happens when trying to compile for Windows, which doesn't have ncurses. The project now includes:
- Conditional compilation: Uses ncurses on Unix/Linux/macOS, Windows Console API on Windows
- Cross-platform abstractions: Unified interface for both platforms
- Automatic platform detection: CMake and manual builds detect the target platform
- Build scripts: Automated building for both platforms
# Create build directory
mkdir build && cd build
# Configure for native platform
cmake ..
make
# Configure for Windows cross-compilation
cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/mingw-w64-toolchain.cmake ..
make- Unix/Linux/macOS: ncurses library
- Windows: No external dependencies (statically linked)
- All platforms: C++17 compatible compiler
- Unix/Linux/macOS: ncurses development headers, pkg-config
- Windows cross-compilation: MinGW-w64 toolchain
# Build and create .deb package
git clone https://github.com/zidniryi/navix.git
cd navix
./build_deb.sh
# Install the package
sudo dpkg -i navix_1.0.0_amd64.deb
# If dependencies are missing, fix them with:
sudo apt-get install -f
# Verify installation
navix --version# Build and create package installer
git clone https://github.com/zidniryi/navix.git
cd navix
./build.sh pkg
# Install the package
sudo installer -pkg navix-installer.pkg -target /
# Or double-click navix-installer.pkg in Finder
# Verify installation
navix --version# Build and create Windows executable
git clone https://github.com/zidniryi/navix.git
cd navix
./build.sh windows
# The navix-windows.exe file is ready to use
# Copy to desired location or add to PATH
# Verify
navix-windows.exe --version- Clone the repository
- Install platform-specific dependencies
- Run the build script:
./build.sh all - Copy the appropriate executable to your desired location
# Build without installation
./build.sh native
./navix-native /path/to/project# Unix/Linux/macOS
./navix-native /path/to/your/project
# Windows
navix-windows.exe C:\path\to\your\project| Platform | TUI Interface | Symbol Indexing | Autocomplete | File Watching | Package Installer |
|---|---|---|---|---|---|
| Linux | ✅ (ncurses) | ✅ | ✅ | ✅ | ✅ (.deb) |
| macOS | ✅ (ncurses) | ✅ | ✅ | ✅ | ✅ (.pkg) |
| Windows | ✅ (Console) | ✅ | ✅ | ✅ | ✅ (.exe) |
The Debian package provides:
- System-wide installation: Installs to
/usr/local/bin/navix - Automatic dependency management: Handles ncurses dependencies
- Package manager integration: Install/remove with
dpkgorapt - Clean uninstall:
sudo dpkg -r navix
The macOS package installer provides:
- System-wide installation: Installs to
/usr/local/bin/navix - Automatic PATH setup: Available from any terminal
- Man page integration: Access help with
man navix - Clean uninstall: Proper removal of previous versions
- Documentation: Includes README, LICENSE, and CONTRIBUTING files
- Installer scripts: Pre/post-install automation
- Metadata: Proper package identification and versioning
The Windows executable provides:
- Portable binary: No installation required
- Static linking: All dependencies included
- Console interface: Windows-native TUI experience
- Easy distribution: Single executable file
/usr/local/bin/navix # Main executable
/usr/local/bin/navix # Main executable
/usr/local/share/man/man1/navix.1 # Man page
/usr/local/share/doc/navix/README.md # Documentation
/usr/local/share/doc/navix/LICENSE # License
/usr/local/share/doc/navix/CONTRIBUTING.md # Contributing guide
navix-windows.exe # Portable executable
📚 Complete Documentation Available!
For comprehensive documentation including API reference, development guides, troubleshooting, and advanced usage examples, see:
- 📋 Overview - Project features and supported languages
- 🏗️ Architecture - Core components and class hierarchy
- ⚙️ Installation - Platform-specific setup instructions
- 🚀 Usage Guide - Basic and advanced commands
- 📖 API Reference - Complete class and method documentation
- 🔧 Development Guide - Building from source and extending
- 🛠️ Troubleshooting - Common issues and solutions
- 💡 Examples - Practical usage and integration examples
- 🤝 Contributing - Guidelines for contributors
- Installation Guide - Get started quickly
- API Reference - Complete API documentation
- Usage Examples - Practical examples
- Troubleshooting - Solve common issues
See CONTRIBUTING.md for guidelines on contributing to this project.
This project is licensed under the terms specified in LICENSE.
Note: The cross-platform support ensures that Navix works seamlessly across different operating systems while maintaining full functionality. The Windows version uses a simplified but fully functional console interface that provides the same core navigation and indexing capabilities.
