clojure-emacs / clojure-emacs/clojure-mode
Indenting deftype with metadata on method implementations is inconsistent
- Vorherrschende Sprache
- Emacs Lisp
- Sterne
- 999
- Forks
- 249
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
## Expected behavior
Indenting `deftype` forms should be consistent (and ideally aesthetically pleasing)
## Actual behavior
Method implementations with attached metadata in `deftype` seem to be indented as if they were common lists, instead of method implementations
## Steps to reproduce the problem
Try to indent:
```
(deftype MyType []
MyProtocol
(do-thing []
:indented)
(^:meta do-thing2 []
:not-indented))
```
(And notice it stays as-is, with `:indented` and `:not-indented` being indented inconsistently)
## Environment & Version information
### clojure-mode version
```
clojure-mode (version 5.13.0)
```
### Emacs version
GNU Emacs 27.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo version 1.16.0)
### Operating system
GNU Guix System
Beitragsleitfaden
Rechercherichtung
Beginne damit, das mitgelieferte deftype-Beispiel in clojure-mode mit Emacs 27.2 zu reproduzieren, und verfolge anschließend die Einrückungsbehandlung für Methodenimplementierungen und Metadaten. Als abgeschlossen gilt die Aufgabe, wenn die Body-Formen unter do-thing und do-thing2 eine konsistente Einrückung erhalten und dabei die normale deftype-Formatierung beibehalten wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- clojure, emacs-lisp
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100