Tôi đã dành nhiều, nhiều giờ để cố gắng làm cho bất kỳ loại quy tắc / ngữ pháp thụt lề SMIE nào hoạt động.
Có bất kỳ ví dụ nào về chế độ dựa trên SMIE nhỏ, đồ chơi hoặc bộ xương với tài liệu về cách nó thực sự hoạt động, hoặc bất kỳ cuộc thảo luận nào về cách sử dụng nó không? Một cái gì đó, giả sử, định nghĩa một biểu thức là một chuỗi các mã thông báo kết thúc bằng dấu chấm phẩy và một khối là một số biểu thức giữa dấu ngoặc và không có gì khác. Thực sự, thực sự đơn giản?
Câu hỏi cụ thể: khi sử dụng smie-config-show-indent 90% thời gian tôi nhận được phản hồi ': list-intro "" -> nil'. Danh sách giới thiệu dựa trên định nghĩa của biểu thức hoặc danh sách biểu thức trên là gì? Tại sao nó nói không và vẫn thụt dòng sau đây? Làm thế nào để tôi thay đổi nó?
Thứ hai: có bất kỳ mối quan hệ nào giữa ngữ pháp và quy tắc smie của tôi không? Tôi cho rằng có bởi vì cả hai đều được chuyển vào thiết lập smie, nhưng tôi không thể tìm thấy bất kỳ cách nói nào, "khi bạn thấy một" khối ", thụt vào nội dung", ví dụ, dựa trên một ngữ pháp xác định một khối .
Thứ ba, SMIE dường như có rất nhiều quy tắc "nướng trong". Chỉ cần khởi động nó sẽ xử lý chung các dấu ngoặc, dấu ngoặc và dấu ngoặc đơn chẳng hạn. Có cách nào để xem các quy tắc này hoặc sửa đổi chúng? Hoặc là bảng cú pháp đang làm tất cả điều này và SMIE hoàn toàn không làm gì cả (điều mà tôi bắt đầu nghi ngờ).
Cuối cùng, khi cố gắng gỡ lỗi SMIE, tôi cố gắng thực hiện "chỉnh sửa, bộ đệm chế độ eval, đi đến mã ví dụ trong bộ đệm khác, chu trình MX <my mode>, test" nhưng dường như mỗi chuyến đi xung quanh không làm rõ các quy tắc từ chu kỳ trước. Làm thế nào tôi có thể chắc chắn rằng chế độ xác định xuất phát bắt đầu từ một bảng sạch? Tôi có (kill-all-local-biến) trong đó nhưng dường như không đủ và cuối cùng tôi phải đóng emacs.
Tôi không đăng bất kỳ ví dụ nào về những gì tôi có bởi vì tôi không có gì thậm chí còn hoạt động mơ hồ, ngoài việc làm nổi bật (sử dụng phông chữ khóa mặc định, vì vậy nó thậm chí không thực sự SMIE tôi đoán). Tôi cần một số bước thực sự của em bé.
lisp/progmodes/sh-script.el
dường như sử dụng smie.el
khá rộng rãi. Họ dường như cũng ghi nhận việc sử dụng nó vì vậy có lẽ đó là một ví dụ tốt hơn?