Code Block Improvements

Code Block Improvements


I am using code blocks quite a bit. They are not bad, but coming from Notion I feel they could use some key quality of life improvements to make them awesome.

1. Remember language/wrap setting. The code language always resets to plain text on every new block in Nimbus, whereas in Notion it remembers even across notes what your last language was. Most users are likely to be using the same language all the time so it would be good if the default language could be manually set or remembered automatically. Same for wrap text feature.

2. Scroll bar is intrusive. Scroll bar is just a default Windows one so it doesn't match dark theme and is unnecessarily big. It could be much smaller and bottom aligned to save on space and match theme, again reference Notion, theirs is super space efficient and looks awesome on hover.

3. Wasted vertical space. Each code block has two lines of blank space, one top one bottom. For small code blocks this is very wasteful, these could be trimmed a lot by making the top and bottom elements (Scroll bar, language name, "..." button) only appear when user hovers mouse over the code block. In doing this, you could also make the language name be a button for the language dropdown menu and.....

4. Add Copy and Wrap buttons. If you implement idea 3, you can make the copy and wrap toggle buttons as well and you would have all functions available instead of hidden in a menu, more efficient to use. Another opportunity to beat Notion. :)

5. PowerShell name. This is nitpicky and not a big deal but Nimbus incorrectly lists the PowerShell language as Powershell, lowercase S. It should be an uppercase S, see: What is PowerShell? - PowerShell | Microsoft Docs