Define Windows environment key matching independently from POSIX byte matching

Đang mở
#1,009 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
38/100
Loại issue
Tái cấu trúc
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
rust

Hướng nghiên cứu

Start by reading std/env/parse.wave:34 and the shared _env_match_key helper, then inspect the Windows environment provider and its lookup path. Coordinate with @LunaStev to approve the Windows comparison and Unicode contract before implementation. Done means mixed-case and Path/PATH queries follow that contract, hidden drive entries have defined behavior, POSIX remains case-sensitive, and native Windows amd64/arm64 facade tests pass.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

discussion enhancement help wanted

Motivation

The shared _env_match_key helper matches Path and rejects PATH against a Path=value block. The Windows provider preserves key spelling in the UTF-8 block, while Windows environment lookup is case-insensitive. Wave currently uses the shared byte-exact path.

Starting point: std/env/parse.wave:34.

Validation

Audited canonical Wave 540728c2eb6cc12f5c69c3fb3fdb96e07ba059a4 (0.0.1-alpha-dev), whose tree matches the local checkout. Validation: Executed shared key matcher at O0/O2 and inspected Windows provider; no native Windows run. Executed compiler probes use the matching checkout-built compiler and std on Linux amd64 (Rust 1.89.0 / LLVM 21.1.8). Source/header or mocked checks are not native execution on another OS.

Microsoft environment-variable guidance distinguishes Windows from case-sensitive Linux/macOS variable names.

Scope

Decide the Windows key-comparison/Unicode contract while preserving POSIX case sensitivity. This concerns lookup after environment conversion, not the completed UTF-16 conversion work.

Related: #526. These links do not claim those broader or completed scopes are unfinished.

Design discussion required

This issue records a proposal or an unresolved contract; it is not approval to choose new semantics. Please mention @LunaStev to discuss the design before starting implementation.

Completion criteria

  • Path/PATH and mixed-case queries follow the approved Windows contract.
  • Unicode and hidden drive entries have explicit behavior.
  • POSIX matching remains case-sensitive and native Windows amd64/arm64 tests cover the facade.
Ngôn ngữ chính
Rust
Star
56
Fork
21
Merge trung bình
23 giờ 20 phút
Pull request đã merge (30 ngày)
45

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của wavefnd/Wave

Tất cả issue của wavefnd/Wave

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.