Là một dự án mã nguồn mở, Canop/codesort đã đạt 103 sao trên GitHub, ngôn ngữ Rust. codesort sorts code
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Your code is full of lists: enum variants, struct fields, match arms, function declarations, etc.
When a list grows, it's sometimes useful to sort it alphabetically, to help you keep track of the parts.
Of course you can't just sort lines: the code wouldn't work anymore; comments and annotations would be lost, spacing would be off, etc.
And sorting code manually is a tedious task.
codesort can do it for you, with a shortcut on the desired part of the code, directly in your IDE.
Here's the before and after of sorting around the cursor's line:
Examples
Sort the variants of a rust enumSort the fields of a rust structSort javascript function assignementsHere, the range to sort has been visually selected.Sort the arms of a huge rust match
Install codesort
Having Rust dev environment installed, run
cargo install codesort
Usage
Sort a range in a file
codesort --range 6:26 src/my/file.rs
Sort around a line
Unless you specifically want to exclude a part of the list from sorting (eg a field you want to keep at the end of a struct), you should prefer to use --around which selects the range for you.
The first example of this readme has been sorted with the following command:
codesort --around 14 src/my/file.rs
Any other line number from 6 to 26 would have been fine, except the deeper lines 21 and 22
(if you sort around line 22, you sort start and end, which is probably not desired).
Sort from stdin, return to stdout
When no path is provided to codesort, specify the language using --lang/-l:
cat some/file.js | codesort -l js
Code Editor Integration
By default, codesort takes the code to sort from stdin and writes the sorted code to stdout.
It can sort either the whole input, a given range (with --range), or select the best range around a given line (using --around).
You can also change the input and output to be files, with --src and --dst.
If necessary, you can provide a filename to codesort for langage detection (the file doesn't have to exist, only the extension of the name will be used, eg .js).
Those options make it easy to integrate codesort in any editor. See below for vim and IntelliJ (contributions welcome for other editors).
Use codesort in vim / neovim
Sort the selection
When you don't want to sort the whole range (for example because there's a specific entry that you want to keep at the beginning), you can specify the range.
Visually select the selection, then type :, then !codesort.
This changes the input to
:'<,'>!codesort
Press the enter key: the selection is sorted with codesort.
Add a binding to sort around the current line
You don't usually have to select the zone to sort.
You can ask codesort to automatically select the zone to sort around your current line.
Define this binding in your vim configuration:
" sort the optimal range around the current line
" See https://github.com/Canop/codesort
nnoremap <Leader>cs ma<ESC>:execute ":%!codesort --around ".line('.')." --detect ".shellescape(expand('%:t'))<CR>`a
Typing the leader key then 'cs' will automatically select the set of blocs around the current line and sort it.
Explanation of the command:
the current position is saved in the a register with ma
the command including the line number is built then executed with :execute
the codesort command takes the current line number through --around
the codesort command takes the filename, for langage detection, through --detect
the previous position is then restored
Use codesort in IntelliJ
sort on a range
Configure the shortcut (File -> Settings -> Tools -> External tools) like this:
Canop/codesort có 103 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/Canop/codesort. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
Canop/codesort có tag gì không?
Bản đồng bộ chưa ghi nhận topic GitHub nào cho Canop/codesort. GitHub topics hiển thị ở thanh bên phải trang repo — đó là nơi đáng kiểm tra nhất.
Canop/codesort có website riêng không?
TopGit chưa ghi nhận URL trang chủ cho Canop/codesort. Phần README ở tab phía trên thường có link demo, hoặc xem mô tả GitHub của repo.
Canop/codesort còn đang phát triển không?
Commit gần nhất trên Canop/codesort là 11 tháng trước (theo timestamp GitHub). Repo có 1 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
Canop/codesort viết bằng ngôn ngữ gì?
Canop/codesort chủ yếu viết bằng Rust. Trường "language" của GitHub dựa trên phần lớn byte ở nhánh mặc định.
Đọc thêm về Canop/codesort ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/Canop/codesort là nguồn chính thức.
Đọc đầy đủ README ở tab phía trên.
Chưa chắc codesort có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về codesort.