Commit Graph

72 Commits

Author SHA1 Message Date
SebastianMC b854ce14ce #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
- functionality completed!!!
- increased coverage of the new functionality with unit tests
- more unit tests possible
- basic manual tests done
- next step: real-life usage tests
2023-10-21 00:40:38 +02:00
SebastianMC daf657721c #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
- advanced performance optimizations: bookmarks cache finetuning, switching to Obsidian sort code if the implicit bookmark-integration sorting spec is in effect for a folder and there are no bookmarked items in the folder
- unit tests for some of newly introduced functions
2023-10-04 13:19:19 +02:00
SebastianMC a07f55a037 #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
- completed!
- need to see if additional unit tests can be created
2023-09-28 16:08:24 +02:00
SebastianMC 0031ee3a83 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin 2023-09-26 19:49:38 +02:00
SebastianMC 8197fca0f7 #89 - Support for multi-level sorting
- minor fix
2023-09-26 19:37:03 +02:00
SebastianMC e866023bbf #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
- adjusted bookmarks integration to the merged from master multi-level sorting support and its implications
2023-09-26 19:33:19 +02:00
SebastianMC d8874629ba Merge branch 'master' into 74-integration-with-bookmarks-core-plugin
# Conflicts:
#	src/custom-sort/custom-sort.ts
#	src/custom-sort/sorting-spec-processor.ts
2023-09-26 19:26:00 +02:00
SebastianMC 1f0baebc41 #89 - Support for multi-level sorting
- full runtime processor extension plus necessary syntax adjustments
- backward compatibility with semi-two-levels
- extended meaning of sorting: lexeme
- extended and more fine-grained error messages for sorting order specifications
2023-09-26 18:56:44 +02:00
SebastianMC 3c0cc70b03 #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
- adjusted behavior of by-bookmark-comparator to adhere to the multi-level sorting support implemented in #89 and merged recently to this branch. Basically, each comparator is responsible only for its own comparison and should no fallback into other default comparisons - instead it should return 0, which indicates item which are equal from the perspective of the comparator
2023-09-19 15:50:42 +02:00
SebastianMC 527a03b050 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin
# Conflicts:
#	src/custom-sort/custom-sort.spec.ts
#	src/custom-sort/custom-sort.ts
2023-09-19 15:43:09 +02:00
SebastianMC c5cd18f498 #89 - Support for multi-level sorting
- full runtime handling (application) of multi-level sorting
- full unit tests coverage of new functions
- metadata-based sorting extended to be applicable at each of sorting level, possibly with different metadata + full unit tests coverage
- having the run-time part ready, the missing part is the extending the sorting-spec-processor.ts
2023-09-19 15:34:39 +02:00
SebastianMC 9f537f34c7 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin 2023-09-18 14:17:19 +02:00
SebastianMC 24af493734 Support for implicit sorting specs - refined priorities of implicit vs explicit rules
- new unit tests cover the changes
2023-09-18 14:04:33 +02:00
SebastianMC a3190cff62 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin
# Conflicts:
#	src/custom-sort/custom-sort.ts
2023-08-29 00:21:47 +02:00
SebastianMC 76ee3dfa62 #89 - Support for multi-level sorting
- fix in comparator by metadata to support multi-level sorting
- update of relevant existing unit tests
2023-08-29 00:17:58 +02:00
SebastianMC f72c4d61da #89 - Support for multi-level sorting
- removed unused imports
2023-08-29 00:12:06 +02:00
SebastianMC b809d73d54 Adjustment of comparator by bookmark order to support multi-level sorting 2023-08-29 00:09:07 +02:00
SebastianMC 85b0e722d2 Adjustment of comparator by bookmark order to support multi-level sorting 2023-08-29 00:07:45 +02:00
SebastianMC 726b3089b7 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin
# Conflicts:
#	src/custom-sort/custom-sort.ts
2023-08-29 00:06:32 +02:00
SebastianMC 8ea694fcf4 #89 - Support for multi-level sorting
- added run-time execution logic for multi-level sorting
- modified the sorter-by-metadata (required change for multi-level sorting)
- adjusted unit tests
- NO NEW UNIT TESTS
- no syntax added to support specification of multi-level (remains to be done)
2023-08-28 23:41:23 +02:00
SebastianMC 879c11b62f Introduction of 'overrideTitle' property for sorting group:
- sorting engine updated
- no dedicated syntax introduced, new feature used only in unit tests
- replaces the simplistic support for secondary sorting level for regexps
- unit tests
2023-08-25 19:10:38 +02:00
SebastianMC 2670cdb613 Fix for head tail regex match logic, when both regexp produce matching groups
- unit tests
2023-08-25 14:43:43 +02:00
SebastianMC 15c3ce833a Post-merge cleanup (auto-merge failures) 2023-08-24 11:30:15 +02:00
SebastianMC 947e384705 Post-merge cleanup (auto-merge failures) 2023-08-24 11:29:47 +02:00
SebastianMC eed3a65f08 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin
# Conflicts:
#	src/custom-sort/custom-sort.spec.ts
#	src/custom-sort/custom-sort.ts
2023-08-24 11:25:41 +02:00
SebastianMC 3cc58f69b9 Refactoring of internal processing context plus support for implicit sorting specs
- !!! NO UNIT TESTS ADDED - remember to do it
2023-08-24 11:18:22 +02:00
SebastianMC 45f5918598 Major improvement: added support for determining and applying sort order currently selected in Obsidian UI
- the meaning of CustomSortOrder.standardObsidian changes from a fixed one to what is actually selected in Obsidian UI
- the CustomSortOrder.standardObsidian can be applied at a folder level (as the default for folder) and at a group level (this is a major addition)
- added a mapping of Obsidian UI sorting methods onto internal plugin sorting methods, plus addition of the Obsidian UI logic to push folders to the top unconditionally
- !!! NO NEW UNIT TESTS FOR THIS FEATURE - must add later
- not tested manually, as the commits extraction and pushing is done as part of #88 github issue
2023-08-24 01:11:22 +02:00
SebastianMC 16f5d61818 Merge branch 'master' into 88-technical-aug-23-refactorings 2023-08-24 00:46:11 +02:00
SebastianMC 7a36f46fa8 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin
# Conflicts:
#	src/custom-sort/custom-sort.spec.ts
#	src/custom-sort/custom-sort.ts
2023-08-24 00:40:30 +02:00
SebastianMC 24355ff0a4 Bugfix in sorterByMetadataField - reverse order working correctly now
- fix in unit tests
2023-08-24 00:35:19 +02:00
SebastianMC b1f36156d1 Bugfix in sorterByMetadataField - reverse order working correctly now
- new unit tests
2023-08-24 00:28:24 +02:00
SebastianMC f48bc4d11f Simplification of this.app ==> app - this is a globally exposed object 2023-08-24 00:16:10 +02:00
SebastianMC 949b58b5ff Bugfix in sorterByMetadataField - reverse order working correctly now
- new unit tests
2023-08-24 00:15:32 +02:00
SebastianMC 24b37eb87c Bugfix in sorterByMetadataField - reverse order working correctly now
- new unit tests
2023-08-24 00:09:04 +02:00
SebastianMC 5304c9d601 Merge branch 'master' into 74-integration-with-bookmarks-core-plugin
# Conflicts:
#	src/custom-sort/custom-sort.ts
2023-06-30 19:30:59 +02:00
SebastianMC 037ada5a88
79 foldername variable support (#81)
* #79 - parent-folder-name variable support

- introductions of simplistic macros / templating support
- initially only one macro supported: {:%parent-folder-name%:}
  - macro expanded only for plain-text matching rules, ignored for regexp-based rules
  - for children of the root folder the macro is ignored
- unit tests for the new macros.ts
- unit tests for the testable part of updated custom-sort.ts
2023-06-30 19:05:29 +02:00
SebastianMC d32e71f064 #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
- singificants refactoring, compilable, basic functions work
2023-05-05 20:49:08 +02:00
SebastianMC 05fbb3f05e #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
- minor code reformatting for easier diff & readability
2023-04-19 17:06:03 +02:00
SebastianMC 99afdebba8 #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
Tons of updates:
- feature complete
  - context menu for 'bookmark this' and 'bookmark+siblings' for sorting
  - order of bookmarked siblings reflects the current sorting in File Explorer, whatever it is (!!!)
- unit tests probably missing for the additions
- list of TODO: updated in main.ts and other files inline
2023-04-19 16:59:35 +02:00
SebastianMC 71ab76652c #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
Tons of updates:
- full integration with standard sorting at folder level and at sorting group level
- refined support for implicit sorting for bookmarks plugin integration
- documentation update (partial, sketchy)
2023-04-18 11:35:10 +02:00
SebastianMC cc73b4d3f1 #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
- added new plugin setting to enable auto-integration with bookmarks
- not reviewed
- not tested
- no unit tests coverage
2023-04-12 12:47:45 +02:00
SebastianMC 56348006ce #74 - Integration with Bookmarks core plugin and support for indirect drag & drop arrangement
- feature code complete
- not reviewed
- not tested
- no unit tests coverage
2023-04-07 18:40:35 +02:00
SebastianMC aa31bee80c #72 - Advanced sorting by creation date doesn't work correctly
- bug fixed, the behavior of `< advanced created` sorting method corrected
- new unit tests to cover the scenario
2023-04-03 19:05:13 +02:00
SebastianMC e788c92543 #67 - feature alphabetic wildcard
- sorting symbol \a+ for ASCII word
- sorting symbol \A+ for any modern language word (involved advanced unicode regexp)
2023-03-07 19:01:44 +01:00
SebastianMC bd875fa804 #60 - Simplified integration with obsidian-icon-folder plugin
- extended the parser with support of new lexeme with-icon:, with or w/o parameter
- unit tests
2023-03-01 10:42:35 +01:00
SebastianMC 01af14b174 #60 - Simplified integration with obsidian-icon-folder plugin
- the plugin integration and matching part completed
- unit tests
2023-02-28 23:57:08 +01:00
SebastianMC f444614ddc #58 - Some target-folder: get ignored when sorting specs are read from two or more notes
- fixed the bug
2023-02-15 22:27:57 +01:00
SebastianMC 1cb8b2b05b Mobile-specific tweaks, e.g. new ribbon icon and documentation updates 2023-02-11 17:40:31 +01:00
SebastianMC 51733476e7 #50 - regexp and by-name matching support for target-folder
- more flexible syntax for target-folder modifiers: allow them in any order and also allow duplicates
2023-02-07 14:11:50 +01:00
SebastianMC afcb505633 #50 - regexp and by-name matching support for target-folder
- code readability (implicit structure turned into explicit interface)
2023-02-06 23:59:14 +01:00