Function: smart-objc
smart-objc is an autoloaded, interactive and byte-compiled function
defined in hmouse-tag.el.
Signature
(smart-objc &optional IDENTIFIER NEXT)
Documentation
Jump to the definition of optional Objective-C IDENTIFIER or the one at point.
Optional second arg NEXT means jump to next matching Objective-C tag.
It assumes that its caller has already checked that the key was pressed in an appropriate buffer and has moved the cursor to the selected buffer.
See the documentation for smart-objc-oo-browser for the behavior of this
function when the OO-Browser has been loaded.
Otherwise:
(1) on a #include statement, the include file is displayed;
Look for include file in directory lists objc-cpp-include-path and
objc-include-path;
(2) on an Objective-C identifier, the identifier definition is displayed,
assuming the identifier is found within an etags generated tag file
in the current directory or any of its ancestor directories;
(3) if smart-c-use-lib-man is non-nil, the Objective-C identifier is
recognized as a library symbol, and a man page is found for the
identifier, then the man page is displayed.
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hmouse-tag.el
;;;###autoload
(defun smart-objc (&optional identifier next)
"Jump to the definition of optional Objective-C IDENTIFIER or the one at point.
Optional second arg NEXT means jump to next matching Objective-C tag.
It assumes that its caller has already checked that the key was pressed in an
appropriate buffer and has moved the cursor to the selected buffer.
See the documentation for `smart-objc-oo-browser' for the behavior of this
function when the OO-Browser has been loaded.
Otherwise:
(1) on a `#include' statement, the include file is displayed;
Look for include file in directory lists `objc-cpp-include-path' and
`objc-include-path';
(2) on an Objective-C identifier, the identifier definition is displayed,
assuming the identifier is found within an `etags' generated tag file
in the current directory or any of its ancestor directories;
(3) if `smart-c-use-lib-man' is non-nil, the Objective-C identifier is
recognized as a library symbol, and a man page is found for the
identifier, then the man page is displayed."
(interactive)
(if (fboundp 'objc-to-definition)
;; Only fboundp if the OO-Browser has been loaded.
(smart-objc-oo-browser)
(or (if identifier nil (smart-c-include-file))
(smart-objc-tag identifier next))))