Consider providing a standard way for formatters to report errors
- Ngôn ngữ chính
- Vim Script
- Star
- 1.1k
- Fork
- 102
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Currently, if formatters want to report errors, they update the quickfix list directly. (As shipped, only the gofmt formatter does this, but it would also make sense for e.g. google-java-format, were we to add support for that.) It would be nice to make it easier for formatters to report errors.
Additionally, we have some questions around when formatters should clear the quickfix list (e.g. #58), and I'm not sure how stacked formatters (#44) would work if formatters were managing the quickfix list individually.
I've been wondering whether formatters could pass a structured error list to codefmt somehow, and then codefmt itself could be responsible for merging/populating/hiding the quickfix list as appropriate, consistently.
As a strawman, perhaps `FormatRange()` (etc) could return a list of (line, column, message)? (Or accept a callback instead, if that sounds like a restrictive API? Would the line numbers be relative to the start of the range, for range formatting?)
And/or, since most formatters can get errors by looking for "file:line:column: error" on stderr, it might even be work providing a helper that handled exactly that pattern directly.
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng việc xem xét API của formatter xung quanh FormatRange() và hành vi được thảo luận trong các issue #58 và #44. Làm rõ liệu lỗi nên được trả về theo cấu trúc hay được báo cáo thông qua một callback, bao gồm các vị trí tương đối theo phạm vi và các formatter được xếp chồng. Được xem là hoàn thành khi codefmt nhất quán đảm nhiệm việc hợp nhất, xóa, điền và ẩn quickfix trên tất cả các formatter được hỗ trợ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- vim
- Lĩnh vực
- tooling
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100