lsd-rs / lsd

The next gen ls command
Apache License 2.0
13.41k stars 434 forks source link

Enchancement: Create a theme wiki #602

Open Zeioth opened 2 years ago

Zeioth commented 2 years ago

I just created a tokyo night theme. Where should I submit it?

zwpaper commented 2 years ago

haha @Zeioth, There is always a TODO in my plan list for sharing the themes, but I did not have time for it currently! I will try to make it happen ASAP.

thank you so much for your willingness to share the themes! I will update this issue if there is any progress!

kakulukia commented 2 years ago

For a start, there could be a themes folder in the repo where people could send PRs with new theme files. Sure, displaying all themes is a really nice option, but having a common place to look for new themes is a good start!

kakulukia commented 2 years ago

@Zeioth did you upload the theme anywhere?

meain commented 2 years ago

Anyone who is interested in contributing a theme, feel free to drop it here. Once we accumulate a few, we can start a wiki page for it.

kakulukia commented 2 years ago

dracula.zip

Here is my current Dracula version. And a screenshot: SCR-20220912-f1p

meain commented 2 years ago

You could paste the yaml file for config here and optionally include the LS_COLORS value.

yinanfang commented 2 years ago

@kakulukia Your theme is really awesome! Can you share the config for the theme?

kakulukia commented 2 years ago

@yinanfang check the attached zip file :)

yinanfang commented 2 years ago

@kakulukia I wasn't able to click and open the zip because I got error 79. I thought it was corrupted but I just tried it again with unzip and it worked. Thanks for the great theme!

kakulukia commented 2 years ago

hmmmm .. interesting that the zip file is kinda broken ..

Here are the config.yaml:

# == Classic ==
# This is a shorthand to override some of the options to be backwards compatible
# with `ls`. It affects the "color"->"when", "sorting"->"dir-grouping", "date"
# and "icons"->"when" options.
# Possible values: false, true
classic: false

# == Blocks ==
# This specifies the columns and their order when using the long and the tree
# layout.
# Possible values: permission, user, group, size, size_value, date, name, inode
blocks:
  - permission
  - user
  - group
  - size
  - date
  - name

# == Color ==
# This has various color options. (Will be expanded in the future.)
color:
  # When to colorize the output.
  # When "classic" is set, this is set to "never".
  # Possible values: never, auto, always
  when: auto
  # How to colorize the output.
  # When "classic" is set, this is set to "no-color".
  # Possible values: default, <theme-file-name>
  # when specifying <theme-file-name>, lsd will look up theme file
  # XDG Base Directory if relative, e.g. ~/.config/lsd/themes/<theme-file-name>.yaml,
  # The file path if absolute
  theme: dracula

# == Date ==
# This specifies the date format for the date column. The freeform format
# accepts an strftime like string.
# When "classic" is set, this is set to "date".
# Possible values: date, relative, '+<date_format>'
# `date_format` will be a `strftime` formatted value. e.g. `date: '+%d %b %y %X'` will give you a date like this: 17 Jun 21 20:14:55
date: date

# == Dereference ==
# Whether to dereference symbolic links.
# Possible values: false, true
dereference: false

# == Display ==
# What items to display. Do not specify this for the default behavior.
# Possible values: all, almost-all, directory-only
# display: all

# == Icons ==
icons:
  # When to use icons.
  # When "classic" is set, this is set to "never".
  # Possible values: always, auto, never
  when: auto
  # Which icon theme to use.
  # Possible values: fancy, unicode
  theme: fancy
  # Separator between icon and the name
  # Default to 1 space
  separator: "  "

# == Ignore Globs ==
# A list of globs to ignore when listing.
# ignore-globs:
#   - .git

# == Indicators ==
# Whether to add indicator characters to certain listed files.
# Possible values: false, true
indicators: false

# == Layout ==
# Which layout to use. "oneline" might be a bit confusing here and should be
# called "one-per-line". It might be changed in the future.
# Possible values: grid, tree, oneline
layout: grid

# == Recursion ==
recursion:
  # Whether to enable recursion.
  # Possible values: false, true
  enabled: false
  # How deep the recursion should go. This has to be a positive integer. Leave
  # it unspecified for (virtually) infinite.
  # depth: 3

# == Size ==
# Specifies the format of the size column.
# Possible values: default, short, bytes
size: default

# == Permission ==
# Specify the format of the permission column
# Possible value: rwx, octal
permission: rwx

# == Sorting ==
sorting:
  # Specify what to sort by.
  # Possible values: extension, name, time, size, version
  column: name
  # Whether to reverse the sorting.
  # Possible values: false, true
  reverse: false
  # Whether to group directories together and where.
  # When "classic" is set, this is set to "none".
  # Possible values: first, last, none
  dir-grouping: first

# == No Symlink ==
# Whether to omit showing symlink targets
# Possible values: false, true
no-symlink: false

# == Total size ==
# Whether to display the total size of directories.
# Possible values: false, true
total-size: false

hyperlink: never
symlink-arrow: ⇒
header: false

and the theme file dracula.yaml:

classic: false
blocks:
  - permission
  - user
  - group
  - size
  - date
  - name

color:
  when: auto
  theme: dracula
date: date
dereference: false
icons:
  when: auto
  theme: fancy
  separator: "  "
indicators: false
layout: grid
recursion:
  enabled: false
size: default
permission: rwx
sorting:
  column: name
  reverse: false
  dir-grouping: first
no-symlink: false
total-size: false
hyperlink: never
symlink-arrow: ⇒
header: false
dajaxx commented 1 year ago

I have a slightly different take on dracula.yaml:


group: 229      # Comment
permission:
  read: 183     # Purple
  write: 212    # Pink
  exec: 159     # Cyan
  exec-sticky: 231  # Foreground
  no-access: 210    # Red
  octal: 120    # Green
  acl: 60       # Current Line
  context: 103  # Comment
date:
  hour-old: 117 # Comment - 40% lighter
  day-old: 110  # Comment - 20% lighter
  older: 103    # Comment
size:
  none: 60      # Current Line
  small: 120    # Green
  medium: 222   # Orange
  large: 210    # Red
inode:
  valid: 159    # Cyan
  invalid: 210  # Red
links:
  valid: 159    # Cyan
  invalid: 210  # Red
tree-edge: 60   # Current Line
kakulukia commented 1 year ago

Can you also post a screenshot?

shian15810 commented 11 months ago

This Solarized Light theme by @bradleyhop posted in Discussions is worth mentioning here for future reference:

Zeioth commented 10 months ago

Ok I'm uploading. Consider this theme 'Tokyonight friendly', for terminals that use the tokyonight theme.

lsd-tokyonight.tar.gz

Zeioth commented 10 months ago

screenshot_2023-12-05_19-05-14_950254953 You cannot appreciate it in the image, but recently accesed files will display datetime highlighted.