home.social

#trailingwhitespace — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #trailingwhitespace, aggregated by home.social.

  1. I use emacs as my editor and have it configured to delete all trailing whitespace in a file, including any trailing newlines at the end, before saving it. The configuration snippet that I have in my emacs configuration file to do this is

    (add-hook 'before-save-hook 'delete-trailing-whitespace)

    While this is very convenient and works as expected, it becomes a hindrance in specific cases – the Jinja2 templating language deletes a single trailing newline, thereby leaving the rendered templates without a newline at the end.

    One way to work around this behaviour is to add 2 trailing newlines in the jinja2 template files. But unfortunately, due to my emacs configuration that deletes all trailing whitespace, this doesn’t work. So I started reading the documentation for the delete-trailing-whitespace function and found out about the delete-trailing-newlines variable (default: t). This variable controls whether the trailing newline characters at the end of a file are deleted or not. So I wanted to try overriding the delete-trailing-newlines variable to be false in jinja2-mode, that I use for editing Jinja2 templates.

    With some help from the excellent folks in the #emacs IRC channel on Libera Chat, I was able to come up with the following configuration, that works as expected.

    (use-package jinja2-mode :pin nongnu :hook (jinja2-mode . (lambda () (setq-local delete-trailing-lines nil))) :mode "\\.j2\\'")

    Note that I use the excellent use-package macro to install the jinja2-mode and configure it appropriately. If you don’t use use-package, this can be done using the add-hook function.

    #emacs #jinja2 #trailing-newlines #trailing-whitespace #use-package

    https://www.lguruprasad.in/blog/2023/06/12/automatically-delete-the-trailing-whitespace-on-save-in-emacs-while-excluding-the-trailing-newlines/

  2. I use emacs as my editor and have it configured to delete all trailing whitespace in a file, including any trailing newlines at the end, before saving it. The configuration snippet that I have in my emacs configuration file to do this is

    (add-hook 'before-save-hook 'delete-trailing-whitespace)

    While this is very convenient and works as expected, it becomes a hindrance in specific cases – the Jinja2 templating language deletes a single trailing newline, thereby leaving the rendered templates without a newline at the end.

    One way to work around this behaviour is to add 2 trailing newlines in the jinja2 template files. But unfortunately, due to my emacs configuration that deletes all trailing whitespace, this doesn’t work. So I started reading the documentation for the delete-trailing-whitespace function and found out about the delete-trailing-newlines variable (default: t). This variable controls whether the trailing newline characters at the end of a file are deleted or not. So I wanted to try overriding the delete-trailing-newlines variable to be false in jinja2-mode, that I use for editing Jinja2 templates.

    With some help from the excellent folks in the #emacs IRC channel on Libera Chat, I was able to come up with the following configuration, that works as expected.

    (use-package jinja2-mode :pin nongnu :hook (jinja2-mode . (lambda () (setq-local delete-trailing-lines nil))) :mode "\\.j2\\'")

    Note that I use the excellent use-package macro to install the jinja2-mode and configure it appropriately. If you don’t use use-package, this can be done using the add-hook function.

    #emacs #jinja2 #trailing-newlines #trailing-whitespace #use-package

    https://www.lguruprasad.in/blog/2023/06/12/automatically-delete-the-trailing-whitespace-on-save-in-emacs-while-excluding-the-trailing-newlines/

  3. I use emacs as my editor and have it configured to delete all trailing whitespace in a file, including any trailing newlines at the end, before saving it. The configuration snippet that I have in my emacs configuration file to do this is

    (add-hook 'before-save-hook 'delete-trailing-whitespace)

    While this is very convenient and works as expected, it becomes a hindrance in specific cases – the Jinja2 templating language deletes a single trailing newline, thereby leaving the rendered templates without a newline at the end.

    One way to work around this behaviour is to add 2 trailing newlines in the jinja2 template files. But unfortunately, due to my emacs configuration that deletes all trailing whitespace, this doesn’t work. So I started reading the documentation for the delete-trailing-whitespace function and found out about the delete-trailing-newlines variable (default: t). This variable controls whether the trailing newline characters at the end of a file are deleted or not. So I wanted to try overriding the delete-trailing-newlines variable to be false in jinja2-mode, that I use for editing Jinja2 templates.

    With some help from the excellent folks in the #emacs IRC channel on Libera Chat, I was able to come up with the following configuration, that works as expected.

    (use-package jinja2-mode :pin nongnu :hook (jinja2-mode . (lambda () (setq-local delete-trailing-lines nil))) :mode "\\.j2\\'")

    Note that I use the excellent use-package macro to install the jinja2-mode and configure it appropriately. If you don’t use use-package, this can be done using the add-hook function.

    #emacs #jinja2 #trailing-newlines #trailing-whitespace #use-package

    https://www.lguruprasad.in/blog/2023/06/12/automatically-delete-the-trailing-whitespace-on-save-in-emacs-while-excluding-the-trailing-newlines/

  4. I use emacs as my editor and have it configured to delete all trailing whitespace in a file, including any trailing newlines at the end, before saving it. The configuration snippet that I have in my emacs configuration file to do this is

    (add-hook 'before-save-hook 'delete-trailing-whitespace)

    While this is very convenient and works as expected, it becomes a hindrance in specific cases – the Jinja2 templating language deletes a single trailing newline, thereby leaving the rendered templates without a newline at the end.

    One way to work around this behaviour is to add 2 trailing newlines in the jinja2 template files. But unfortunately, due to my emacs configuration that deletes all trailing whitespace, this doesn’t work. So I started reading the documentation for the delete-trailing-whitespace function and found out about the delete-trailing-newlines variable (default: t). This variable controls whether the trailing newline characters at the end of a file are deleted or not. So I wanted to try overriding the delete-trailing-newlines variable to be false in jinja2-mode, that I use for editing Jinja2 templates.

    With some help from the excellent folks in the #emacs IRC channel on Libera Chat, I was able to come up with the following configuration, that works as expected.

    (use-package jinja2-mode :pin nongnu :hook (jinja2-mode . (lambda () (setq-local delete-trailing-lines nil))) :mode "\\.j2\\'")

    Note that I use the excellent use-package macro to install the jinja2-mode and configure it appropriately. If you don’t use use-package, this can be done using the add-hook function.

    #emacs #jinja2 #trailing-newlines #trailing-whitespace #use-package

    https://www.lguruprasad.in/blog/2023/06/12/automatically-delete-the-trailing-whitespace-on-save-in-emacs-while-excluding-the-trailing-newlines/

  5. I use emacs as my editor and have it configured to delete all trailing whitespace in a file, including any trailing newlines at the end, before saving it. The configuration snippet that I have in my emacs configuration file to do this is

    (add-hook 'before-save-hook 'delete-trailing-whitespace)

    While this is very convenient and works as expected, it becomes a hindrance in specific cases – the Jinja2 templating language deletes a single trailing newline, thereby leaving the rendered templates without a newline at the end.

    One way to work around this behaviour is to add 2 trailing newlines in the jinja2 template files. But unfortunately, due to my emacs configuration that deletes all trailing whitespace, this doesn’t work. So I started reading the documentation for the delete-trailing-whitespace function and found out about the delete-trailing-newlines variable (default: t). This variable controls whether the trailing newline characters at the end of a file are deleted or not. So I wanted to try overriding the delete-trailing-newlines variable to be false in jinja2-mode, that I use for editing Jinja2 templates.

    With some help from the excellent folks in the #emacs IRC channel on Libera Chat, I was able to come up with the following configuration, that works as expected.

    (use-package jinja2-mode :pin nongnu :hook (jinja2-mode . (lambda () (setq-local delete-trailing-lines nil))) :mode "\\.j2\\'")

    Note that I use the excellent use-package macro to install the jinja2-mode and configure it appropriately. If you don’t use use-package, this can be done using the add-hook function.

    #emacs #jinja2 #trailing-newlines #trailing-whitespace #use-package

    https://www.lguruprasad.in/blog/2023/06/12/automatically-delete-the-trailing-whitespace-on-save-in-emacs-while-excluding-the-trailing-newlines/