clojure-emacs / clojure-emacs/clojure-mode
Indenting deftype with metadata on method implementations is inconsistent
- 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