이 모노레포에 오신 것을 환영합니다. 이 저장소의 모든 폴더는 아마도 crates.io에 게시된 별도의 Rust 프로젝트(상자)입니다. 그리고 이것이 Rust 작업 공간을 구성합니다.
이 모노레포 또는 Rust 작업공간에 대한 변경 로그는 다음과 같습니다. 이곳은 이 Rust 작업 공간에 있는 각 프로젝트의 최근 변경 사항에 익숙해지기 시작하기에 좋은 곳입니다.
목차:
다음은 이 Rust 작업 공간을 구성하는 각 상자에 대한 높은 수준의 개요입니다.
"전체" TUI부터 "부분" TUI까지, 모든 것이 중간에 있는 상자가 있습니다.
r3bl_tui
완전 비동기식인 동시에 원시 모드 "대체 화면" 및 "전체 화면" 지원을 제공합니다. 이에 대한 예는 r3bl-cmdr
상자의 "전체 TUI" 앱 edi
입니다. 다음 명령을 사용하여 이를 설치하고 실행할 수 있습니다.
cargo install r3bl-cmdr
edi
r3bl_terminal_async
"async readline & stdout"을 사용하여 자신만의 비동기 셸 프로그램을 쉽게 구축할 수 있는 기능을 제공합니다.
이에 대한 예는 다음과 같습니다.
r3bl_tuify
차단 상호 작용을 통해 자신만의 CLI 프로그램을 쉽게 구축할 수 있는 기능을 제공합니다. 이는 메인 스레드를 차단하면서 사용자 입력을 얻고, 메인 스레드가 차단된 동안 원시 모드를 사용하는 데 유용합니다. 이에 대한 예시 앱은 r3bl-cmdr
상자의 giti
앱입니다. 다음 명령을 사용하여 이를 설치하고 실행할 수 있습니다.
cargo install r3bl-cmdr
giti
이러한 최상위 상자를 만드는 데 사용되는 다른 기본 상자가 많이 있습니다. 다음은 그 중 짧은 목록입니다.
r3bl_core
에는 다른 상자에서 사용되는 많은 저수준 유틸리티가 포함되어 있습니다. 여기에는 선언적 매크로, 색상, 스타일, 유니코드 지원 등과 같은 것들이 포함됩니다. 시간이 지남에 따라 일부 코드가 "상위 수준" 크레이트에서 생성되고 다른 크레이트에서 유용하다면 이 크레이트로 이동됩니다. 그리고 이것은 변경 로그에 기록되어 있습니다.
r3bl_test_fixtures
에는 다른 상자에 사용되는 많은 테스트 픽스처가 포함되어 있습니다. 여기에는 stdio에 대한 모의 객체 및 이벤트 스트림(사용자 상호 작용에 의해 생성되는 입력 이벤트)이 포함됩니다.
r3bl_ansi_color
는 이 작업 공간의 다른 상자와 다소 관련이 없는 상자입니다. 터미널 프로그램에서 ANSI 색상을 쉽게 사용할 수 있는 깔끔한 API를 제공합니다. 더 복잡한 상자를 사용하고 싶지 않고 스타일이 지정된 텍스트를 터미널에 출력하기만 하면 이 상자가 적합합니다.
이러한 기본 상자를 사용하여 구축된 사용자 대상 앱만 포함하는 상자도 있습니다. 이것은 giti
및 edi
앱(위에 설명됨)을 제공하는 r3bl-cmdr
상자입니다. 다음 명령을 사용하여 이를 설치하고 실행할 수 있습니다.
cargo install r3bl-cmdr
이 상자를 어떻게 만들었는지 알아보려면 다음 리소스를 살펴보세요.
이 작업 영역에 대한 CI/CD 파이프라인 등을 실행하는 데 사용할 수 있는 nushell
스크립트가 있습니다(로컬 전용 작업). 이들 목록을 얻으려면 이 저장소 run
의 루트에 있는 nushell
스크립트를 볼 수 있습니다. 실행할 수 있는 명령에 대한 아이디어를 얻으려면 다음 명령을 실행해 보십시오.
cargo install nu
nu run
다음과 같은 출력이 표시됩니다.
Usage: run <command> [args]
<command> can be:
all
all-cicd
build
build-full
clean
install-cargo-tools
test
docs
check
check-watch
clippy
clippy-watch
serve-docs
upgrade-deps
rustfmt
help
예를 들어:
nu run all-cicd
명령은 이 작업 영역에 대한 CI/CD 파이프라인을 실행합니다.nu run all
명령을 실행하여 CI/CD 파이프라인 등을 실행할 수 있습니다(로컬 전용 작업). 이 작업공간에 포함된 각 크레이트에는 run
이라는 이름의 고유한 nushell
스크립트가 있을 수도 있습니다. 이는 이 작업공간에서 사용되는 규칙입니다. 각 크레이트에서 run
스크립트를 실행하여 해당 크레이트에 특정한 명령 목록을 얻을 수 있습니다.
이 저장소가 성장하고, 변경되고, 성숙해짐에 따라 가지치기가 필요합니다. r3bl-open-core-archive
는 더 이상 필요하지 않은 모든 코드와 아티팩트가 이동되는 곳입니다.
이렇게 하면 아무것도 "손실"되지 않으며 제거된 코드 중 일부를 사용해야 하는 경우 그곳에서 찾을 수 있습니다.
또한 이 코드를 변경하고 직접 유지관리하려면 알려주시기 바랍니다.