How can I add a material to a curve like a regular mesh?
Adding a material to a curve is actually very simple :).


Adding the Image Texture, which is correctly UV mapped is much harder. If it is an object which won't be visible well in render (a background element for example) you may use this kind of node setup. The texture distortion wouldn't be much visible...


But the seams would.


You may try to blur them a little increasing the Blend factor in Image Texture Node.


If you don't want to have the seams visible, the only way is to use Convert to mesh from Curve option (ALT+C), then unwrap the mesh and use the UV Coordinates in Texture Coordinate Node. Next paint over the seams in Texture Paint Mode.


As @NoviceInDisguise said, you may always try to use Procedural Texture and use the Generated Coordinates.