- Sort lines by content or length in the editor.
- 2190 Installs
Extension for nova.app that allows you to perform simple sorting on selections.
Currently you can sort in 6 different ways:
- Sort inline
- Sort inline (case sensitive)
- Sort lines alphanumerically
- Sort lines alphanumerically (case sensitive)
- Sort lines based on length
- Sort lines based on length (reversed)
// 1. Sort inline cba120 --> 012abc // if case sensitive cba120CBA --> 012aAbBcC // 2. Sort inline (multiline) cba 210 // Becomes abc 012 // 3. Sort lines (case sensitive) ABC abc 123 // Becomes 123 abc ABC // and ABC1 abc2 // Becomes ABC1 abc2 // the numbers matter more than the case. // It is worth mentioning that because the use case for the sorting is programming // we do not take into account numbers currently. Meaning that: 1 2 10 // Becomes 1 10 2 // 4. Sort lines (case insensitive) ABC abc 123 // Becomes 123 ABC abc // 5. Sort lines based on length aaa aa a // Becomes a aa aaa // 6. Sort lines (length reversed) b bbb bb bbbb // Becomes bbbb bbb bb b
Behind the scenes we are using the Intl.Collator for the sorting. Since we are not hardcoding the locale I suspect the sorting will actually be slightly different depending on your locale and the language you are sorting, but I am not sure. If this is the case that's fantastic!. If you can confirm or deny this please open an issue with some examples.
Version 2.2.0 (2023-04-16)
- [MAINTENANCE] Node 18, Add @chrisdl as codeowner, update npm packages, update github actions versions. #17
- [MAINTENANCE] Fix variable name readability issue deepsource was complaining about. #16
Version 2.1.0 (2022-04-27)
Attempt to detect numeric (currently very basic, works only if you are sorting numbers, not strings of numbers for example) values in what is being sorted and add the
numeric: true configuration to the Intl.Collator sorter to make it sort the numbers properly.
- [FEATURE] Add numeric detection #14
Version 2.0.0 (2022-01-24)
.sort() but it behaved in a way that users did not find intuitive (especially regarding uppercase vs lowercase). This version uses a new sorting algorithm (which you can see in
utils.js) that uses the Intl.Collator for better sorting. It also adds a case-insensitive mode.
- [FEATURE] Updating the sorting algorithm to use Intl.Collator #12
- [FEATURE] Adds case insensitive sorting. #12
- [DOCS] Update docs to be very specific about what sorting behavior users can expect #12
Version 1.3.7 (2021-01-21)
- [FEATURE] New Logo Yay! #9
- [DOCS] Adding gif to readme to show usage. #10
- [DOCS] Adding some examples to the readme. #11
Version 1.3.3 (2020-11-20)
- [FEATURE] remove the stupid
-->arrows from the command names. #3
- [DEV] adding eslint and standardjs. #2
- Switching to semver.
- [FEATURE] Support for sorting across multiple ranges. #1
Version 1.2 (2020-10-27)
Added a picture to readme to make it more obvious what the extension does.
Version 1.1 (2020-10-17)
Version 1.0 (2020-10-17)