mirror of
https://github.com/athityakumar/colorls.git
synced 2024-09-19 05:31:23 +02:00
Merge pull request #552 from karandeepmadaan/feature/without-icons
feat(483): adds support for `--without-icons` feature flag
This commit is contained in:
commit
a0a78da84d
2 changed files with 10 additions and 7 deletions
|
@ -28,7 +28,7 @@ module ColorLS
|
|||
def initialize(all: false, sort: false, show: false,
|
||||
mode: nil, show_git: false, almost_all: false, colors: [], group: nil,
|
||||
reverse: false, hyperlink: false, tree_depth: nil, show_inode: false,
|
||||
indicator_style: 'slash', long_style_options: {})
|
||||
indicator_style: 'slash', long_style_options: {}, icons: true)
|
||||
@count = {folders: 0, recognized_files: 0, unrecognized_files: 0}
|
||||
@all = all
|
||||
@almost_all = almost_all
|
||||
|
@ -46,14 +46,16 @@ module ColorLS
|
|||
@time_style = long_style_options.key?(:time_style) ? long_style_options[:time_style] : ''
|
||||
@indicator_style = indicator_style
|
||||
@hard_links_count = long_style_options.key?(:hard_links_count) ? long_style_options[:hard_links_count] : true
|
||||
# how much characters an item occupies besides its name
|
||||
@additional_chars_per_item = 12 + (@show_git ? 4 : 0) + (@show_inode ? 10 : 0)
|
||||
@icons = icons
|
||||
|
||||
init_colors colors
|
||||
|
||||
init_icons
|
||||
end
|
||||
|
||||
def additional_chars_per_item
|
||||
12 + (@show_git ? 4 : 0) + (@show_inode ? 10 : 0)
|
||||
end
|
||||
|
||||
def ls_dir(info)
|
||||
if @tree[:mode]
|
||||
print "\n"
|
||||
|
@ -155,7 +157,7 @@ module ColorLS
|
|||
end
|
||||
|
||||
def item_widths
|
||||
@contents.map { |item| Unicode::DisplayWidth.of(item.show) + @additional_chars_per_item }
|
||||
@contents.map { |item| Unicode::DisplayWidth.of(item.show) + additional_chars_per_item }
|
||||
end
|
||||
|
||||
def filter_hidden_contents
|
||||
|
@ -341,7 +343,7 @@ module ColorLS
|
|||
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 = "#{out_encode(logo)} #{out_encode(name)}"
|
||||
entry = @icons ? "#{out_encode(logo)} #{out_encode(name)}" : out_encode(name).to_s
|
||||
entry = entry.bright if !content.directory? && content.executable?
|
||||
|
||||
"#{inode(content)} #{long_info(content)} #{git_info(content)} #{entry.colorize(color)}#{symlink_info(content)}"
|
||||
|
@ -354,7 +356,7 @@ module ColorLS
|
|||
entry = fetch_string(content, *options(content))
|
||||
line << (' ' * padding)
|
||||
line << ' ' << entry.encode(Encoding.default_external, undef: :replace)
|
||||
padding = widths[i] - Unicode::DisplayWidth.of(content.show) - @additional_chars_per_item
|
||||
padding = widths[i] - Unicode::DisplayWidth.of(content.show) - additional_chars_per_item
|
||||
end
|
||||
print line << "\n"
|
||||
end
|
||||
|
|
|
@ -175,6 +175,7 @@ module ColorLS
|
|||
end
|
||||
options.on('-x', 'list entries by lines instead of by columns') { @opts[:mode] = :horizontal }
|
||||
options.on('-C', 'list entries by columns instead of by lines') { @opts[:mode] = :vertical }
|
||||
options.on('--without-icons', 'list entries without icons') { @opts[:icons] = false }
|
||||
end
|
||||
|
||||
def default_long_style_options
|
||||
|
|
Loading…
Reference in a new issue