Skip to content

✨ Allow configuring the line number font #376

Description

@gerardp

Description

SourceEditorConfiguration.Appearance.font configures the editor text font, but the line-number gutter replaces it with font.rulerFont in didSetOnController. There is currently no public API for choosing the exact font and point size used by line numbers.

A use case is an editor configured with Monaco 12 pt that should also render its line numbers in Monaco 12 pt. At present, this requires maintaining a fork and changing:

controller.gutterView.font = font.rulerFont

A backward-compatible API could be:

public var lineNumberFont: NSFont?

The current behavior could remain the default:

controller.gutterView.font = lineNumberFont ?? font.rulerFont

Alternatives Considered

  • Making GutterView.font public. Keeping the option in Appearance seems preferable because it avoids exposing the view implementation.
  • Always using Appearance.font for the gutter. This would change the existing default appearance, so an optional override is safer.

Additional Context

This request is different from #58 and #157: those issues addressed the default ruler font appearance and proportional scaling. This request is specifically about allowing API consumers to override that default.

Observed on current main at revision 1fa4d3c.

Screenshots

Not applicable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions