I need listing package (\usepackage{listing}) to break at punctuation
namespace::subnamespace::class
^ ^
at either these two locations
I need listing package (\usepackage{listing}) to break at punctuation
namespace::subnamespace::class
^ ^
at either these two locations
This breaks at ::, but puts it :: in the new line.
\lstset{literate={::}{::}{2\discretionary{}{}{}}}
This leaves a hyphenated :: in the old line, but the spacing is terrible.
\lstset{literate={::}{}{0\discretionary{::}{}{::}}}
This monster fixes the spacing:
\def\colonspace{\hspace{0.2em}}%
\lstset{literate={::}{}{0\discretionary{\mbox{:\colonspace:}}{}{\mbox{\colonspace:\colonspace:\colonspace}}}}
Btw, you can also break in the middle of :: ;-)
\lstset{literate={::}{}{0\discretionary{:}{:}{::}}}