One approach is to redefine the return command. Here is a command the does what you want I think. Then, I redefine in the org-mode keymap (you could do this in some other map if you use it.
(defun dash-return (&optional ignore)
(let ((p (point)))