npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

clang_tool

v0.8.1

Published

Native NodeJS module that provides bindings to libclang for C/C++ IDE support

Downloads

20

Readme

clang-tool

Simple and small utility library to be used in IDE's to provide C / C++ support using libclang.

Usage disclaimer: This library is in alpha stage.

Installing

The library is available via npm under the name clang_tool.

Installation is as easy as:

npm install clang_tool

Because each and every distribution feels the need to put the headers for libclang-c in a different place, you might need to add the correct include path for your distribution in bindings.gyp.

Usage

See demo/demo.js for a quick example.

Contributers

Code Hz Petr Kobalicek

API

The following functions are exported:

/// Sets the compiler arguments
void setArgs(Array args);

/// Adds or updates the specified file on the index
void indexTouch(String file);

/// Adds temporary file content to the index
void indexTouchUnsaved(String file, String value);

/// Returns memory usage statistics for each file on the index
Object indexStatus();

/// Clears all [a single] cache entries
void indexClear([String file]);

/// Returns the ast of the given file
Object fileAst(String file);

/// Returns diagnostic information for the given file
Object fileDiagnose(String file);

/// Returns code completion candidates
Object cursorCandidatesAt(String file, Number row, Number col);

/// Returns where the type under the cursor is declared
Object cursorTypeAt(String file, Number row, Number col);

/// Returns where the type under the cursor is defined
Object cursorDefinitionAt(String file, Number row, Number col);

/// Returns where the type under the cursor is decleared
Object cursorDeclarationAt(String file, Number row, Number col);

All functions that have a String file argument require the file to be added to the index using indexTouch(file) beforehand. Failing to do so will result in an exception.

All path's supplied must be absolute. Using relative path may lead to undefined behavior when using the ast and diagnostic functions.