File tree Expand file tree Collapse file tree 2 files changed +23
-1
lines changed Expand file tree Collapse file tree 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 @@ -539,9 +539,21 @@ def run(self, edit):
539
539
flatrefs .append ((name , view .substr (line_reg ).strip ("\n " )))
540
540
sel .add (line_reg )
541
541
542
+ sorting_funcs = {
543
+ "marker_order" : lambda x : marker_order [x [0 ].lower ()]
544
+ if x [0 ].lower () in marker_order
545
+ else 9999 ,
546
+ "alphabetical" : lambda x : x [0 ].lower (),
547
+ "numeric" : lambda x : [
548
+ int (p ) if p .isnumeric () else p for p in re .split (r"[ _.-]" , x [0 ].lower ())
549
+ ],
550
+ }
551
+ settings = view .settings ()
552
+
542
553
flatfns .sort (key = operator .itemgetter (0 ))
543
554
flatrefs .sort (
544
- key = lambda x : marker_order [x [0 ].lower ()] if x [0 ].lower () in marker_order else 9999
555
+ key = sorting_funcs [settings .get ("mde.ref_organize_sort" , "marker_order" )],
556
+ reverse = settings .get ("mde.ref_organize_sort_reverse" , False ),
545
557
)
546
558
547
559
view .run_command ("left_delete" )
You can’t perform that action at this time.
0 commit comments