Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

Getting Started

Design Documentation

This is the design documentation for the project. If you are not familiar with the project, please read the Getting Started first.

Application

Applications

Rust

Dependencies

Mirrors

  1. https://mirrors.tuna.tsinghua.edu.cn/rustup/dist
  2. https://rsproxy.cn/rustup

Install Rust

Reference: https://forge.rust-lang.org/infra/other-installation-methods.html

Standalone Installers (Rustup)

  1. Check the system environment
  2. List Rust versions ( https://static.rust-lang.org/dist/channel-rust-stable.toml )
  3. Download the installation package for the corresponding version. ( https://static.rust-lang.org/rustup/dist/{TARGET_TRIPLE}/rustup-init{.exe?} )
  4. Install to the designated location
  5. Check the installation status

Standalone Installers (No Rustup)

  1. Check the system environment
  2. List Rust versions ( https://static.rust-lang.org/dist/channel-rust-stable.toml )
  3. Download the installation package for the corresponding version. ( https://static.rust-lang.org/rustup/dist/rustc-{VERSION}-{TARGET_TRIPLE}.tar.xz )
  4. Unzip the installation package
  5. Install to the designated location
  6. Check the installation status

Source Code (No Rustup)

  1. Choose Host Rust versions
  2. Check the system environment
  3. List Rust Source versions ( https://static.rust-lang.org/dist/channel-rust-stable.toml )
  4. Download the source code ( https://static.rust-lang.org/dist/rustc-{VERSION}-src.tar.xz )
  5. Unzip the source code
  6. Compile the source code
  7. Install to the designated location (or system link)
  8. Check the installation status

Uninstall Rust

Rustup

  1. Run rustup self uninstall
  2. Check the uninstallation status

Source Code

  1. Remove the installation files (or system link)
  2. Clean the source code directory (optional)
  3. Check the uninstallation status

Update Rust

Rustup

  1. Run rustup update

Source Code

  1. Choose Host Rust versions
  2. Check the system environment
  3. List Rust Source versions ( https://static.rust-lang.org/dist/channel-rust-stable.toml )
  4. Download the source code ( https://static.rust-lang.org/dist/rustc-{VERSION}-src.tar.xz )
  5. Unzip the source code (Overwrite)
  6. Compile the source code
  7. Install to the designated location (or system link)
  8. Check the installation status

LLVM

GCC

Python

GDB

LLDB

Git

Jujutsu

Version

Authors

Derive

User Interface(UI)

v1

#![allow(unused)]
fn main() {
use std::net::SocketAddr;
use std::time::Duration;
use algosul::ui::*;
use algosul::derive::*;

#[derive(UI, DataSync)]
#[ui(key = "time-sync", widget = "Taps::new()")]
enum TimeSync {
  #[ui(title_key = "unknown")]
  #[ui_cfg(class = "show", widget = "Text::new()")]
  #[ui_cfg(class = "input", ignore)]
  Unknown,
  #[ui(title_key = "no-sync")]
  No,
  #[ui(title_key = "auto-sync")]
  Auto {
    url: String,
    refresh_duration: Duration,
  }
}
}

v2

  1. async + Rc<RefCell<T>>
  2. Sender and Receiver
#![allow(unused)]
fn main() {
use algosul::{ui::*, derive::*};
#[derive(DataSync)]
enum TimeSync {
  Unknown,
  No,
  Auto {
    url: String,
    refresh_duration: Duration,
  }
}

impl Widget for TimeSync {
  fn build(&self) -> Box<dyn Widget> {}
}

}

Utilities

I/O

Traits

Download

Upload

Execute

Virtual File System (VFS)

TypeIdentifier
File SystemFileSystem
PathPath
FileFile
DirectoryDirectory
DeviceDevice
SocketSocket

Target

‘target’ indicates the target platform on which the software runs

Specification

Architectures

bits3264
x86i586/i686x86_64
aarcharm (aarch32)aarch64
loongarchloongarch32loongarch64
riscvriscv32imacriscv64gc

Operating Systems (OS)

Unix

Linux

Android

Darwin

Windows

Vendor

ABI

Adapter

LLVM Target

  • <arch>-<vendor>-<os>-<abi>

Rust Target

  • <arch>-<vendor>-<os>-<abi>

Data Layout

Math

User Interface (UI)

View

Cargo Plugin (cargo-algosul)

Project Manage

Project Init

Project Build

Project Test

Project Clean

Project Run

Project Debug

IDE Plugins

IDEA (IntelliJ) Plugin

VSCode Plugin