Skip to content

Commit 0d6e0cf

Browse files
committed
Manually add '.' and '..' to match real ls -a output
1 parent 0c432f3 commit 0d6e0cf

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

  • implement-shell-tools/ls

implement-shell-tools/ls/ls.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@ def print_directory_entries(path, one_per_line=False, show_all=False):
2727

2828
# By default, ls hides "dotfiles" (names starting with ".").
2929
# Only include them if the -a flag (show_all=True) is set.
30-
if not show_all:
31-
directory_entries = [entry for entry in directory_entries if not entry.startswith(".")]
32-
33-
# Sort entries alphabetically for consistent output
30+
if show_all:
31+
directory_entries.extend([".",".."])
32+
else:
33+
#Filter out hidden files
34+
directory_entries = [entry for entry in directory_entries if not entry.startwith(".")]
35+
#output consistent with the default ls behavior.
3436
directory_entries.sort()
3537

3638
if one_per_line:

0 commit comments

Comments
 (0)