From 5f5d235775df751994abc8a965fcc7bb8b6f3c2d Mon Sep 17 00:00:00 2001 From: Agent K Date: Mon, 29 Apr 2024 11:35:00 +0300 Subject: [PATCH 01/17] Add --df, --dots-first option to sort dot-files and dot-folders first --- .gitignore | 1 + README.md | 1 + colorls.gemspec | 2 + lib/colorls/core.rb | 28 ++++- lib/colorls/flags.rb | 15 +-- man/colorls.1 | 211 ++++++++++++++++++++++++++++++++++++ spec/color_ls/flags_spec.rb | 10 ++ test/checks | 3 + zsh/_colorls | 60 ++++++++++ 9 files changed, 318 insertions(+), 13 deletions(-) create mode 100644 man/colorls.1 create mode 100644 zsh/_colorls diff --git a/.gitignore b/.gitignore index b4d6295e..ebbad358 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ pkg/ *.gem .bundle/ .yardoc/ +.vscode/ Gemfile.lock /_yardoc/ *.DS_store diff --git a/README.md b/README.md index 117ca2f9..e5b5e8f5 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ A Ruby script that colorizes the `ls` output with color and icons. Here are the - `--gs` (or) `--git-status` - `--sd` (or) `--sort-dirs` or `--group-directories-first` - `--sf` (or) `--sort-files` + - `--df` (or) `--dots-first` - `-t` - [Combination of flags](#combination-of-flags) - [Installation](#installation) diff --git a/colorls.gemspec b/colorls.gemspec index 0a7b5e46..9d6069b2 100644 --- a/colorls.gemspec +++ b/colorls.gemspec @@ -12,6 +12,8 @@ POST_INSTALL_MESSAGE = %( Sort by files : -sf flag has been renamed to --sf Git status : -gs flag has been renamed to --gs + Sort Dots First: --df, --dots-first - sort dot-files and dot-folders first + Clubbed flags : `colorls -ald` works Help menu : `colorls -h` provides all possible flag options diff --git a/lib/colorls/core.rb b/lib/colorls/core.rb index 89a647f6..d596b240 100644 --- a/lib/colorls/core.rb +++ b/lib/colorls/core.rb @@ -196,22 +196,38 @@ def filter_contents def sort_contents case @sort when :extension - @contents.sort_by! do |f| - name = f.name - ext = File.extname(name) - name = name.chomp(ext) unless ext.empty? - [ext, name].map { |s| CLocale.strxfrm(s) } - end + sort_by_extension when :time @contents.sort_by! { |a| -a.mtime.to_f } when :size @contents.sort_by! { |a| -a.size } + when :df + sort_by_dot_first else @contents.sort_by! { |a| CLocale.strxfrm(a.name) } end @contents.reverse! if @reverse end + def sort_by_extension + @contents.sort_by! do |f| + name = f.name + ext = File.extname(name) + name = name.chomp(ext) unless ext.empty? + [ext, name].map { |s| CLocale.strxfrm(s) } + end + end + + def sort_by_dot_first + @contents.sort_by! do |a| + name = a.name + # Check if the name starts with a dot + dot_prefix = name.start_with?('.') ? 0 : 1 + # Return an array where dot-prefixed names are sorted first + [dot_prefix, CLocale.strxfrm(name)] + end + end + def group_contents return unless @group diff --git a/lib/colorls/flags.rb b/lib/colorls/flags.rb index 92379ac2..e7857d1b 100644 --- a/lib/colorls/flags.rb +++ b/lib/colorls/flags.rb @@ -116,23 +116,24 @@ def add_sort_options(options) options.separator '' options.separator 'sorting options:' options.separator '' + configure_sort_options(options) + end + + def configure_sort_options(options) options.on('--sd', '--sort-dirs', '--group-directories-first', 'sort directories first') { @opts[:group] = :dirs } options.on('--sf', '--sort-files', 'sort files first') { @opts[:group] = :files } + options.on('--df', '--dots-first', 'sort dot-files and dot-folders first') { @opts[:sort] = :df } options.on('-t', 'sort by modification time, newest first') { @opts[:sort] = :time } options.on('-U', 'do not sort; list entries in directory order') { @opts[:sort] = false } options.on('-S', 'sort by file size, largest first') { @opts[:sort] = :size } options.on('-X', 'sort by file extension') { @opts[:sort] = :extension } options.on( '--sort=WORD', - %w[none time size extension], - 'sort by WORD instead of name: none, size (-S), time (-t), extension (-X)' + %w[none time size extension df], + 'sort by WORD instead of name: none, size (-S), time (-t), extension (-X), df (--df)' ) do |word| - @opts[:sort] = case word - when 'none' then false - else word.to_sym - end + @opts[:sort] = (word == 'none' ? false : word.to_sym) end - options.on('-r', '--reverse', 'reverse order while sorting') { @opts[:reverse] = true } end diff --git a/man/colorls.1 b/man/colorls.1 new file mode 100644 index 00000000..dd89c983 --- /dev/null +++ b/man/colorls.1 @@ -0,0 +1,211 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "COLORLS" "1" "April 2024" "colorls 1.5.0" "colorls Manual" +. +.SH "NAME" +\fBcolorls\fR \- list directory contents with colors and icons +. +.SH "SYNOPSIS" +\fBcolorls\fR [OPTION]\.\.\. [FILE]\.\.\. +. +.br +. +.SH "DESCRIPTION" +List information about the given FILEs\. Uses different colors and icons for known file types\. +. +.P +By default, the output is sorted alphabetically\. +. +.P +Mandatory arguments to long options are mandatory for short options too\. +. +.SH "OPTIONS" +. +.TP +\fB\-a\fR, \fB\-\-all\fR +do not ignore entries starting with \. +. +.TP +\fB\-A\fR, \fB\-\-almost\-all\fR +do not list \. and \.\. +. +.TP +\fB\-d\fR, \fB\-\-dirs\fR +show only directories +. +.TP +\fB\-f\fR, \fB\-\-files\fR +show only files +. +.TP +\fB\-\-gs\fR, \fB\-\-git\-status\fR +show git status for each file +. +.TP +\fB\-p\fR +append / indicator to directories +. +.TP +\fB\-i\fR, \fB\-\-inode\fR +show inode number +. +.TP +\fB\-\-report\fR +show report: short, long (default if omitted) +. +.TP +\fB\-\-indicator\-style\fR +append indicator with style STYLE to entry names: none, slash (\-p) (default) +. +.TP +\fB\-\-format\fR +use format: across (\-x), horizontal (\-x), long (\-l), single\-column (\-1), vertical (\-C) +. +.TP +\fB\-1\fR +list one file per line +. +.TP +\fB\-\-tree\fR +shows tree view of the directory +. +.TP +\fB\-x\fR +list entries by lines instead of by columns +. +.TP +\fB\-C\fR +list entries by columns instead of by lines +. +.TP +\fB\-\-without\-icons\fR +list entries without icons +. +.TP +\fB\-l\fR, \fB\-\-long\fR +use a long listing format +. +.TP +\fB\-o\fR +use a long listing format without group information +. +.TP +\fB\-g\fR +use a long listing format without owner information +. +.TP +\fB\-G\fR, \fB\-\-no\-group\fR +show no group information in a long listing +. +.TP +\fB\-\-time\-style\fR +use time display format +. +.TP +\fB\-\-no\-hardlinks\fR +show no hard links count in a long listing +. +.TP +\fB\-L\fR +show information on the destination of symbolic links +. +.TP +\fB\-\-non\-human\-readable\fR +show file sizes in bytes only +. +.TP +\fB\-\-sd\fR, \fB\-\-sort\-dirs\fR, \fB\-\-group\-directories\-first\fR +sort directories first +. +.TP +\fB\-\-sf\fR, \fB\-\-sort\-files\fR +sort files first +. +.TP +\fB\-\-df\fR, \fB\-\-dots\-first\fR +sort dot\-files and dot\-folders first +. +.TP +\fB\-t\fR +sort by modification time, newest first +. +.TP +\fB\-U\fR +do not sort; list entries in directory order +. +.TP +\fB\-S\fR +sort by file size, largest first +. +.TP +\fB\-X\fR +sort by file extension +. +.TP +\fB\-\-sort\fR +sort by WORD instead of name: none, size (\-S), time (\-t), extension (\-X), df (\-\-df) +. +.TP +\fB\-r\fR, \fB\-\-reverse\fR +reverse order while sorting +. +.TP +\fB\-h\fR, \fB\-\-human\-readable\fR: + +. +.TP +\fB\-\-color\fR +colorize the output: auto, always (default if omitted), never +. +.TP +\fB\-\-light\fR +use light color scheme +. +.TP +\fB\-\-dark\fR +use dark color scheme +. +.TP +\fB\-\-hyperlink\fR: + +. +.TP +\fB\-\-help\fR +prints this help +. +.TP +\fB\-\-version\fR +show version +. +.SH "EXAMPLES" +. +.TP +show the given file: +. +.IP +\fBcolorls README\.md\fR +. +.TP +show matching files and list matching directories: +. +.IP +\fBcolorls *\fR +. +.TP +filter output by a regular expression: +. +.IP +\fBcolorls | grep PATTERN\fR +. +.TP +several short options can be combined: +. +.IP +\fBcolorls \-d \-l \-a\fR +. +.br +\fBcolorls \-dla\fR +. +.SH "AUTHOR" +Written by Athitya Kumar\. diff --git a/spec/color_ls/flags_spec.rb b/spec/color_ls/flags_spec.rb index d09b1f61..69188582 100644 --- a/spec/color_ls/flags_spec.rb +++ b/spec/color_ls/flags_spec.rb @@ -195,6 +195,16 @@ end end + context 'with --sort=df flag' do + let(:args) { ['--sort=df', '--group-directories-first', '-1', FIXTURES] } + + it 'sort dot-files and dot-folders first' do + allow($stdout).to receive(:tty?).and_return(true) + + expect { subject }.to output(/symlinks.+a-file.+z-file/m).to_stdout + end + end + context 'with --help flag' do let(:args) { ['--help', FIXTURES] } diff --git a/test/checks b/test/checks index 9df9f6cd..e4471de0 100644 --- a/test/checks +++ b/test/checks @@ -15,6 +15,9 @@ OK colorls -r OK colorls --sd OK colorls --sf +OK colorls -laA --df +OK colorls -laA --dots-first +OK colorls -laA --sort=df OK colorls --hyperlink OK colorls -t OK colorls --sort=time diff --git a/zsh/_colorls b/zsh/_colorls new file mode 100644 index 00000000..1e5b1a10 --- /dev/null +++ b/zsh/_colorls @@ -0,0 +1,60 @@ +#compdef colorls + +typeset -A opt_args +local context state line + +_arguments -s -S \ + "-a[do not ignore entries starting with .]" \ + "--all[do not ignore entries starting with .]" \ + "-A[do not list . and ..]" \ + "--almost-all[do not list . and ..]" \ + "-d[show only directories]" \ + "--dirs[show only directories]" \ + "-f[show only files]" \ + "--files[show only files]" \ + "--gs[show git status for each file]" \ + "--git-status[show git status for each file]" \ + "-p[append / indicator to directories]" \ + "-i[show inode number]" \ + "--inode[show inode number]" \ + "--report[show report: short, long (default if omitted)]" \ + "--indicator-style[append indicator with style STYLE to entry names: none, slash (-p) (default)]" \ + "--format[use format: across (-x), horizontal (-x), long (-l), single-column (-1), vertical (-C)]" \ + "-1[list one file per line]" \ + "--tree[shows tree view of the directory]" \ + "-x[list entries by lines instead of by columns]" \ + "-C[list entries by columns instead of by lines]" \ + "--without-icons[list entries without icons]" \ + "-l[use a long listing format]" \ + "--long[use a long listing format]" \ + "-o[use a long listing format without group information]" \ + "-g[use a long listing format without owner information]" \ + "-G[show no group information in a long listing]" \ + "--no-group[show no group information in a long listing]" \ + "--time-style[use time display format]" \ + "--no-hardlinks[show no hard links count in a long listing]" \ + "-L[show information on the destination of symbolic links]" \ + "--non-human-readable[show file sizes in bytes only]" \ + "--sd[sort directories first]" \ + "--sort-dirs[sort directories first]" \ + "--group-directories-first[sort directories first]" \ + "--sf[sort files first]" \ + "--sort-files[sort files first]" \ + "--df[sort dot-files and dot-folders first]" \ + "--dots-first[sort dot-files and dot-folders first]" \ + "-t[sort by modification time, newest first]" \ + "-U[do not sort; list entries in directory order]" \ + "-S[sort by file size, largest first]" \ + "-X[sort by file extension]" \ + "--sort[sort by WORD instead of name: none, size (-S), time (-t), extension (-X), df (--df)]" \ + "-r[reverse order while sorting]" \ + "--reverse[reverse order while sorting]" \ + "-h[]" \ + "--human-readable[]" \ + "--color[colorize the output: auto, always (default if omitted), never]" \ + "--light[use light color scheme]" \ + "--dark[use dark color scheme]" \ + "--hyperlink[]" \ + "--help[prints this help]" \ + "--version[show version]" \ + '*:file:_files' && return 0 From eaa3b320b278fb864446438ab7501c94ef5ce727 Mon Sep 17 00:00:00 2001 From: Agent K Date: Mon, 29 Apr 2024 15:37:16 +0300 Subject: [PATCH 02/17] Icons for files without extenstions #459, Icons for file with only one extension #469, added icons to some new files and folders --- lib/colorls/core.rb | 38 ++++++++++++++++++++++-------- lib/yaml/file_aliases.yaml | 48 ++++++++++++++++++++++++++++++++++++++ lib/yaml/files.yaml | 4 +++- lib/yaml/folders.yaml | 35 +++++++++++++++++++++++++++ 4 files changed, 114 insertions(+), 11 deletions(-) diff --git a/lib/colorls/core.rb b/lib/colorls/core.rb index d596b240..e8cd4083 100644 --- a/lib/colorls/core.rb +++ b/lib/colorls/core.rb @@ -431,22 +431,40 @@ def file_color(file, key) def options(content) if content.directory? - key = content.name.downcase.to_sym - key = @folder_aliases[key] unless @folders.key? key - key = :folder if key.nil? - color = @colors[:dir] - group = :folders + dir_options(content) else - key = File.extname(content.name).delete_prefix('.').downcase.to_sym - key = @file_aliases[key] unless @files.key? key - color = file_color(content, key) - group = @files.key?(key) ? :recognized_files : :unrecognized_files - key = :file if key.nil? + file_options(content) end + end + + def dir_options(content) + key = content.name.downcase.to_sym + key = @folder_aliases[key] unless @folders.key? key + key = :folder if key.nil? + color = @colors[:dir] + group = :folders + [key, color, group] + end + def file_options(content) + key = determine_key_for_file(content) + key = @file_aliases[key] unless @files.key? key + color = file_color(content, key) + group = @files.key?(key) ? :recognized_files : :unrecognized_files + key = :file if key.nil? [key, color, group] end + def determine_key_for_file(content) + extension = File.extname(content.name).delete_prefix('.').downcase + if extension.empty? + filename = content.name.match(/\A\.?(.+)/)[1] + filename.downcase.to_sym + else + extension.to_sym + end || :default + end + def tree_contents(path) @contents = Dir.entries(path, encoding: ColorLS.file_encoding) diff --git a/lib/yaml/file_aliases.yaml b/lib/yaml/file_aliases.yaml index 39334748..2621d89f 100644 --- a/lib/yaml/file_aliases.yaml +++ b/lib/yaml/file_aliases.yaml @@ -8,7 +8,11 @@ mp3: audio ogg: audio opus: audio wav: audio +h: c editorconfig: conf +chh: cpp +cxx: cpp +hpp: cpp scss: css docx: doc gdoc: doc @@ -20,9 +24,14 @@ otf: font ttf: font woff: font woff2: font +gitattributes: git gitconfig: git gitignore: git gitignore_global: git +gitkeep: git +gitmodules: git +gitreflog: git +wget-hsts: history lhs: hs avif: image bmp: image @@ -41,6 +50,10 @@ webp: image jar: java properties: json tsx: jsx +lesshst: less +depend: makefile +make: makefile +mk: makefile license: md markdown: md mkd: md @@ -50,13 +63,20 @@ gslides: ppt odp: ppt pptx: ppt ipynb: py +pxd: py pyc: py +pyd: py +pyi: py +pyo: py +pyx: py rdata: r rds: r +rhistory: r gemfile: rb gemspec: rb guardfile: rb lock: rb +mkshrc: rb procfile: rb rakefile: rb rspec: rb @@ -66,13 +86,31 @@ ru: rb erb: rubydoc slim: rubydoc bash: shell +bash_aliases: shell +bash_completion: shell +bash_env: shell +bash_functions: shell bash_history: shell +bash_logout: shell bash_profile: shell bashrc: shell +environment: shell fish: shell +inputrc: shell +oh-my-zsh: shell +osh-update: shell +pre-oh-my-zsh: shell +profile: shell sh: shell +zlogin: shell +zlogout: shell +zprofile: shell zsh: shell +zsh-syntax-highlighting: shell zsh-theme: shell +zsh-update: shell +zsh_history: shell +zshenv: shell zshrc: shell stylus: styl cls: tex @@ -83,6 +121,14 @@ mov: video mp4: video ogv: video webm: video +exrc: vim +gvimrc: vim +vim-update: vim +vimbackup: vim +viminfo: vim +vimrc: vim +vimswap: vim +vimtags: vim bat: windows exe: windows ini: windows @@ -93,6 +139,8 @@ xlsx: xls xul: xml yaml: yml 7z: zip +bz: zip +bz2: zip gz: zip rar: zip tar: zip diff --git a/lib/yaml/files.yaml b/lib/yaml/files.yaml index 2f77db43..0a7515f2 100644 --- a/lib/yaml/files.yaml +++ b/lib/yaml/files.yaml @@ -25,6 +25,7 @@ gform: "" git: "" go: "" gruntfile.js: "" +history: "" hs: "" html: "" image: "" @@ -36,6 +37,7 @@ jsx: "" less: "" log: "" lua: "" +makefile: "" md: "" mustache: "" npmignore: "" @@ -62,7 +64,7 @@ ts: "" twig: "" txt: "" video: "" -vim: "" +vim: "" vue: "﵂" windows: "" xls: "" diff --git a/lib/yaml/folders.yaml b/lib/yaml/folders.yaml index b43b7af9..aec31c00 100644 --- a/lib/yaml/folders.yaml +++ b/lib/yaml/folders.yaml @@ -1,11 +1,46 @@ .atom: "" +.cache: "" +.config: "" +.dotnet: "󰪮" .git: "" .github: "" +.local: "" +.mono: "󰪮" +.pyenv: "" +.rbenv: "" +.repo: "" +.ruby-lsp: "" +.rustup: "" .rvm: "" +.ssh: "󰣀" +.tmux: "" .Trash: "" +.venv: "" +.vim: "" .vscode: "" +.vscode-insiders: "" +.vscode-r: "" +.vscode-remote-containers: "" +.vscode-server: "" +.vscode-server-insiders: "" +__pycache__: "" config: "" +coverage: "" +dist-packages: "" +eggs: "" +exe: "" folder: "" +go: "" hidden: "" lib: "" +man: "󰗚" node_modules: "" +pkg: "" +site-packages: "" +spec: "󰙨" +src: "󰳐" +test: "󰙨" +tests: "󰙨" +venv: "" +wheels: "" + From 50e87f810ea3dec9aa15ea1dce77ad75abe2a968 Mon Sep 17 00:00:00 2001 From: Agent K Date: Tue, 30 Apr 2024 02:43:28 +0300 Subject: [PATCH 03/17] fix the default behavior issue for symbolic folders #384 --- lib/colorls/core.rb | 43 ++++++++++++++++++++++++++----------- spec/color_ls/flags_spec.rb | 4 +++- 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/lib/colorls/core.rb b/lib/colorls/core.rb index e8cd4083..de94d99e 100644 --- a/lib/colorls/core.rb +++ b/lib/colorls/core.rb @@ -131,7 +131,7 @@ def init_colors(colors) color = case key when 'r' then :read when 'w' then :write - when '-' then :no_access + when 'd', '-' then :no_access when 'x', 's', 'S', 't', 'T' then :exec end hash[key] = key.colorize(@colors[color]).freeze @@ -261,9 +261,11 @@ def format_mode(rwx, special, char) def mode_info(stat) m = stat.mode - format_mode(m >> 6, stat.setuid?, 's') + - format_mode(m >> 3, stat.setgid?, 's') + - format_mode(m, stat.sticky?, 't') + info = stat.directory? ? @modes['d'] : @modes['-'] + info += format_mode(m >> 6, stat.setuid?, 's') + info += format_mode(m >> 3, stat.setgid?, 's') + info += format_mode(m, stat.sticky?, 't') + info end def user_info(content) @@ -383,7 +385,9 @@ def update_content_if_show_symbol_dest(content, show_symbol_dest_flag) return content if content.link_target.nil? return content if content.dead? - FileInfo.info(content.link_target) + target = content.link_target + target = File.join(content.parent, target) if !target.start_with?('/') && !target.start_with?('\\') + FileInfo.info(target) end def out_encode(str) @@ -392,17 +396,30 @@ def out_encode(str) def fetch_string(content, key, color, increment) @count[increment] += 1 - value = increment == :folders ? @folders[key] : @files[key] - logo = value.gsub(/\\u[\da-f]{4}/i) { |m| [m[-4..].to_i(16)].pack('U') } - name = @hyperlink ? make_link(content) : content.show - name += content.directory? && @indicator_style != 'none' ? '/' : ' ' - entry = @icons ? "#{out_encode(logo)} #{out_encode(name)}" : out_encode(name).to_s - entry = entry.bright if !content.directory? && content.executable? - symlink_info_string = symlink_info(content) + symlink_content = update_content_if_show_symbol_dest(content,true) + entry, color = fetch_string_entry(content, symlink_content, key, color, increment) + git_info_string = git_info(content) + content = update_content_if_show_symbol_dest(content,@show_symbol_dest) - "#{inode(content)} #{long_info(content)} #{git_info(content)} #{entry.colorize(color)}#{symlink_info_string}" + "#{inode(content)} #{long_info(content)} #{git_info_string} #{entry.colorize(color)}#{symlink_info_string}" + end + + def fetch_string_name(content, symlink_content) + name = @hyperlink ? make_link(content) : content.show + name += (content.directory? || symlink_content.directory?) && @indicator_style != 'none' ? '/' : ' ' + name + end + + def fetch_string_entry(content, symlink_content, key, color, increment) + key, color, = options(symlink_content) if content.symlink? + value = increment == :folders || symlink_content.directory? ? @folders[key] : @files[key] + logo = value.gsub(/\\u[\da-f]{4}/i) { |m| [m[-4..].to_i(16)].pack('U') } + name = fetch_string_name(content, symlink_content) + entry = @icons ? "#{out_encode(logo)} #{out_encode(name)}" : out_encode(name).to_s + entry = entry.bright if !content.directory? && !content.symlink? && content.executable? + [entry, color] end def ls_line(chunk, widths) diff --git a/spec/color_ls/flags_spec.rb b/spec/color_ls/flags_spec.rb index 69188582..9b5aa3be 100644 --- a/spec/color_ls/flags_spec.rb +++ b/spec/color_ls/flags_spec.rb @@ -27,6 +27,7 @@ socket?: false, symlink?: false, stats: instance_double(File::Stat, + directory?: false, mode: 0o444, # read for user, owner, other setuid?: true, setgid?: true, @@ -477,7 +478,8 @@ chardev?: false, socket?: false, symlink?: true, - link_target: "#{FIXTURES}/z.txt", + link_target: 'z.txt', + parent: FIXTURES, dead?: false, executable?: false ) From ac2644c07c52bcbb6510bdb45bae09466c431c71 Mon Sep 17 00:00:00 2001 From: Agent K Date: Wed, 1 May 2024 17:01:33 +0300 Subject: [PATCH 04/17] updated sorting if symlink point to folder --- lib/colorls/core.rb | 41 +++++++++++++++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/lib/colorls/core.rb b/lib/colorls/core.rb index de94d99e..59a7421c 100644 --- a/lib/colorls/core.rb +++ b/lib/colorls/core.rb @@ -198,17 +198,41 @@ def sort_contents when :extension sort_by_extension when :time - @contents.sort_by! { |a| -a.mtime.to_f } + sort_by_time when :size - @contents.sort_by! { |a| -a.size } + sort_by_size when :df sort_by_dot_first else - @contents.sort_by! { |a| CLocale.strxfrm(a.name) } + sort_normal end @contents.reverse! if @reverse end + def sort_by_size + @contents.sort_by! do |f| + link_context = update_content_if_show_symbol_dest(f, true) + is_dir = f.symlink? && link_context.directory? ? 0 : 1 + [is_dir, -f.size] + end + end + + def sort_by_time + @contents.sort_by! do |f| + link_context = update_content_if_show_symbol_dest(f, true) + is_dir = f.symlink? && link_context.directory? ? 0 : 1 + [is_dir, -f.mtime.to_f] + end + end + + def sort_normal + @contents.sort_by! do |f| + link_context = update_content_if_show_symbol_dest(f, true) + is_dir = f.symlink? && link_context.directory? ? 0 : 1 + [is_dir, CLocale.strxfrm(f.name)] + end + end + def sort_by_extension @contents.sort_by! do |f| name = f.name @@ -219,10 +243,15 @@ def sort_by_extension end def sort_by_dot_first - @contents.sort_by! do |a| - name = a.name + @contents.sort_by! do |f| + name = f.name + link_context = update_content_if_show_symbol_dest(f, true) # Check if the name starts with a dot - dot_prefix = name.start_with?('.') ? 0 : 1 + dot_prefix = if f.symlink? && link_context.directory? + name.start_with?('.') ? 0 : 1 + else + name.start_with?('.') ? 2 : 3 + end # Return an array where dot-prefixed names are sorted first [dot_prefix, CLocale.strxfrm(name)] end From fd2d933a91cda808fbe1c6bb47816b19920898a5 Mon Sep 17 00:00:00 2001 From: Agent K Date: Wed, 1 May 2024 17:14:23 +0300 Subject: [PATCH 05/17] updated sorting if symlink point to folder, only if grouped --- lib/colorls/core.rb | 43 ++++++++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/lib/colorls/core.rb b/lib/colorls/core.rb index 59a7421c..2f0f7790 100644 --- a/lib/colorls/core.rb +++ b/lib/colorls/core.rb @@ -211,24 +211,36 @@ def sort_contents def sort_by_size @contents.sort_by! do |f| - link_context = update_content_if_show_symbol_dest(f, true) - is_dir = f.symlink? && link_context.directory? ? 0 : 1 + if @group + link_context = update_content_if_show_symbol_dest(f, true) + is_dir = f.symlink? && link_context.directory? ? 0 : 1 + else + is_dir = 0 + end [is_dir, -f.size] end end def sort_by_time @contents.sort_by! do |f| - link_context = update_content_if_show_symbol_dest(f, true) - is_dir = f.symlink? && link_context.directory? ? 0 : 1 + if @group + link_context = update_content_if_show_symbol_dest(f, true) + is_dir = f.symlink? && link_context.directory? ? 0 : 1 + else + is_dir = 0 + end [is_dir, -f.mtime.to_f] end end def sort_normal @contents.sort_by! do |f| - link_context = update_content_if_show_symbol_dest(f, true) - is_dir = f.symlink? && link_context.directory? ? 0 : 1 + if @group + link_context = update_content_if_show_symbol_dest(f, true) + is_dir = f.symlink? && link_context.directory? ? 0 : 1 + else + is_dir = 0 + end [is_dir, CLocale.strxfrm(f.name)] end end @@ -242,15 +254,24 @@ def sort_by_extension end end + def sort_by_dot_first_grouped(content) + name = content.name + link_context = update_content_if_show_symbol_dest(content, true) + # Check if the name starts with a dot + if content.symlink? && link_context.directory? + name.start_with?('.') ? 0 : 1 + else + name.start_with?('.') ? 2 : 3 + end + end + def sort_by_dot_first @contents.sort_by! do |f| name = f.name - link_context = update_content_if_show_symbol_dest(f, true) - # Check if the name starts with a dot - dot_prefix = if f.symlink? && link_context.directory? - name.start_with?('.') ? 0 : 1 + dot_prefix = if @group + sort_by_dot_first_grouped(f) else - name.start_with?('.') ? 2 : 3 + name.start_with?('.') ? 0 : 1 end # Return an array where dot-prefixed names are sorted first [dot_prefix, CLocale.strxfrm(name)] From 5918227c318a2154782cf2f93a2a052ebf3b5cbb Mon Sep 17 00:00:00 2001 From: Agent K Date: Wed, 1 May 2024 17:24:48 +0300 Subject: [PATCH 06/17] updated icons for bak and git-credentials files --- lib/yaml/file_aliases.yaml | 3 +++ lib/yaml/files.yaml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/lib/yaml/file_aliases.yaml b/lib/yaml/file_aliases.yaml index 2621d89f..0dbcbfda 100644 --- a/lib/yaml/file_aliases.yaml +++ b/lib/yaml/file_aliases.yaml @@ -24,6 +24,9 @@ otf: font ttf: font woff: font woff2: font +gdb_history: gdbinit +gef.rc: gdbinit +git-credentials: git gitattributes: git gitconfig: git gitignore: git diff --git a/lib/yaml/files.yaml b/lib/yaml/files.yaml index 0a7515f2..f62cf5d8 100644 --- a/lib/yaml/files.yaml +++ b/lib/yaml/files.yaml @@ -3,6 +3,7 @@ android: "" apple: "" audio: "" avro: "" +bak: "󰁯" c: "" clj: "" coffee: "" @@ -21,6 +22,7 @@ epub: "" erl: "" file: "" font: "" +gdbinit: "" gform: "" git: "" go: "" From fdfac1420d71c73bd32a3ebaa766d12440f1d760 Mon Sep 17 00:00:00 2001 From: Agent K Date: Wed, 1 May 2024 17:30:20 +0300 Subject: [PATCH 07/17] updated icons for yarnrc bak tmp files --- .rake_tasks~ | 30 ++++++++++++++++++++++++++++++ lib/yaml/files.yaml | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 .rake_tasks~ diff --git a/.rake_tasks~ b/.rake_tasks~ new file mode 100644 index 00000000..23cea4ea --- /dev/null +++ b/.rake_tasks~ @@ -0,0 +1,30 @@ +build +build:colorls +build:gem +build:gem:colorls +console +console:colorls +default +gem +install +install:colorls +install_gem +man/colorls.1 +package +pkg +pkg/colorls-1.5.0.gem +publish +push +push:colorls +release +rubocop +rubocop:auto_correct +rubocop:autocorrect +rubocop:autocorrect_all +scm:push +scm:status +scm:tag[name] +spec +validate +zsh +zsh/_colorls diff --git a/lib/yaml/files.yaml b/lib/yaml/files.yaml index f62cf5d8..a970ca83 100644 --- a/lib/yaml/files.yaml +++ b/lib/yaml/files.yaml @@ -62,6 +62,7 @@ shell: "" sqlite3: "" styl: "" tex: "" +tmp: "󰿸" ts: "" twig: "" txt: "" @@ -72,5 +73,6 @@ windows: "" xls: "" xml: "" yarn.lock: "" +yarnrc: "" yml: "" zip: "" From 1ac5a500358c1cc96b2719b1ee9cacd841ec20a1 Mon Sep 17 00:00:00 2001 From: mzw7p2 Date: Mon, 3 Jun 2024 14:04:10 +0000 Subject: [PATCH 08/17] new icons --- lib/colorls/version.rb | 2 +- lib/yaml/file_aliases.yaml | 1 + lib/yaml/folder_aliases.yaml | 3 ++- lib/yaml/folders.yaml | 5 +++++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/colorls/version.rb b/lib/colorls/version.rb index b8c89734..689ef60a 100644 --- a/lib/colorls/version.rb +++ b/lib/colorls/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module ColorLS - VERSION = '1.5.0' + VERSION = '1.5.1' end diff --git a/lib/yaml/file_aliases.yaml b/lib/yaml/file_aliases.yaml index 0dbcbfda..b1466e57 100644 --- a/lib/yaml/file_aliases.yaml +++ b/lib/yaml/file_aliases.yaml @@ -94,6 +94,7 @@ bash_completion: shell bash_env: shell bash_functions: shell bash_history: shell +bash_login: shell bash_logout: shell bash_profile: shell bashrc: shell diff --git a/lib/yaml/folder_aliases.yaml b/lib/yaml/folder_aliases.yaml index b13d6cb2..81a6e53a 100644 --- a/lib/yaml/folder_aliases.yaml +++ b/lib/yaml/folder_aliases.yaml @@ -1,2 +1,3 @@ bin: config -include: config \ No newline at end of file +include: config +.npm: node_modules diff --git a/lib/yaml/folders.yaml b/lib/yaml/folders.yaml index aec31c00..e98403b7 100644 --- a/lib/yaml/folders.yaml +++ b/lib/yaml/folders.yaml @@ -1,11 +1,14 @@ .atom: "" +.bundle: "" .cache: "" +.cargo: "󱣘" .config: "" .dotnet: "󰪮" .git: "" .github: "" .local: "" .mono: "󰪮" +.npm: "" .pyenv: "" .rbenv: "" .repo: "" @@ -27,6 +30,7 @@ __pycache__: "" config: "" coverage: "" dist-packages: "" +downloads: "" eggs: "" exe: "" folder: "" @@ -35,6 +39,7 @@ hidden: "" lib: "" man: "󰗚" node_modules: "" +pictures: "" pkg: "" site-packages: "" spec: "󰙨" From c0ea53d2747fda8ff9d897f8f3d7fe65e2b66a6f Mon Sep 17 00:00:00 2001 From: mzw7p2 Date: Mon, 3 Jun 2024 14:57:14 +0000 Subject: [PATCH 09/17] fixed icons --- lib/yaml/file_aliases.yaml | 1 - lib/yaml/files.yaml | 5 +++-- lib/yaml/folder_aliases.yaml | 4 +++- lib/yaml/folders.yaml | 9 +++++---- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/lib/yaml/file_aliases.yaml b/lib/yaml/file_aliases.yaml index b1466e57..bb6e840d 100644 --- a/lib/yaml/file_aliases.yaml +++ b/lib/yaml/file_aliases.yaml @@ -78,7 +78,6 @@ rhistory: r gemfile: rb gemspec: rb guardfile: rb -lock: rb mkshrc: rb procfile: rb rakefile: rb diff --git a/lib/yaml/files.yaml b/lib/yaml/files.yaml index a970ca83..d07ce7e1 100644 --- a/lib/yaml/files.yaml +++ b/lib/yaml/files.yaml @@ -37,6 +37,7 @@ js: "" json: "" jsx: "" less: "" +lock: "" log: "" lua: "" makefile: "" @@ -53,7 +54,7 @@ py: "" r: "" rb: "" rdb: "" -react: "ﰆ" +react: "" rss: "" rubydoc: "" sass: "" @@ -68,7 +69,7 @@ twig: "" txt: "" video: "" vim: "" -vue: "﵂" +vue: "󰡄" windows: "" xls: "" xml: "" diff --git a/lib/yaml/folder_aliases.yaml b/lib/yaml/folder_aliases.yaml index 81a6e53a..fe71b1e9 100644 --- a/lib/yaml/folder_aliases.yaml +++ b/lib/yaml/folder_aliases.yaml @@ -1,3 +1,5 @@ +.oh-my-bash: .bash +.oh-my-vim: .vim bin: config include: config -.npm: node_modules +.nvm: node_modules diff --git a/lib/yaml/folders.yaml b/lib/yaml/folders.yaml index e98403b7..f07822fb 100644 --- a/lib/yaml/folders.yaml +++ b/lib/yaml/folders.yaml @@ -1,11 +1,12 @@ .atom: "" +.bash: "󰴉" .bundle: "" .cache: "" .cargo: "󱣘" .config: "" .dotnet: "󰪮" -.git: "" -.github: "" +.git: "" +.github: "" .local: "" .mono: "󰪮" .npm: "" @@ -30,7 +31,7 @@ __pycache__: "" config: "" coverage: "" dist-packages: "" -downloads: "" +downloads: "󰉍" eggs: "" exe: "" folder: "" @@ -39,7 +40,7 @@ hidden: "" lib: "" man: "󰗚" node_modules: "" -pictures: "" +pictures: "󰉏" pkg: "" site-packages: "" spec: "󰙨" From 623b6c645f65f52f387f7eca35e049e76e5b27d1 Mon Sep 17 00:00:00 2001 From: mzw7p2 Date: Mon, 3 Jun 2024 15:13:49 +0000 Subject: [PATCH 10/17] fix icons --- .vscode/launch.json | 91 ++++++++++++++++++++++++++++++++++++++ lib/yaml/file_aliases.yaml | 5 +++ 2 files changed, 96 insertions(+) create mode 100644 .vscode/launch.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..5d207775 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,91 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "rdbg", + "useTerminal": true, + "name": "Debug colorls with rdbg - full documentation", + "request": "launch", + "script": "${workspaceFolder}/exe/colorls", + "args": [ + "-laA", + "--sd", + "--gs", + "--df", + "--report=long" + ], + "askParameters": false + }, + { + "type": "rdbg", + "useTerminal": true, + "name": "Debug colorls with rdbg - dots-first", + "request": "launch", + "script": "${workspaceFolder}/exe/colorls", + "args": [ + // "-laA", + // "--sd", + // "--gs", + // "--df", + // "--sort=df", + // "--report=long", + // "-l", + // "-L", + // "--sort=time", + "--reverse", + // "~/src/WindowsTerminalLayoutManager" + // "~/src/" + "spec/fixtures" + ], + "askParameters": false + }, + { + "type": "rdbg", + "useTerminal": true, + "name": "Debug colorls test", + "request": "launch", + "script": "/home/mzw7p2/.rbenv/shims/bundle", + "args": [ + "exe", + "rspec" + ], + "cwd": "${workspaceFolder}", + "askParameters": false + }, + { + "type": "rdbg", + "useTerminal": true, + "name": "Debug colorls with rdbg - size", + "request": "launch", + "script": "${workspaceFolder}/exe/colorls", + "args": [ + "-laA", + "--sd", + "--gs", + "--sort=size", + "--report=long" + ], + "askParameters": false + }, + { + "type": "rdbg", + "useTerminal": true, + "name": "Debug colorls with rdbg - help", + "request": "launch", + "script": "${workspaceFolder}/exe/colorls", + "args": [ + "--help" + ], + "askParameters": false + }, + { + "type": "rdbg", + "name": "Attach with rdbg", + "request": "attach", + "debugPort": "1234" + } + ] +} \ No newline at end of file diff --git a/lib/yaml/file_aliases.yaml b/lib/yaml/file_aliases.yaml index 39334748..9356f958 100644 --- a/lib/yaml/file_aliases.yaml +++ b/lib/yaml/file_aliases.yaml @@ -53,6 +53,11 @@ ipynb: py pyc: py rdata: r rds: r +<<<<<<< main +======= +rhistory: r +gem: rb +>>>>>>> local gemfile: rb gemspec: rb guardfile: rb From 978fd60727dcc0e4c46789a9fc377224d93c1eef Mon Sep 17 00:00:00 2001 From: mzw7p2 Date: Mon, 3 Jun 2024 15:22:19 +0000 Subject: [PATCH 11/17] upload gems --- pkg/colorls-1.5.0.gem | Bin 0 -> 30208 bytes pkg/colorls-1.5.1.gem | Bin 0 -> 30720 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 pkg/colorls-1.5.0.gem create mode 100644 pkg/colorls-1.5.1.gem diff --git a/pkg/colorls-1.5.0.gem b/pkg/colorls-1.5.0.gem new file mode 100644 index 0000000000000000000000000000000000000000..467bbe1095c620ab12d5a8a976dd5f9b33e03ee4 GIT binary patch literal 30208 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

?6bNJR$7qk&&XJTbs zH^noGhsmS<@NqgZ2;IQiif3wKtJ2@6>D1phDGc@6)R=1191;H$=#YI*z`+we>4TPb z(praewbn~kwY))JEqJIlYwt9?=FIwRPynNv)h=?M-KT8xLx&%)RAu&pZ#B-zzlZO{zNMM2->0cgZeE58WklYImtP(_tJFVHqVpp4=|pY&z1}`fn2ev`=u1 zM=0mR3AJ4>@>A1;Lo1JszKvM^drSOP!TOxhmrU(2oH9EmuE(d6b(}(=?qx)q&A0n4 zv#g(R@XAu@=$doL%OZaXwdO-1A;oVQ?apN)5CM4tKipy^3e_27S=~D0r@aq8Wq(M?Uty2Uh5?&e^Yx zCB#|Ke*wpnz)cQPy=EAm4wpZXPzP;bi+ z{0LL% zPyfhVDl2GihNEyw$5CTErXIZWo*>wpj>nbJS~|s6jJ26a6R3ya#t=7!O0Bt_qx3VIaW8*Q75^Ezm8@JN=r>G*v#A|aP zy~6g~eRCit(^Cns)&bebx#nA8`;?cJ-i^&*wOM4i@=TB}spU8OOu!?l^=flSj2v-1 z7Mf%L>@#-YYKD&~_+~uWQo5xNFx;#9Pg!}-Gzu(LHEqYq0`|Z7!Cpg42Fi-9BR&lsDS*xcft7occl4u zOLIFn4+l3EpKlKK|8HDi*gl{CgZ~>F7dPks=KsRQ!_NC(|Cj$nRsJvk7t3VfCTubI z@LSy5m^8{%#K>u_buicDgQ-TcUO_GsX!fUlQZMtRcIw{77d2 literal 0 HcmV?d00001 diff --git a/pkg/colorls-1.5.1.gem b/pkg/colorls-1.5.1.gem new file mode 100644 index 0000000000000000000000000000000000000000..04ce0f24315f59f320b4c1434f4ab509b95b7189 GIT binary patch literal 30720 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 literal 0 HcmV?d00001 From a4a8121b4319681da4133756cf0dac0ca99c4ede Mon Sep 17 00:00:00 2001 From: AgentK Date: Tue, 20 Aug 2024 01:14:27 +0300 Subject: [PATCH 12/17] fix find file key --- lib/colorls/core.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/colorls/core.rb b/lib/colorls/core.rb index 55b11836..9759f2eb 100644 --- a/lib/colorls/core.rb +++ b/lib/colorls/core.rb @@ -516,7 +516,7 @@ def options_directory(content) end def options_file(content) - key = File.extname(content.name).delete_prefix('.').downcase.to_sym + key = determine_key_for_file(content) key = @file_aliases[key] unless @files.key?(key) color = file_color(content, key) From 271394011dcdd6b6dc1b1882f4ae7b2d0d1e5234 Mon Sep 17 00:00:00 2001 From: AgentK Date: Tue, 20 Aug 2024 01:18:07 +0300 Subject: [PATCH 13/17] add gem file alias --- lib/yaml/file_aliases.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/yaml/file_aliases.yaml b/lib/yaml/file_aliases.yaml index bb6e840d..dc0dad68 100644 --- a/lib/yaml/file_aliases.yaml +++ b/lib/yaml/file_aliases.yaml @@ -75,6 +75,7 @@ pyx: py rdata: r rds: r rhistory: r +gem: rb gemfile: rb gemspec: rb guardfile: rb From 2500de62e5deb641acd9c355632424128ca518f0 Mon Sep 17 00:00:00 2001 From: AgentK Date: Fri, 6 Sep 2024 15:11:26 +0300 Subject: [PATCH 14/17] fix for windows --- .vscode/launch.json | 16 ++++++++-------- lib/colorls/core.rb | 2 +- lib/colorls/version.rb | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 5d207775..ee9e2eb5 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -26,19 +26,19 @@ "request": "launch", "script": "${workspaceFolder}/exe/colorls", "args": [ - // "-laA", - // "--sd", - // "--gs", - // "--df", - // "--sort=df", - // "--report=long", + "-laA", + "--sd", + "--gs", + "--df", + "--sort=df", + "--report=long", // "-l", // "-L", // "--sort=time", - "--reverse", + // "--reverse", // "~/src/WindowsTerminalLayoutManager" // "~/src/" - "spec/fixtures" + "C:\\Users\\dmitr" ], "askParameters": false }, diff --git a/lib/colorls/core.rb b/lib/colorls/core.rb index 9759f2eb..16f90c7f 100644 --- a/lib/colorls/core.rb +++ b/lib/colorls/core.rb @@ -436,7 +436,7 @@ def update_content_if_show_symbol_dest(content, show_symbol_dest_flag) return content if content.dead? target = content.link_target - target = File.join(content.parent, target) if !target.start_with?('/') && !target.start_with?('\\') + target = File.join(content.parent, target) unless File.absolute_path?(target) FileInfo.info(target) end diff --git a/lib/colorls/version.rb b/lib/colorls/version.rb index 689ef60a..991ad6dd 100644 --- a/lib/colorls/version.rb +++ b/lib/colorls/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module ColorLS - VERSION = '1.5.1' + VERSION = '1.5.2' end From b93cabd5c68c97852043c051b5b8060aa3ad06a0 Mon Sep 17 00:00:00 2001 From: AgentK Date: Fri, 6 Sep 2024 15:53:40 +0300 Subject: [PATCH 15/17] README update with --df help --- README.md | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index e5b5e8f5..f86ceb49 100644 --- a/README.md +++ b/README.md @@ -15,23 +15,11 @@ A Ruby script that colorizes the `ls` output with color and icons. Here are the # Table of contents +- [Color LS](#color-ls) +- [Table of contents](#table-of-contents) - [Usage](#usage) - - [Flags](#flags) - - `-1` - - `-a` (or) `--all` - - `-A` (or) `--almost-all` - - `-d` (or) `--dirs` - - `-f` (or) `--files` - - `--help` - - `-l` (or) `--long` - - `--report` - - `--tree` (or) `--tree=[DEPTH]` - - `--gs` (or) `--git-status` - - `--sd` (or) `--sort-dirs` or `--group-directories-first` - - `--sf` (or) `--sort-files` - - `--df` (or) `--dots-first` - - `-t` - - [Combination of flags](#combination-of-flags) + - [Flags](#flags) + - [Combination of flags](#combination-of-flags) - [Installation](#installation) - [Recommended configurations](#recommended-configurations) - [Custom configurations](#custom-configurations) @@ -95,6 +83,7 @@ Man pages have been added. Checkout `man colorls`. - With `--sf` (or) `--sort-files` : Shows files first, followed by directories ![image](https://user-images.githubusercontent.com/17109060/32149071-6b379de4-bd25-11e7-8764-a0c577e526a1.png) +- With `--df` (or) `--dots-first` : Shows hidden directoryes and files first, followed by regular directories and files - With `-t` : Sort by modification time, newest first (NEED TO ADD IMAGE) From 01e46fa27bdc42003207fbf5451ad57048f7688d Mon Sep 17 00:00:00 2001 From: AgentK Date: Fri, 6 Sep 2024 18:05:20 +0300 Subject: [PATCH 16/17] Update README.md update README with --df, --dots-first images --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f86ceb49..fc5e7674 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ Man pages have been added. Checkout `man colorls`. - With `--help` : Prints a very helpful help menu ![image](https://user-images.githubusercontent.com/17109060/32149096-cf2cf5b0-bd25-11e7-84b6-909d79099c98.png) + ![Screenshot 2024-09-06 180229](https://github.com/user-attachments/assets/eceb8631-96e7-41e5-b5ed-ac621f5dc83c) - With `-l` (or) `--long` : Shows in long listing format @@ -85,6 +86,7 @@ Man pages have been added. Checkout `man colorls`. ![image](https://user-images.githubusercontent.com/17109060/32149071-6b379de4-bd25-11e7-8764-a0c577e526a1.png) - With `--df` (or) `--dots-first` : Shows hidden directoryes and files first, followed by regular directories and files + ![Screenshot 2024-09-06 175641](https://github.com/user-attachments/assets/338c026c-ff96-4ed8-9f63-36d828074da7) - With `-t` : Sort by modification time, newest first (NEED TO ADD IMAGE) - With color options : `--light` or `--dark` can be passed as a flag, to choose the appropriate color scheme. By default, the dark color scheme is chosen. In order to tweak any color, read [Custom configurations](#custom-configurations). From 059c68a711d6017c6ceb10b584e9e53666de8dec Mon Sep 17 00:00:00 2001 From: AgentK Date: Fri, 6 Sep 2024 18:20:53 +0300 Subject: [PATCH 17/17] add colorls-1.5.2.gem --- pkg/colorls-1.5.2.gem | Bin 0 -> 84992 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pkg/colorls-1.5.2.gem diff --git a/pkg/colorls-1.5.2.gem b/pkg/colorls-1.5.2.gem new file mode 100644 index 0000000000000000000000000000000000000000..fb785ca3ef1f9f4141d3d7b177f91a9e483abb54 GIT binary patch literal 84992 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 literal 0 HcmV?d00001