The syntax was a big part of D that got me hooked. It just feels right, as Python syntax often does, but with D there's raw power behind it.
I once wrote a few programs using a made up language to dream of my ideal language: D is the closest language that fits the bill. The constructs had language level support of ranges, function scope level imports, pure keyword, unified function call, and string mixins. The only thing missing honestly is proper support for ADTs/Enum-types (with enforcing an exhaustive match when switch/casing).
