GitHub Monaspace Case Study
31 points by pushcx
31 points by pushcx
This is pretty interesting overall, and these fonts look cool for sure, but please don’t mix multiple typefaces for syntax highlighting. IMO the examples they show in this post all look cluttered and straining for the eye with the different typefaces mixing. Using a single typeface provides a consistency that I probably prefer, especially when starring at code for hours.
I went without syntax highlighting for a while and it’s fine, really. When you read a piece of code you start to build a mental model of the code’s syntactic structure anyway, and, after that point, highlighting vs no highlighting doesn’t play much of a role.
One exception is highlighting nested parentheses in different colors; this is genuinely very helpful.
I can buy their argument that the ability to mix typefaces is great if you for some reason have issues with using colors.
Their sample where they force every single font into a small screenshot is absolutely atrocious though.
Why hasn’t typography for code editors changed much since the advent of modern development tools? Why aren’t there more options available to developers who want to customize their experience of writing code?
In particular, why are there such limited options for developers who want to use proportional fonts for writing code?
are the options limited? I remember having fun changing to proportional fonts in PyCharm or Sublime back in the day for laughs/just having a fun time
There's a boring truth in the following though: if you're "drawing" in text (stuff like error messages and the like with arrows and lines), you're gonna have a hard time with a non-monospaced font.
Similarly if you're trying to look at tables, table alignment is useful. There are many circumstances where having an easy visual answer to "what values are in this column" is helpful.
This feels much more related to output than code itself though. The one language where alignment feels very helpful is Haskell with its pattern matching layouts and columns. After all, even whitespace sensitive languages like Python, most codebases are only going to be tabs or spaces so the whitespace itself should be consistently laid out, even if the text isn't!
These issues are just about tooling and coding conventions.
A code editor that supports proportional fonts should ideally also support Elastic Tabstops: https://nick-gravgaard.com/elastic-tabstops/
Likewise, there ought to be way to configure the editor to apply a monospace font as "syntax colouring" to specific comment blocks that contain ASCII graphics. I would trigger this on a comment syntax such as:
//` +----------------+
//` | ASCII GRAPHICS |
//` +----------------+
Texture Healing looks cool. It seems like a natural evolution of Commit Mono’s “smart kerning”. It takes a little getting used to have your letter forms dance around as you type them. For me, it’s worth it.
Really neat that they have a ton of customizable options, but I don't think most editors I use lets you adjust them.
The main page generates a line for you VS Code config.json at least, so you can configure ligatures.