155 lines
4.5 KiB
Markdown
155 lines
4.5 KiB
Markdown
# Scitano 2.0 — Quickstart Guide
|
|
|
|
## System Requirements
|
|
|
|
| Requirement | Minimum | Recommended |
|
|
|-------------|---------|-------------|
|
|
| Rust toolchain | 1.75.0 | Latest stable |
|
|
| Operating System | Linux (glibc) | Linux (glibc), macOS |
|
|
| Display server | X11 | X11 or Wayland (XWayland) |
|
|
| RAM | 512 MB | 1 GB |
|
|
| Disk (build) | 200 MB | 500 MB |
|
|
| Disk (release binary) | 5 MB | 5 MB |
|
|
|
|
## Install Rust (if needed)
|
|
|
|
```bash
|
|
# Using rustup (recommended)
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
source "$HOME/.cargo/env"
|
|
|
|
# Verify
|
|
rustc --version # must be >= 1.75.0
|
|
cargo --version
|
|
```
|
|
|
|
## Clone and Build
|
|
|
|
### Option 1: Using build.sh (recommended)
|
|
|
|
```bash
|
|
git clone https://git.dcos.net/dcosnet/scitano.git
|
|
cd scitano
|
|
chmod +x build.sh
|
|
./build.sh
|
|
```
|
|
|
|
The `build.sh` script handles:
|
|
- Rust version check (>= 1.75)
|
|
- Clean release build with LTO
|
|
- Binary size reporting
|
|
- Install to `~/.local/bin/` (optional)
|
|
|
|
### Option 2: Manual cargo build
|
|
|
|
```bash
|
|
git clone https://git.dcos.net/dcosnet/scitano.git
|
|
cd scitano
|
|
cargo build --release
|
|
```
|
|
|
|
The binary is at `target/release/scitano`.
|
|
|
|
### Option 3: Install system-wide via cargo
|
|
|
|
```bash
|
|
git clone https://git.dcos.net/dcosnet/scitano.git
|
|
cd scitano
|
|
cargo install --path .
|
|
```
|
|
|
|
This places `scitano` in `~/.cargo/bin/` (ensure it's in your `$PATH`).
|
|
|
|
## Run
|
|
|
|
```bash
|
|
# From the build directory
|
|
./target/release/scitano
|
|
|
|
# If installed system-wide
|
|
scitano
|
|
```
|
|
|
|
Scitano opens with two sample buffers (`hello.rs` and `script.py`) pre-loaded.
|
|
|
|
## First 60 Seconds
|
|
|
|
1. **Save a file** — Press `Ctrl+O` while in the `hello.rs` tab
|
|
2. **Cut a line** — Move cursor to any line, press `Ctrl+K` (text from cursor to EOL is killed)
|
|
3. **Paste it back** — Press `Ctrl+U` to yank the kill-ring
|
|
4. **Build it** — Save first (`Ctrl+O`), then press `Ctrl+B` to compile and run the Rust file
|
|
5. **Check output** — Click the "Build Logs" tab in the bottom panel
|
|
6. **Switch tabs** — Click `script.py` in the tab bar
|
|
7. **Toggle sidebar** — Use View > Toggle Sidebar (or press the menu button)
|
|
8. **Get help** — Press `Ctrl+G` to see the full hotkey reference in the Messages pane
|
|
|
|
## Linting Support (optional)
|
|
|
|
Scitano can lint files if the appropriate tools are installed on your system:
|
|
|
|
| Language | Linter | Install |
|
|
|----------|--------|---------|
|
|
| Rust | `rustc` | Comes with Rust toolchain |
|
|
| Python | `python3 -m py_compile` | `sudo apt install python3` |
|
|
| Shell | `shellcheck` | `sudo apt install shellcheck` |
|
|
| C | `gcc -fsyntax-only` | `sudo apt install gcc` |
|
|
| C++ | `g++ -fsyntax-only` | `sudo apt install g++` |
|
|
| JavaScript | `node --check` | `sudo apt install nodejs` |
|
|
|
|
Lint is triggered by `Ctrl+L` or Build > ^L Lint Syntax.
|
|
|
|
## Build Tools (optional)
|
|
|
|
| Language | Compiler | Install |
|
|
|----------|----------|---------|
|
|
| Rust | `rustc` | Comes with Rust toolchain |
|
|
| C | `gcc` | `sudo apt install gcc` |
|
|
| C++ | `g++` | `sudo apt install g++` |
|
|
| Python | `python3` | `sudo apt install python3` |
|
|
| JavaScript | `node` | `sudo apt install nodejs` |
|
|
| Go | `go` | `sudo apt install golang-go` |
|
|
| Ruby | `ruby` | `sudo apt install ruby` |
|
|
| Lua | `lua` | `sudo apt install lua5.3` |
|
|
| Perl | `perl` | Usually pre-installed |
|
|
|
|
Build is triggered by `Ctrl+B` (build+run), or via the Build menu.
|
|
|
|
## Troubleshooting
|
|
|
|
### "No file path. Save first."
|
|
|
|
Build and run require the file to exist on disk. Press `Ctrl+O` to save before building.
|
|
|
|
### Display issues on Wayland
|
|
|
|
Scitano uses iced which relies on winit. On Wayland, ensure XWayland is available:
|
|
```bash
|
|
# Check if XWayland works
|
|
WAYLAND_DISPLAY= xdotool --version 2>/dev/null && echo "XWayland OK" || echo "XWayland missing"
|
|
```
|
|
|
|
### Compilation fails with linker errors
|
|
|
|
On some minimal installs, you may need system libraries:
|
|
```bash
|
|
# Debian/Ubuntu
|
|
sudo apt install libx11-dev libfontconfig-dev libfreetype-dev pkg-config
|
|
|
|
# Fedora
|
|
sudo dnf install xorg-x11-devel fontconfig-devel freetype-devel pkgconfig
|
|
```
|
|
|
|
### Slow first build
|
|
|
|
The first `cargo build --release` downloads and compiles iced and its dependencies. This takes 3-5 minutes on a typical machine. Subsequent builds are incremental and fast.
|
|
|
|
## Binary Size
|
|
|
|
With the release profile (LTO, strip, panic=abort), the binary is approximately 4-6 MB depending on the target platform.
|
|
|
|
## Next Steps
|
|
|
|
- Read the full [README.md](README.md) for complete feature documentation
|
|
- Press `Ctrl+G` inside the editor for the hotkey quick-reference
|
|
- Use the Syntax menu to manually override syntax highlighting
|
|
- Use the AI-Bridge menu to connect to Aider/Ollama for AI-assisted editing |