Skip to content

Commit 19f6987

Browse files
committed
set default os based paths for config and logs
1 parent 38df497 commit 19f6987

File tree

4 files changed

+31
-3
lines changed

4 files changed

+31
-3
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
GOOS: ${{ matrix.os }}
3636
GOARCH: ${{ matrix.arch }}
3737
run: |
38-
BINARY="devmind-${{ matrix.os }}-${{ matrix.arch }}"
38+
BINARY="devmind-${{ github.ref_name }}-${{ matrix.os }}-${{ matrix.arch }}"
3939
if [ "${{ matrix.os }}" = "windows" ]; then
4040
BINARY="$BINARY.exe"
4141
fi

cmd/explain.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cmd
22

33
import (
4+
"fmt"
45
"strings"
56

67
"github.com/spf13/cobra"
@@ -78,6 +79,12 @@ func readContent(path, lines string) ([]byte, error) {
7879
logger.Error("Error reading from stdin:" + err.Error())
7980
return nil, err
8081
}
82+
83+
fmt.Println("contend:", content)
84+
if len(content) == 0 {
85+
logger.Error("No content read from stdin")
86+
return nil, fmt.Errorf("no content read from stdin")
87+
}
8188
} else {
8289
//read from file
8390
lr, err := utils.ParseLineRange(lines)

config/config.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package config
22

33
import (
4+
"runtime"
5+
46
"github.com/spf13/viper"
57

68
"github.com/vinit-chauhan/devmind/internal/logger"
@@ -11,8 +13,17 @@ func InitConfig() {
1113
viper.SetConfigType("yaml")
1214

1315
viper.AddConfigPath(".")
14-
viper.AddConfigPath("$HOME/.devmind")
15-
viper.AddConfigPath("/etc/devmind")
16+
if runtime.GOOS == "windows" {
17+
viper.AddConfigPath("%APPDATA%/devmind")
18+
viper.AddConfigPath("%LOCALAPPDATA%/devmind")
19+
viper.AddConfigPath("%PROGRAMDATA%/devmind")
20+
} else if runtime.GOOS == "linux" {
21+
viper.AddConfigPath("$XDG_CONFIG_HOME/devmind")
22+
viper.AddConfigPath("$HOME/.devmind")
23+
viper.AddConfigPath("/etc/devmind")
24+
} else if runtime.GOOS == "darwin" {
25+
viper.AddConfigPath("$HOME/Library/Application Support/devmind")
26+
}
1627

1728
viper.AutomaticEnv()
1829

internal/logger/logger.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,22 @@ import (
44
"fmt"
55
"log"
66
"os"
7+
"runtime"
78
)
89

910
var logger *log.Logger
1011

1112
func init() {
1213
log_path := "devmind.log"
14+
15+
if runtime.GOOS == "windows" {
16+
log_path = os.Getenv("APPDATA") + "\\devmind.log"
17+
} else if runtime.GOOS == "linux" {
18+
log_path = "/var/logs/devmind.log"
19+
} else if runtime.GOOS == "darwin" {
20+
log_path = "/Library/Logs/devmind.log"
21+
}
22+
1323
log_file, err := os.OpenFile(log_path, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
1424
if err != nil {
1525
fmt.Fprintln(os.Stderr, "Error opening log file:", err)

0 commit comments

Comments
 (0)