I've been considering a more radical solution to the problem k.t.hagen posed a while back. Would it be possible (perhaps by catcode hijacking) to put hooks on individual lines of the source code? (more specifically, within the document environment)
Here is a MWE:
\documentclass{memoir}
\usepackage{libertine} % want this font
\usepackage{xcolor} % for color
\usepackage{xspace}
\newcounter{srcline}
\newcommand{\linemark}{%
\stepcounter{srcline}%
\textcolor{red}{\textsc{Line}~\arabic{srcline}}%
\xspace}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Quisque porttitor ullamcorper velit, eu
viverra augue varius in. Integer vehicula lacus
vitae nunc blandit, sit amet auctor ex volutpat.
Fusce ultrices elementum est, vel consectetur
nulla elementum vel. Praesent in elit eu odio
elementum luctus vel vitae leo. Sed vitae gravida
nunc. Sed id posuere ligula. Donec a odio
tincidunt, placerat nisl eget, egestas enim.
Vivamus eget massa in quam fermentum cursus. In
dictum, odio in laoreet fringilla, diam purus
suscipit lorem, sit amet tempus ex lectus eget
enim. Suspendisse potenti.
\end{document}
I hope to create something like this:

Where \linemark is called once per source line. Is there a way to accomplish this using LaTeX2e alone?
Edit 0
Try not to gobble paragraph breaks, MWE:
\documentclass{memoir}
\usepackage{libertine} % want this font
\usepackage{xcolor} % for color
\usepackage{xspace}
\newcounter{srcline}
\newcommand{\linemark}{%
\stepcounter{srcline}%
\textcolor{red}{\textsc{Line}~\arabic{srcline}}%
\xspace}
\begin{document}
\catcode`\^^M\active%
\let\oldLF\^^M%
\def
{\oldLF\linemark}
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Quisque porttitor ullamcorper velit, eu
viverra augue varius in. Integer vehicula lacus
vitae nunc blandit, sit amet auctor ex volutpat.
Fusce ultrices elementum est, vel consectetur
nulla elementum vel. Praesent in elit eu odio
elementum luctus vel vitae leo. Sed vitae gravida
nunc. Sed id posuere ligula. Donec a odio
tincidunt, placerat nisl eget, egestas enim.
Vivamus eget massa in quam fermentum cursus. In
dictum, odio in laoreet fringilla, diam purus
suscipit lorem, sit amet tempus ex lectus eget
enim. Suspendisse potenti.
% my solution does gobble the paragraph break above.
% add \par after this comment to see how I want it
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Quisque porttitor ullamcorper velit, eu
viverra augue varius in. Integer vehicula lacus
vitae nunc blandit, sit amet auctor ex volutpat.
Fusce ultrices elementum est, vel consectetur
nulla elementum vel. Praesent in elit eu odio
elementum luctus vel vitae leo. Sed vitae gravida
nunc. Sed id posuere ligula. Donec a odio
tincidunt, placerat nisl eget, egestas enim.
Vivamus eget massa in quam fermentum cursus. In
dictum, odio in laoreet fringilla, diam purus
suscipit lorem, sit amet tempus ex lectus eget
enim. Suspendisse potenti.
\end{document}


