Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mooz/c-eldoc
Helpful description of the arguments to C/C++ functions and macros
https://github.com/mooz/c-eldoc
Last synced: about 1 month ago
JSON representation
Helpful description of the arguments to C/C++ functions and macros
- Host: GitHub
- URL: https://github.com/mooz/c-eldoc
- Owner: mooz
- Created: 2010-10-20T14:43:30.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2020-10-04T20:15:54.000Z (about 4 years ago)
- Last Synced: 2023-04-19T13:57:28.482Z (over 1 year ago)
- Language: Emacs Lisp
- Homepage:
- Size: 292 KB
- Stars: 11
- Watchers: 5
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
c-eldoc.el
==========Display description of the function under the cursor.
![screenshot of c-eldoc](http://github.com/mooz/c-eldoc/raw/master/images/screenshot.png "Display prototypes for the function under the cursor")
Original version: [http://www.emacswiki.org/emacs/c-eldoc.el](http://www.emacswiki.org/emacs/c-eldoc.el)
This forked version uses [deferred.el](http://github.com/kiwanami/emacs-deferred "emacs-deferred") to support asynchronous processing.
Installation
============First, download and compile `c-eldoc.el`
wget http://github.com/mooz/c-eldoc/raw/master/c-eldoc.el
If you havn't installed `deferred.el`,
wget http://github.com/kiwanami/emacs-deferred/raw/master/deferred.el
Then, place `c-eldoc.el` (and `deferred.el`) into your site-lisp directory.
Finally, add following lines to your emacs config file (e.g. `.emacs`).
(add-hook 'c-mode-hook 'c-turn-on-eldoc-mode)
(add-hook 'c++-mode-hook 'c-turn-on-eldoc-mode)Customization
=============Cache
-----`c-eldoc.el` uses cache to reduce the times of compilation. This cache has expiration time (default 120 seconds) and you can customize this value.
(setq c-eldoc-buffer-regenerate-time 60)
You can explicitly force update the cache and get latest result by calling `c-eldoc-force-cache-update`.
The following settings this update command to the `Ctrl-c + d` key.
(defun c-eldoc-define-keybindings (map)
(define-key map (kbd "C-c d") 'c-eldoc-force-cache-update))
(add-hook 'c-mode-hook
(lambda ()
(c-eldoc-define-keybindings c-mode-map)))
(add-hook 'c++-mode-hook
(lambda ()
(c-eldoc-define-keybindings c++-mode-map)))Compile options
---------------You can customize the compiler and the compile options.
Here are the default values.
(defvar c-eldoc-cpp-command "/lib/cpp ") ;; compiler
(defvar c-eldoc-cpp-macro-arguments "-dD -w -P")
(defvar c-eldoc-cpp-normal-arguments "-w -P")
(defvar c-eldoc-includes "`pkg-config gtk+-2.0 --cflags` -I./ -I../ ") ;; include flagsTo customize them, use `setq`.
(setq c-eldoc-cpp-command "/usr/local/bin/clang")
Styles
-----------------------------You can customize style of current argument.
Press `M-x` and type `customize-face` and specify `c-eldoc-current-argument-face`.