microsoft / microsoft/TypeScript-TmLanguage
Unexpected coloring of the token in the editor
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 471
- Fork
- 149
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
While examining code in the diff editor, I noticed that the color schema appears to be off. Notice how in the following image, the this token on line 322 is colored green while it should actually be a dark blue (like the other this tokens).
I was using the following code:
Code
private _renderFoldingIconForLine(container: HTMLSpanElement, foldingModel: FoldingModel | null | undefined, index: number, line: number): FoldingIcon | undefined {
const showFoldingControls: 'mouseover' | 'always' | 'never' =
this._editor.getOption(EditorOption.showFoldingControls);
if (!foldingModel || showFoldingControls === 'never') {
return;
}
const foldingRegions = foldingModel.regions;
const indexOfFoldingRegion = foldingRegions.findRange(line);
const startLineNumber = foldingRegions.getStartLineNumber(indexOfFoldingRegion);
const isFoldingScope = line === startLineNumber;
if (!isFoldingScope) {
return;
}
const foldingIconNode = container.appendChild(document.createElement('div'));
const isCollapsed = foldingRegions.isCollapsed(indexOfFoldingRegion);
foldingIconNode.className = ThemeIcon.asClassName(isCollapsed ? foldingCollapsedIcon : foldingExpandedIcon);
const foldingIcon = new FoldingIcon(foldingIconNode, isCollapsed);
foldingIcon.setVisible(isCollapsed || showFoldingControls === 'always');
foldingIcon.setTransitionRequired(true);
this._foldingIconStore.add(dom.addDisposableListener(foldingIconNode, dom.EventType.CLICK, () => {
toggleCollapseState(foldingModel, Number.MAX_VALUE, [line]);
foldingIcon.isCollapsed = !isCollapsed;
const scrollTop = (
isCollapsed ?
this._editor.getTopForLineNumber(startLineNumber)
: this._editor.getTopForLineNumber(foldingRegions.getEndLineNumber(indexOfFoldingRegion)))
- this._lineHeight * index + 1;
this._editor.setScrollTop(scrollTop);
}));
return foldingIcon;
}
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
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 la colorazione nell’editor delle differenze di VS Code utilizzando lo snippet TypeScript e lo screenshot forniti, quindi esamina la grammatica TextMate di TypeScript e gli scope dei token per il token this interessato. L’issue è completata quando quel token riceve la stessa colorazione blu scuro degli altri token this.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- tooling
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100