I noticed that the developer of kitty terminal uses this style of comments I have rarely if ever seen elsewhere:
outside
#: section {{{
inside
#: }}}
Kate text editor recognize sections for purposes of highlighting, folding etc. It’s really nice for me because I sometimes I have a difficult time navigating large text files. And it lets you nest them.
- what is this called?
- are there other ways to do it?
- is it standard among text editors? I believe Kovid the dev for kittyis avimguy so presumably there is support there also.
- why don’t more people use it? are there problems?
Screenshot that shows the code folding.
- Cursor is at the end of line 7 so the whole section line 7-22 is highlighted
- lines 12-16 are folded in a 3rd level comment
- I also included tab indents just to make it easier to see what’s going on (Kate treats it the same way regardless of indents)
- Highlighting/Mode > Scripts > Bash

I also like his style of distinguishing between narrative comments (starting with #:) and commented-out code (starting with #). Although in my example, Kate doesn’t treat them differently. Is there a term for this? Any conventions, support etc?
plain text used for screenshot
#: Comment level 1 {{{
	#: Comment level 2 {{{
		#: configure something
		key value
	#: }}}
	#: Another Comment level 2 {{{
		#: Comment level 3 {{{
			#: Helpful explanatory comment
			file location
		#: }}}
		#: Comment level 3 with hidden text {{{
			you_cant see_this
			hidden_emoji "👁️"
			hidden_emoji2 " 👁️"
			hidden_emoji3 "   👁️"
		#: }}}
		#: let's set some things up
		# setting yes
		# other_setting no
		different_setting maybe
	#: }}}
	# regular comment
#: }}}
# regular comment outside anything
For a real world example, see sample kitty.conf file provided on project website.


It makes sense it’s a Vim thing since it’s used in kitty config. When I search for marker based folding as someone else said it’s called above, almost everything I get is for Vim. It’s always confused me why gui-based text editors seem to not have a lot of visually-based features like this compared to terminal-based editors. I guess it’s harder to create a system for user customization in a GUI application.
At least Kate has some support. Now that I know what it’s called I will look into what else is available there.