Giter VIP home page Giter VIP logo

c-eldoc's Introduction

c-eldoc.el

Display description of the function under the cursor.

Installation

First, download and compile c-eldoc.el

wget http://github.com/nflath/c-eldoc/raw/master/c-eldoc.el

Then, place c-eldoc.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 30 seconds) and you can customize this value.

(setq c-eldoc-buffer-regenerate-time 60)

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 flags

To customize them, use setq.

(setq c-eldoc-cpp-command "/usr/local/bin/clang")

c-eldoc's People

Contributors

aitbits avatar bad-ptr avatar cdkamat avatar huangjs avatar nflath avatar pierre-rouleau avatar tisannai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

c-eldoc's Issues

Too many hangs when a large header set is included (e.g. webkitgtk)

If I include a large header set like webkitgtk:

(setq c-eldoc-includes "`pkg-config gtk+-3.0  --cflags` -I./ -I../ `pkg-config webkit2gtk-4.0 --cflags`")

then every out-of-cache lookups hangs for some seconds. This makes this package unusable. I haven't profiled it, but there might be some way to optimize this.

Needs to be updated on marmalade

The current version on marmalade is 0.5 which, in particular, does not contain the autoload cookie. It is not part of the GNU ELPA or MELPA. The new version is part of Tom Tromey's ELPA, but I had that turned off since it's been abandoned IIUC. Adding it to MELPA should be very easy, simply adding

(name :url "https://github.com/nflath/c-eldoc.git" 
 :fetcher git)

to pkglist, and testing that it builds. Unfortunately, when I tried to build (some time ago for a different project) some oddities in my environment made it so I couldn't build anything without making some major changes which weren't worth it at the time.

Anyway, updating on Marmalade would be great, and adding to MELPA would also be nice. I don't have much experience with either, but if you want me to try to do either let me know.

Use executable-find

It's good practice not to hard-code the path to commands but to use executable-find instead. For instance:

(defvar c-eldoc-cpp-command (executable-find "/usr/bin/cpp"))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.