-
-
Notifications
You must be signed in to change notification settings - Fork 437
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Suggestion] Custom icons for files and folders #343
Comments
I prefer this feature work out-of-the-box. If a it has to be configurable, I would prefer global configuration (e.g. ~/.config/lsd/something.json). |
I prefer global configuration as well generally not least of all I can throw it in to my dot-files repo and have the same experience wherever I work. |
I'd also love this feature, but IMO it should support wildcards for the filename. As an example, I have a folder with a bunch of Dockerfiles in it that all have various extensions, eg.
In vim, I have one
Would be great if I could do the same for
👍 on this suggestion, with the understanding that local As an example: this would help in JS projects with extension-less multi-format configuration files, eg. |
after we support the color configuration in #452, I will try to look into this. A global configuration for icons would be the basic implementation, and we can keep discussing the necessity of local we should discuss this feature here. As I can figure, it should support the match by:
There is some more feature we need to discuss, I would add some comment for each feature, if you would like the feature to be implemented, please add and 👍(+1) emoji on that comment, and we can discuss base on the count. if there is some other feature you would like to be implemented, please explain and let people add +1 for it. |
prefix by dot matchlike the please notice it must be split by dot if you would like this feature to be implemented, please add and 👍(+1) emoji |
regex matchit is a much more general match mechanism, could nearly be used to match all the cases, if you would like this feature to be implemented, please add and 👍(+1) emoji |
local configurationit could overwrite the global configuration if some file like but the cost is:
for if you would like this feature to be implemented, please add and 👍(+1) emoji |
Thanks for the breakdown on the options, @zwpaper ! 👏
I'd say the first pass should only check the directory you're trying to list and nothing more. In my experience IMO—despite the possibility of "be[ing] a mess if we add Another option to consider would be to add a section in the top-level configuration that maps paths explicitly, eg. overrides:
- { is: json, path: ~/code/project-1/.prettierrc }
- { is: yml, path: ~/code/project-1/.babelrc }
- { is: yml, path: ~/code/project-22/.eslintrc }
# ... Sure, might be tedious, but I imagine it wouldn't add much overhead to implement, and may offer enough to appease those users who care—like me 😉. Looking over my 50ish local projects, I'd probably only need to add about 10 lines here personally. Also saves "reading one more configuration for each execution" and avoids littering |
I can think of many ways to implement this but simply put I'd like to have a mechanism for assigning custom icons to files and directories and overriding those already defined within LSD. I'd also like to be able to configure LSD to match its directory icon assignment and this feature suggestion would allow me to do that. See the example below to see the difference between colorls and LSD:
As for implementation the two ideas I have are to either have an LSD config somewhere where these options can be defined along with the request to configure colors which has been suggested in the past. Alternatively would be to follow my suggestion for
.hidden
files. Define a file format in say a.icon
or.lsd
file which specifices either an icon or hex which people can get from https://www.nerdfonts.com/cheat-sheet followed by the name of the file they want to change. The best maybe to support both options.The text was updated successfully, but these errors were encountered: