File tree 2 files changed +23
-1
lines changed
2 files changed +23
-1
lines changed Original file line number Diff line number Diff line change 40
40
// Adds <Tab> after list items instead of a single <space>.
41
41
"mde.list_align_text" : false ,
42
42
43
+ // MarkdownEditing (References):
44
+ // The sorting method used by the Organize References command.
45
+ // Should be one of
46
+ //
47
+ // 'marker_order': List in order of appearance in document
48
+ // 'alphabetical': Alphabetical based on reference name, sorting numerals lexagraphically
49
+ // 'numeric': Alphabetical based on reference name, sorting numeral chunks numerically
50
+ "mde.ref_organize_sort" : " marker_order" ,
51
+ "mde.ref_organize_sort_reverse" : false ,
52
+
43
53
// MarkdownEditing:
44
54
// Automatically switches list bullet when indenting blank list item with <Tab>.
45
55
"mde.list_indent_auto_switch_bullet" : true ,
Original file line number Diff line number Diff line change @@ -541,9 +541,21 @@ def run(self, edit):
541
541
flatrefs .append ((name , view .substr (line_reg ).strip ("\n " )))
542
542
sel .add (line_reg )
543
543
544
+ sorting_funcs = {
545
+ "marker_order" : lambda x : marker_order [x [0 ].lower ()]
546
+ if x [0 ].lower () in marker_order
547
+ else 9999 ,
548
+ "alphabetical" : lambda x : x [0 ].lower (),
549
+ "numeric" : lambda x : [
550
+ int (p ) if p .isnumeric () else p for p in re .split (r"[ _.-]" , x [0 ].lower ())
551
+ ],
552
+ }
553
+ settings = view .settings ()
554
+
544
555
flatfns .sort (key = operator .itemgetter (0 ))
545
556
flatrefs .sort (
546
- key = lambda x : marker_order [x [0 ].lower ()] if x [0 ].lower () in marker_order else 9999
557
+ key = sorting_funcs [settings .get ("mde.ref_organize_sort" , "marker_order" )],
558
+ reverse = settings .get ("mde.ref_organize_sort_reverse" , False ),
547
559
)
548
560
549
561
view .run_command ("left_delete" )
You can’t perform that action at this time.
0 commit comments