Skip to content

Commit

Permalink
feat: Create multiple directories in one go
Browse files Browse the repository at this point in the history
  • Loading branch information
cskeeters committed Aug 23, 2024
1 parent 6fd9c58 commit 6a7a2d6
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 9 deletions.
33 changes: 25 additions & 8 deletions file_operations.go
Original file line number Diff line number Diff line change
Expand Up @@ -291,19 +291,36 @@ func (m *model) FinishMkDir(f string) tea.Cmd {
defer file.Close()

scanner := bufio.NewScanner(file)
scanner.Scan()
if err := scanner.Err(); err != nil {
m.appendError("Error opening temporary file "+f+":"+err.Error())
return nil
for scanner.Scan() {

dir_name := scanner.Text()

i := strings.Index(dir_name, ";")
if i != -1 {
dir_name = dir_name[0:i]
}
dir_name = strings.TrimSpace(dir_name)

if dir_name != "" {
dst := filepath.Join(m.CurrentTab.absdir, dir_name)
err = os.Mkdir(dst, 0755)
if err != nil {
log.Printf(err.Error())
m.appendError("Error creating directory "+dir_name+":"+err.Error())
}

log.Printf("Made directory %s", dst)
}
}
dir_name := scanner.Text()

os.Remove(f)

dst := filepath.Join(m.CurrentTab.absdir, dir_name)
err = os.Mkdir(dst, 0755)
// when scanner.Scan returns false, check for error
if err := scanner.Err(); err != nil {
m.appendError("Error opening temporary file "+f+":"+err.Error())
return nil
}

log.Printf("Made directory %s", dst)
return refresh()
}

Expand Down
2 changes: 1 addition & 1 deletion help.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ func generateHelp() string {
doc.WriteString(f(" %s - %s\n", p(k("p")), d("Copy selected files to current directory")))
doc.WriteString(f(" %s - %s\n", p(k("o")), d("Open file(s) (with open command/alias)")))
doc.WriteString(f(" %s - %s\n", p(k("e")), d("Edit file (with EDITOR environment variable)")))
doc.WriteString(f(" %s - %s\n", p(k("N")), d("New directory")))
doc.WriteString(f(" %s - %s\n", p(k("N")), d("Create New directory(ies)")))
doc.WriteString(f(" %s - %s\n", p(k("D")), d("Duplicate file")))
doc.WriteString(f(" %s - %s\n", p(k("R")), d("Rename hovered file")))
doc.WriteString(f(" %s - %s\n", p(k("ctrl+r")), d("Bulk Rename with EDITOR")))
Expand Down

0 comments on commit 6a7a2d6

Please sign in to comment.