(require 'org-eldoc) (org-eldoc-hook-setup) (add-hook 'emacs-lisp-mode-hook 'eldoc-mode) (defun org-eldoc-documentation-function () "Return breadcrumbs when on a headline, args for src block header-line, calls other documentation functions depending on lang when inside src body." (or (org-eldoc-get-breadcrumb) (org-eldoc-get-src-header) (let ((lang (org-eldoc-get-src-lang))) (cond ((or (string= lang "elisp") (string= lang "emacs-lisp")) (cond ((fboundp 'eldoc-documentation-function-default) (eldoc-documentation-function-default)) ((locate-library "elisp-mode") ;; we're using development version of Emacs (autoload 'elisp-eldoc-documentation-function "elisp-mode" nil t) (elisp-eldoc-documentation-function)) (t ;24.3 (let (eldoc-documentation-function) (eldoc-print-current-symbol-info))))) ((or (string= lang "c") ;; http://github.com/nflath/c-eldoc (string= lang "C")) (when (require 'c-eldoc nil t) (c-eldoc-print-current-symbol-info))) ;; https://github.com/zenozeng/css-eldoc ((string= lang "css") (when (require 'css-eldoc nil t) (css-eldoc-function))) ((string= lang "python") (when (require 'python nil t) (python-eldoc-function))) ;; https://github.com/zenozeng/php-eldoc ((string= lang "php") (when (require 'php-eldoc nil t) (php-eldoc-function))) ((or (string= lang "go") (string= lang "golang")) (when (require 'go-eldoc nil t) (go-eldoc--documentation-function)))))))