@@ -31,6 +31,7 @@ Editor::Editor()
3131 fFoldMarginEnabled(false ),
3232 fBookmarkMarginEnabled(false ),
3333 fBracesHighlightingEnabled(false ),
34+ fBoldFoldMarkersEnabled(false ),
3435 fTrailingWSHighlightingEnabled(false ),
3536 fType(" " ),
3637 fReadOnly(false )
@@ -478,7 +479,7 @@ Editor::SetFoldMarginEnabled(bool enabled)
478479 fFoldMarginEnabled = enabled;
479480 const int foldEnabled = SendMessage (SCI_GETPROPERTYINT, (uptr_t ) " fold" , 0 );
480481 const int32 fontSize = SendMessage (SCI_STYLEGETSIZE, 32 );
481- const int32 foldWidth = foldEnabled && enabled ? fontSize * 0.95 : 0 ;
482+ const int32 foldWidth = foldEnabled && enabled ? fontSize * ( fBoldFoldMarkersEnabled ? 1.25 : 0.95 ) : 0 ;
482483 SendMessage (SCI_SETMARGINWIDTHN, Margin::FOLD, foldWidth);
483484}
484485
@@ -501,6 +502,30 @@ Editor::SetBracesHighlightingEnabled(bool enabled)
501502}
502503
503504
505+ void
506+ Editor::SetBoldFoldMarkersEnabled (bool enabled)
507+ {
508+ if (fBoldFoldMarkersEnabled == enabled) {
509+ // no changes needed
510+ return ;
511+ }
512+
513+ const int32 strokeWidth = enabled ? 300 : 100 ;
514+ SendMessage (SCI_MARKERSETSTROKEWIDTH, SC_MARKNUM_FOLDER, strokeWidth);
515+ SendMessage (SCI_MARKERSETSTROKEWIDTH, SC_MARKNUM_FOLDEROPEN, strokeWidth);
516+ SendMessage (SCI_MARKERSETSTROKEWIDTH, SC_MARKNUM_FOLDEREND, strokeWidth);
517+ SendMessage (SCI_MARKERSETSTROKEWIDTH, SC_MARKNUM_FOLDERMIDTAIL, strokeWidth);
518+ SendMessage (SCI_MARKERSETSTROKEWIDTH, SC_MARKNUM_FOLDEROPENMID, strokeWidth);
519+ SendMessage (SCI_MARKERSETSTROKEWIDTH, SC_MARKNUM_FOLDEROPEN, strokeWidth);
520+ SendMessage (SCI_MARKERSETSTROKEWIDTH, SC_MARKNUM_FOLDERSUB, strokeWidth);
521+ SendMessage (SCI_MARKERSETSTROKEWIDTH, SC_MARKNUM_FOLDERTAIL, strokeWidth);
522+
523+ fBoldFoldMarkersEnabled = enabled;
524+ // reset our margin width
525+ SetFoldMarginEnabled (fFoldMarginEnabled );
526+ }
527+
528+
504529void
505530Editor::SetTrailingWSHighlightingEnabled (bool enabled)
506531{
0 commit comments