CodeEditSourceEditor icon indicating copy to clipboard operation
CodeEditSourceEditor copied to clipboard

✨ Code Folding Ribbon

Open gaetgu opened this issue 2 years ago • 4 comments

Is your feature request related to a problem? Please describe.

No response

Describe the solution you'd like

One of the features that I love most about XCode specifically is the code folding ribbon to the side. You can fold a level of braces by clicking anywhere in the gradient level that you want. Screen Shot 2022-04-24 at 8 30 03 AM

Hover: Screen Shot 2022-04-24 at 8 31 04 AM

Clicked (folded code): Screen Shot 2022-04-24 at 8 31 40 AM

Here is a short recording of the whole process. There is a fancy animation that is not necessary, but it would be pretty cool to have!

https://user-images.githubusercontent.com/47652746/164981601-56c531e4-9420-4d46-96d7-f9d8456e5821.mov

Describe alternatives you've considered

n/a

Additional context

For reference, here is a picture of the ribbon in both dark and light mode: imgonline-com-ua-twotoone-0btV6nX2OfPxYH

gaetgu avatar Apr 24 '22 14:04 gaetgu

I have been messing around with CoreGraphics a little bit, and it looks like the ribbon is a gray (in light mode), transparent line with a width of 7 (not 6 or 8, which I find strange) and a round cap. They also have a very fine white stroke around the edge. My experiments are not that great and I can't quite get them to play nice with SwiftUI views, but I thought I would leave that basic information here in case it helps.

gaetgu avatar Apr 26 '22 18:04 gaetgu

I have been messing around with CoreGraphics a little bit, and it looks like the ribbon is a gray (in light mode), transparent line with a width of 7 (not 6 or 8, which I find strange) and a round cap. They also have a very fine white stroke around the edge. My experiments are not that great and I can't quite get them to play nice with SwiftUI views, but I thought I would leave that basic information here in case it helps.

Apple likes using odd numbers in everything

nanashili avatar Apr 27 '22 01:04 nanashili

I never understood this. I typically like designing in multiples of 2 (2, 4, 8, 12, 16, 20, 24, 32, 40, 48, 56, 64, 72, 80, 96, 104, etc.) because they can always divide into two without falling on a subpixel. This is especially helpful when dealing with responsive layouts and 1x and 2x densities. I think Apple chooses to design in odd numbers so that it can always have a center pixel.

austincondiff avatar Apr 27 '22 04:04 austincondiff

This may require #127 to be complete in order to begin working on this.

austincondiff avatar Jan 25 '23 16:01 austincondiff