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 4040 // Adds <Tab> after list items instead of a single <space>.
4141 "mde.list_align_text" : false ,
4242
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+
4353 // MarkdownEditing:
4454 // Automatically switches list bullet when indenting blank list item with <Tab>.
4555 "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):
539539 flatrefs .append ((name , view .substr (line_reg ).strip ("\n " )))
540540 sel .add (line_reg )
541541
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+
542553 flatfns .sort (key = operator .itemgetter (0 ))
543554 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 ),
545557 )
546558
547559 view .run_command ("left_delete" )
You can’t perform that action at this time.
0 commit comments