clojure-emacs / clojure-emacs/clojure-mode

Indenting deftype with metadata on method implementations is inconsistent

Aperta
#603 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
bug indentation
Lingua principale
Emacs Lisp
Stelle
1k
Fork
249
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## 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

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia riproducendo l’esempio di deftype fornito in clojure-mode con Emacs 27.2, quindi traccia la gestione dell’indentazione per le implementazioni dei metodi e i metadati. Il lavoro è completato quando le forme del corpo sotto do-thing e do-thing2 ricevono un’indentazione coerente, mantenendo al contempo la normale formattazione di deftype.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
clojure, emacs-lisp
Ambito
tooling
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.