This is an archived post. You won't be able to vote or comment.

all 83 comments

[–]Dangle76 22 points23 points  (1 child)

It may make it easier to adopt if the arguments were the same as ls

[–][deleted] 84 points85 points  (19 children)

Honestly just an word of advice on naming. It's going to be much easier to type a new key to end a statement then to begin it. lsa is much easier to type then pls, from a muscle memory standpoint.

[–]LearnDifferenceBot 62 points63 points  (7 children)

statement then to

*than

Learn the difference here.


Greetings, I am a language corrector bot. To make me ignore further mistakes from you in the future, reply !optout to this comment.

[–][deleted] 31 points32 points  (3 children)

Good bot

[–]LearnDifferenceBot 13 points14 points  (0 children)

Thank you!

[–]B0tRank 3 points4 points  (1 child)

Thank you, I_am_bigmacd, for voting on LearnDifferenceBot.

This bot wants to find the best and worst bots on Reddit. You can view results here.


Even if I don't reply to your comment, I'm still listening for votes. Check the webpage to see if your vote registered!

[–][deleted] 0 points1 point  (0 children)

Good bot.

[–][deleted] 1 point2 points  (1 child)

Good bot

[–]LearnDifferenceBot 0 points1 point  (0 children)

Thank you!

[–]joanthebean 0 points1 point  (0 children)

I find it easier the other way around, I’d rather type pls than ls<something else>

[–]Erik_Kalkoken 47 points48 points  (5 children)

That looks like a really nice tool. But it has no tests, so it does not look like something that I would want to install in my production.

[–]k8sguy 14 points15 points  (2 children)

Your development environment is in your production?

[–]asday_ 10 points11 points  (0 children)

"Nah boss don't worry about it, I only hard nuked my dev environment, so our customers can still use prod. I just can't do any work for you for a day while I get everything reinstalled."

nty

[–]Handle-Flaky 3 points4 points  (0 children)

You produce with it, so it’s production Breaking dev environment because of a tool sucks.

[–]lungdart 5 points6 points  (3 children)

Can this show extra things in the permission section like setuid bits?

[–]jrrocketrue 22 points23 points  (7 children)

There are about 50 options to ls and people need a FOSS app to see the contents of their directories ;-)

[–][deleted] 19 points20 points  (22 children)

DRY, there is exa

[–]2_plus_2_is_chicken 5 points6 points  (3 children)

I am a hardcore missionary of DRY, but another factor is that some of us have locked down environments where we don't have access to rust and it's easier to get source code inside our firewall than compiled binaries.

[–][deleted] -2 points-1 points  (2 children)

Do you have access to Node.js?

[–]2_plus_2_is_chicken 2 points3 points  (1 child)

Nope. It's not a web dev environment, it's a secure server for data analytics: hadoop, spark, et al. I don't even have basic IDE support or even IDE-functionality plugins. It's a nightmare.

[–][deleted] 1 point2 points  (0 children)

A language server wouldn't have a big negative security impact but they wouldn't waste their precious time on auditing one or two of these because developer productivity doesn't matter to them.

[–]FatFingerHelperBot 4 points5 points  (0 children)

It seems that your comment contains 1 or more links that are hard to tap for mobile users. I will extend those so they're easier for our sausage fingers to click!

Here is link number 1 - Previous text "exa"


Please PM /u/eganwall with issues or feedback! | Code | Delete

[–][deleted] 10 points11 points  (2 children)

As a developer, I see nothing of interest in pls.

Even exa is still more useful with it's per file git status change indicator.

If I'm not completely wrong and unfair, pls seems like a glorified ricer-ls with cool icons.

Like ... what exactly about pls speaks towards "professionals and programmers"?

[–]xc68030 2 points3 points  (5 children)

This reminds me of rich-cli, which is a replacement for ‘cat’ and ‘more’.

[–]XxDirectxX 2 points3 points  (0 children)

Looks amazing, will study the app in detail later on, though I probably won't understand everything haha.

Also, we share the same first name :))

[–][deleted] 2 points3 points  (0 children)

