Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lisp-fill-paragraph fills docstrings improperly #228

Closed
miikka opened this issue Apr 4, 2014 · 0 comments · Fixed by #229
Closed

lisp-fill-paragraph fills docstrings improperly #228

miikka opened this issue Apr 4, 2014 · 0 comments · Fixed by #229

Comments

@miikka
Copy link
Contributor

miikka commented Apr 4, 2014

After #225 was merged, docstring filling has felt pretty broken to me. Consider this example from test.clj with fill-column set to 80:

(defn say-hello
  "This is a long doc string to test clojure-fill-docstring. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus sed nunc luctus leo ultricies semper. Nullam id tempor mi. Cras adipiscing scelerisque purus, at semper magna tincidunt ut. Sed eget dolor vitae enim feugiat porttitor. Etiam vulputate pulvinar lacinia. Nam vitae nisl sit amet libero pulvinar pretium nec a dui. Ut luctus elit eu nulla posuere nec feugiat ipsum vehicula. Quisque eu pulvinar neque. Fusce fermentum adipiscing mauris, sit amet accumsan ante dignissim ac. Pellentesque molestie mollis condimentum.

Etiam commodo nulla id risus convallis pharetra. Integer dapibus, eros vitae vehicula rhoncus, nisl lorem ornare magna, eu vehicula justo nunc ac nunc. In dolor sem, vulputate eget vulputate id, euismod eu ligula. Nullam elit augue, ultrices ut pretium vel, bibendum sit amet est. Curabitur vulputate arcu vitae neque adipiscing vel commodo ante faucibus. Cras tempor placerat erat. Sed ultrices faucibus sodales. Vestibulum sollicitudin consectetur mauris, nec mollis quam accumsan ultrices. Vestibulum tincidunt libero a lectus condimentum et fermentum diam eleifend. Nam accumsan interdum neque nec aliquet. Praesent feugiat dui at est rhoncus lacinia."
  []
  (println "Hello, World!"))

With clojure-fill-docstring, you get this:

(defn say-hello
  "This is a long doc string to test clojure-fill-docstring. Lorem
  ipsum dolor sit amet, consectetur adipiscing elit. Phasellus sed
  nunc luctus leo ultricies semper. Nullam id tempor mi. Cras
  adipiscing scelerisque purus, at semper magna tincidunt ut. Sed eget
  dolor vitae enim feugiat porttitor. Etiam vulputate pulvinar
  lacinia. Nam vitae nisl sit amet libero pulvinar pretium nec a
  dui. Ut luctus elit eu nulla posuere nec feugiat ipsum
  vehicula. Quisque eu pulvinar neque. Fusce fermentum adipiscing
  mauris, sit amet accumsan ante dignissim ac. Pellentesque molestie
  mollis condimentum.

  Etiam commodo nulla id risus convallis pharetra. Integer dapibus,
  eros vitae vehicula rhoncus, nisl lorem ornare magna, eu vehicula
  justo nunc ac nunc. In dolor sem, vulputate eget vulputate id,
  euismod eu ligula. Nullam elit augue, ultrices ut pretium vel,
  bibendum sit amet est. Curabitur vulputate arcu vitae neque
  adipiscing vel commodo ante faucibus. Cras tempor placerat erat. Sed
  ultrices faucibus sodales. Vestibulum sollicitudin consectetur
  mauris, nec mollis quam accumsan ultrices. Vestibulum tincidunt
  libero a lectus condimentum et fermentum diam eleifend. Nam accumsan
  interdum neque nec aliquet. Praesent feugiat dui at est rhoncus
  lacinia."
  []
  (println "Hello, World!"))

This is fine. However, with lisp-fill-paragraph, you'll get this:

(defn say-hello
  "This is a long doc string to test clojure-fill-docstring. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus sed nunc luctus leo ultricies semper. Nullam id tempor mi. Cras adipiscing scelerisque purus, at semper magna tincidunt ut. Sed eget dolor vitae enim feugiat porttitor. Etiam vulputate pulvinar lacinia. Nam vitae nisl sit amet libero pulvinar pretium nec a dui. Ut luctus elit eu nulla posuere nec feugiat ipsum vehicula. Quisque eu pulvinar neque. Fusce fermentum adipiscing mauris, sit amet accumsan ante dignissim ac. Pellentesque molestie mollis condimentum.

Etiam commodo nulla id risus convallis pharetra. Integer dapibus, eros
  vitae vehicula rhoncus, nisl lorem ornare magna, eu vehicula justo
  nunc ac nunc. In dolor sem, vulputate eget vulputate id, euismod eu
  ligula. Nullam elit augue, ultrices ut pretium vel, bibendum sit
  amet est. Curabitur vulputate arcu vitae neque adipiscing vel
  commodo ante faucibus. Cras tempor placerat erat. Sed ultrices
  faucibus sodales. Vestibulum sollicitudin consectetur mauris, nec
  mollis quam accumsan ultrices. Vestibulum tincidunt libero a lectus
  condimentum et fermentum diam eleifend. Nam accumsan interdum neque
  nec aliquet. Praesent feugiat dui at est rhoncus lacinia."  []
  (println "Hello, World!"))

I see a couple of issues in this:

  • The first line/paragraph is not wrapped at all.
  • The first line of the second paragraph is intended while the rest of lines aren't.
  • The argument list is on the same line as the docstring.

The first point is clearly broken, while the second and third point are more issues of taste. However, I'd say that the old way matches the common Clojure style - probably because everybody is using clojure-mode to format their code! It would be great if clojure-mode didn't suddenly diverge from this style.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant