MCPcopy
hub / github.com/micro-editor/micro / drawDiffGutter

Method drawDiffGutter

internal/display/bufwindow.go:298–328  ·  view source on GitHub ↗
(backgroundStyle tcell.Style, softwrapped bool, vloc *buffer.Loc, bloc *buffer.Loc)

Source from the content-addressed store, hash-verified

296}
297
298func (w *BufWindow) drawDiffGutter(backgroundStyle tcell.Style, softwrapped bool, vloc *buffer.Loc, bloc *buffer.Loc) {
299 if vloc.X >= w.gutterOffset {
300 return
301 }
302
303 symbol := ' '
304 styleName := ""
305
306 switch w.Buf.DiffStatus(bloc.Y) {
307 case buffer.DSAdded:
308 symbol = '\u258C' // Left half block
309 styleName = "diff-added"
310 case buffer.DSModified:
311 symbol = '\u258C' // Left half block
312 styleName = "diff-modified"
313 case buffer.DSDeletedAbove:
314 if !softwrapped {
315 symbol = '\u2594' // Upper one eighth block
316 styleName = "diff-deleted"
317 }
318 }
319
320 style := backgroundStyle
321 if s, ok := config.Colorscheme[styleName]; ok {
322 foreground, _, _ := s.Decompose()
323 style = style.Foreground(foreground)
324 }
325
326 screen.SetContent(w.X+vloc.X, w.Y+vloc.Y, symbol, nil, style)
327 vloc.X++
328}
329
330func (w *BufWindow) drawLineNum(lineNumStyle tcell.Style, softwrapped bool, vloc *buffer.Loc, bloc *buffer.Loc) {
331 cursorLine := w.Buf.GetActiveCursor().Loc.Y

Callers 1

displayBufferMethod · 0.95

Calls 2

SetContentFunction · 0.92
DiffStatusMethod · 0.80

Tested by

no test coverage detected