microsoft / microsoft/TypeScript
Formatter: indent second operand of intersection operator on next line one indent more
Nessuno ha ancora preso questa issue.
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.4k
- Merge medio
- 1g 19h
- PR unite (30g)
- 117
Descrizione
I use "vscode.typescript-language-features" as my default JS/TS formatter, and when formatting long lines, the indentation could be improved.
As an example, this is the resulting code after "vscode.typescript-language-features":
const Label = React.forwardRef<
React.ElementRef<typeof LabelPrimitive.Root>,
React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &
VariantProps<typeof labelVariants> // <= This line isn't sufficiently indented.
>(({ className, ...props }, ref) => (
<LabelPrimitive.Root
className={cn(labelVariants(), className)}
ref={ref}
{...props}
/>
));
Please note that the 4th line isn't indented deeper.
What would be visually clearer would be:
const Label = React.forwardRef<
React.ElementRef<typeof LabelPrimitive.Root>,
React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &
VariantProps<typeof labelVariants> // <= This line indented deeper.
>(({ className, ...props }, ref) => (
<LabelPrimitive.Root
className={cn(labelVariants(), className)}
ref={ref}
{...props}
/>
));
Is there a way to wrap them in a way that the result looks like the second snippet?
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci l’output del formatter usando l’esempio TypeScript/JavaScript nell’issue, quindi traccia il modo in cui vengono formattate le intersezioni di tipi multilinea. Confronta l’indentazione attuale con quella richiesta e aggiungi la coverage per il caso mostrato; il lavoro è completo quando il secondo operando è indentato di un livello in più senza modificare la formattazione non correlata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, typescript
- Ambito
- tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100