Heat olive oil in a medium pot over medium-high heat. Add onions and salt and saute, until onion becomes translucent and tender, about 5 minutes. Add rice and saute another 2 minutes to toast rice. Add coconut milk and fill saucepan with enough water to cover the rice by 1/2-inch or measure by placing your thumb tip on the rice and filling the pot with water until the water reaches the middle of your thumbnail. Bring rice to a simmer, cover and cook until rice is tender and liquid has evaporated, about 15 to 17 minutes.
Remove from heat and let rice stand another 5 minutes, covered. Fluff rice with fork and then fold in pigeon peas. Season with salt and pepper, to taste.