clojure-emacs / clojure-emacs/clojure-mode
Indentation of `clojure.test/are`
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Emacs Lisp
- Star
- 999
- Fork
- 249
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Expected behavior
I was expecting clojure-mode's indentation to behave similar to cider-format and lein cljfmt. Is there some way to configure clojure-mode to indent the same way as cider-format?
Actual behavior
The macro clojure.test/are is indented one way with M-x cider-format (and lein cljfmt), but another way when using clojure-mode's indentation rules (with aggressive-indent-mode). The latter uses one space less than the former for the second argument to are (when it is on a new line).
Steps to reproduce the problem
The code is formatted as following using clojure-mode indentation:
(deftest are-test
(are [x y]
(= x y)
1 1
2 2))
And as following when using cider-format indentation (note the extra space on line 3):
((deftest are-test
(are [x y]
(= x y)
1 1
2 2))
Environment & Version information
clojure-mode version information
clojure-mode (version 5.11.0)
Emacs version
GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.12, cairo version 1.17.3) of 2019-11-26
Operating system
Arch Linux
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Tái hiện các ví dụ clojure.test/are bằng các quy tắc thụt lề của clojure-mode với aggressive-indent-mode, sau đó so sánh chúng với M-x cider-format và lein cljfmt. Truy theo các điểm vào thụt lề của clojure-mode và xác định xem khoảng trắng thừa có thể được cấu hình hoặc làm cho nhất quán hay không; hoàn tất khi các form được hiển thị sử dụng cách thụt lề khớp nhau.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- clojure, emacs-lisp
- Lĩnh vực
- tooling
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100