Objective-C filenames can use the + character. (It's a common convention to name a class category file something like NSString+Additions.h, for example.) Objective-C buffers have isfname=@,48-57,/,.,-,_,+,,,#,$,%,~,=,@-@.
:A doesn't support these kinds of filenames. In s:jumpopt, this substitution happens:
let pattern = '!$\|[:+@#]\d\+$\|[+@#].*$'
let file = substitute(a:file, pattern, '', '')
let jump = matchstr(a:file, pattern)
After the substitute, a filename like directory/NSString+Additions.h becomes just directory/NSString, because of the [+@#].*$ portion of the pattern.
Changing that sub-pattern to ^[+@#].*$ (match at start) "works for me", but I'm not confident enough in that change to submit it as a pull request because I don't fully understand this code's intentions.
Objective-C filenames can use the
+
character. (It's a common convention to name a class category file something likeNSString+Additions.h
, for example.) Objective-C buffers haveisfname=@,48-57,/,.,-,_,+,,,#,$,%,~,=,@-@
.:A
doesn't support these kinds of filenames. Ins:jumpopt
, this substitution happens:After the substitute, a filename like
directory/NSString+Additions.h
becomes justdirectory/NSString
, because of the[+@#].*$
portion of the pattern.Changing that sub-pattern to
^[+@#].*$
(match at start) "works for me", but I'm not confident enough in that change to submit it as a pull request because I don't fully understand this code's intentions.