forked from sloum/bombadillo
Merge branch 'release2.3.3' into tls-commonname-check
This commit is contained in:
commit
14340034f6
10
client.go
10
client.go
|
@ -344,7 +344,7 @@ func (c *client) simpleCommand(action string) {
|
|||
case "SEARCH":
|
||||
c.search("", "", "?")
|
||||
case "HELP", "?":
|
||||
go c.Visit(helplocation)
|
||||
c.Visit(helplocation)
|
||||
default:
|
||||
c.SetMessage(syntaxErrorMessage(action), true)
|
||||
c.DrawMessage()
|
||||
|
@ -356,6 +356,14 @@ func (c *client) doCommand(action string, values []string) {
|
|||
case "C", "CHECK":
|
||||
c.displayConfigValue(values[0])
|
||||
c.DrawMessage()
|
||||
case "HELP", "?":
|
||||
if val, ok := ERRS[values[0]]; ok {
|
||||
c.SetMessage("Usage: " + val, false)
|
||||
} else {
|
||||
msg := fmt.Sprintf("%q is not a valid command; help syntax: %s", values[0], ERRS[action])
|
||||
c.SetMessage(msg, false)
|
||||
}
|
||||
c.DrawMessage()
|
||||
case "PURGE", "P":
|
||||
err := c.Certs.Purge(values[0])
|
||||
if err != nil {
|
||||
|
|
|
@ -94,10 +94,10 @@ func (p *Parser) parseAction() (*Command, error) {
|
|||
case Value:
|
||||
cm.Target = t.val
|
||||
cm.Type = DOLINK
|
||||
case Word:
|
||||
case Word, Action:
|
||||
cm.Value = append(cm.Value, t.val)
|
||||
cm.Type = DO
|
||||
case Action, Whitespace:
|
||||
case Whitespace:
|
||||
return nil, fmt.Errorf("Found %q (%d), expected value", t.val, t.kind)
|
||||
}
|
||||
t = p.scan()
|
||||
|
|
6
help.go
6
help.go
|
@ -8,7 +8,7 @@ var ERRS = map[string]string{
|
|||
"DELETE": "`delete [bookmark-id]`",
|
||||
"B": "`b [[bookmark-id]]`",
|
||||
"BOOKMARKS": "`bookmarks [[bookmark-id]]`",
|
||||
"C": "`c [link_id]` or `check [setting]`",
|
||||
"C": "`c [link_id]` or `c [setting]`",
|
||||
"CHECK": "`check [link_id]` or `check [setting]`",
|
||||
"H": "`h`",
|
||||
"HOME": "`home`",
|
||||
|
@ -23,6 +23,6 @@ var ERRS = map[string]string{
|
|||
"SET": "`set [setting] [value]`",
|
||||
"W": "`w [target]`",
|
||||
"WRITE": "`write [target]`",
|
||||
"?": "`?`",
|
||||
"HELP": "`help`",
|
||||
"?": "`? [[command]]`",
|
||||
"HELP": "`help [[command]]`",
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ func Visit(webmode, url string, width int) (Page, error) {
|
|||
return Page{}, fmt.Errorf("Invalid webmode setting")
|
||||
}
|
||||
c, err := exec.Command(webmode, "-dump", w, fmt.Sprintf("%d", width), url).Output()
|
||||
if err != nil {
|
||||
if err != nil && c == nil {
|
||||
return Page{}, err
|
||||
}
|
||||
return parseLinks(string(c)), nil
|
||||
|
|
4
page.go
4
page.go
|
@ -97,8 +97,8 @@ func (p *Page) WrapContent(width int, color bool) {
|
|||
}
|
||||
continue
|
||||
}
|
||||
if ch == '\n' {
|
||||
content.WriteRune(ch)
|
||||
if ch == '\n' || ch == '\u0085' || ch == '\u2028' || ch == '\u2029' {
|
||||
content.WriteRune('\n')
|
||||
counter = 0
|
||||
} else if ch == '\t' {
|
||||
if counter+4 < width {
|
||||
|
|
20
page_test.go
20
page_test.go
|
@ -61,6 +61,26 @@ func Test_WrapContent_Wrapped_Line_Length(t *testing.T) {
|
|||
false,
|
||||
},
|
||||
},
|
||||
{
|
||||
"Unicode line endings that should not wrap",
|
||||
"LF\u000A" +
|
||||
"CR+LF\u000D\u000A" +
|
||||
"NEL\u0085" +
|
||||
"LS\u2028" +
|
||||
"PS\u2029",
|
||||
[]string{
|
||||
"LF",
|
||||
"CR+LF",
|
||||
"NEL",
|
||||
"LS",
|
||||
"PS",
|
||||
"",
|
||||
},
|
||||
args{
|
||||
10,
|
||||
false,
|
||||
},
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
|
|
Loading…
Reference in New Issue