Skip to content
Merged

R M #14

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 0 additions & 40 deletions files.img
Original file line number Diff line number Diff line change
Expand Up @@ -234,43 +234,3 @@ while True:
elif event.type == pygame.MOUSEMOTION:
framework.mouseMotion(event.pos)
framework.launch()

!LOC=/sys/
!FNAME=vis.py
# vis.py
# Basic CLI text editor

import sys

# Accepts text input from user
def write(f):
# Keeps asking for input
while True:
line = input()
if line == ".":
f.close()
break
line += "\n"
f.write(line)

# Checks for valid arguments
try:
filename = sys.argv[1]
except IndexError:
print("Missing argument.")
print("Usage: vis <filename>")
sys.exit(0)

# Main editor loop
while True:
cmd = input()
if cmd == "i":
f = open(sys.argv[1], "w+")
write(f);
elif cmd == "a":
f = open(sys.argv[1], "a+")
write(f)
elif cmd == "q":
sys.exit(0)
else:
print("?")
24 changes: 24 additions & 0 deletions rm.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# The `rm` command
# Removes a file in pwd (hopefully)

def rm(working_dir, *args):
files = open("files.img", 'r+')
to_be_written = []
target = args[0]
lines = files.read().strip('\0').split('\n')
write_or_not = True
for i, line in enumerate(lines):
if write_or_not:
if line == '!FNAME=%s' % target\
and lines[i-1] == '!LOC=%s' % working_dir:
write_or_not = False
del to_be_written[-1]
else:
if line and line[0] == '!':
write_or_not = True
if write_or_not:
to_be_written.append(line)
files.close()
fw = open("files.img", 'w+')
fw.write('\n'.join(to_be_written))
fw.close()