From 3f6aeea8c795b8bff59c1a8b45700d7bc44da4b9 Mon Sep 17 00:00:00 2001 From: Guangxiong Lin Date: Fri, 20 Jan 2023 23:05:54 +0800 Subject: First commit --- command.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 command.go (limited to 'command.go') diff --git a/command.go b/command.go new file mode 100644 index 0000000..803970b --- /dev/null +++ b/command.go @@ -0,0 +1,32 @@ +package main + +import ( + "os" + "path/filepath" +) + +func Rename(source, target string) { + source, err := filepath.Abs(source) + if err != nil { + panic("Unable to get abspath of " + source) + } + + target, err = filepath.Abs(target) + if err != nil { + panic("Unable to get abspath of " + target) + } + + if !DocCollection.Contain(source) { + panic("Database doesn't contain " + source) + } + + if err := os.Rename(source, target); err != nil { + panic(err) + } + + doc := DocCollection[source] + for backlink := range doc.backlinks { + DocCollection[backlink].UpdateLinks(source, target) + } + +} -- cgit v1.2.3