Compare commits
No commits in common. "d0a039c17b55533f9d19e49c3405a13e4f5a65fd" and "ce5e3e7b5e838aaf779a44b163b34a48792eef34" have entirely different histories.
d0a039c17b
...
ce5e3e7b5e
4 changed files with 12 additions and 34 deletions
13
Makefile
13
Makefile
|
@ -8,8 +8,8 @@ HOST_GOOS=$(shell go env GOOS)
|
|||
HOST_GOARCH=$(shell go env GOARCH)
|
||||
# GOOS=windows GOARCH=386
|
||||
|
||||
NAME=randomedit
|
||||
REPO_PATH=bitbucket.com/glenux-corp/randomedit
|
||||
NAME=vedecom-ukko
|
||||
REPO_PATH=bitbucket.com/glenux-corp/vedecom-ukko
|
||||
BUILD_DIR=$(shell pwd)/_build
|
||||
INSTALL_DIR=$(PREFIX)/bin
|
||||
SHARE_DIR=$(PREFIX)/share/$(NAME)
|
||||
|
@ -20,9 +20,14 @@ build: vendor ## build executable
|
|||
@mkdir -p "$(BUILD_DIR)"
|
||||
# go build -i ./...
|
||||
# GOBIN="$(BUILD_DIR)" go install ./...
|
||||
for binary in $$(cd cmd ; ls) ; do \
|
||||
for binary in "./cmd"/* ; do \
|
||||
name="$$(basename "$$binary")" ; \
|
||||
go build -o "_build/$$binary" ./cmd/$$binary/... || exit 1 ; \
|
||||
go build -i "$$binary" || exit 1 ; \
|
||||
if [ -f "$$name.exe" ]; then \
|
||||
mv "$$name.exe" "$(BUILD_DIR)/$$name.exe" || exit 1 ; \
|
||||
else \
|
||||
mv "$$name" "$(BUILD_DIR)/$$name" || exit 1 ; \
|
||||
fi ; \
|
||||
done
|
||||
|
||||
|
||||
|
|
|
@ -4,15 +4,10 @@
|
|||
|
||||
For when you can't decide what you want to start with.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Make sure you have a recent version of Golang installed.
|
||||
|
||||
## Installation
|
||||
|
||||
Type the following command:
|
||||
:warning: FIXME
|
||||
|
||||
make build
|
||||
|
||||
## Usage
|
||||
|
||||
|
|
|
@ -36,30 +36,21 @@ func findFiles(dir string, patterns []string) []string {
|
|||
func main() {
|
||||
var directories []string
|
||||
var patterns []string
|
||||
var verbose bool
|
||||
var editor string
|
||||
flag.StringArrayVarP(&directories, "dir", "d", []string{"."}, "Look in given directory")
|
||||
flag.StringArrayVarP(&patterns, "pattern", "p", []string{}, "Match given globbing pattern")
|
||||
flag.StringVarP(&editor, "editor", "e", "", "Use given editor command")
|
||||
flag.BoolVarP(&verbose, "verbose", "v", false, "Match given globbing pattern")
|
||||
flag.Parse()
|
||||
|
||||
if len(patterns) < 1 {
|
||||
patterns = []string{"*.txt", "*.md"}
|
||||
}
|
||||
// fmt.Printf("%#v\n", directories)
|
||||
|
||||
if len(editor) < 1 {
|
||||
editor = os.Getenv("EDITOR")
|
||||
}
|
||||
// fmt.Printf("%#v\n", directories)
|
||||
editor := os.Getenv("EDITOR")
|
||||
|
||||
// walk dirs & merge result
|
||||
filesSet := map[string]int{}
|
||||
for _, dir := range directories {
|
||||
for _, file := range findFiles(dir, patterns) {
|
||||
if verbose {
|
||||
fmt.Printf("d: Found %s\n", file)
|
||||
}
|
||||
if _, ok := filesSet[file]; !ok {
|
||||
filesSet[file] = 0
|
||||
}
|
||||
|
@ -69,17 +60,9 @@ func main() {
|
|||
// extract keys
|
||||
files := []string{}
|
||||
for k := range filesSet {
|
||||
if verbose {
|
||||
fmt.Printf("d: #%d. %s\n", len(files), k)
|
||||
}
|
||||
files = append(files, k)
|
||||
}
|
||||
|
||||
if verbose {
|
||||
// fmt.Printf("d: List %+v\n", files)
|
||||
fmt.Printf("d: List has %d entries\n", len(files))
|
||||
}
|
||||
|
||||
if len(files) < 1 {
|
||||
fmt.Println("No file found")
|
||||
os.Exit(1)
|
||||
|
@ -87,9 +70,6 @@ func main() {
|
|||
|
||||
rand.Seed(time.Now().UTC().UnixNano())
|
||||
choice := rand.Intn(len(files))
|
||||
if verbose {
|
||||
fmt.Printf("d: Chosen entry n°%d\n", choice)
|
||||
}
|
||||
fmt.Printf("%s %s\n", editor, files[choice])
|
||||
|
||||
// Run editor
|
||||
|
|
2
go.mod
2
go.mod
|
@ -1,5 +1,3 @@
|
|||
module github.com/glenux/randomedit
|
||||
|
||||
go 1.15
|
||||
|
||||
require github.com/spf13/pflag v1.0.2
|
||||
|
|
Loading…
Add table
Reference in a new issue