Fix parsing of actions in map directives in Go

This commit is contained in:
Kovid Goyal 2023-04-05 07:55:18 +05:30
parent 3ee77a3a57
commit 708267d229
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -248,12 +248,18 @@ type KeyAction struct {
Args string Args string
} }
func (self *KeyAction) String() string {
return fmt.Sprintf("map %#v %#v %#v\n", strings.Join(self.Normalized_keys, ">"), self.Name, self.Args)
}
func ParseMap(val string) (*KeyAction, error) { func ParseMap(val string) (*KeyAction, error) {
spec, action, found := strings.Cut(val, " ") spec, action, found := strings.Cut(val, " ")
if !found { if !found {
return nil, fmt.Errorf("No action specified for shortcut %s", val) return nil, fmt.Errorf("No action specified for shortcut %s", val)
} }
action = strings.TrimSpace(action)
action_name, action_args, _ := strings.Cut(action, " ") action_name, action_args, _ := strings.Cut(action, " ")
action_args = strings.TrimSpace(action_args)
return &KeyAction{Name: action_name, Args: action_args, Normalized_keys: NormalizeShortcuts(spec)}, nil return &KeyAction{Name: action_name, Args: action_args, Normalized_keys: NormalizeShortcuts(spec)}, nil
} }