clojure-emacs / clojure-emacs/clojure-mode

Indenting deftype with metadata on method implementations is inconsistent

Offen
#603 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug indentation
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.