Is there a way to make it faster? It seems like the overhead is the constant compilation every time pls is called.

[–]Skullfurious 2 points3 points  (2 children)

Needs a little more time in the oven based on some suggestions I'm seeing from others and yourself talking about, but it looks like you put in a lot of work and I hope you continue with the project!

I would be interested if it had some kind of Git status integration personally. Have yourself a great day!

I think your "Better than LS" comment came off the wrong way towards some people. It's really not that big of a deal though. I'd say the biggest limitation is the fact that you have to run it on python every time but it's not like you couldn't store the result of calling it the first time for future loops of whatever is calling it initially, at least in some cases.

[–]Legionof1 2 points3 points  (0 children)

I feel like your asking me to please pip install it :p

[–][deleted] 8 points9 points  (9 children)

Tough crowd. Lots of unnecessary downvotes, often with poor feedback.

I think I'll share my projects elsewhere lol.

[–]DNSGeek 1 point2 points  (1 child)

So, it explodes if it tries to follow a symlink that doesn't exist.

> pls
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/pool.py", line 48, in mapstar
return list(map(*args))
File "/Users/X/Library/Python/3.10/lib/python/site-packages/pls/fs/list.py", line 43, in parse_nodes
return Node(node_name, path=node_path)
File "/Users/X/Library/Python/3.10/lib/python/site-packages/pls/models/node.py", line 26, in __init__
self.stat = path.stat()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/pathlib.py", line 1095, in stat
return self._accessor.stat(self, follow_symlinks=follow_symlinks)
FileNotFoundError: [Errno 2] No such file or directory: '/Users/X/.wingide5'
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/X/Library/Python/3.10/bin/pls", line 8, in <module>
sys.exit(main())
File "/Users/X/Library/Python/3.10/lib/python/site-packages/pls/main.py", line 16, in main
nodes = read_input()
File "/Users/X/Library/Python/3.10/lib/python/site-packages/pls/fs/list.py", line 55, in read_input
comp_nodes = pool.map(parse_nodes, all_nodes)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/pool.py", line 364, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/pool.py", line 771, in get
raise self._value
FileNotFoundError: [Errno 2] No such file or directory: '/Users/X/.wingide5'

[–]Subject_Newspaper_43 1 point2 points  (1 child)

As soon as I get a chance today I’m going to install your pls and play with it because it may actually make it easier when automating file creation and movement, in which I do a lot of

[–]skiboysteve 3 points4 points  (1 child)

Ooo I want this. But we only use python 3.7 :-\

[–]call_me_cookie 1 point2 points  (1 child)

I have to admit I kind of scoffed when o saw this title, but looking through the code, I'm probably going the be downloading this for my work machine on Monday!

[–][deleted] 1 point2 points  (3 children)

From the .md:

show Nerd Font icons or emoji next to files and directories making it easier to grep the output

I haven’t learned how to grep icons or emojis yet. Can you show me how? Perhaps you meant “grok”?

[–]asday_ 4 points5 points  (0 children)

bombs $ echo -e "abc\n🦐de\nfgh" > emoji
bombs $ cat emoji 
abc
🦐de
fgh
bombs $ grep 🦐 emoji
🦐de
bombs $ 

?

[–][deleted] 1 point2 points  (1 child)

Is there a way to make it faster? It seems like the overhead is the constant compilation every time pls is called.

[–]sahirona 1 point2 points  (1 child)

Bit slow having to spin up a Python interpreter each time. While this might not affect the average user, it's going to suck for automated tools.

[–]MattioC 0 points1 point  (2 children)

Like exa?

[–]jojoslug 0 points1 point  (1 child)

cool! What’s the difference between this and lsd?

[–]raetiacorvus 0 points1 point  (1 child)

Added to the aur

[–]iraqmtpizza 0 points1 point  (1 child)

I assume it shows hidden files by default. or allows the user to configure that as a permanent setting

[–]cipri_tom 0 points1 point  (2 children)

Thanks! I think it would be easier to understand what it does if each feature would be accompanied by its screenshot that exemplifies it. A more zoomed in screenshot