fix(web): multiline highlight ranges are broken / omitted in LightweightCodeHighlighter
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- frontend
Direzione di ricerca
Inizia in LightweightCodeHighlighter.tsx e verifica come vengono filtrati e mappati gli highlightRanges per ogni riga. Verifica gli utilizzi correlati in symbolDefinitionPreview.tsx, fileMatch.tsx e referenceList.tsx. Il lavoro è completato quando le righe iniziali usano la colonna iniziale fino a line.length, le righe intermedie evidenziano da 0 a line.length e le righe finali usano 0 fino alla colonna finale.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
In LightweightCodeHighlighter.tsx, highlight ranges spanning multiple lines are not properly mapped across lines.
Currently, the component filters and maps ranges using:
// @todo: we will need to handle the case where a range spans multiple lines.
const ranges = highlightRanges?.filter(range => {
return range.start.lineNumber === lineNumber || range.end.lineNumber === lineNumber;
}).map(range => ({
from: range.start.column - 1,
to: range.end.column - 1,
}));
Consequences
- Middle Lines Dropped: Any line between
range.start.lineNumberandrange.end.lineNumberfails the conditionrange.start.lineNumber === lineNumber || range.end.lineNumber === lineNumber, resulting in zero highlighting for intermediate lines. - Column Inversion on Start/End Lines:
- Start Line:
tois set torange.end.column - 1(column from a different line). Ifstart.column > end.column,from > tocreates an invalid range. - End Line:
fromis set torange.start.column - 1(start line's column), clipping or omitting matches.
- Start Line:
Impacted Areas
This affects all views using LightweightCodeHighlighter:
- Symbol Definition Previews (
symbolDefinitionPreview.tsx): Multi-line types, interfaces, or function definitions have broken highlights in hover popovers. - Search Result Chunks (
fileMatch.tsx): Multi-line regex matches from Zoekt render corrupted or blank intermediate highlights. - References List (
referenceList.tsx): Multi-line call signatures and JSX nodes.
Expected Behavior
Highlight ranges spanning multiple lines should:
- Start line: Highlight from
start.columntoline.length. - Intermediate lines: Highlight the entire line (
0toline.length). - End line: Highlight from
0toend.column.
- Lingua principale
- TypeScript
- Stelle
- 3.9k
- Fork
- 374
- Merge medio
- 17h 15m
- PR unite (30g)
- 38
Preparare l'ambiente
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.
Altre issue di sourcebot-dev/sourcebot
-
bug(web): Intermediate directory nodes in buildFileTree receive child leaf paths instead of directory pathsForse già presa @riteshvish02 l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
sourcebot-dev/sourcebot#1707 ·
I maintainer di solito rispondono entro 1 giorno
-
[bug] Search result hydration performs duplicate repository lookups within the same chunkForse già presa @dipeshbabu l’ha presa 11 giorni fa. Apertabug triage needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
sourcebot-dev/sourcebot#1681 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Linux ctags build instructions in CONTRIBUTING.md are missing build dependenciesForse già presa @The-AarushiSingh l’ha presa 18 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
sourcebot-dev/sourcebot#1633 ·
I maintainer di solito rispondono entro 1 giorno
-
Generic Git URL configs keep percent-encoded repo namesForse già presa @Tyagiquamar l’ha presa 18 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
sourcebot-dev/sourcebot#1384 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
MCP ask_codebase rejects explicit languageModel: getLanguageModelKey includes displayName which the MCP schema doesn't exposeForse già presa @pranav718 l’ha presa 35 giorni fa. Apertaask_sb bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
sourcebot-dev/sourcebot#1137 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di sourcebot-dev/sourcebot
Issue simili
-
area/dashboard kind/bug QA/dev-automation
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
rancher/dashboard#19379 · 2 commenti ·
I maintainer di solito rispondono entro 5 giorni
-
perf(core): getComments() runs the approved count and the comment list as two sequential queriesApertaarea/core bot:bug bot:working
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
emdash-cms/emdash#3905 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
lingdojo/kana-dojo#31728 · 1 commento · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
selective-claw: freshTailTurns=0 keeps ALL turns verbatim and summarizes none (slice(-0) === slice(0))Forse già presa @zjncs l’ha presa oggi. Apertacomponent:tokenless
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
agentic-os-org/ANOLISA#6112 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
rjsf-team/react-jsonschema-form#5439 ·
I maintainer di solito rispondono entro 1 giorno