Skip to content

Commit 00804ad

Browse files
committed
Sort entries before saving/ printing
1 parent 34a478e commit 00804ad

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

ssh_reg.go

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"os"
88
User "os/user"
99
"regexp"
10+
"sort"
1011
"strings"
1112
)
1213

@@ -54,7 +55,7 @@ type Host struct {
5455
}
5556

5657
func main() {
57-
kingpin.Version("0.5.3")
58+
kingpin.Version("0.5.4")
5859
usr, _ := User.Current()
5960
dir := usr.HomeDir
6061
ssh_config = dir + "/.ssh/config"
@@ -160,12 +161,13 @@ func _parseConfig(input string) {
160161
}
161162

162163
func _listHosts() {
163-
regex, _ := regexp.Compile(`Host (.+)`)
164-
input, _ := ioutil.ReadFile(ssh_config)
165-
match := regex.FindAllStringSubmatch(string(input), -1)
166-
167-
for _, host := range match {
168-
fmt.Println(fmt.Sprintf("%v", host[1]))
164+
var keys []string
165+
for k := range entries {
166+
keys = append(keys, k)
167+
}
168+
sort.Strings(keys)
169+
for _, k := range keys {
170+
fmt.Println(fmt.Sprintf("%v", k))
169171
}
170172
}
171173

@@ -203,7 +205,12 @@ func _updateHost(host string, hostName string, identityFile string, user string)
203205
func _saveEntries() {
204206
fh, _ := os.OpenFile(ssh_config, os.O_RDWR|os.O_TRUNC, 0777)
205207

206-
for _, entry := range entries {
207-
fh.WriteString(fmt.Sprintf("%v\n", _printHost(entry)))
208+
var keys []string
209+
for k := range entries {
210+
keys = append(keys, k)
211+
}
212+
sort.Strings(keys)
213+
for _, k := range keys {
214+
fh.WriteString(fmt.Sprintf("%v\n", _printHost(entries[k])))
208215
}
209216
}

0 commit comments

Comments
 (0)