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 @@ -541,9 +541,21 @@ def run(self, edit):
541541 flatrefs .append ((name , view .substr (line_reg ).strip ("\n " )))
542542 sel .add (line_reg )
543543
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+
544555 flatfns .sort (key = operator .itemgetter (0 ))
545556 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 ),
547559 )
548560
549561 view .run_command ("left_delete" )
You can’t perform that action at this time.
0 commit comments