summaryrefslogtreecommitdiff
path: root/cmds/set.go
blob: a2bc3a6e2e9ed3f34e47b3b35f32b8b8970e68e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package cmds

import (
	"fmt"
	"os"

	"gosh/global"
)

func printenv() {
	vars := os.Environ()
	for i := range vars {
		fmt.Println(vars[i])
	}
	if len(global.Options) > 0 {
		fmt.Printf("SH_OPTS=%v\n", global.Options)
	}
}

func set(args []string) {
	for i := 1; i < len(args); i++ {
		if i-1 >= len(global.Options) {
			global.Options = append(global.Options, args[i])
			continue
		}
		global.Options[i-1] = args[i]
	}

	if len(args)-1 < len(global.Options) {
		global.Options = global.Options[:len(args)-1]
	}
}