diff --git a/Justfile b/Justfile new file mode 100644 index 0000000..404aada --- /dev/null +++ b/Justfile @@ -0,0 +1,43 @@ + +# Build for all supported platforms and architectures +build-all: + @echo "Building for all platforms and architectures..." + just build-linux-amd64 + just build-linux-arm64 + just build-darwin-amd64 + just build-darwin-arm64 + just build-windows-amd64 + just build-windows-arm64 + @echo "All builds completed" + +# Linux builds +build-linux-amd64: + @echo "Building for Linux/amd64..." + GOOS=linux GOARCH=amd64 go build -o bin/renamedit-linux-amd64 + +build-linux-arm64: + @echo "Building for Linux/arm64..." + GOOS=linux GOARCH=arm64 go build -o bin/renamedit-linux-arm64 + +# macOS builds +build-darwin-amd64: + @echo "Building for macOS/amd64..." + GOOS=darwin GOARCH=amd64 go build -o bin/renamedit-darwin-amd64 + +build-darwin-arm64: + @echo "Building for macOS/arm64..." + GOOS=darwin GOARCH=arm64 go build -o bin/renamedit-darwin-arm64 + +# Windows builds +build-windows-amd64: + @echo "Building for Windows/amd64..." + GOOS=windows GOARCH=amd64 go build -o bin/renamedit-windows-amd64.exe + +build-windows-arm64: + @echo "Building for Windows/arm64..." + GOOS=windows GOARCH=arm64 go build -o bin/renamedit-windows-arm64.exe + +# Clean build artifacts +clean: + @echo "Cleaning build artifacts..." + rm -rf bin/* \ No newline at end of file diff --git a/main.go b/main.go index 1bbdca8..529ed65 100644 --- a/main.go +++ b/main.go @@ -58,10 +58,25 @@ func main() { // Open temporary file with editor editor := os.Getenv("EDITOR") if editor == "" { - editor = "vim" // Default editor + editor = "vim" + } + + editorFlags := map[string]string{ + "code": "--wait", + "subl": "--wait", + "zeditor": "--wait", + "atom": "--wait", + "gedit": "--standalone", + } + + var cmd *exec.Cmd + if flag, exists := editorFlags[editor]; exists { + cmd = exec.Command(editor, flag, tmpFile.Name()) + } else { + // Default case for vim, nano, emacs, etc. that wait by default + cmd = exec.Command(editor, tmpFile.Name()) } - cmd := exec.Command(editor, tmpFile.Name()) cmd.Stdin = os.Stdin cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..5713268 --- /dev/null +++ b/readme.md @@ -0,0 +1,3 @@ +# `renamedit` + +Rename files with your favourite editor