Arduino Library functions not in keywords

Just a heads up, I wasn’t sure what section to post this under, so I put it here because it seemed like the best fit.

I have a question about libraries. Specifically the NewPing library. In the ‘New Ping Example,’ which is this:

// ---------------------------------------------------------------------------
// Example NewPing library sketch that does a ping about 20 times per second.
// ---------------------------------------------------------------------------

#include <NewPing.h>

#define TRIGGER_PIN  12  // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN     11  // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.

void setup() {
  Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.

void loop() {
  delay(50);                      // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
  unsigned int uS =; // Send ping, get ping time in microseconds (uS).
  Serial.print("Ping: ");
  Serial.print(uS / US_ROUNDTRIP_CM); // Convert ping time to distance in cm and print result (0 = outside set distance range)

There is a line that confuses me. it is "Serial.print(uS/US_ROUNDTRIP_CM);

what confuses me, is how can you do this conversion? There are no keywords that say US_ROUNDTRIP-CM, so how does it work? and how are people supposed to find out about this command?

I realize this is a total newbie question, but I would like to understand. Thanks!

The constant may be #defined in some #include (header) file, most probably in NewPing.h.

Coloring of text is one of the stupidest things that the IDE does. It does it based on keywords defined in any keywords.txt file installed in any libraries folder, whether the sketch uses that library or not.

The best thing that you can do is ignore coloring.